498caedfe7cda306db5461bb7620cae20a997be1
[gnulib.git] / ChangeLog
1 2011-06-12  Bruno Haible  <bruno@clisp.org>
2
3         spawn-pipe tests: Comments.
4         * tests/test-spawn-pipe-child.c (main): Update comment.
5         Reported by James Youngman <jay@gnu.org>.
6
7 2011-06-11  James Youngman  <jay@gnu.org>
8
9         New module 'stat-size'.
10         * modules/stat-size: New module.  Provides macros for accessing
11         file size information in instances of struct stat.  Depends on the
12         fileblocks module because it calls st_blocks.
13         * lib/stat-size.h: New file, adapted from coreutils' system.h.
14         * doc/gnulib.texi: Include stat-size.texi.
15         * doc/stat-size.texi: Documentation for this module.
16         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
17         * m4/fileblocks.m4: Mention that stat-size depends on the call to
18         AC_STRUCT_ST_BLOCKS.
19
20 2011-06-09  Bruno Haible  <bruno@clisp.org>
21
22         thread: Support pthreads-win32.
23         * lib/glthread/thread.h (gl_thread_self): Define differently on
24         pthreads-win32.
25         (gl_null_thread): New declaration.
26         (gl_thread_self_pointer): New macro.
27         * lib/glthread/thread.c (gl_null_thread): New constant.
28         * tests/test-lock.c: Use gl_thread_self_pointer instead of
29         gl_thread_self.
30         * tests/test-tls.c: Likewise.
31         Suggested by Paul Eggert. Reported by Eric Blake.
32
33 2011-06-09  Bruno Haible  <bruno@clisp.org>
34
35         thread: Fix confusion between NULL and 0.
36         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
37         Reported by Paul Eggert.
38
39 2011-06-09  Bruno Haible  <bruno@clisp.org>
40
41         spawn-pipe tests: Avoid test failure on HP-UX 11.
42         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
43         is closed.
44
45 2011-06-09  Bruno Haible  <bruno@clisp.org>
46
47         acl tests: Fix compilation error on HP-UX 11.
48         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
49
50 2011-06-09  Bruno Haible  <bruno@clisp.org>
51
52         rmdir: Avoid test failure on HP-UX 10.20.
53         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
54         EEXIST.
55
56 2011-06-08  Eric Blake  <eblake@redhat.com>
57
58         perror: fix test on mingw
59         * modules/perror-tests (Depends-on): Add dup2.
60
61         strerror_r-posix: fix on MacOS
62         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
63         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
64         logic bug.
65         * lib/strerror_r.c (strerror_r): Fix the bug.
66         * lib/strerror.c (strerror): Likewise.
67         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
68         problem.
69         * doc/posix-functions/strerror.texi (strerror): Likewise.
70         * doc/posix-functions/perror.texi (perror): Likewise.
71         * tests/test-strerror.c (main): Enhance test.
72         * tests/test-strerror_r.c (main): Likewise.
73
74 2011-06-08  Bruno Haible  <bruno@clisp.org>
75
76         gnulib-tool: Better isolation between different gnulib-tool invocations.
77         * gnulib-tool: New option --witness-c-macro.
78         (witness_c_macro): New variable.
79         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
80         AM_CPPFLAGS define it as a C macro.
81         (func_emit_tests_Makefile_am): Likewise.
82         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
83         read it from there.
84         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
85         m4_define, not AC_DEFUN.
86         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
87         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
88         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
89         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
90         s|...|...|, to substitute the values of the GNULIB_* module indicator
91         variables.
92         * modules/dirent (Makefile.am): Likewise.
93         * modules/fcntl-h (Makefile.am): Likewise.
94         * modules/iconv-h (Makefile.am): Likewise.
95         * modules/langinfo (Makefile.am): Likewise.
96         * modules/locale (Makefile.am): Likewise.
97         * modules/math (Makefile.am): Likewise.
98         * modules/netdb (Makefile.am): Likewise.
99         * modules/poll-h (Makefile.am): Likewise.
100         * modules/pty (Makefile.am): Likewise.
101         * modules/search (Makefile.am): Likewise.
102         * modules/signal (Makefile.am): Likewise.
103         * modules/spawn (Makefile.am): Likewise.
104         * modules/stdio (Makefile.am): Likewise.
105         * modules/stdlib (Makefile.am): Likewise.
106         * modules/string (Makefile.am): Likewise.
107         * modules/sys_ioctl (Makefile.am): Likewise.
108         * modules/sys_select (Makefile.am): Likewise.
109         * modules/sys_socket (Makefile.am): Likewise.
110         * modules/sys_stat (Makefile.am): Likewise.
111         * modules/sys_times (Makefile.am): Likewise.
112         * modules/sys_utsname (Makefile.am): Likewise.
113         * modules/sys_wait (Makefile.am): Likewise.
114         * modules/termios (Makefile.am): Likewise.
115         * modules/time (Makefile.am): Likewise.
116         * modules/unistd (Makefile.am): Likewise.
117         * modules/wchar (Makefile.am): Likewise.
118
119 2011-06-08  Eric Blake  <eblake@redhat.com>
120
121         strerror: simplify replacement
122         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
123         * modules/strerror (configure.ac): No prereqs needed here...
124         * modules/strerror-override (configure.ac): ...but this needs it.
125         (Files): Add file for needed prereq macro.
126
127 2011-06-08  Bruno Haible  <bruno@clisp.org>
128
129         strerror_r-posix: Tweaks.
130         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
131         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
132         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
133         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
134         (gl_FUNC_STRERROR_R): ... to here.
135         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
136
137 2011-06-07  Eric Blake  <eblake@redhat.com>
138
139         perror: document fixed bugs
140         * doc/posix-functions/perror.texi (perror): Document recent
141         patches.
142
143 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
144
145         stat-time: get_stat_birthtime failure is better-defined
146         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
147         return a timestamp whose tv_sec and tv_nsec values are both -1.
148         Previously, the spec said only that the tv_nsec value was negative.
149         This upward-compatible change simplifies GNU tar a bit.
150
151 2011-06-07  Eric Blake  <eblake@redhat.com>
152
153         strerror_r-posix: work around cygwin 1.7.9
154         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
155         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
156         bug without replacing strerror_r.
157         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
158         strerror_r is buggy, but without requiring strerror_r compilation.
159         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
160
161         test-perror: relax test to ignore cygwin bug
162         * tests/test-perror2.c (main): Relax test on requiring detection
163         of stream errors, and use unbuffered stream.
164         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
165         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
166         * doc/posix-functions/fputc.texi (fputc): Likewise.
167         * doc/posix-functions/fputs.texi (fputs): Likewise.
168         * doc/posix-functions/fputws.texi (fputws): Likewise.
169         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
170         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
171         * doc/posix-functions/getopt.texi (getopt): Likewise.
172         * doc/posix-functions/perror.texi (perror): Likewise.
173         * doc/posix-functions/printf.texi (printf): Likewise.
174         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
175         * doc/posix-functions/psignal.texi (psignal): Likewise.
176         * doc/posix-functions/putc.texi (putc): Likewise.
177         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
178         Likewise.
179         * doc/posix-functions/putchar.texi (putchar): Likewise.
180         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
181         Likewise.
182         * doc/posix-functions/puts.texi (puts): Likewise.
183         * doc/posix-functions/putwc.texi (putwc): Likewise.
184         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
185         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
186         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
187         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
188         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
189         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
190         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
191         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
192
193 2011-05-22  Bruno Haible  <bruno@clisp.org>
194
195         strerror: Move AC_LIBOBJ invocations to module description.
196         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
197         gl_PREREQ_STRERROR invocations from here...
198         * modules/strerror (configure.ac): ... to here.
199
200 2011-05-21  Bruno Haible  <bruno@clisp.org>
201
202         perror: Use common idiom.
203         * modules/perror (configure.ac): Reorder statements.
204
205 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
206
207         tests: fix usage message in 'mktempd_'
208         * tests/init.sh (mktempd_): In the usage message, use literal
209         'mktempd_', not '$ME' (which is even undefined), as the name of
210         the subroutine.
211
212 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
213
214         tests init: new function 'fatal_', for hard errors
215         Before this patch, the only way offered by tests/init.sh to
216         properly signal a hard error was the `framework_failure_'
217         function.  But the error message issued by that function,
218         as its name would suggest, refers to a set-up failure in the
219         testsuite, while hard errors can obviously also be due to
220         other reasons.  The best way to fix this inconsistency is to
221         introduce a new function with a more general error message.
222         * tests/init.sh (fatal_): New function.
223
224 2011-06-06  Eric Blake  <eblake@redhat.com>
225
226         canonicalize-lgpl: use common idiom
227         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
228         over newer POSIX -Rf.
229         Reported by Bruno Haible.
230
231         canonicalize-lgpl: work around AIX realpath bug
232         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
233         * doc/posix-functions/realpath.texi (realpath): Document it.
234         Reported by Bruno Haible.
235
236         strerror: work around FreeBSD bug
237         * lib/strerror.c (strerror): Special case 0.
238         Reported by Bruno Haible.
239
240         strerror-override: avoid bloating errno module
241         * modules/errno (Files, configure.ac): Move replacement strings...
242         * modules/strerror-override: ...to new module.
243         * modules/strerror (Depends-on): Add strerror-override.
244         * modules/strerror_r-posix (Depends-on): Likewise.
245         * MODULES.html.sh: Document new module.
246         Reported by Bruno Haible.
247
248 2011-06-06  Bruno Haible  <bruno@clisp.org>
249
250         spawn-pipe tests: Rename program.
251         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
252         * tests/test-spawn-pipe-child.c: Update comment.
253         * tests/test-spawn-pipe.sh: Update.
254         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
255
256         spawn-pipe tests: Link the child program only against libc.
257         * tests/test-spawn-pipe-child.c: New file, extracted from
258         tests/test-spawn-pipe.c.
259         (main): Expect only one argument.
260         (is_open): New function, copied from tests/test-pipe.c.
261         * tests/test-spawn-pipe.c: Don't include <errno.h>.
262         (child_main): Remove function.
263         (test_pipe): Pass only one argument to the child program.
264         (main): Remove child process code. Expect the child program's name as
265         first argument.
266         * tests/test-spawn-pipe.sh: Pass the child program's name as first
267         argument.
268         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
269         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
270         test-spawn-pipe-child against no libraries.
271
272 2011-06-06  Bruno Haible  <bruno@clisp.org>
273
274         careadlinkat: Avoid mismatch between ssize_t and int.
275         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
276         * lib/careadlinkat.c (careadlinkatcwd): Define always.
277
278 2011-06-06  Jim Meyering  <meyering@redhat.com>
279
280         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
281         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
282         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
283
284 2011-06-05  Bruno Haible  <bruno@clisp.org>
285
286         ansi-c++-opt: Interoperability with libtool.
287         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
288         set the variable to "no", not to ":".
289         * NEWS: Mention the change.
290
291 2011-06-05  Bruno Haible  <bruno@clisp.org>
292
293         acl: Fix test failure on AIX 7.
294         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
295         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
296
297 2011-06-05  Bruno Haible  <bruno@clisp.org>
298
299         pipe-filter-ii: Fix test failure on AIX and IRIX.
300         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
301         with EAGAIN, retry with a smaller buffer size.
302
303 2011-06-05  Bruno Haible  <bruno@clisp.org>
304
305         localename: Fix link dependencies.
306         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
307         * modules/localename-tests (Makefile.am): Link test-localename with
308         $(LIBTHREAD).
309
310 2011-06-05  Bruno Haible  <bruno@clisp.org>
311
312         error: Avoid gcc warning.
313         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
314
315 2011-06-05  Bruno Haible  <bruno@clisp.org>
316
317         unsetenv: Avoid gcc warning.
318         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
319
320 2011-06-05  Bruno Haible  <bruno@clisp.org>
321
322         setenv: Avoid gcc warning.
323         * lib/setenv.c (setenv): Provide declaration if system lacks it.
324
325 2011-06-05  Bruno Haible  <bruno@clisp.org>
326
327         sys_select: Ensure memset is declared also on AIX 7.
328         * lib/sys_select.in.h: Include <string.h> also on AIX.
329         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
330         self-contained also on AIX 7.1.
331
332 2011-06-04  Jim Meyering  <meyering@redhat.com>
333
334         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
335         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
336         function name, "error".
337         (_gl_translatable_diag_func_re): New configurable variable.
338
339 2011-06-04  Bruno Haible  <bruno@clisp.org>
340
341         getopt: Avoid gcc warning.
342         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
343
344 2011-06-04  Bruno Haible  <bruno@clisp.org>
345
346         strerror_r: Fix comments.
347         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
348         commit.
349
350 2011-06-04  Bruno Haible  <bruno@clisp.org>
351
352         perror: Fix compilation error.
353         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
354         Undefine fprintf, not sprintf.
355         * modules/perror (Depends-on): Remove intprops, verify.
356
357 2011-06-04  Bruno Haible  <bruno@clisp.org>
358
359         setlocale: Enable replacement on Cygwin 1.5.
360         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
361         Cygwin 1.5.x.
362         * doc/posix-functions/setlocale.texi: Mention that the problem with the
363         LC_CTYPE category also exists on Cygwin 1.5.x.
364
365 2011-06-04  Bruno Haible  <bruno@clisp.org>
366
367         strerror-override: Don't disable symbol renamings.
368         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
369         * lib/strerror-override.c: Include config.h.
370         (strerror_override): Don't undefine.
371
372 2011-06-03  Bruno Haible  <bruno@clisp.org>
373
374         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
375         * lib/localename.h: Update copyright header.
376         * lib/localename.c: Likewise.
377         * lib/relocatable.h: Likewise.
378         * lib/relocatable.c: Likewise.
379
380 2011-06-02  Bruno Haible  <bruno@clisp.org>
381
382         doc: Fix a module name.
383         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
384
385 2011-06-02  Bruno Haible  <bruno@clisp.org>
386
387         pipe2: Remove dependency on 'nonblocking' module.
388         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
389         O_NONBLOCK is defined by gnulib.
390         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
391         is zero.
392         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
393         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
394         defined by gnulib.
395         (get_nonblocking_flag): New function.
396         (main): Test O_NONBLOCK flag only if it is nonzero.
397         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
398
399 2011-06-03  Jim Meyering  <meyering@redhat.com>
400
401         maint: three new prohibit-header-without-use rules
402         Prohibit use of cloexec.h, posixver.h, same.h without use.
403         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
404         (sc_prohibit_posixver_without_use): Likewise.
405         (sc_prohibit_same_without_use): Likewise.
406
407 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
408
409         allocator: 'die' routine is now given requested size
410         * lib/allocator.h (struct allocator.die): New size arg.
411         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
412         If the actual problem is an ssize_t limitation, not a size_t or
413         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
414
415 2011-06-01  Eric Blake  <eblake@redhat.com>
416
417         strerror: drop strerror_r dependency
418         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
419         * lib/strerror-override.c (strerror_override): ...to new file.
420         * lib/strerror-override.h: Add prototype.
421         * lib/strerror-impl.h: Delete.
422         * lib/strerror.c (strerror): New implementation.
423         * modules/errno (Files): Add new files.
424         (configure.ac): Compile new file as appropriate.
425         * modules/strerror (Files): Drop unused file.
426         (Depends-on): Drop strerror_r-posix.
427         * MODULES.html.sh: Document strerror_r-posix.
428         Requested by Sam Steingold.
429
430         perror: call strerror_r directly
431         * modules/perror (Files): Drop strerror-impl.h.
432         * lib/perror.c (perror): Use our own stack buffer, rather than
433         calling a wrapper that uses static storage.
434         * doc/posix-functions/perror.texi (perror): Document a limitation
435         of our replacement.
436
437         strerror_r: fix includes for FreeBSD
438         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
439         since we use abort on some platforms.
440         Reported by Matthias Bolte.
441
442 2011-05-31  Bruno Haible  <bruno@clisp.org>
443
444         Fix link errors in tests: openat-die uses gettext-h.
445         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
446         against $(LIBINTL).
447         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
448         against $(LIBINTL).
449         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
450         $(LIBINTL).
451         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
452         against $(LIBINTL).
453         * modules/linkat-tests (Makefile.am): Link test-linkat against
454         $(LIBINTL).
455         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
456         $(LIBINTL).
457         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
458         against $(LIBINTL).
459         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
460         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
461         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
462         $(LIBINTL).
463         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
464         $(LIBINTL).
465         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
466         $(LIBINTL).
467         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
468
469 2011-05-31  Bruno Haible  <bruno@clisp.org>
470
471         Fix link errors in tests: wait-process uses gettext-h.
472         * modules/nonblocking-pipe-tests (Makefile.am): Set
473         test_nonblocking_pipe_main_LDADD.
474         * modules/nonblocking-socket-tests (Makefile.am): Link
475         test-nonblocking-socket-main against $(LIBINTL).
476         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
477
478 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
479
480         assert-h: work around 'verify' incompatibility
481         * lib/verify.h: Use @...@ directives, not ifdef.
482         * modules/assert-h (assert.h): Implement the directives.
483         (assert.h): Substitute the symbol-prefix more consistently.
484
485 2011-05-29  Jim Meyering  <meyering@redhat.com>
486
487         trim: remove three superfluous assignments
488         * lib/trim.c (trim2): Remove three superfluous assignments
489         and correct brace positioning.
490
491 2011-05-29  Bruno Haible  <bruno@clisp.org>
492
493         wctype-h: Avoid namespace pollution on Solaris 2.6.
494         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
495         identifiers.
496         * doc/posix-headers/wctype.texi: Mention the problem.
497         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
498
499 2011-05-28  Jim Meyering  <meyering@redhat.com>
500
501         parse-datetime.y: accommodate -Wstrict-overflow
502         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
503         placate -Wstrict-overflow.
504
505         trim: avoid a warning from -O2 -Wstrict-overflow
506         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
507
508 2011-05-29  Bruno Haible  <bruno@clisp.org>
509
510         gnulib-tool: Fix bug in yesterday's commit.
511         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
512         twice.
513
514 2011-05-29  Bruno Haible  <bruno@clisp.org>
515
516         Allow multiple gnulib generated include files to be combined.
517         * gnulib-tool (func_compute_include_guard_prefix): New function.
518         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
519         ${gl_include_guard_prefix} references.
520         (func_import, func_create_testdir): Invoke
521         func_compute_include_guard_prefix.
522         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
523         * lib/ctype.in.h: Likewise.
524         * lib/dirent.in.h: Likewise.
525         * lib/errno.in.h: Likewise.
526         * lib/fcntl.in.h: Likewise.
527         * lib/float.in.h: Likewise.
528         * lib/getopt.in.h: Likewise.
529         * lib/iconv.in.h: Likewise.
530         * lib/langinfo.in.h: Likewise.
531         * lib/locale.in.h: Likewise.
532         * lib/math.in.h: Likewise.
533         * lib/netdb.in.h: Likewise.
534         * lib/netinet_in.in.h: Likewise.
535         * lib/poll.in.h: Likewise.
536         * lib/pthread.in.h: Likewise.
537         * lib/pty.in.h: Likewise.
538         * lib/sched.in.h: Likewise.
539         * lib/se-selinux.in.h: Likewise.
540         * lib/search.in.h: Likewise.
541         * lib/signal.in.h: Likewise.
542         * lib/spawn.in.h: Likewise.
543         * lib/stdarg.in.h: Likewise.
544         * lib/stddef.in.h: Likewise.
545         * lib/stdint.in.h: Likewise.
546         * lib/stdio.in.h: Likewise.
547         * lib/stdlib.in.h: Likewise.
548         * lib/string.in.h: Likewise.
549         * lib/strings.in.h: Likewise.
550         * lib/sys_file.in.h: Likewise.
551         * lib/sys_ioctl.in.h: Likewise.
552         * lib/sys_select.in.h: Likewise.
553         * lib/sys_socket.in.h: Likewise.
554         * lib/sys_stat.in.h: Likewise.
555         * lib/sys_time.in.h: Likewise.
556         * lib/sys_times.in.h: Likewise.
557         * lib/sys_uio.in.h: Likewise.
558         * lib/sys_utsname.in.h: Likewise.
559         * lib/sys_wait.in.h: Likewise.
560         * lib/sysexits.in.h: Likewise.
561         * lib/termios.in.h: Likewise.
562         * lib/time.in.h: Likewise.
563         * lib/unistd.in.h: Likewise.
564         * lib/wchar.in.h: Likewise.
565         * lib/wctype.in.h: Likewise.
566         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
567         * modules/ctype (Makefile.am): Likewise.
568         * modules/dirent (Makefile.am): Likewise.
569         * modules/errno (Makefile.am): Likewise.
570         * modules/fcntl-h (Makefile.am): Likewise.
571         * modules/float (Makefile.am): Likewise.
572         * modules/getopt-posix (Makefile.am): Likewise.
573         * modules/iconv-h (Makefile.am): Likewise.
574         * modules/langinfo (Makefile.am): Likewise.
575         * modules/locale (Makefile.am): Likewise.
576         * modules/math (Makefile.am): Likewise.
577         * modules/netdb (Makefile.am): Likewise.
578         * modules/netinet_in (Makefile.am): Likewise.
579         * modules/poll-h (Makefile.am): Likewise.
580         * modules/pthread (Makefile.am): Likewise.
581         * modules/pty (Makefile.am): Likewise.
582         * modules/sched (Makefile.am): Likewise.
583         * modules/search (Makefile.am): Likewise.
584         * modules/selinux-h (Makefile.am): Likewise.
585         * modules/signal (Makefile.am): Likewise.
586         * modules/spawn (Makefile.am): Likewise.
587         * modules/stdarg (Makefile.am): Likewise.
588         * modules/stddef (Makefile.am): Likewise.
589         * modules/stdint (Makefile.am): Likewise.
590         * modules/stdio (Makefile.am): Likewise.
591         * modules/stdlib (Makefile.am): Likewise.
592         * modules/string (Makefile.am): Likewise.
593         * modules/strings (Makefile.am): Likewise.
594         * modules/sys_file (Makefile.am): Likewise.
595         * modules/sys_ioctl (Makefile.am): Likewise.
596         * modules/sys_select (Makefile.am): Likewise.
597         * modules/sys_socket (Makefile.am): Likewise.
598         * modules/sys_stat (Makefile.am): Likewise.
599         * modules/sys_time (Makefile.am): Likewise.
600         * modules/sys_times (Makefile.am): Likewise.
601         * modules/sys_uio (Makefile.am): Likewise.
602         * modules/sys_utsname (Makefile.am): Likewise.
603         * modules/sys_wait (Makefile.am): Likewise.
604         * modules/sysexits (Makefile.am): Likewise.
605         * modules/termios (Makefile.am): Likewise.
606         * modules/time (Makefile.am): Likewise.
607         * modules/unistd (Makefile.am): Likewise.
608         * modules/wchar (Makefile.am): Likewise.
609         * modules/wctype-h (Makefile.am): Likewise.
610         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
611
612 2011-05-29  Bruno Haible  <bruno@clisp.org>
613
614         assert-h: Allow multiple gnulib generated replacements to coexist.
615         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
616
617 2011-05-29  Bruno Haible  <bruno@clisp.org>
618
619         argp: Allow coexistence with strerror_r-posix module.
620         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
621         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
622         by gnulib's <string.h> replacement), assume it has the POSIX signature,
623         not the glibc signature.
624
625 2011-05-28  Bruno Haible  <bruno@clisp.org>
626
627         gnulib-tool: Alternative structure of testdirs, similar to --import.
628         * gnulib-tool: New option --single-configure.
629         (func_usage): Document it.
630         (single_configure): New variable.
631         (func_modules_transitive_closure_separately,
632         func_modules_transitive_closure_separately,
633         func_determine_use_libtests, func_modules_add_dummy_separately,
634         func_modules_to_filelist_separately): New functions, extracted from
635         func_import.
636         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
637         (func_import): Use the new functions.
638         (func_create_testdir): Set final_modules. Handle $single_configure =
639         true case.
640
641 2011-05-28  Bruno Haible  <bruno@clisp.org>
642
643         getloadavg: Remove an unreliable safety check.
644         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
645         getloadavg.c is in place.
646         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
647         Reported by Sam Steingold <sds@gnu.org>.
648
649 2011-05-28  Bruno Haible  <bruno@clisp.org>
650
651         doc: Cleanup yet another file produced by texinfo.tex.
652         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
653
654 2011-05-28  Bruno Haible  <bruno@clisp.org>
655
656         Finish the conditional dependencies mechanism.
657         * gnulib-tool: New option --no-conditional-dependencies.
658         (func_usage): Document it. Don't mark --conditional-dependencies as
659         experimental.
660         (cond_dependencies): The possible values can now be true, false, empty.
661         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
662         (func_import): Store setting in gnulib-cache.m4 and read it from there.
663         * doc/gnulib-tool.texi (Conditional dependencies): New section.
664
665 2011-05-28  Bruno Haible  <bruno@clisp.org>
666
667         doc: Use a recent texinfo.tex.
668         * doc/Makefile (tex_opts): New variable.
669         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
670
671 2011-05-28  Jim Meyering  <meyering@redhat.com>
672
673         intprops.h: adjust comment to match code change
674         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
675         only once, it *may* have side effects.  Also fix an unrelated typo.
676         (_GL_INT_SIGNED): Likewise.
677
678 2011-05-26  Simon Josefsson  <simon@josefsson.org>
679
680         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
681
682 2011-05-26  Bruno Haible  <bruno@clisp.org>
683
684         mbsrchr: Avoid collision with system function on Interix.
685         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
686         Reported by Markus Duft <mduft@gentoo.org>.
687
688 2011-05-15  James Youngman  <jay@gnu.org>
689
690         getopt: for ambiguous options, enumerate the possibilities.
691         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
692         the ambiguous options when an ambiguous prefix is given. This was
693         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
694         glibc change was
695         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
696
697 2011-05-25  Eric Blake  <eblake@redhat.com>
698
699         getcwd: work around mingw bug
700         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
701         * doc/posix-functions/getcwd.texi (getcwd): Document it.
702         Reported by Matthias Bolte.
703
704 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
705
706         test-intprops: disable -Wtype-limits diagnostics
707         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
708         diagnostics.  Otherwise, the integer overflow macros generate many
709         diagnostics.  Reported by Jim Meyering in
710         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
711
712         intprops: shorten, to pacify gcc -Woverlength-strings
713         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
714         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
715         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
716         likely to run afoul of C compiler limits for string constant lengths.
717         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
718
719 2011-05-24  Eric Blake  <eblake@redhat.com>
720
721         docs: document recently fixed glibc printf bug
722         * doc/posix-functions/fprintf.texi (fprintf): Document it.
723         * doc/posix-functions/printf.texi (printf): Likewise.
724         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
725         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
726
727         closein-tests: convert to init.sh
728         * modules/closein-tests (Files): Add init.sh
729         * tests/test-closein.sh Use it.
730
731         yesno-tests: convert to init.sh
732         * modules/yesno-tests (Files): Add init.sh.
733         * tests/test-yesno.sh: Use it.
734
735         atexit-tests: ensure reliable exit status
736         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
737         Reported by Bruno Haible.
738
739 2011-05-24  Bruno Haible  <bruno@clisp.org>
740
741         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
742         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
743         gl_PREREQ_STRERROR_R invocations from here...
744         * modules/strerror_r-posix (configure.ac): ... to here.
745
746 2011-05-24  Eric Blake  <eblake@redhat.com>
747
748         strerror_r: fix missing header
749         * lib/strerror_r.c: Avoid compiler warning about snprintf.
750
751         strerror_r: fix AIX test failures
752         * lib/strerror_r.c (strerror_r): Convert silent truncation to
753         ERANGE failure.
754
755         strerror_r: fix Solaris test failures
756         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
757         failures.
758         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
759
760         strerror_r: enforce POSIX recommendations
761         * lib/strerror_r.c (safe_copy): New helper method.
762         (strerror_r): Guarantee a non-empty string.
763         * tests/test-strerror_r.c (main): Enhance tests to incorporate
764         recent POSIX rulings and to match our strerror guarantees.
765         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
766
767 2011-05-24  Jim Meyering  <meyering@redhat.com>
768
769         test-perror2.c: avoid warning about unused variable
770         * tests/test-perror2.c (main): Remove declaration of unused "fp".
771
772 2011-05-24  Eric Blake  <eblake@redhat.com>
773
774         perror: avoid spurious test failure on HP-UX
775         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
776
777         tests: fix logic bug in init.sh
778         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
779         shell.
780
781 2011-05-24  Jim Meyering  <meyering@redhat.com>
782
783         utimensat: do not reference an out-of-scope buffer
784         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
785         declared in an inner scope, yet "times" would be dereferenced outside
786         the scope in which "ts" was valid.
787         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
788         of ts[2] "out/up", so that the use of aliased "times" (via
789         "times = ts;") does not end up referencing an out-of-scope "ts"
790
791         opendir-safer.c: don't clobber errno; don't close negative FD
792         * lib/opendir-safer.c (opendir_safer):
793         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
794         file descriptor, and more importantly, don't clobber the
795         offending errno value with EINVAL.  Before, upon failure
796         of dup_safer, we would pass the negative file descriptor to
797         fdopendir, which would clobber errno.
798
799 2011-05-23  Bruno Haible  <bruno@clisp.org>
800
801         idcache: Fix module description.
802         * modules/idcache (Include): Set to "idcache.h".
803
804 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
805
806         gnulib-tool: fix portability problem with MacOS sed
807         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
808         before the "}".  Problem reported by Leo in
809         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
810         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
811         sed_extract_condition1, sed_extract_condition2.
812
813 2011-05-23  Bruno Haible  <bruno@clisp.org>
814
815         hash: Simplify autoconf macro.
816         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
817
818 2011-05-23  Bruno Haible  <bruno@clisp.org>
819
820         getugroups: Fix module description.
821         * modules/getugroups (Include): Set to "getugroups.h".
822
823 2011-05-23  Bruno Haible  <bruno@clisp.org>
824
825         linkat: Simplify autoconf macro.
826         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
827
828 2011-05-23  Bruno Haible  <bruno@clisp.org>
829             Eric Blake  <eblake@redhat.com>
830
831         linkat, renameat: Update dependencies.
832         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
833         * modules/linkat (Depends-on): Likewise. Remove also readlink,
834         symlinkat.
835
836 2011-05-23  Jim Meyering  <meyering@redhat.com>
837
838         maint.mk: more tight_scope improvements
839         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
840         (_gl_TS_headers): Define only in if-0'd block.
841         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
842         sometimes we must *not* use it.  Adjust uses accordingly.
843         (sc_tight_scope): Use much simpler grep-based test to determine
844         whether we skip this rule.
845
846         maint.mk: generalize/improve the tight-scope rule
847         * top/maint.mk: Emit a warning when the test is skipped.
848         (_gl_TS_dir): Add $(srcdir)/ prefix.
849         (_gl_TS_function_match): Simplify, rather than trying
850         to enumerate common types.  Otherwise, it would fail to match an
851         "extern unsigned char const *" declaration in idutils.
852         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
853         a way to support use of that type of macro.
854         (_gl_TS_var_match): Simplify regexp.
855         (_gl_TS_obj_files): New configurable variable.
856         (_gl_TS_headers): Likewise.
857
858 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
859
860         verify: fix bug when gnulib <assert.h> is also included
861         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
862         is defined, not if _GL_STATIC_ASSERT_H is not defined.
863         Perhaps there's a better way, but this fixes the immediate problem.
864         Problem reported by Bruno Haible in
865         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
866
867 2011-05-22  Bruno Haible  <bruno@clisp.org>
868
869         xgetcwd: Simplify autoconf macro.
870         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
871
872 2011-05-22  Bruno Haible  <bruno@clisp.org>
873
874         New module 'mktime-internal'.
875         * modules/mktime-internal: New file.
876         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
877         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
878         mktime_internal as a C macro if libc has __mktime_internal.
879         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
880         conditions.
881         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
882
883 2011-05-22  Bruno Haible  <bruno@clisp.org>
884
885         timegm: Correct mktime replacement statements.
886         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
887         defining mktime as a C macro. This completes a 2009-07-28 commit.
888
889 2011-05-22  Bruno Haible  <bruno@clisp.org>
890
891         timegm: Simplify autoconf macro.
892         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
893
894 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
895
896         clock-time: change to LGPLv2+.
897         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
898         BSD-like but we have no mark for that; this is good enough for now.
899
900 2011-05-21  Bruno Haible  <bruno@clisp.org>
901
902         strerror_r: Fix comments.
903         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
904
905 2011-05-21  Bruno Haible  <bruno@clisp.org>
906
907         relocatable-prog-wrapper: Fix possible link error.
908         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
909         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
910         (gl_FUNC_SETENV): ... to here.
911         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
912         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
913
914 2011-05-21  Bruno Haible  <bruno@clisp.org>
915
916         relocatable-prog-wrapper: Assume strerror() exists.
917         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
918         m4/strerror.m4.
919         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
920         * lib/relocwrapper.c: Remove mention of strerror module.
921         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
922         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
923         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
924         C macro.
925
926 2011-05-21  Bruno Haible  <bruno@clisp.org>
927
928         select: Simplify replacement idiom.
929         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
930         Win32 platforms.
931         * lib/sys_select.in.h (select): Simplify accordingly.
932         * modules/select (Depends-on): Likewise.
933
934 2011-05-21  Bruno Haible  <bruno@clisp.org>
935
936         mkdir-p: Simplify autoconf macro.
937         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
938         gl_FUNC_LCHOWN.
939
940 2011-05-21  Eric Blake  <eblake@redhat.com>
941
942         strerror_r: avoid clobbering strerror on cygwin
943         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
944         fall back instead to sys_errlist.
945         * modules/strerror (configure.ac): Add witness.
946         * tests/test-strerror_r.c (main): Enhance test.
947         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
948         * tests/test-perror2.c (main): Free memory before exit.
949
950 2011-05-21  Bruno Haible  <bruno@clisp.org>
951
952         mkdtemp: Use gnulib naming conventions.
953         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
954         * modules/mkdtemp (configure.ac): Update.
955
956 2011-05-20  Eric Blake  <eblake@redhat.com>
957
958         strerror_r: avoid corrupting errno on Solaris
959         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
960         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
961
962         strerror_r: avoid compiler warning
963         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
964
965         strerror_r: simplify AIX code
966         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
967
968         test-perror: avoid spurious failure on FreeBSD
969         * modules/perror-tests (Depends-on): Add strerror, now that
970         strerror_r no longer pulls it in.
971
972 2011-05-20  Bruno Haible  <bruno@clisp.org>
973
974         strerror_r-posix: Remove unused dependencies.
975         * modules/strerror_r-posix (Depends-on): Remove strerror.
976         Reported by Eric Blake.
977
978 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
979
980         intprops: remove assumption about A|B representation
981         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
982         is a valid integer if both A and B are.  Although this is true for
983         all known practical hosts, the C standard doesn't guarantee it,
984         and the code need not assume it.  Also, this change may work around
985         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
987
988 2011-05-20  Eric Blake  <eblake@redhat.com>
989
990         perror: work around FreeBSD bug
991         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
992         is broken.  Move AC_LIBOBJ...
993         * modules/perror (configure.ac): Here.
994         * doc/posix-functions/perror.texi (perror): Document this.
995         * tests/test-perror2.c (main): Enhance test.
996
997         test-perror: check for strerror interactions
998         * tests/macros.h (STREQ): Add macro.
999         * modules/perror-tests (Files): Add second test.
1000         * tests/test-perror2.c (main): New file.
1001         * doc/posix-functions/perror.texi (perror): Document glibc bug.
1002
1003         test-perror: rewrite to use init script
1004         * modules/perror-tests (Files): Add init.sh.
1005         * tests/test-perror.sh: Use temporary directory.
1006
1007 2011-05-20  Jim Meyering  <meyering@redhat.com>
1008
1009         maint: replace misused "a" with "an"
1010         * doc/intprops.texi: "a integer"
1011         * doc/regex.texi: "a explanation"
1012         * lib/alignof.h: "a object"
1013         * lib/argmatch.h: "a explanation"
1014         * lib/argp-help.c: "a option" and "a OPTION_DOC"
1015         * lib/stdint.in.h: "a integer"
1016         * lib/userspec.c: "a owner"
1017         * doc/gnulib.texi: Fix "a idea", and reword.
1018
1019 2011-05-19  Jim Meyering  <meyering@redhat.com>
1020
1021         maint: correct misuse of "a" and "an"
1022         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
1023         * lib/argp-help.c: "an docum...": s/an/a/
1024         * lib/argp-parse.c: "An vector": s/An/A/
1025         * lib/execute.c: "an native": s/an/a/
1026         * lib/spawn-pipe.c: Likewise.
1027         * lib/gc.h: "an Gc_rc": s/an/a/
1028         * lib/unigbrk.in.h: "an grapheme": s/an/a/
1029         * lib/fts.c: "an stat.st_dev": s/an/a/
1030
1031 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1032
1033         intprops-tests: work around HP-UX 11.23 cc bug with constants
1034         * tests/test-intprops.c (VERIFY): New macro.
1035         (main): Use it, instead of verify, to work around the compiler bug; see
1036         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1037
1038         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
1039         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
1040         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
1041         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
1042         (_GL_REMAINDER_OVERFLOW): Use it.
1043
1044         intprops-tests: revert unsigned part of previous change
1045         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
1046         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
1047         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
1048         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
1049
1050 2011-05-19  Bruno Haible  <bruno@clisp.org>
1051
1052         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
1053         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
1054         strerror_r() returned without filling the buffer.
1055         Reported by Eric Blake.
1056
1057 2011-05-19  Eric Blake  <eblake@redhat.com>
1058
1059         strerror_r: guarantee unchanged errno
1060         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
1061         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
1062         failure.
1063         * tests/test-strerror_r.c (main): Enhance test.
1064
1065 2011-05-19  Bruno Haible  <bruno@clisp.org>
1066
1067         strerror_r: Reorder #if blocks.
1068         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
1069         for consistency with the previous commit.
1070
1071 2011-05-19  Bruno Haible  <bruno@clisp.org>
1072
1073         perror: Avoid clobbering the strerror buffer when possible.
1074         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
1075         * lib/strerror.c: Include it.
1076         * modules/strerror (Files): Add lib/strerror-impl.h.
1077         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
1078         (my_strerror): New function, defined through lib/strerror-impl.h.
1079         (perror): Use it instead of strerror.
1080         * modules/perror (Files): Add lib/strerror-impl.h.
1081         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
1082
1083 2011-05-19  Eric Blake  <eblake@redhat.com>
1084
1085         strerror_r: fix on newer cygwin
1086         * lib/strerror_r.c (strerror_r): Cygwin now has
1087         __xpg_strerror_r, use it.
1088
1089 2011-05-19  Bruno Haible  <bruno@clisp.org>
1090
1091         strerror_r: Avoid clobbering the strerror buffer when possible.
1092         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
1093         (sys_nerr, sys_errlist): New declarations.
1094         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
1095         HP-UX, native Win32, IRIX, and 32-bit Solaris.
1096         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
1097
1098 2011-05-19  Bruno Haible  <bruno@clisp.org>
1099
1100         strerror_r: Fix test failure on mingw.
1101         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
1102         EXTEND_STRERROR_R.
1103         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
1104         macros from errno.in.h instead.
1105
1106 2011-05-19  Eric Blake  <eblake@redhat.com>
1107
1108         strerror: relax test for Solaris
1109         * tests/test-strerror.c (main): Permit Solaris behavior.
1110         * tests/test-strerror_r.c (main): Likewise.
1111
1112         strerror: enforce POSIX ruling on strerror(0)
1113         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
1114         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
1115         * lib/strerror_r.c (rpl_strerror_r): Work around it.
1116         * doc/posix-functions/strerror.texi (strerror): Document it.
1117         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
1118         * tests/test-strerror.c (main): Strengthen test.
1119         * tests/test-strerror_r.c (main): Likewise.
1120
1121 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1122
1123         intprop-tests: port to older and more-pedantic compilers
1124         * modules/intprops-tests (Files): Add tests/macros.h.
1125         * tests/test-intprops.c: Include macros.h.
1126         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
1127         it's no longer documented to expand to an integer constant expression.
1128         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
1129         argument is floating point, as it's no longer documented to expand
1130         to an integer constant expression in that case.
1131         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
1132         compiler bugs reported by Bruno Haible.  See
1133         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1134         (U0, U1): New constants, to work around the same bugs.  Also,
1135         in tests, use e.g., "(unsigned int) 39" rather than "39u".
1136
1137         intprops: work around C compiler bugs
1138         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
1139         bug in Sun C 5.11 2010/08/13 and other compilers; see
1140         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1141
1142         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
1143         * doc/intprops.texi (Integer Type Determination): Fix
1144         documentation for TYPE_IS_INTEGER: it returns an constant
1145         expression, not an integer constant expression.  Fix doc for
1146         TYPE_SIGNED: it returns an integer constant expression only if its
1147         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
1148         hardly worth documented that way....)
1149
1150 2011-05-18  Bruno Haible  <bruno@clisp.org>
1151
1152         strerror_r: Avoid clobbering the strerror buffer when possible.
1153         * lib/strerror_r.c (strerror_r): Merge the three implementations.
1154         Handle gnulib defined errno values here. When strerror() returns NULL
1155         or an empty string, return EINVAL.
1156         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
1157         gnulib defined errno values here.
1158         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
1159
1160 2011-05-18  Eric Blake  <eblake@redhat.com>
1161
1162         fnmatch: avoid compiler warning
1163         * lib/fnmatch_loop.c (FCT): Use correct type.
1164         Reported by Matthias Bolte.
1165
1166 2011-05-13  Jim Meyering  <meyering@redhat.com>
1167
1168         maint.mk: three new prohibit_<HDR>_without_use rules
1169         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
1170         (sc_prohibit_stdio-safer_without_use): Likewise.
1171         (sc_prohibit_xfreopen_without_use): Likewise.
1172
1173 2011-05-17  Jim Meyering  <meyering@redhat.com>
1174
1175         announce-gen: fail if the NEWS delta is empty
1176         If there's nothing noteworthy in NEWS, then either you forgot
1177         or you shouldn't be releasing.
1178         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
1179
1180 2011-05-17  Pádraig Brady <P@draigBrady.com>
1181
1182         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
1183         reserved symbols starting with double underscore from the check.
1184
1185 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1186
1187         intprops: add doc
1188         * doc/intprops.texi: New file, documenting intprops.
1189         * doc/gnulib.texi (Particular Modules): Include it.
1190
1191         verify: add doc to gnulib manual and fix example
1192         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
1193         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
1194         (Compile-time Assertions): Fix example so it can't overflow.
1195
1196 2011-05-17  Jim Meyering  <meyering@redhat.com>
1197
1198         warnings.m4: don't usurp save_CPPFLAGS variable name
1199         * m4/warnings.m4: Prefix local temporary variable name with gl_.
1200
1201         doc: fix typo
1202         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
1203
1204 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1205             Bruno Haible  <bruno@clisp.org>
1206
1207         doc: Tweak recent change.
1208         * README (Portability guidelines): Tweak new text.
1209         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
1210         Interix 6.1.
1211
1212 2011-05-16  Eric Blake  <eblake@redhat.com>
1213
1214         inttypes: avoid autoconf warning
1215         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
1216         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1217
1218 2011-05-16  Sam Steingold <sds@gnu.org>
1219         and Eric Blake  <eblake@redhat.com>
1220
1221         vc-list-files: accept multiple directory operands
1222         * build-aux/vc-list-files: Iterate over all remaining operands.
1223
1224 2011-05-16  Bruno Haible  <bruno@clisp.org>
1225
1226         Fix confusion regarding deprecated modules.
1227         * modules/calloc (Status, Notice): Mark module as deprecated, not
1228         obsolete.
1229         * modules/fnmatch-posix (Status, Notice): Likewise.
1230         * modules/getdate (Status, Notice): Likewise.
1231         * modules/getopt (Status, Notice): Likewise.
1232         * modules/malloc (Status, Notice): Likewise.
1233         * modules/pipe (Status, Notice): Likewise.
1234         * modules/realloc (Status, Notice): Likewise.
1235         * modules/rename-dest-slash (Status, Notice): Likewise.
1236         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
1237         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
1238         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
1239         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
1240         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
1241
1242 2011-05-16  Bruno Haible  <bruno@clisp.org>
1243
1244         doc: List the target platforms.
1245         * doc/gnulib-intro.texi (Target Platforms): New section.
1246         * doc/gnulib.texi (Introduction): Update menu.
1247         * README (Portability guidelines): Refer to the new section. Update
1248         statement about oldest supported environment. Remove rationale why
1249         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
1250         unportable C89 function.
1251         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
1252         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
1253
1254 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1255
1256         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
1257
1258 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
1259
1260         intprops-tests: new module
1261         * modules/intprops-tests, tests/test-intprops.c: New files.
1262
1263         intprops: add safe, portable integer overflow checking
1264         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
1265         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
1266         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
1267         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
1268         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
1269         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
1270         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
1271         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
1272         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
1273         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
1274         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
1275
1276 2011-05-12  James Youngman  <jay@gnu.org>
1277
1278         Add a test for glibc's Bugzilla bug #12378.
1279         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
1280         doesn't allow the literal matching of a lone "[" (which is
1281         required by POSIX).
1282         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
1283
1284 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
1285
1286         Sync glibc change fixing Bugzilla bug #12378.
1287         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
1288         beginning and fall back to matching as normal character if the
1289         string ends before the matching ']' is found.  This is what POSIX
1290         requires.
1291
1292 2011-05-13  Eric Blake  <eblake@redhat.com>
1293
1294         getcwd-lgpl: relax test for FreeBSD
1295         * doc/posix-functions/getcwd.texi (getcwd): Document portability
1296         issue.
1297         * tests/test-getcwd-lgpl.c (main): Relax test.
1298         Reported by Matthias Bolte.
1299
1300 2011-05-11  Eric Blake  <eblake@redhat.com>
1301
1302         test-fflush: silence compiler warning
1303         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
1304
1305 2011-05-11  Bruno Haible  <bruno@clisp.org>
1306
1307         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
1308         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
1309         * modules/canonicalize (Depends-on): Add 'nocrash'.
1310         * modules/canonicalize-lgpl (Depends-on): Likewise.
1311         * doc/posix-functions/realpath.texi: Update platforms list.
1312         Reported by Ryan Schmidt <ryandesign@macports.org>.
1313
1314 2011-05-11  Bruno Haible  <bruno@clisp.org>
1315
1316         group-member: Declare function in <unistd.h>.
1317         * lib/unistd.in.h (group_member): New declaration.
1318         * lib/group-member.h: Remove file.
1319         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
1320         * tests/test-unistd-c++.cc: Check signature of group_member.
1321         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
1322         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
1323         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
1324         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
1325         HAVE_GROUP_MEMBER.
1326         * modules/group-member (Files): Remove lib/group-member.h.
1327         (Depends-on): Add unistd. Specify conditions.
1328         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1329         (Include): Change to <unistd.h>.
1330         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
1331         HAVE_GROUP_MEMBER.
1332         * NEWS: Mention the change.
1333         * lib/euidaccess.c: Don't include group-member.h.
1334
1335 2011-05-11  Bruno Haible  <bruno@clisp.org>
1336
1337         group-member: Document module.
1338         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
1339         module.
1340
1341 2011-05-11  Bruno Haible  <bruno@clisp.org>
1342
1343         fclose: Fix mistake earlier today.
1344         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
1345
1346 2011-05-11  Eric Blake  <eblake@redhat.com>
1347
1348         fclose: preserve fflush errors
1349         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
1350         Reported by Jim Meyering.
1351
1352         bootstrap: support a prereq of 'rpcgen -' on RHEL5
1353         * build-aux/bootstrap (check_versions): When no specific version
1354         is required, merely check that the app produces an exit status
1355         that indicates its existence.
1356
1357         maint.mk: drop redundant check
1358         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
1359         the same but better.
1360
1361 2011-05-11  Bruno Haible  <bruno@clisp.org>
1362
1363         fclose: Fix possible link error.
1364         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
1365         unregister_shadow_fd. Improve comments.
1366         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
1367         Eric Blake.
1368
1369 2011-05-11  Jim Meyering  <meyering@redhat.com>
1370
1371         maint.mk: improve "can not" detection and generalize rule name
1372         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
1373         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
1374         Use the same technique as in sc_prohibit_doubled_word, so that
1375         we recognize "can not" also when the words are separated by a newline.
1376         Suggested by Eric Blake.
1377         (perl_filename_lineno_text_): Define.  Factored out of...
1378         (prohibit_doubled_word_): ...here.  Use the new definition.
1379         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
1380         (prohibit_undesirable_word_seq_RE_): New overridable variable.
1381         (ignore_undesirable_word_sequence_RE_): New overridable variable.
1382
1383 2011-05-10  Eric Blake  <eblake@redhat.com>
1384
1385         fclose: avoid double close race when possible
1386         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
1387         all but WINDOWS_SOCKETS.
1388
1389 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
1390
1391         openat: correct new comment
1392         * lib/openat-proc.c (openat_proc_name): Correct the comment.
1393
1394 2011-05-10  Jim Meyering  <meyering@redhat.com>
1395
1396         openat: add comments
1397         * lib/openat-proc.c (openat_proc_name): Add comments,
1398         mostly from Eric Blake.
1399
1400 2011-05-09  Eric Blake  <eblake@redhat.com>
1401
1402         openat: reduce syscalls in first probe of /proc
1403         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
1404         be a directory.  Simplify the probe for .. bugs.
1405         * modules/openat (Depends-on): Drop same-inode.
1406         Reported by Bastien ROUCARIES.
1407
1408 2011-05-09  Jim Meyering  <meyering@redhat.com>
1409
1410         maint.mk: change semantics/name of tight_scope variables
1411         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
1412         Rename variables to align with semantics that make them more useful.
1413
1414         maint.mk: tweak new rule's name not to impinge
1415         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
1416         (sc_tight_scope): Use new rule name rather than $@-0.
1417
1418         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
1419         * top/maint.mk (sc_tight_scope): New rule.
1420         (sc_tight_scope-0): New rule, ifdef'd out.
1421         (_gl_TS_dir): Default.
1422         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
1423         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
1424
1425 2011-05-09  Simon Josefsson  <simon@josefsson.org>
1426
1427         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
1428         Haible <bruno@clisp.org>.
1429
1430 2011-05-08  Bruno Haible  <bruno@clisp.org>
1431
1432         Comments.
1433         * m4/isnanf.m4: Add comment.
1434         * m4/isnanl.m4: Likewise.
1435
1436 2011-05-08  Bruno Haible  <bruno@clisp.org>
1437
1438         glob: Remove obsolete macro.
1439         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
1440
1441 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
1442
1443         intprops: Sun C 5.11 supports __typeof__
1444         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
1445         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
1446         which is new.
1447         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
1448
1449         intprops: switch to usual gnulib indenting and naming
1450         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
1451         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
1452
1453         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
1454
1455 2011-05-08  Jim Meyering  <meyering@redhat.com>
1456
1457         maint.mk: suppress "Entering/Leaving directory" diag in announcement
1458         * top/maint.mk (release-prep): Use make's --no-print-directory
1459         option when generating the announcement.  This eliminates the
1460         pesky "make[2]: Entering/Leaving directory" diagnostics in the
1461         generated announcement template.
1462
1463 2011-05-08  Bruno Haible  <bruno@clisp.org>
1464
1465         tzset: Fix gettimeofday wrapper on Solaris 2.6.
1466         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
1467         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
1468
1469 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1470
1471         ignore-value, verify: Omit include files from lib_SOURCES.
1472         * modules/ignore-value, modules/verify (Makefile.am):
1473         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
1474         that leads Automake to duplicate use of am__objects_... variables
1475         in Makefile.in.  See
1476         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
1477
1478 2011-05-07  Bruno Haible  <bruno@clisp.org>
1479
1480         fclose: Simplify autoconf macro.
1481         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
1482         defined.
1483
1484 2011-05-07  Bruno Haible  <bruno@clisp.org>
1485
1486         canonicalize-lgpl: Fix autoconf macro ordering bug.
1487         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
1488         gl_STDLIB_H_DEFAULTS.
1489
1490 2011-05-06  Eric Blake  <eblake@redhat.com>
1491
1492         maintainer-makefile: make sc_po_check easier to tune
1493         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
1494         to probe for strings, such as an alternate location for gnulib.
1495
1496         fclose: guarantee behavior on seekable stdin
1497         * modules/fclose (Depends-on): Add fflush.
1498         * doc/posix-functions/fclose.texi (fclose): Document this.
1499         * tests/test-fclose.c (main): Make test for this unconditional.
1500
1501 2011-05-06  Bruno Haible  <bruno@clisp.org>
1502
1503         fflush, fpurge: Relicense under LGPLv2+.
1504         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
1505         * modules/fpurge (License): Likewise.
1506         With permission from Eric Blake and Jim Meyering.
1507         Suggested by Eric Blake.
1508
1509 2011-05-06  Karl Berry  <karl@gnu.org>
1510
1511         * MODULES.html.sh (func_all_modules): remove exit.
1512
1513 2011-05-06  Jim Meyering  <meyering@redhat.com>
1514
1515         maint.mk: use info-gnu@ as the default only for a stable release
1516         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
1517         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
1518         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
1519         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
1520
1521 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1522
1523         assert-h: new module, which supports C1X-style static_assert
1524         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
1525         * lib/verify.h: Revamp so that this can be copied into assert.h,
1526         while retaining the ability to use it standalone as before.
1527         Rename private identifiers so as not to encroach on the
1528         standard C namespace, since this is now used by assert.h.
1529         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
1530         the old verify_true.
1531         (_GL_VERIFY_TRUE): New macro, with much of the contents of
1532         the old verify_true.  Use _GL_VERIFY_TYPE.
1533         (_GL_VERIFY): New macro, with much of the contents of the old verify.
1534         (static_assert): New macro, if _GL_STATIC_ASSERT_H
1535         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
1536         defined when this file is copied into the replacement assert.h.
1537         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
1538         and _Static_assert is not built in.
1539         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
1540         defined, and use the new macros mentioned above.
1541         * doc/posix-headers/assert.texi: Document this.
1542
1543 2011-05-05  Bruno Haible  <bruno@clisp.org>
1544
1545         fclose, fflush: Respect rules for use of AC_LIBOBJ.
1546         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
1547         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
1548         gl_REPLACE_FCLOSE here.
1549         * modules/fflush (Depends-on): Remove fclose.
1550         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
1551         combination with module 'fclose'.
1552
1553 2011-05-05  Bruno Haible  <bruno@clisp.org>
1554
1555         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
1556         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
1557         gl_FUNC_FFLUSH.
1558         (gl_FUNC_FFLUSH): Use it.
1559         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
1560         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
1561         gl_REPLACE_FSEEKO here.
1562
1563 2011-05-05  Bruno Haible  <bruno@clisp.org>
1564
1565         tzset: Relicense under LGPL.
1566         * modules/tzset (License): Change to LGPL.
1567         No agreement needed; it's a no-op.
1568
1569         strtoimax, strtoumax: Relicense under LGPL.
1570         * modules/strtoimax (License): Change to LGPL.
1571         * modules/strtoumax (License): Likewise.
1572         With permission from Jim Meyering, Paul Eggert:
1573         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
1574         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
1575
1576         getgroups: Relicense under LGPL.
1577         * modules/getgroups (License): Change to LGPL.
1578         With permission from Jim Meyering, Paul Eggert, Eric Blake:
1579         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1580         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1581         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1582
1583         nanosleep: Relicense under LGPL.
1584         * modules/nanosleep (License): Change to LGPL.
1585         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
1586         Haible:
1587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1588         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1589         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1590         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1591
1592         futimens: Relicense under LGPL.
1593         * modules/futimens (License): Change to LGPL.
1594         With permission from Eric Blake:
1595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1596
1597         fflush: Relicense under LGPL.
1598         * modules/fflush (License): Change to LGPL.
1599         With permission from Eric Blake, Bruno Haible, Jim Meyering:
1600         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1601         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
1603
1604         tmpfile: Relicense under LGPL.
1605         * modules/tmpfile (License): Change to LGPL.
1606         With permission from Ben Pfaff:
1607         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1608
1609         isfinite: Relicense under LGPL.
1610         * modules/isfinite (License): Change to LGPL.
1611         With permission from Ben Pfaff, Bruno Haible:
1612         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1613         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
1614
1615         acosl..tanl: Relicense under LGPL.
1616         * modules/acosl (License): Change to LGPL.
1617         * modules/asinl (License): Likewise.
1618         * modules/atanl (License): Likewise.
1619         * modules/cosl (License): Likewise.
1620         * modules/expl (License): Likewise.
1621         * modules/logl (License): Likewise.
1622         * modules/sinl (License): Likewise.
1623         * modules/sqrtl (License): Likewise.
1624         * modules/tanl (License): Likewise.
1625         Source code originally from glibc and Paolo Bonzini. Agreements:
1626         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
1627         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
1628
1629 2011-05-05  Bruno Haible  <bruno@clisp.org>
1630
1631         signal: Define sighandler_t.
1632         * lib/signal.in.h (sighandler_t): New type.
1633         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
1634         whether sighandler_t is defined.
1635         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
1636         * modules/signal (Depends-on): Add extensions.
1637         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
1638         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
1639         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
1640
1641 2011-05-05  Eric Blake  <eblake@redhat.com>
1642
1643         maint: remove useless REPLACE_*_H macros
1644         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
1645         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
1646         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
1647         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
1648         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
1649         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
1650         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
1651         * m4/btowc.m4: Update callers.
1652         * m4/dirfd.m4: Likewise.
1653         * m4/duplocale.m4: Likewise.
1654         * m4/fchdir.m4: Likewise.
1655         * m4/fdopendir.m4: Likewise.
1656         * m4/inet_ntop.m4: Likewise.
1657         * m4/inet_pton.m4: Likewise.
1658         * m4/ioctl.m4: Likewise.
1659         * m4/mbrlen.m4: Likewise.
1660         * m4/mbrtowc.m4: Likewise.
1661         * m4/mbsinit.m4: Likewise.
1662         * m4/mbsnrtowcs.m4: Likewise.
1663         * m4/mbsrtowcs.m4: Likewise.
1664         * m4/poll.m4: Likewise.
1665         * m4/setlocale.m4: Likewise.
1666         * m4/wcrtomb.m4: Likewise.
1667         * m4/wcsnrtombs.m4: Likewise.
1668         * m4/wcsrtombs.m4: Likewise.
1669         * m4/wctob.m4: Likewise.
1670         * m4/wcwidth.m4: Likewise.
1671         * modules/posix_spawn: Likewise.
1672         * modules/posix_spawn_file_actions_addclose: Likewise.
1673         * modules/posix_spawn_file_actions_adddup2: Likewise.
1674         * modules/posix_spawn_file_actions_addopen: Likewise.
1675         * modules/posix_spawn_file_actions_destroy: Likewise.
1676         * modules/posix_spawn_file_actions_init: Likewise.
1677         * modules/posix_spawnattr_destroy: Likewise.
1678         * modules/posix_spawnattr_getflags: Likewise.
1679         * modules/posix_spawnattr_getpgroup: Likewise.
1680         * modules/posix_spawnattr_getschedparam: Likewise.
1681         * modules/posix_spawnattr_getschedpolicy: Likewise.
1682         * modules/posix_spawnattr_getsigdefault: Likewise.
1683         * modules/posix_spawnattr_getsigmask: Likewise.
1684         * modules/posix_spawnattr_init: Likewise.
1685         * modules/posix_spawnattr_setflags: Likewise.
1686         * modules/posix_spawnattr_setpgroup: Likewise.
1687         * modules/posix_spawnattr_setschedparam: Likewise.
1688         * modules/posix_spawnattr_setschedpolicy: Likewise.
1689         * modules/posix_spawnattr_setsigdefault: Likewise.
1690         * modules/posix_spawnattr_setsigmask: Likewise.
1691         * modules/posix_spawnp: Likewise.
1692
1693 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
1694
1695         Add option to do-release-commit-and-tag to specify branch.
1696         * build-aux/do-release-commit-and-tag: Add --branch.
1697
1698 2011-05-03  Bruno Haible  <bruno@clisp.org>
1699
1700         Avoid unnecessary compilation units, through conditional dependencies.
1701         * modules/accept (Depends-on): Add conditions to the dependencies.
1702         * modules/acosl (Depends-on): Likewise.
1703         * modules/argz (Depends-on): Likewise.
1704         * modules/asinl (Depends-on): Likewise.
1705         * modules/atanl (Depends-on): Likewise.
1706         * modules/atoll (Depends-on): Likewise.
1707         * modules/bind (Depends-on): Likewise.
1708         * modules/btowc (Depends-on): Likewise.
1709         * modules/canonicalize-lgpl (Depends-on): Likewise.
1710         * modules/ceil (Depends-on): Likewise.
1711         * modules/ceilf (Depends-on): Likewise.
1712         * modules/ceill (Depends-on): Likewise.
1713         * modules/chdir-long (Depends-on): Likewise.
1714         * modules/chown (Depends-on): Likewise.
1715         * modules/close (Depends-on): Likewise.
1716         * modules/connect (Depends-on): Likewise.
1717         * modules/cosl (Depends-on): Likewise.
1718         * modules/dirfd (Depends-on): Likewise.
1719         * modules/dprintf (Depends-on): Likewise.
1720         * modules/dprintf-posix (Depends-on): Likewise.
1721         * modules/error (Depends-on): Likewise.
1722         * modules/euidaccess (Depends-on): Likewise.
1723         * modules/expl (Depends-on): Likewise.
1724         * modules/faccessat (Depends-on): Likewise.
1725         * modules/fchdir (Depends-on): Likewise.
1726         * modules/fclose (Depends-on): Likewise.
1727         * modules/fcntl (Depends-on): Likewise.
1728         * modules/fdopendir (Depends-on): Likewise.
1729         * modules/fflush (Depends-on): Likewise.
1730         * modules/floor (Depends-on): Likewise.
1731         * modules/floorf (Depends-on): Likewise.
1732         * modules/floorl (Depends-on): Likewise.
1733         * modules/fnmatch (Depends-on): Likewise.
1734         * modules/fopen (Depends-on): Likewise.
1735         * modules/fprintf-posix (Depends-on): Likewise.
1736         * modules/frexp (Depends-on): Likewise.
1737         * modules/frexp-nolibm (Depends-on): Likewise.
1738         * modules/frexpl (Depends-on): Likewise.
1739         * modules/frexpl-nolibm (Depends-on): Likewise.
1740         * modules/fseek (Depends-on): Likewise.
1741         * modules/fsusage (Depends-on): Likewise.
1742         * modules/ftell (Depends-on): Likewise.
1743         * modules/ftello (Depends-on): Likewise.
1744         * modules/futimens (Depends-on): Likewise.
1745         * modules/getcwd (Depends-on): Likewise.
1746         * modules/getcwd-lgpl (Depends-on): Likewise.
1747         * modules/getdelim (Depends-on): Likewise.
1748         * modules/getdomainname (Depends-on): Likewise.
1749         * modules/getgroups (Depends-on): Likewise.
1750         * modules/gethostname (Depends-on): Likewise.
1751         * modules/getline (Depends-on): Likewise.
1752         * modules/getlogin_r (Depends-on): Likewise.
1753         * modules/getopt-posix (Depends-on): Likewise.
1754         * modules/getpeername (Depends-on): Likewise.
1755         * modules/getsockname (Depends-on): Likewise.
1756         * modules/getsockopt (Depends-on): Likewise.
1757         * modules/getsubopt (Depends-on): Likewise.
1758         * modules/getusershell (Depends-on): Likewise.
1759         * modules/glob (Depends-on): Likewise.
1760         * modules/grantpt (Depends-on): Likewise.
1761         * modules/iconv_open (Depends-on): Likewise.
1762         * modules/iconv_open-utf (Depends-on): Likewise.
1763         * modules/inet_ntop (Depends-on): Likewise.
1764         * modules/inet_pton (Depends-on): Likewise.
1765         * modules/ioctl (Depends-on): Likewise.
1766         * modules/isapipe (Depends-on): Likewise.
1767         * modules/isfinite (Depends-on): Likewise.
1768         * modules/isinf (Depends-on): Likewise.
1769         * modules/lchown (Depends-on): Likewise.
1770         * modules/ldexpl (Depends-on): Likewise.
1771         * modules/link (Depends-on): Likewise.
1772         * modules/linkat (Depends-on): Likewise.
1773         * modules/listen (Depends-on): Likewise.
1774         * modules/logl (Depends-on): Likewise.
1775         * modules/lstat (Depends-on): Likewise.
1776         * modules/mbrlen (Depends-on): Likewise.
1777         * modules/mbrtowc (Depends-on): Likewise.
1778         * modules/mbsinit (Depends-on): Likewise.
1779         * modules/mbsnrtowcs (Depends-on): Likewise.
1780         * modules/mbsrtowcs (Depends-on): Likewise.
1781         * modules/mbtowc (Depends-on): Likewise.
1782         * modules/memcmp (Depends-on): Likewise.
1783         * modules/mkdir (Depends-on): Likewise.
1784         * modules/mkdtemp (Depends-on): Likewise.
1785         * modules/mkfifo (Depends-on): Likewise.
1786         * modules/mkfifoat (Depends-on): Likewise.
1787         * modules/mknod (Depends-on): Likewise.
1788         * modules/mkostemp (Depends-on): Likewise.
1789         * modules/mkostemps (Depends-on): Likewise.
1790         * modules/mkstemp (Depends-on): Likewise.
1791         * modules/mkstemps (Depends-on): Likewise.
1792         * modules/mktime (Depends-on): Likewise.
1793         * modules/nanosleep (Depends-on): Likewise.
1794         * modules/open (Depends-on): Likewise.
1795         * modules/openat (Depends-on): Likewise.
1796         * modules/perror (Depends-on): Likewise.
1797         * modules/poll (Depends-on): Likewise.
1798         * modules/popen (Depends-on): Likewise.
1799         * modules/posix_spawn (Depends-on): Likewise.
1800         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
1801         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
1802         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
1803         * modules/posix_spawnp (Depends-on): Likewise.
1804         * modules/pread (Depends-on): Likewise.
1805         * modules/printf-posix (Depends-on): Likewise.
1806         * modules/ptsname (Depends-on): Likewise.
1807         * modules/putenv (Depends-on): Likewise.
1808         * modules/pwrite (Depends-on): Likewise.
1809         * modules/readline (Depends-on): Likewise.
1810         * modules/readlink (Depends-on): Likewise.
1811         * modules/readlinkat (Depends-on): Likewise.
1812         * modules/recv (Depends-on): Likewise.
1813         * modules/recvfrom (Depends-on): Likewise.
1814         * modules/regex (Depends-on): Likewise.
1815         * modules/remove (Depends-on): Likewise.
1816         * modules/rename (Depends-on): Likewise.
1817         * modules/renameat (Depends-on): Likewise.
1818         * modules/rmdir (Depends-on): Likewise.
1819         * modules/round (Depends-on): Likewise.
1820         * modules/roundf (Depends-on): Likewise.
1821         * modules/roundl (Depends-on): Likewise.
1822         * modules/rpmatch (Depends-on): Likewise.
1823         * modules/select (Depends-on): Likewise.
1824         * modules/send (Depends-on): Likewise.
1825         * modules/sendto (Depends-on): Likewise.
1826         * modules/setenv (Depends-on): Likewise.
1827         * modules/setlocale (Depends-on): Likewise.
1828         * modules/setsockopt (Depends-on): Likewise.
1829         * modules/shutdown (Depends-on): Likewise.
1830         * modules/sigaction (Depends-on): Likewise.
1831         * modules/signbit (Depends-on): Likewise.
1832         * modules/sigprocmask (Depends-on): Likewise.
1833         * modules/sinl (Depends-on): Likewise.
1834         * modules/sleep (Depends-on): Likewise.
1835         * modules/snprintf (Depends-on): Likewise.
1836         * modules/snprintf-posix (Depends-on): Likewise.
1837         * modules/socket (Depends-on): Likewise.
1838         * modules/sprintf-posix (Depends-on): Likewise.
1839         * modules/sqrtl (Depends-on): Likewise.
1840         * modules/stat (Depends-on): Likewise.
1841         * modules/strchrnul (Depends-on): Likewise.
1842         * modules/strdup-posix (Depends-on): Likewise.
1843         * modules/strerror (Depends-on): Likewise.
1844         * modules/strerror_r-posix (Depends-on): Likewise.
1845         * modules/strndup (Depends-on): Likewise.
1846         * modules/strnlen (Depends-on): Likewise.
1847         * modules/strptime (Depends-on): Likewise.
1848         * modules/strsep (Depends-on): Likewise.
1849         * modules/strsignal (Depends-on): Likewise.
1850         * modules/strstr-simple (Depends-on): Likewise.
1851         * modules/strtod (Depends-on): Likewise.
1852         * modules/strtoimax (Depends-on): Likewise.
1853         * modules/strtok_r (Depends-on): Likewise.
1854         * modules/strtoumax (Depends-on): Likewise.
1855         * modules/symlink (Depends-on): Likewise.
1856         * modules/symlinkat (Depends-on): Likewise.
1857         * modules/tanl (Depends-on): Likewise.
1858         * modules/tcgetsid (Depends-on): Likewise.
1859         * modules/tmpfile (Depends-on): Likewise.
1860         * modules/trunc (Depends-on): Likewise.
1861         * modules/truncf (Depends-on): Likewise.
1862         * modules/truncl (Depends-on): Likewise.
1863         * modules/uname (Depends-on): Likewise.
1864         * modules/unlink (Depends-on): Likewise.
1865         * modules/unlockpt (Depends-on): Likewise.
1866         * modules/unsetenv (Depends-on): Likewise.
1867         * modules/usleep (Depends-on): Likewise.
1868         * modules/utimensat (Depends-on): Likewise.
1869         * modules/vasprintf (Depends-on): Likewise.
1870         * modules/vdprintf (Depends-on): Likewise.
1871         * modules/vdprintf-posix (Depends-on): Likewise.
1872         * modules/vfprintf-posix (Depends-on): Likewise.
1873         * modules/vprintf-posix (Depends-on): Likewise.
1874         * modules/vsnprintf (Depends-on): Likewise.
1875         * modules/vsnprintf-posix (Depends-on): Likewise.
1876         * modules/vsprintf-posix (Depends-on): Likewise.
1877         * modules/wcrtomb (Depends-on): Likewise.
1878         * modules/wcscasecmp (Depends-on): Likewise.
1879         * modules/wcscspn (Depends-on): Likewise.
1880         * modules/wcsdup (Depends-on): Likewise.
1881         * modules/wcsncasecmp (Depends-on): Likewise.
1882         * modules/wcsnrtombs (Depends-on): Likewise.
1883         * modules/wcspbrk (Depends-on): Likewise.
1884         * modules/wcsrtombs (Depends-on): Likewise.
1885         * modules/wcsspn (Depends-on): Likewise.
1886         * modules/wcsstr (Depends-on): Likewise.
1887         * modules/wcstok (Depends-on): Likewise.
1888         * modules/wcswidth (Depends-on): Likewise.
1889         * modules/wctob (Depends-on): Likewise.
1890         * modules/wctomb (Depends-on): Likewise.
1891         * modules/wctype (Depends-on): Likewise.
1892         * modules/wcwidth (Depends-on): Likewise.
1893         * modules/write (Depends-on): Likewise.
1894
1895 2011-05-03  Bruno Haible  <bruno@clisp.org>
1896
1897         Support for conditional dependencies.
1898         * doc/gnulib.texi (Module description): Document the syntax of
1899         conditional dependencies.
1900         * gnulib-tool: New option --conditional-dependencies.
1901         (func_usage): Document it.
1902         (cond_dependencies): New variable.
1903         (func_get_automake_snippet_conditional,
1904         func_get_automake_snippet_unconditional): New functions, extracted from
1905         func_get_automake_snippet.
1906         (func_get_automake_snippet): Use them.
1907         (sed_first_32_chars): New variable.
1908         (func_module_shellfunc_name): New function.
1909         (func_module_shellvar_name): New function.
1910         (func_module_conditional_name): New function.
1911         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
1912         func_cond_module_condition): New functions.
1913         (func_modules_transitive_closure): Add support for conditional
1914         dependencies.
1915         (func_emit_lib_Makefile_am): For a conditional module, enclose the
1916         conditional automake snippet in an automake conditional.
1917         (func_emit_autoconf_snippets): Emit shell functions that contain the
1918         code for conditional modules.
1919         (func_import, func_create_testdir): Update specification.
1920
1921 2011-05-03  Eric Blake  <eblake@redhat.com>
1922
1923         test-getaddrinfo: report error information
1924         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
1925
1926 2011-05-03  Jim Meyering  <meyering@redhat.com>
1927
1928         bootstrap: avoid build failure when $GZIP is set
1929         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
1930         program name.  If defined at all, it is supposed to list gzip options.
1931         Reported by Alan Curry in http://debbugs.gnu.org/8609
1932
1933 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
1934
1935         readme-release: new module with release instructions
1936         * modules/readme-release: New module.
1937         * top/README-release: New file, from coreutils, grep, diffutils.
1938         * MODULES.html.sh (Support for maintaining and releasing): Add it.
1939
1940 2011-05-02  Eric Blake  <eblake@redhat.com>
1941
1942         fflush: also replace fclose when fixing fflush
1943         * modules/fflush (Depends-on): Add fclose.
1944         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
1945         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
1946         memstreams with no backing fd.
1947         * doc/posix-functions/fclose.texi (fclose): Document the use of
1948         fflush module to fix the bug.
1949         * tests/test-fclose.c (main): Relax test when fclose is used in
1950         isolation.
1951
1952         fclose: add some tests
1953         * modules/fclose-tests: New test module.
1954         * tests/test-fclose.c: New file.
1955         * doc/posix-functions/fclose.texi (fclose): Document the bug.
1956
1957         fclose: reduced dependencies
1958         * modules/fclose (Depends-on): Switch from fflush/fseeko to
1959         simpler lseek.
1960         * lib/fclose.c (rpl_fclose): Likewise.
1961         Reported by Simon Josefsson.
1962
1963         exit: drop remaining clients
1964         * modules/argmatch (Depends-on): Replace exit with stdlib.
1965         * modules/copy-file (Depends-on): Likewise.
1966         * modules/execute (Depends-on): Likewise.
1967         * modules/exitfail (Depends-on): Likewise.
1968         * modules/obstack (Depends-on): Likewise.
1969         * modules/pagealign_alloc (Depends-on): Likewise.
1970         * modules/pipe-filter-gi (Depends-on): Likewise.
1971         * modules/pipe-filter-ii (Depends-on): Likewise.
1972         * modules/savewd (Depends-on): Likewise.
1973         * modules/spawn-pipe (Depends-on): Likewise.
1974         * modules/wait-process (Depends-on): Likewise.
1975         * modules/xsetenv (Depends-on): Likewise.
1976         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
1977         * modules/git-merge-changelog (Depends-on): Likewise.
1978         * modules/long-options (Depends-on): Likewise.
1979         * modules/pt_chown (Depends-on): Likewise.
1980         * modules/sysexits (Depends-on): Likewise.
1981
1982         freading: relax license from LGPLv3+ to LGPLv2+
1983         * modules/freading (License): Relax LGPL version.
1984
1985 2011-05-02  Bruno Haible  <bruno@clisp.org>
1986
1987         fchdir: Remove unused dependencies.
1988         * modules/fchdir (Depends-on): Remove include_next.
1989
1990 2011-05-02  Bruno Haible  <bruno@clisp.org>
1991
1992         gnulib-tool: Refactor.
1993         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
1994         from func_emit_autoconf_snippets.
1995         (func_emit_autoconf_snippets): Use it.
1996
1997 2011-05-02  Simon Josefsson  <simon@josefsson.org>
1998
1999         * NEWS: Document removal of 'exit'.
2000         * modules/exit: Remove file.
2001
2002 2011-05-01  Bruno Haible  <bruno@clisp.org>
2003
2004         Update DEPENDENCIES.
2005         * DEPENDENCIES (gettext): Recommend the newest release.
2006         Reported by Simon Josefsson.
2007
2008 2011-05-01  Bruno Haible  <bruno@clisp.org>
2009
2010         gnulib-tool: Reduce code duplication.
2011         * gnulib-tool (func_emit_autoconf_snippets): New function.
2012         (func_import, func_create_testdir): Use it.
2013
2014 2011-04-30  Eric Blake  <eblake@redhat.com>
2015
2016         fclose: don't fail on non-seekable input stream
2017         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
2018         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
2019         since fflush is allowed to fail in that case.
2020
2021 2011-04-30  Bruno Haible  <bruno@clisp.org>
2022
2023         dup3: cleanup
2024         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
2025
2026 2011-04-30  Bruno Haible  <bruno@clisp.org>
2027
2028         netdb: Make it work in C++ mode.
2029         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
2030         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
2031         module.
2032         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
2033         gl_MODULE_INDICATOR_FOR_TESTS.
2034         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
2035         * modules/netdb-c++-tests: New file.
2036         * tests/test-netdb-c++.cc: New file.
2037
2038 2011-04-30  Bruno Haible  <bruno@clisp.org>
2039
2040         New modules 'vfscanf', 'vscanf'.
2041         * modules/vfscanf: New file.
2042         * modules/vscanf: New file.
2043         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
2044         here.
2045         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
2046         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
2047
2048 2011-04-30  Bruno Haible  <bruno@clisp.org>
2049
2050         passfd: Add comments.
2051         * lib/passfd.c: Add comments about platforms.
2052
2053 2011-04-30  Bruno Haible  <bruno@clisp.org>
2054
2055         sys_uio: Make <sys/uio.h> self-contained.
2056         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
2057         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
2058
2059 2011-04-30  Bruno Haible  <bruno@clisp.org>
2060
2061         sys_socket: Ensure 'struct iovec' definition.
2062         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
2063         <sys/socket.h>.
2064         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
2065
2066 2011-04-30  Bruno Haible  <bruno@clisp.org>
2067
2068         sys_uio: Protect definition of 'struct iovec'.
2069         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
2070         it as a C struct.
2071
2072 2011-04-30  Bruno Haible  <bruno@clisp.org>
2073
2074         manywarnings: fix indentation
2075         * m4/manywarnings.m4: Indent by 2 spaces consistently.
2076
2077 2011-04-30  Pádraig Brady <P@draigBrady.com>
2078
2079         manywarnings: add -Wno-missing-field-initializers if needed.
2080         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
2081         option if it's needed to allow initialization with { 0, }
2082
2083 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
2084
2085         announce-gen: cosmetic improvement
2086         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
2087
2088 2011-04-29  Jim Meyering  <meyering@redhat.com>
2089
2090         vc-list-files: indent with spaces, not TABs
2091         * build-aux/vc-list-files: Convert leading TABs to spaces,
2092         to match the style of most other files in gnulib.
2093
2094         announce-gen: indent with spaces, not TABs
2095         * build-aux/announce-gen: Convert all TABs to spaces, to match
2096         the style of most other files in gnulib.
2097
2098 2011-04-29  Eric Blake  <eblake@redhat.com>
2099
2100         quotearg: avoid uninitialized variable use
2101         * lib/quotearg.c (quoting_options_from_style): Initialize
2102         remaining fields, and ensure that custom styles are only used via
2103         quoting_options rather than quoting_style.
2104
2105 2011-04-29  Jim Meyering  <meyering@redhat.com>
2106
2107         maint.mk: remove unused VC-tag variable
2108         * top/maint.mk (VC-tag): Remove unused variable.
2109
2110 2011-04-29  Bruno Haible  <bruno@clisp.org>
2111
2112         netdb: fix gai_strerror replacements
2113         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
2114         * modules/netdb: Substitute it.
2115
2116 2011-04-29  Jim Meyering  <meyering@redhat.com>
2117
2118         test-getcwd.c: avoid new set-but-not-used warning
2119         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
2120         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
2121         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
2122         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
2123
2124         test-hash.c: avoid a new shadowing warning
2125         * tests/test-hash.c (main): Don't shadow "dup".
2126
2127 2011-04-28  Eric Blake  <eblake@redhat.com>
2128
2129         getaddrinfo: fix gai_strerror signature
2130         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
2131         and work around mingw with UNICODE defined.
2132         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
2133         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
2134         * modules/netdb (Makefile.am): Substitute it.
2135         * lib/netdb.in.h (gai_strerror): Declare replacement.
2136         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
2137         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
2138         the fix.
2139
2140         getsockopt: avoid compiler warning
2141         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
2142         Reported by Matthias Bolte.
2143
2144         tests: drop unused link dependency
2145         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
2146         * modules/dirent-safer-tests (Makefile.am): Likewise.
2147         * modules/fdopendir-tests (Makefile.am): Likewise.
2148         * modules/mkfifoat-tests (Makefile.am): Likewise.
2149         * modules/openat-safer-tests (Makefile.am): Likewise.
2150         * modules/openat-tests (Makefile.am): Likewise.
2151         * modules/readlinkat-tests (Makefile.am): Likewise.
2152         * modules/symlinkat-tests (Makefile.am): Likewise.
2153         * modules/linkat-tests (Makefile.am): Likewise.
2154         (Depends-on): Switch to filenamecat-lgpl.
2155         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
2156         LIBINTL.
2157         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
2158         * tests/test-linkat.c (main): Don't require xalloc.
2159
2160         hash, mgetgroups: drop xalloc dependency
2161         * lib/hash.c (includes): Adjust includes.
2162         * lib/mgetgroups.c (includes): Likewise.
2163         (xgetgroups): Move...
2164         * lib/xgetgroups.c: ...to new file.
2165         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
2166         * modules/xgetgroups: New file, split from...
2167         * modules/mgetgroups: ...here.
2168         (Depends-on): Add xalloc-oversized.
2169         * modules/hash (Depends-on): Likewise.
2170         * modules/hash-tests (Depends-on): Drop xalloc.
2171         (test_hash_LDADD): Drop unused library.
2172         * tests/test-hash.c (main): Break xalloc dependency.
2173         (includes): Drop unused include.
2174
2175         xalloc-oversized: new module
2176         * modules/xalloc-oversized: New module.
2177         * modules/xalloc (Depends-on): Add it.
2178         * lib/xalloc.h (xalloc_oversized): Move...
2179         * lib/xalloc-oversized.h: ...into new file.
2180
2181         utimecmp: drop dependency on xmalloc
2182         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
2183         due to memory pressure.
2184         * modules/utimecmp (Depends-on): Drop xalloc.
2185
2186 2011-04-27  Eric Blake  <eblake@redhat.com>
2187
2188         getcwd: fix mingw bugs
2189         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
2190         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
2191         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
2192
2193 2011-04-27  Bruno Haible  <bruno@clisp.org>
2194
2195         mkstemps: Ensure declaration on MacOS X 10.5.
2196         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
2197         * doc/glibc-functions/mkstemps.texi: Document header file problem on
2198         MacOS X.
2199
2200 2011-04-27  Bruno Haible  <bruno@clisp.org>
2201
2202         mkstemp: More documentation.
2203         * doc/posix-functions/mkstemp.texi: Document header file problem on
2204         MacOS X.
2205
2206 2011-04-27  Bruno Haible  <bruno@clisp.org>
2207
2208         mkstemp: Tweak configure message when cross-compiling.
2209         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
2210         result as a guess.
2211
2212 2011-04-27  Bruno Haible  <bruno@clisp.org>
2213
2214         clean-temp: Clarify what it does.
2215         * lib/clean-temp.h: Add more comments.
2216         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
2217         module.
2218         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
2219         * doc/glibc-functions/mkstemps.texi: Likewise.
2220         * doc/glibc-functions/mkostemps.texi: Likewise.
2221
2222 2011-04-27  Eric Blake  <eblake@redhat.com>
2223
2224         fchdir: avoid extra chdir and fix test
2225         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
2226         getcwd-lgpl.
2227         * lib/fchdir.c (get_name): Any absolute name will do; it does not
2228         have to be canonical.
2229         (canonicalize_file_name): Drop unused macro.
2230         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
2231
2232         filenamecat-lgpl: fix licence
2233         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
2234         when it was first created.
2235
2236         linkat, renameat: add missing dependency
2237         * modules/linkat (Depends-on): Require getcwd-lgpl.
2238         * modules/renameat (Depends-on): Likewise.
2239
2240         tests: reduce dependencies
2241         * tests/test-linkat.c (main): Use lighter-weight getcwd.
2242         * tests/test-renameat.c (main): Likewise.
2243         * modules/linkat-tests (Depends-on): Relax dependency.
2244         * modules/renameat-tests (Depends-on): Likewise.
2245         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
2246         dependency explicit.
2247
2248         save-cwd: reduce default dependency
2249         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
2250         * lib/save-cwd.c: Update comments.
2251         * NEWS: Document the semantic change.
2252
2253         getcwd: enhance tests
2254         * tests/test-getcwd-lgpl.c: New file, taken from...
2255         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
2256         repeat long path stress tests from m4 probe.
2257         * modules/getcwd-lgpl-tests: New module.
2258         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
2259         * m4/getcwd-abort-bug.m4: Update comment.
2260         * m4/getcwd-path-max.m4: Likewise.
2261
2262         getcwd-lgpl: new module
2263         * modules/getcwd-lgpl: New module.
2264         * lib/getcwd-lgpl.c: New file.
2265         * doc/posix-functions/getcwd.texi (getcwd): Document it.
2266         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2267         * modules/getcwd (configure.ac): Set C witness.
2268         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
2269
2270         getcwd: tweak comments
2271         * m4/getcwd-abort-bug.m4: Fix comments.
2272         * m4/getcwd-path-max.m4: Likewise.
2273         * m4/getcwd.m4: Likewise.
2274
2275 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2276         and Eric Blake  <eblake@redhat.com>
2277
2278         mkstemp: replace if system version uses wrong permissions
2279         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
2280         read/write mode bits set in file created by mkstemp.
2281         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
2282
2283 2011-04-27  Eric Blake  <eblake@redhat.com>
2284
2285         passfd: avoid compiler warning
2286         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
2287         Reported by Laine Stump.
2288
2289 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
2290
2291         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
2292         required by the NetBSD (and perhaps other 4.4BSD derived) join.
2293
2294 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2295         and Eric Blake  <eblake@redhat.com>
2296
2297         mkstemp: mention clean-temp module
2298         * lib/mkstemp.c: Add comment.
2299         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
2300
2301 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
2302
2303         inttypes: also provide default values for 32-bit tests
2304         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
2305         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
2306
2307 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
2308
2309         strtoumax: remove dependency on strtoimax
2310         This is like the strtoull change of yesterday.
2311         * modules/strtoumax (Files): Add lib/strtoimax.c.
2312         (Depends-on): Remove strtoimax and add verify.
2313
2314         inttypes-incomplete: new module
2315         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
2316         all but the PRI* and SCN* parts of gl_INTTYPES_H.
2317         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
2318         of gl_INTTYPES_H.
2319         (gl_INTTYPES_H): Rewrite in terms of these new macros.
2320         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
2321         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
2322         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
2323         * modules/strtoumax, modules/xstrtol (Depends-on):
2324         Depend on inttypes-incomplete, not inttypes.
2325         * modules/inttypes-incomplete: New module, containing the contents
2326         of the old modules/inttypes module, except that the Files: section
2327         omits m4/inttypes-pri.m4, and the configure.ac section invokes
2328         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
2329         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
2330         (Depends-on): Depend only on inttypes-incomplete.
2331         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
2332
2333         inttypes: omit now-redundant strtoimax and strtoumax work
2334         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
2335         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
2336
2337         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
2338         This supports apps that need pointers to strtoimax and strtoumax,
2339         and ports to HP-UX 11.00 64.bit, which has macros that expand to
2340         nonexistent functions.  See
2341         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
2342         et seq.
2343         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
2344         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
2345         a macro.
2346         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
2347
2348 2011-04-25  Simon Josefsson  <simon@josefsson.org>
2349
2350         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
2351
2352 2011-04-25  Bruno Haible  <bruno@clisp.org>
2353
2354         strtol, strtoul: Mark modules as obsolete.
2355         * modules/strtol (Status, Notice): New sections.
2356         * modules/strtoul (Status, Notice): New sections.
2357
2358 2011-04-25  Bruno Haible  <bruno@clisp.org>
2359
2360         strtod: Remove check for strtod, unless supporting old platforms.
2361         * modules/strtod-obsolete: New file.
2362         * m4/strtod-obsolete.m4: New file.
2363         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
2364         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
2365         * modules/strtod (Depends-on): Add strtod-obsolete.
2366         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
2367
2368 2011-04-25  Bruno Haible  <bruno@clisp.org>
2369
2370         strcase: Make module obsolete.
2371         * modules/strcase (Status, Notice): New sections.
2372
2373 2011-04-25  Bruno Haible  <bruno@clisp.org>
2374
2375         dup2: Remove check for dup2, unless supporting old obsolete platforms.
2376         * modules/dup2-obsolete: New file.
2377         * m4/dup2-obsolete.m4: New file.
2378         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
2379         gl_FUNC_DUP2_OBSOLETE is not also defined.
2380         * modules/dup2 (Depends-on): Add dup2-obsolete.
2381         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
2382
2383 2011-04-25  Bruno Haible  <bruno@clisp.org>
2384
2385         strnlen: Avoid memchr related link error on old obsolete platforms.
2386         * modules/memchr-obsolete: New file.
2387         * m4/memchr-obsolete.m4: New file.
2388         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
2389         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
2390         * modules/memchr (Depends-on): Add memchr-obsolete.
2391         * modules/strnlen (Depends-on): Likewise.
2392         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
2393
2394 2011-04-25  Jim Meyering  <meyering@redhat.com>
2395
2396         maint.mk: makefile_at_at_check extend and clean up
2397         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
2398         in addition to */Makefile.am.
2399         Exempt legitimate uses of @VAR@ notation, e.g.,
2400         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
2401         Remove obsolete coreutils-specific comment.
2402         Prompted by discussion here:
2403         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
2404
2405 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
2406
2407         strtoul: remove dependency on strtol
2408         This is so that 'configure' need not check for strtol merely because
2409         the application needs strtoul.
2410         * modules/strtoul (Files): Add lib/strtol.c.
2411         (Depends-on): Remove strtol.
2412
2413         strtoull: remove dependency on strtoul
2414         This is like the strtoll change.
2415         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
2416         (Depends-on): Remove strtoul.
2417
2418         strtoll: remove dependency on strtol
2419         This is so that 'configure' need not check for strtol merely because
2420         the application needs strtoll.
2421         * modules/strtoll (Files): Add lib/strtol.c.
2422         (Depends-on): Remove strtol.
2423
2424 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2425
2426         inttypes: Move some configure check to module 'imaxdiv'.
2427         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
2428         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
2429         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
2430
2431 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2432
2433         inttypes: Move some configure check to module 'imaxabs'.
2434         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
2435         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
2436         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
2437
2438 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2439
2440         inttypes: Remove configure tests that are not needed since 2009-12-31.
2441         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
2442         gl_cv_header_working_inttypes_h.
2443
2444 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2445
2446         * modules/strnlen (Depends-on): Remove memchr.
2447         The strnlen implementation doesn't need the memchr module's fixes; see
2448         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
2449
2450         strtol: remove dependency on wchar
2451         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
2452         * modules/strtol (Depends-on): Remove wchar.
2453
2454 2011-04-21  Eric Blake  <eblake@redhat.com>
2455
2456         passfd: fix test regression on Linux
2457         * modules/passfd-tests (configure.ac): Correct socketpair check.
2458
2459         passfd: speed up configure and drop unused code
2460         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
2461         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
2462         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
2463         Instead of probing at configure for unix_scm_rights_bsd44_way,
2464         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
2465         check to a struct member probe.
2466         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
2467         (sendfd, recvfd): Update preprocessor checks.
2468         * modules/passfd (Files): Reflect rename, and drop unused file.
2469         (Depends-on): Drop unused dependency.
2470
2471         passfd: allow compilation on mingw
2472         * modules/sys_socket (Depends-on): Add sys_uio.
2473         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
2474         iovec and a minimal struct msghdr.
2475         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
2476         * tests/test-sys_socket.c (main): Enhance test.
2477         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
2478         guaranteed to provide what we need.
2479         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
2480         * modules/passfd-tests (Depends-on): Add sys_wait.
2481         * tests/test-passfd.c (main): Skip test on mingw, for now.
2482         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
2483         partial 'struct msghdr' implementation.
2484
2485         sys_uio: new module
2486         * modules/sys_uio: New module.
2487         * modules/sys_uio-tests: Likewise.
2488         * lib/sys_uio.in.h: New file.
2489         * m4/sys_uio_h.m4: Likewise.
2490         * tests/test-sys_uio.c: Likewise.
2491         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
2492         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
2493
2494 2011-04-20  Jim Meyering  <meyering@redhat.com>
2495
2496         useless-if-before-free: avoid false-positive
2497         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
2498         disjunct so that it too requires a terminating ";".  Without that,
2499         this script would identify as useless one statement from gcc that
2500         was not:
2501           if (aligned_ptr)
2502             free (((void **) aligned_ptr) [-1]);
2503
2504 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
2505
2506         doc: update users.txt.
2507         * users.txt: Add barcode.
2508
2509 2011-04-19  Bruno Haible  <bruno@clisp.org>
2510
2511         ioctl: Remove link dependency on native Windows.
2512         * lib/fd-hook.h: Renamed from lib/close-hook.h.
2513         (gl_close_fn, gl_ioctl_fn): New types.
2514         (struct fd_hook): Renamed from struct close_hook. Change type of
2515         private_close_fn field. Add private_ioctl_fn field.
2516         (close_hook_fn): Add parameter for primary close method.
2517         (execute_close_hooks, execute_all_close_hooks): Likewise.
2518         (ioctl_hook_fn): New type.
2519         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
2520         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2521         argument.
2522         (unregister_fd_hook): Renamed from unregister_close_hook.
2523         * lib/fd-hook.c: Renamed from lib/close-hook.c.
2524         Don't include <unistd.h>.
2525         (close): Remove undef.
2526         (anchor): Update.
2527         (execute_close_hooks): Add argument for primary close method.
2528         (execute_all_close_hooks): Likewise.
2529         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
2530         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2531         argument. Allow each argument to be NULL.
2532         (unregister_fd_hook): Renamed from unregister_close_hook.
2533         * lib/close.c (rpl_close): Pass 'close' function pointer to
2534         execute_all_close_hooks.
2535         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
2536         (primary_ioctl): New function.
2537         (ioctl): Don't call ioctlsocket here. Instead, call
2538         execute_all_ioctl_hooks.
2539         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
2540         close method.
2541         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
2542         (fd_sockets_hook): Renamed from close_sockets_hook.
2543         (gl_sockets_startup, gl_sockets_cleanup): Update.
2544         * modules/fd-hook: Renamed from modules/close-hook. Update.
2545         * modules/close (Depends-on): Add fd-hook, remove close-hook.
2546         * modules/sockets (Depends-on): Likewise.
2547         * modules/ioctl (Depends-on): Add fd-hook.
2548         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
2549         GNULIB_SOCKET.
2550
2551 2011-04-19  Bruno Haible  <bruno@clisp.org>
2552
2553         Move the support of O_NONBLOCK in open() to the 'open' module.
2554         * modules/nonblocking (Depends-on): Remove 'open'.
2555         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
2556         gl_cv_have_open_O_NONBLOCK.
2557         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
2558         O_NONBLOCK support.
2559         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
2560
2561 2011-04-17  Bruno Haible  <bruno@clisp.org>
2562
2563         pipe2: Simplify code.
2564         * lib/pipe2.c (pipe2): Reduce code duplication.
2565
2566 2011-04-17  Bruno Haible  <bruno@clisp.org>
2567
2568         nonblocking: Add comment.
2569         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
2570
2571 2011-04-17  Bruno Haible  <bruno@clisp.org>
2572
2573         nonblocking: Add tests for sockets.
2574         * tests/test-nonblocking-socket.sh: New file.
2575         * tests/test-nonblocking-socket-main.c: New file.
2576         * tests/test-nonblocking-socket-child.c: New file.
2577         * tests/test-nonblocking-socket.h: New file.
2578         * tests/socket-server.h: New file.
2579         * tests/socket-client.h: New file.
2580         * modules/nonblocking-socket-tests: New file.
2581         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
2582
2583 2011-04-17  Bruno Haible  <bruno@clisp.org>
2584
2585         nonblocking: Add tests for pipes.
2586         * tests/test-nonblocking-pipe.sh: New file.
2587         * tests/test-nonblocking-pipe-main.c: New file.
2588         * tests/test-nonblocking-pipe-child.c: New file.
2589         * tests/test-nonblocking-pipe.h: New file.
2590         * tests/test-nonblocking-writer.h: New file.
2591         * tests/test-nonblocking-reader.h: New file.
2592         * tests/test-nonblocking-misc.h: New file.
2593         * modules/nonblocking-pipe-tests: New file.
2594         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
2595
2596 2011-04-16  Bruno Haible  <bruno@clisp.org>
2597
2598         gettext: Clarify the needed programmer actions.
2599         * modules/gettext (Notice): New field.
2600         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
2601
2602 2011-04-16  Bruno Haible  <bruno@clisp.org>
2603
2604         strchrnul: Tweak last commit.
2605         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
2606         bug.
2607         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
2608         as in _GL_FUNCDECL_SYS.
2609         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
2610         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
2611
2612 2011-04-15  Eric Blake  <eblake@redhat.com>
2613
2614         strchrnul: work around cygwin bug
2615         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
2616         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
2617         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
2618         * modules/string (Makefile.am): Substitute it.
2619         * lib/string.in.h (strchrnul): Use it.
2620
2621 2011-04-15  Bruno Haible  <bruno@clisp.org>
2622
2623         Don't require lib/stdio-write.c when only module 'stdio' is used.
2624         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
2625         invocation.
2626         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
2627
2628 2011-04-14  Bruno Haible  <bruno@clisp.org>
2629
2630         Support non-blocking pipe I/O in read() on native Windows.
2631         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
2632         (read): New declaration.
2633         * lib/read.c: New file.
2634         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
2635         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
2636         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
2637         vscanf): New declarations.
2638         * lib/stdio-read.c: New file.
2639         * m4/read.m4: New file.
2640         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
2641         REPLACE_READ.
2642         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
2643         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2644         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
2645         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
2646         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
2647         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2648         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2649         * modules/read: New file.
2650         * modules/nonblocking (Files): Add lib/stdio-read.c.
2651         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
2652         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
2653         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2654         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2655         * modules/pread (Depends-on): Add read.
2656         * modules/safe-read (Depends-on): Likewise.
2657         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
2658         gets, scanf, vfscanf, vscanf): Verify signatures.
2659         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
2660         problem with non-blocking pipes.
2661         * doc/posix-functions/fgetc.texi: Likewise.
2662         * doc/posix-functions/fgets.texi: Likewise.
2663         * doc/posix-functions/fread.texi: Likewise.
2664         * doc/posix-functions/fscanf.texi: Likewise.
2665         * doc/posix-functions/getc.texi: Likewise.
2666         * doc/posix-functions/getchar.texi: Likewise.
2667         * doc/posix-functions/gets.texi: Likewise.
2668         * doc/posix-functions/scanf.texi: Likewise.
2669         * doc/posix-functions/vfscanf.texi: Likewise.
2670         * doc/posix-functions/vscanf.texi: Likewise.
2671
2672 2011-04-14  Bruno Haible  <bruno@clisp.org>
2673
2674         Support non-blocking pipe I/O in write() on native Windows.
2675         * lib/write.c (rpl_write): Split a write request that failed merely
2676         because the byte count was larger than the pipe buffer's size.
2677         * doc/posix-functions/write.texi: Mention the problem with large byte
2678         counts.
2679
2680 2011-04-14  Bruno Haible  <bruno@clisp.org>
2681
2682         wchar: Ensure that wchar_t gets defined on uClibc.
2683         * lib/wchar.in.h: On uClibc, include <stddef.h>.
2684         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
2685
2686 2011-04-13  Bruno Haible  <bruno@clisp.org>
2687
2688         safe-write, full-read: Avoid unnecessary compilation units.
2689         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
2690         (Depends-on): Remove safe-read. Add ssize_t.
2691         * modules/full-read (Files): Add lib/full-write.c.
2692         (Depends-on): Add full-write.
2693
2694 2011-04-13  Bruno Haible  <bruno@clisp.org>
2695
2696         Support non-blocking pipe I/O and SIGPIPE in pwrite().
2697         * modules/pwrite (Depends-on): Add 'write'.
2698
2699 2011-04-13  Bruno Haible  <bruno@clisp.org>
2700
2701         Support non-blocking pipe I/O in write() on native Windows.
2702         * lib/unistd.in.h (write): Enable replacement also if
2703         GNULIB_UNISTD_H_NONBLOCKING is 1.
2704         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
2705         (rpl_write): When failing to write on a non-blocking pipe, change
2706         errno from ENOSPC to EAGAIN.
2707         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
2708         putchar, puts, vfprintf, vprintf): Enable replacement also if
2709         GNULIB_STDIO_H_NONBLOCKING is 1.
2710         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
2711         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
2712         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
2713         CALL_WITH_SIGPIPE_EMULATION.
2714         (CALL_WITH_SIGPIPE_EMULATION): Use them.
2715         * m4/nonblocking.m4: New file.
2716         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
2717         for non-blocking I/O support.
2718         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2719         GNULIB_UNISTD_H_NONBLOCKING.
2720         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
2721         required for non-blocking I/O support.
2722         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
2723         * modules/nonblocking (Files): Add m4/nonblocking.m4,
2724         lib/stdio-write.c, m4/asm-underscore.m4.
2725         (Depends-on): Add stdio, unistd.
2726         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
2727         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
2728         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
2729         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
2730         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
2731         problem with non-blocking pipes.
2732         * doc/posix-functions/fputc.texi: Likewise.
2733         * doc/posix-functions/fputs.texi: Likewise.
2734         * doc/posix-functions/fwrite.texi: Likewise.
2735         * doc/posix-functions/printf.texi: Likewise.
2736         * doc/posix-functions/putc.texi: Likewise.
2737         * doc/posix-functions/putchar.texi: Likewise.
2738         * doc/posix-functions/puts.texi: Likewise.
2739         * doc/posix-functions/vfprintf.texi: Likewise.
2740         * doc/posix-functions/vprintf.texi: Likewise.
2741         * doc/posix-functions/write.texi: Likewise.
2742
2743 2011-04-10  Jim Meyering  <meyering@redhat.com>
2744
2745         maint.mk: prohibit doubled words
2746         Detect them also when they're separated by a newline.
2747         There are 3 ways to customize it:
2748           - disable the test on a per file basis, as usual with rules using
2749             $(VC_LIST_EXCEPT)
2750           - replace the default doubled-word-selecting regexp (affects all files)
2751           - ignore a particular file-vs-doubled-word match
2752         I nearly used that last one to ignore the "is is" match in
2753         coreutils' NEWS file, since the text was "ls -is is ..."
2754         To do that, I would have added this line to cfg.mk:
2755           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
2756         but it would have ignored any "is is" match in NEWS.
2757         Low probability, but still...
2758         Instead, I changed the text, slightly:
2759           -  ls -is is now consistent with ls -lis in ignoring values returned
2760           +  "ls -is" is now consistent with ls -lis in ignoring values returned
2761         * top/maint.mk (prohibit_double_word_RE_): Provide default.
2762         (prohibit_doubled_word_): Define.
2763         (sc_prohibit_doubled_word): New rule.
2764         (sc_prohibit_the_the): Remove.  Subsumed by the above.
2765
2766 2011-04-10  Jim Meyering  <meyering@redhat.com>
2767
2768         maint: fix doubled-word typo in comment
2769         * m4/gethostname.m4: s/is is/it is/
2770         * m4/getdomainname.m4: Likewise.
2771
2772 2011-04-10  Jim Meyering  <meyering@redhat.com>
2773
2774         maint: remove doubled word: s/it it/it/
2775         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
2776
2777 2011-04-10  Jim Meyering  <meyering@redhat.com>
2778
2779         maint.mk: remove useless semicolon and backslash
2780         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
2781         semicolon and backslash.
2782
2783 2011-04-10  Bruno Haible  <bruno@clisp.org>
2784
2785         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
2786         * modules/stdint-tests (Depends-on): Add wchar.
2787
2788 2011-04-10  Jim Meyering  <meyering@redhat.com>
2789
2790         maint: remove doubled words in comments, e.g., s/a a/a/
2791         * lib/strptime.c (day_of_the_week): s/the the/the/
2792         * tests/test-chown.h (test_chown): s/a a/a/
2793
2794         test-chown.h: correct a cast
2795         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
2796         when the destination is a stat.st_gid.
2797
2798 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
2799
2800         getaddrinfo: Fix test for sa_len member.
2801         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
2802         include <sys/types.h> before <sys/socket.h>.
2803
2804 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
2805
2806         maint: change "can not" to "cannot"
2807         * doc/posix-functions/iconv.texi (iconv): This one crossed line
2808         boundaries.
2809
2810 2011-04-09  Jim Meyering  <meyering@redhat.com>
2811
2812         maint: change "a a" to "a"
2813         * tests/test-lchown.h (test_lchown): s/a a/a/
2814
2815         maint.mk: prohibit \<the the\>
2816         * top/maint.mk (sc_prohibit_the_the): New rule.
2817
2818         maint: fix "the the" in comment
2819         * lib/count-one-bits.h: s/the the/the/
2820
2821         maint: change "can not" to "cannot"
2822         But do not change the occurrences in maintain.texi or in
2823         build-aux/po/Makefile.in.in, which I presume comes from gettext.
2824         * doc/gnulib-tool.texi: s/can not/cannot/
2825         * doc/posix-functions/accept.texi (accept): Likewise.
2826         * doc/posix-functions/socket.texi (socket): Likewise.
2827         * lib/mbrtowc.c: Likewise.
2828
2829         maint.mk: prohibit use of "can not"
2830         * top/maint.mk (sc_prohibit_can_not): New rule.
2831         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
2832
2833 2011-04-09  Bruno Haible  <bruno@clisp.org>
2834
2835         careadlinkat: Guard against misuse of careadlinkatcwd.
2836         * lib/careadlinkat.c: Include <stdlib.h>.
2837         (careadlinkatcwd): Check that the fd argument is as expected.
2838
2839 2011-04-09  Bruno Haible  <bruno@clisp.org>
2840
2841         careadlinkat: Use common coding style.
2842         * lib/careadlinkat.c: Move gnulib includes after system includes.
2843
2844 2011-04-09  Bruno Haible  <bruno@clisp.org>
2845
2846         careadlinkat: Clarify specification.
2847         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
2848         (careadlinkatcwd): Add comment.
2849         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
2850
2851 2011-04-09  Bruno Haible  <bruno@clisp.org>
2852
2853         areadlinkat: Avoid link error on many platforms.
2854         * modules/areadlinkat (Depends-on): Add areadlink.
2855
2856 2011-04-09  Bruno Haible  <bruno@clisp.org>
2857
2858         allocator, careadlinkat: Fix double-inclusion guard.
2859         * lib/allocator.h: Fix double-inclusion guard.
2860         * lib/careadlinkat.h: Likewise.
2861
2862 2011-04-09  Bruno Haible  <bruno@clisp.org>
2863
2864         relocatable-prog-wrapper: Update after module 'areadlink' changed.
2865         * lib/relocwrapper.c: Update dependencies hierarchy.
2866         * build-aux/install-reloc: Update list of files to be compiled.
2867         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
2868         lib/allocator.[hc].
2869
2870 2011-04-08  Eric Blake  <eblake@redhat.com>
2871
2872         strftime: silence gnulib-tool warning
2873         * modules/strftime-tests (Depends-on): Drop automatic dependency.
2874
2875 2011-04-08  Bruno Haible  <bruno@clisp.org>
2876
2877         verify: Fix syntax error with GCC 4.6 in C++ mode.
2878         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
2879         (HAVE_STATIC_ASSERT): New macro.
2880         (verify_true, verify): Use 'static_assert' if it is supported and
2881         '_Static_assert' is not supported.
2882
2883 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
2884
2885         allocator: New module.
2886         * modules/allocator, lib/allocator.c: New files.
2887         * lib/allocator.h (stdlib_allocator): New decl.
2888         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
2889         Remove.  Do not include <stdlib.h>.
2890         (careadlinkat): Use stdlib_allocator instead of rolling our own.
2891         * modules/careadlinkat (Files): Remove lib/allocator.h.
2892         (Depends-on): Add allocator.
2893
2894         stdlib: let modules use system malloc, realloc
2895         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
2896         if !_GL_USE_STDLIB_ALLOC.
2897         (malloc, realloc): Limit this change to a smaller scope.
2898
2899         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
2900         (malloc, realloc): Don't #undef; no longer needed.
2901         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2902         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2903         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
2904         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2905         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2906         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2907         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2908         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
2909
2910         careadlinkat: rename members to avoid problem
2911         * lib/allocator.h (struct allocator): Rename members from
2912         malloc/realloc to allocate/reallocate, to avoid problems if malloc
2913         and realloc are #define'd.  Reported by Eric Blake in
2914         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
2915         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
2916
2917 2011-04-08  Eric Blake  <eblake@redhat.com>
2918
2919         nonblocking: reduce dependency
2920         * tests/test-nonblocking.c: Only test sockets when in use.
2921         * modules/nonblocking-tests (Depends-on): Drop socket.
2922         (Makefile.am): Link even if sockets are not present.
2923         * modules/pipe2-tests (Makefile.am): Likewise.
2924         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
2925
2926         pipe2: fix O_NONBLOCK support on mingw
2927         * modules/pipe2 (Depends-on): Add nonblocking.
2928         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
2929         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
2930         * tests/test-nonblocking.c (main): Likewise.
2931         * modules/pipe2-tests (Makefile.am): Avoid link failure.
2932
2933         fcntl-h: fix O_ACCMODE on cygwin
2934         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
2935         * lib/fcntl.in.h (O_ACCMODE): Fix it.
2936
2937         pipe-filter: drop O_NONBLOCK workarounds
2938         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
2939         * modules/pipe-filter-ii (Depends-on): Likewise.
2940         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
2941
2942         nonblocking: provide O_NONBLOCK for mingw
2943         * modules/nonblocking (Depends-on): Add open.
2944         (configure.ac): Set new witness macro.
2945         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
2946         * modules/fcntl-h (Makefile.am): Substitute it.
2947         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
2948         nonblocking module is in use.
2949         * lib/nonblocking.c: Adjust portability test.
2950         * lib/open.c (open): Don't let native open see gnulib flag.
2951         * tests/test-fcntl-h.c (main): Enhance test.
2952         * tests/test-open.h (test_open): Likewise.
2953         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
2954
2955         careadlinkat: fix compilation error on mingw
2956         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
2957         within struct allocator.
2958
2959 2011-04-06  Eric Blake  <eblake@redhat.com>
2960
2961         binary-io: relicense under LGPLv2+
2962         * modules/binary-io (License): Relax to LGPLv2+.
2963         Requested for libvirt, and required by pipe2.
2964
2965 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
2966
2967         verify: use _Static_assert if available
2968         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
2969         (verify_true, verify): Use it if available.  This generates better
2970         diagnostics with GCC 4.6.0 and later.
2971
2972 2011-04-05  Bruno Haible  <bruno@clisp.org>
2973
2974         Remove leftover generated .h files after config.status changed.
2975
2976         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
2977         GL_GENERATE_ALLOCA_H.
2978         * modules/alloca-opt (Makefile.am): Remove alloca.h if
2979         GL_GENERATE_ALLOCA_H evaluates to false.
2980
2981         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
2982         GL_GENERATE_ARGZ_H.
2983         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
2984         evaluates to false.
2985
2986         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
2987         GL_GENERATE_BYTESWAP_H.
2988         * modules/byteswap (Makefile.am): Remove byteswap.h if
2989         GL_GENERATE_BYTESWAP_H evaluates to false.
2990
2991         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
2992         GL_GENERATE_ERRNO_H.
2993         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
2994         evaluates to false.
2995
2996         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
2997         GL_GENERATE_FLOAT_H.
2998         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
2999         evaluates to false.
3000
3001         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
3002         GL_GENERATE_FNMATCH_H.
3003         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
3004         GL_GENERATE_FNMATCH_H evaluates to false.
3005
3006         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
3007         GL_GENERATE_GLOB_H.
3008         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
3009         evaluates to false.
3010
3011         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
3012         automake conditional GL_GENERATE_ICONV_H.
3013         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
3014         evaluates to false.
3015
3016         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
3017         GL_GENERATE_NETINET_IN_H.
3018         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
3019         GL_GENERATE_NETINET_IN_H evaluates to false.
3020
3021         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
3022         conditional GL_GENERATE_PTHREAD_H.
3023         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
3024         * modules/pthread (Makefile.am): Remove pthread.h if
3025         GL_GENERATE_PTHREAD_H evaluates to false.
3026
3027         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
3028         GL_GENERATE_SCHED_H.
3029         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
3030         evaluates to false.
3031
3032         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
3033         conditional GL_GENERATE_SELINUX_CONTEXT_H.
3034         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
3035         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
3036
3037         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
3038         GL_GENERATE_STDARG_H.
3039         * modules/stdarg (Makefile.am): Remove stdarg.h if
3040         GL_GENERATE_STDARG_H evaluates to false.
3041
3042         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
3043         GL_GENERATE_STDBOOL_H.
3044         * modules/stdbool (Makefile.am): Remove stdbool.h if
3045         GL_GENERATE_STDBOOL_H evaluates to false.
3046
3047         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
3048         conditional GL_GENERATE_STDDEF_H.
3049         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
3050         * modules/stddef (Makefile.am): Remove stddef.h if
3051         GL_GENERATE_STDDEF_H evaluates to false.
3052
3053         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
3054         GL_GENERATE_STDINT_H.
3055         * modules/stdint (Makefile.am): Remove stdint.h if
3056         GL_GENERATE_STDINT_H evaluates to false.
3057
3058         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
3059         GL_GENERATE_SYSEXITS_H.
3060         * modules/sysexits (Makefile.am): Remove sysexits.h if
3061         GL_GENERATE_SYSEXITS_H evaluates to false.
3062
3063         Reported by Karl Berry and Ralf Wildenhues.
3064
3065 2011-04-05  Bruno Haible  <bruno@clisp.org>
3066
3067         Ensure to rebuild generated .h files when config.status has changed.
3068         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
3069         config.status.
3070         * modules/ctype (Makefile.am): Likewise.
3071         * modules/dirent (Makefile.am): Likewise.
3072         * modules/errno (Makefile.am): Likewise.
3073         * modules/fcntl-h (Makefile.am): Likewise.
3074         * modules/float (Makefile.am): Likewise.
3075         * modules/getopt-posix (Makefile.am): Likewise.
3076         * modules/glob (Makefile.am): Likewise.
3077         * modules/iconv-h (Makefile.am): Likewise.
3078         * modules/inttypes (Makefile.am): Likewise.
3079         * modules/langinfo (Makefile.am): Likewise.
3080         * modules/locale (Makefile.am): Likewise.
3081         * modules/math (Makefile.am): Likewise.
3082         * modules/netdb (Makefile.am): Likewise.
3083         * modules/netinet_in (Makefile.am): Likewise.
3084         * modules/poll-h (Makefile.am): Likewise.
3085         * modules/pthread (Makefile.am): Likewise.
3086         * modules/pty (Makefile.am): Likewise.
3087         * modules/sched (Makefile.am): Likewise.
3088         * modules/search (Makefile.am): Likewise.
3089         * modules/selinux-h (Makefile.am): Likewise.
3090         * modules/signal (Makefile.am): Likewise.
3091         * modules/spawn (Makefile.am): Likewise.
3092         * modules/stdarg (Makefile.am): Likewise.
3093         * modules/stdbool (Makefile.am): Likewise.
3094         * modules/stddef (Makefile.am): Likewise.
3095         * modules/stdint (Makefile.am): Likewise.
3096         * modules/stdio (Makefile.am): Likewise.
3097         * modules/stdlib (Makefile.am): Likewise.
3098         * modules/string (Makefile.am): Likewise.
3099         * modules/strings (Makefile.am): Likewise.
3100         * modules/sys_file (Makefile.am): Likewise.
3101         * modules/sys_ioctl (Makefile.am): Likewise.
3102         * modules/sys_select (Makefile.am): Likewise.
3103         * modules/sys_socket (Makefile.am): Likewise.
3104         * modules/sys_stat (Makefile.am): Likewise.
3105         * modules/sys_time (Makefile.am): Likewise.
3106         * modules/sys_times (Makefile.am): Likewise.
3107         * modules/sys_utsname (Makefile.am): Likewise.
3108         * modules/sys_wait (Makefile.am): Likewise.
3109         * modules/sysexits (Makefile.am): Likewise.
3110         * modules/termios (Makefile.am): Likewise.
3111         * modules/time (Makefile.am): Likewise.
3112         * modules/unistd (Makefile.am): Likewise.
3113         * modules/wchar (Makefile.am): Likewise.
3114         * modules/wctype-h (Makefile.am): Likewise.
3115         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
3116
3117 2011-04-05  Bruno Haible  <bruno@clisp.org>
3118
3119         pipe2: Relicense under LGPLv2+.
3120         * modules/pipe2 (License): Change to LGPLv2+.
3121         Requested by Eric Blake, for libvirt.
3122
3123 2011-04-05  Bruce Korb  <bkorb@gnu.org>
3124
3125         bootstrap: compute gnulib_extra_files after updating build_aux
3126         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
3127         change build_aux or also supply gnulib_extra_files.  Handle correctly.
3128
3129 2011-04-05  Eric Blake  <eblake@redhat.com>
3130
3131         bootstrap: preserve git whitelist item sorting
3132         * build-aux/bootstrap (sort_patterns): New function.
3133         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
3134
3135 2011-04-05  Simon Josefsson  <simon@josefsson.org>
3136
3137         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
3138         sc_space_tab check.
3139
3140 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
3141
3142         areadlink, areadlinkat: rewrite in terms of careadlinkat
3143         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
3144         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
3145         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
3146         (malloc, realloc): Remove #undefs.
3147         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
3148         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
3149         readlink, ssize_t, stdint, unistd.
3150         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
3151         areadlink, stdint.
3152
3153         careadlinkat: new module
3154         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
3155         * modules/careadlinkat: New files, written by me with
3156         a review and feedback from Ben Pfaff in
3157         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
3158
3159 2011-04-01  Bruno Haible  <bruno@clisp.org>
3160
3161         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
3162         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
3163         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
3164         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3165         Reported by Bruce Korb <bruce.korb@gmail.com>.
3166
3167 2011-04-01  Bruno Haible  <bruno@clisp.org>
3168
3169         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
3170         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
3171         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
3172         * modules/wcpcpy (Depends-on): Add extensions.
3173         * modules/wcpncpy (Depends-on): Likewise.
3174         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
3175         systems.
3176         * doc/posix-functions/wcpncpy.texi: Likewise.
3177         * doc/posix-functions/wcwidth.texi: Likewise.
3178
3179 2011-03-31  Eric Blake  <eblake@redhat.com>
3180
3181         nonblocking: fix mingw test failures
3182         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
3183         non-blocking flag on regular file.
3184         (get_nonblocking_flag): Set errno on invalid fd.
3185         * tests/test-nonblocking.c (main): Avoid test failure on
3186         directories if fchdir is not active.
3187         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
3188
3189 2011-03-31  Bruno Haible  <bruno@clisp.org>
3190
3191         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
3192         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
3193         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
3194         Reported by Simon Josefsson <simon@josefsson.org>.
3195
3196 2011-03-31  Bruno Haible  <bruno@clisp.org>
3197         and Eric Blake  <eblake@redhat.com>
3198
3199         nonblocking: new module
3200         * modules/nonblocking: New module.
3201         * modules/nonblocking-tests: Likewise.
3202         * lib/nonblocking.h: New file.
3203         * lib/nonblocking.c: Likewise.
3204         * tests/test-nonblocking.c: New test.
3205         * lib/ioctl.c (ioctl) [mingw]: Update comment.
3206
3207 2011-03-30  Bruno Haible  <bruno@clisp.org>
3208
3209         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
3210         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
3211         instead of 'printf' format for GCC >= 4.4.
3212         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
3213         (fprintf, printf, vfprintf, vprintf): Declare with
3214         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
3215         the system's vfprintf() function.
3216         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
3217
3218 2011-03-30  Eric Blake  <eblake@redhat.com>
3219
3220         passfd: fix scoping bug
3221         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
3222         before sendmsg/recvmsg.
3223
3224         passfd: standardize coding conventions
3225         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
3226         can be learned at compile time.
3227         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
3228         ifdefs.
3229         (sendfd, recvfd): Follow gnulib code conventions.
3230
3231         passfd: fix incorrect sendmsg arguments
3232         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
3233         incorrect msg_controllen value.
3234         * modules/passfd-tests (Depends-on): Check for alarm.
3235         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
3236         Reported by Bastien ROUCARIES.
3237
3238 2011-03-30  Bruno Haible  <bruno@clisp.org>
3239
3240         c-strcasestr: Relicense under LGPLv2+.
3241         * modules/c-strcasestr (License): Change to LGPLv2+.
3242         Requested by Eric Blake, for libvirt.
3243
3244 2011-03-30  Simon Josefsson  <simon@josefsson.org>
3245
3246         * users.txt: Add libidn2.  Fix libtasn1 link.
3247
3248 2011-03-30  Jim Meyering  <meyering@redhat.com>
3249
3250         tests: readlink* ("",... fails with EINVAL on newer kernels
3251         readlink and readlinkat have typically failed with ENOENT for
3252         the invalid, empty file name,  "".  However, with the advent
3253         of linux-2.6.39, they fail with EINVAL.
3254         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
3255         when operating on the empty file name.
3256         * tests/test-readlink.h (test_readlink): Likewise.
3257
3258 2011-03-29  Bruno Haible  <bruno@clisp.org>
3259
3260         Relicense some modules under LGPLv2+, for libidn2.
3261         * modules/array-mergesort (License): Change to LGPLv2+.
3262         * modules/c-strcaseeq (License): Likewise.
3263         * modules/striconveh (License): Likewise.
3264         * modules/striconveha (License): Likewise.
3265         * modules/uniconv/base (License): Likewise.
3266         * modules/uniconv/u8-conv-from-enc (License): Likewise.
3267         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
3268         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
3269         * modules/unictype/base (License): Likewise.
3270         * modules/unictype/bidiclass-of (License): Likewise.
3271         * modules/unictype/category-M (License): Likewise.
3272         * modules/unictype/category-none (License): Likewise.
3273         * modules/unictype/category-of (License): Likewise.
3274         * modules/unictype/category-test (License): Likewise.
3275         * modules/unictype/category-test-withtable (License): Likewise.
3276         * modules/unictype/combining-class (License): Likewise.
3277         * modules/unictype/joiningtype-of (License): Likewise.
3278         * modules/unictype/scripts (License): Likewise.
3279         * modules/uninorm/base (License): Likewise.
3280         * modules/uninorm/canonical-decomposition (License): Likewise.
3281         * modules/uninorm/composition (License): Likewise.
3282         * modules/uninorm/decompose-internal (License): Likewise.
3283         * modules/uninorm/decomposition-table (License): Likewise.
3284         * modules/uninorm/nfc (License): Likewise.
3285         * modules/uninorm/nfd (License): Likewise.
3286         * modules/uninorm/u32-normalize (License): Likewise.
3287         * modules/unistr/base (License): Likewise.
3288         * modules/unistr/u32-cpy (License): Likewise.
3289         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
3290         * modules/unistr/u32-to-u8 (License): Likewise.
3291         * modules/unistr/u32-uctomb (License): Likewise.
3292         * modules/unistr/u8-check (License): Likewise.
3293         * modules/unistr/u8-mblen (License): Likewise.
3294         * modules/unistr/u8-mbtouc (License): Likewise.
3295         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
3296         * modules/unistr/u8-mbtoucr (License): Likewise.
3297         * modules/unistr/u8-prev (License): Likewise.
3298         * modules/unistr/u8-strlen (License): Likewise.
3299         * modules/unistr/u8-to-u32 (License): Likewise.
3300         * modules/unistr/u8-uctomb (License): Likewise.
3301         * modules/unitypes (License): Likewise.
3302         Requested by Simon Josefsson.
3303
3304 2011-03-29  Simon Josefsson  <simon@josefsson.org>
3305
3306         lib-symbol-visibility: Add a notice.
3307         * modules/lib-symbol-visibility (Notice): New field.
3308
3309 2011-03-29  Bruno Haible  <bruno@clisp.org>
3310
3311         getaddrinfo: Doc fix.
3312         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
3313         section "fixed in Gnulib".
3314
3315 2011-03-28  Simon Josefsson  <simon@josefsson.org>
3316
3317         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
3318         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
3319
3320 2011-03-26  Bruno Haible  <bruno@clisp.org>
3321
3322         unictype/property-byname: Reduce the number of load-time relocations.
3323         * lib/unictype/pr_byname.c: Include <stdlib.h>.
3324         (UC_PROPERTY_INDEX_*): New enumeration values.
3325         (uc_property_byname): Convert an index from the lookup table to an
3326         uc_property_t.
3327         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
3328         values.
3329
3330 2011-03-26  Bruno Haible  <bruno@clisp.org>
3331
3332         unictype/property-byname: Allow omitted word separators and aliases.
3333         * lib/unictype/pr_byname.gperf: Add property names without word
3334         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
3335         for 'space'.
3336
3337 2011-03-26  Bruno Haible  <bruno@clisp.org>
3338
3339         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
3340         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
3341         also hyphens to space.
3342         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
3343         without spaces.
3344         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
3345
3346 2011-03-26  Bruno Haible  <bruno@clisp.org>
3347
3348         unictype/joiningtype-byname: Recognize long names as well.
3349         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
3350         a long name.
3351         * lib/unictype/joiningtype_byname.c: Include <string.h>,
3352         unictype/joiningtype_byname.h.
3353         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
3354         * lib/unictype/joiningtype_byname.gperf: New file.
3355         * modules/unictype/joiningtype-byname (Files): Add
3356         lib/unictype/joiningtype_byname.gperf.
3357         (Depends-on): Add gperf.
3358         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
3359         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
3360         long names.
3361
3362         Tests for module 'unictype/joiningtype-longname'.
3363         * modules/unictype/joiningtype-longname-tests: New file.
3364         * tests/unictype/test-joiningtype_longname.c: New file.
3365
3366         New module 'unictype/joiningtype-longname'.
3367         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
3368         * lib/unictype/joiningtype_longname.c: New file.
3369         * modules/unictype/joiningtype-longname: New file.
3370         * modules/unictype/joiningtype-all (Depends-on): Add
3371         unictype/joiningtype-longname.
3372
3373 2011-03-26  Bruno Haible  <bruno@clisp.org>
3374
3375         unictype/bidiclass-byname: Recognize long names as well.
3376         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
3377         name.
3378         * lib/unictype/bidi_byname.c: Include <string.h>,
3379         unictype/bidi_byname.h.
3380         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
3381         * lib/unictype/bidi_byname.gperf: New file.
3382         * modules/unictype/bidiclass-byname (Files): Add
3383         lib/unictype/bidi_byname.gperf.
3384         (Depends-on): Add gperf.
3385         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
3386         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
3387         long names.
3388
3389         Tests for module 'unictype/bidiclass-longname'.
3390         * modules/unictype/bidiclass-longname-tests: New file.
3391         * tests/unictype/test-bidi_longname.c: New file.
3392
3393         New module 'unictype/bidiclass-longname'.
3394         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
3395         * lib/unictype/bidi_longname.c: New file.
3396         * modules/unictype/bidiclass-longname: New file.
3397         * modules/unictype/bidiclass-all (Depends-on): Add
3398         unictype/bidiclass-longname.
3399
3400 2011-03-26  Bruno Haible  <bruno@clisp.org>
3401
3402         unictype/bidi*: Rename modules.
3403         * modules/unictype/bidiclass-all: Renamed from
3404         modules/unictype/bidicategory-all.
3405         * modules/unictype/bidiclass-name: Renamed from
3406         modules/unictype/bidiclass-name.
3407         (Description): Update.
3408         * modules/unictype/bidiclass-name-tests: Renamed from
3409         modules/unictype/bidicategory-name-tests.
3410         * modules/unictype/bidiclass-byname: Renamed from
3411         modules/unictype/bidicategory-byname.
3412         (Description): Update.
3413         * modules/unictype/bidiclass-byname-tests: Renamed from
3414         modules/unictype/bidicategory-byname-tests.
3415         * modules/unictype/bidiclass-of: Renamed from
3416         modules/unictype/bidicategory-of.
3417         (Description): Update.
3418         * modules/unictype/bidiclass-of-tests: Renamed from
3419         modules/unictype/bidicategory-of-tests.
3420         * modules/unictype/bidiclass-test: Renamed from
3421         modules/unictype/bidicategory-test.
3422         (Description): Update.
3423         * modules/unictype/bidiclass-test-tests: Renamed from
3424         modules/unictype/bidicategory-test-tests.
3425         * modules/unictype/bidicategory-all: New file, a simple redirection.
3426         * modules/unictype/bidicategory-name: Likewise.
3427         * modules/unictype/bidicategory-byname: Likewise.
3428         * modules/unictype/bidicategory-of: Likewise.
3429         * modules/unictype/bidicategory-test: Likewise.
3430         * modules/unictype/property-bidi-* (Dependencies): Update.
3431         * lib/unictype/bidi_*.c: Update comment.
3432
3433 2011-03-26  Bruno Haible  <bruno@clisp.org>
3434
3435         unictype/bidi*: Rename functions, part 2.
3436         * modules/unictype/bidicategory-name (configure.ac): Update required
3437         libunistring version.
3438         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
3439
3440 2011-03-25  Bruno Haible  <bruno@clisp.org>
3441
3442         New module 'unictype/combining-class-all'.
3443         * modules/unictype/combining-class-all: New file.
3444
3445         Tests for module 'unictype/combining-class-byname'.
3446         * modules/unictype/combining-class-byname-tests: New file.
3447         * tests/unictype/test-combiningclass_byname.c: New file.
3448
3449         New module 'unictype/combining-class-byname'.
3450         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
3451         * lib/unictype/combiningclass_byname.c: New file.
3452         * lib/unictype/combiningclass_byname.gperf: New file.
3453         * modules/unictype/combining-class-byname: New file.
3454
3455         Tests for module 'unictype/combining-class-longname'.
3456         * modules/unictype/combining-class-longname-tests: New file.
3457         * tests/unictype/test-combiningclass_longname.c: New file.
3458
3459         New module 'unictype/combining-class-longname'.
3460         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
3461         * lib/unictype/combiningclass_longname.c: New file.
3462         * modules/unictype/combining-class-longname: New file.
3463
3464         Tests for module 'unictype/combining-class-name'.
3465         * modules/unictype/combining-class-name-tests: New file.
3466         * tests/unictype/test-combiningclass_name.c: New file.
3467
3468         New module 'unictype/combining-class-name'.
3469         * lib/unictype.in.h (uc_combining_class_name): New declaration.
3470         * lib/unictype/combiningclass_name.c: New file.
3471         * modules/unictype/combining-class-name: New file.
3472
3473 2011-03-25  Bruno Haible  <bruno@clisp.org>
3474
3475         unictype/combining-class: Rename source files.
3476         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
3477         of unictype/combining.h.
3478         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
3479         Update.
3480         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
3481         * modules/unictype/combining-class (Description): Fix.
3482         (Files, Makefile.am): Update.
3483         * tests/unictype/test-combiningclass.c: Renamed from
3484         tests/unictype/test-combining.c.
3485         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
3486
3487 2011-03-25  Bruno Haible  <bruno@clisp.org>
3488
3489         unictype: Update list of canonical combining classes.
3490         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
3491
3492 2011-03-25  Bruno Haible  <bruno@clisp.org>
3493
3494         unictype/category-byname: Recognize long names as well.
3495         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
3496         a long name.
3497         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
3498         unictype/categ_byname.h.
3499         (UC_CATEGORY_INDEX_*): New enumeration values.
3500         (uc_general_category_byname): Use uc_general_category_lookup and
3501         convert from index to value.
3502         * lib/unictype/categ_byname.gperf: New file.
3503         * modules/unictype/category-byname (Files): Add
3504         lib/unictype/categ_byname.gperf.
3505         (Depends-on): Add gperf.
3506         (Makefile.am): Add rule for generating unictype/categ_byname.h.
3507         * tests/unictype/test-categ_byname.c (main): Test the recognition of
3508         long names.
3509
3510         Tests for module 'unictype/category-longname'.
3511         * modules/unictype/category-longname-tests: New file.
3512         * tests/unictype/test-categ_longname.c: New file.
3513
3514         New module 'unictype/category-longname'.
3515         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
3516         * lib/unictype/categ_longname.c: New file.
3517         * modules/unictype/category-longname: New file.
3518         * modules/unictype/category-all (Depends-on): Add it.
3519
3520 2011-03-25  Bruno Haible  <bruno@clisp.org>
3521
3522         Tests for module 'unictype/category-LC'.
3523         * modules/unictype/category-LC-tests: New file.
3524         * tests/unictype/test-categ_LC.c: New file, automatically generated.
3525
3526         New module 'unictype/category-LC'.
3527         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
3528         (UC_CATEGORY_LC): New declaration.
3529         (UC_CASED_LETTER): New macro.
3530         * lib/gen-uni-tables.c (is_category_LC): New function.
3531         (output_categories): Also handle category LC.
3532         (UC_CATEGORY_MASK_LC): New enumeration value.
3533         (general_category_byname): Also handle category LC.
3534         * lib/unictype/categ_LC.c: New file.
3535         * lib/unictype/categ_LC.h: New file, automatically generated.
3536         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
3537         category LC.
3538         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
3539         * modules/unictype/category-LC: New file.
3540         * modules/unictype/category-byname (Depends-on): Add
3541         unictype/category-LC.
3542         * modules/unictype/category-all (Depends-on): Likewise.
3543
3544 2011-03-25  Eric Blake  <eblake@redhat.com>
3545
3546         xmalloc: revert yesterday's regression
3547         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
3548         realloc's underlying behavior (allowing allocation of zero-size
3549         objects, especially if malloc-gnu is also in use).
3550
3551 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
3552
3553         maint.mk: add missing version to VC-tag
3554         * top/maint.mk: git tag was missing actual tag name; add it.
3555
3556         valgrind: do leak checking, and exit with code 1 on error (not 0)
3557         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
3558         to VALGRIND.
3559
3560 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
3561
3562         posix-modules: say what it does.
3563         * posix-modules: Add a line to the --help output saying what it does.
3564
3565 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
3566
3567         xmalloc: Do not leak if underlying realloc is C99 compatible.
3568         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
3569         This avoids a leak on C99-based systems.  See
3570         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
3571
3572 2011-03-24  Eric Blake  <eblake@redhat.com>
3573
3574         realloc: document portability problem
3575         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
3576         passing 0 size to realloc.
3577
3578 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
3579
3580         doc: update users.txt
3581         * users.txt: Add cvsps, tmpwatch
3582
3583 2011-03-23  Matt Rice  <ratmice@gmail.com>
3584
3585         doc: update users.txt
3586         * users.txt: Add gdb.
3587
3588 2011-03-23  Jim Meyering  <meyering@redhat.com>
3589
3590         doc: update users.txt
3591         Looking through matches up to the following URL (there are still
3592         several more pages), I found several projects that use gnulib:
3593         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
3594         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
3595         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
3596
3597 2011-03-22  Bruno Haible  <bruno@clisp.org>
3598
3599         unictype/bidi*: Rename functions.
3600         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
3601         uc_bidi_class, uc_is_bidi_class): New declarations.
3602         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
3603         uc_bidi_category_byname.
3604         (uc_bidi_category_byname): New function.
3605         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
3606         u_bidi_category_name.
3607         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
3608         (uc_bidi_category_name): New function.
3609         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
3610         uc_bidi_category.
3611         (uc_bidi_category): New function.
3612         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
3613         uc_is_bidi_category. Invoke uc_bidi_class.
3614         (uc_is_bidi_category): New function.
3615         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
3616         instead of uc_bidi_category_byname.
3617         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
3618         instead of uc_bidi_category_name.
3619         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
3620         uc_bidi_category.
3621         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
3622         instead of uc_is_bidi_category.
3623
3624 2011-03-21  Bruno Haible  <bruno@clisp.org>
3625
3626         New module 'unictype/joininggroup-all'.
3627         * modules/unictype/joininggroup-all: New file.
3628
3629         Tests for module 'unictype/joininggroup-of'.
3630         * modules/unictype/joininggroup-of-tests: New file.
3631         * tests/unictype/test-joininggroup_of.c: New file.
3632         * tests/unictype/test-joininggroup_of.h: New file, automatically
3633         generated by gen-uni-tables.
3634
3635         New module 'unictype/joininggroup-of'.
3636         * modules/unictype/joininggroup-of: New file.
3637         * lib/unictype/joininggroup_of.c: New file.
3638         * lib/unictype/joininggroup_of.h: New file, automatically generated by
3639         gen-uni-tables.
3640
3641         Tests for module 'unictype/joininggroup-byname'.
3642         * modules/unictype/joininggroup-byname-tests: New file.
3643         * tests/unictype/test-joininggroup_byname.c: New file.
3644
3645         New module 'unictype/joininggroup-byname'.
3646         * modules/unictype/joininggroup-byname: New file.
3647         * lib/unictype/joininggroup_byname.c: New file.
3648         * lib/unictype/joininggroup_byname.gperf: New file.
3649
3650         Tests for module 'unictype/joininggroup-name'.
3651         * modules/unictype/joininggroup-name-tests: New file.
3652         * tests/unictype/test-joininggroup_name.c: New file.
3653
3654         New module 'unictype/joininggroup-name'.
3655         * modules/unictype/joininggroup-name: New file.
3656         * lib/unictype/joininggroup_name.c: New file.
3657         * lib/unictype/joininggroup_name.h: New file.
3658
3659         New module 'unictype/joiningtype-all'.
3660         * modules/unictype/joiningtype-all: New file.
3661
3662         Tests for module 'unictype/joiningtype-of'.
3663         * modules/unictype/joiningtype-of-tests: New file.
3664         * tests/unictype/test-joiningtype_of.c: New file.
3665         * tests/unictype/test-joiningtype_of.h: New file, automatically
3666         generated by gen-uni-tables.
3667
3668         New module 'unictype/joiningtype-of'.
3669         * modules/unictype/joiningtype-of: New file.
3670         * lib/unictype/joiningtype_of.c: New file.
3671         * lib/unictype/joiningtype_of.h: New file, automatically generated by
3672         gen-uni-tables.
3673
3674         Tests for module 'unictype/joiningtype-byname'.
3675         * modules/unictype/joiningtype-byname-tests: New file.
3676         * tests/unictype/test-joiningtype_byname.c: New file.
3677
3678         New module 'unictype/joiningtype-byname'.
3679         * modules/unictype/joiningtype-byname: New file.
3680         * lib/unictype/joiningtype_byname.c: New file.
3681
3682         Tests for module 'unictype/joiningtype-name'.
3683         * modules/unictype/joiningtype-name-tests: New file.
3684         * tests/unictype/test-joiningtype_name.c: New file.
3685
3686         New module 'unictype/joiningtype-name'.
3687         * modules/unictype/joiningtype-name: New file.
3688         * lib/unictype/joiningtype_name.c: New file.
3689
3690         unictype: Add support for Arabic shaping properties.
3691         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
3692         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
3693         declarations.
3694         (UC_JOINING_GROUP_*): New enumeration values.
3695         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
3696         declarations.
3697         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
3698         (unicode_joining_type): New variable.
3699         (UC_JOINING_GROUP_*): New enumeration values.
3700         (unicode_joining_group): New variable.
3701         (fill_arabicshaping, joining_type_as_c_identifier,
3702         output_joining_type_test, output_joining_type,
3703         joining_group_as_c_identifier, output_joining_group_test,
3704         output_joining_group): New functions.
3705         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
3706         fill_arabicshaping and output_joining_type_test, output_joining_type,
3707         output_joining_group_test, output_joining_group.
3708         Reported by Simon Josefsson.
3709
3710 2011-03-21  Jim Meyering  <meyering@redhat.com>
3711
3712         strftime: fix a bug in yesterday's change
3713         * lib/strftime.c (add): Accommodate width's initial value of -1.
3714         Otherwise, nstrftime would copy uninitialized data into
3715         the result buffer.
3716
3717 2011-03-21  Jim Meyering  <meyering@redhat.com>
3718
3719         tests: add strftime-tests module
3720         * tests/test-strftime.c: New file.
3721         * modules/strftime-tests: New module.
3722
3723 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3724
3725         strftime: don't assume a byte count fits in 'int'
3726         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
3727         found this problem by static analysis, using gcc -Wstrict-overflow
3728         (GCC 4.5.2, x86-64).  This reported an optimization that depended
3729         on an integer overflow having undefined behavior, but it turns out
3730         that the argument is a size, which might not fit in 'int' anyway,
3731
3732 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3733
3734         stdio: don't require ignore_value around fwrite
3735
3736         This patch works around libc bug 11959
3737         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
3738         Without this patch, applications must often write
3739         ignore_value (fwrite (...)) even though the ignore_value is
3740         not helpful here.  It's common to write many objects, using
3741         fwrite/printf/etc., and then use ferror to detect output error.
3742
3743         I considered making this patch optional, but decided against it,
3744         because libc is obviously being inconsistent here: there is no
3745         reason libc should insist that user code must inspect fwrite
3746         return's value without also insisting that it inspect printf's,
3747         putchar's, etc.  If user code wants to have a strict style where
3748         all these functions' values are checked (so that ferror need not
3749         be checked), we could add support for that style in a new gnulib
3750         module, but in the meantime it's better to be consistent and to
3751         support common usage.
3752
3753         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
3754         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
3755         that we are compiling in checking mode, and if not C++, and
3756         if not already wrapping fwrite for some other reason.
3757         (fwrite): #define to rpl_fwrite if the latter is defined.
3758
3759 2011-03-20  Bruno Haible  <bruno@clisp.org>
3760
3761         verror: Fix compilation error introduced on 2011-02-13.
3762         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
3763         instead of __attribute__.
3764         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3765
3766 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3767             Bruno Haible  <bruno@clisp.org>
3768
3769         socklen: do not depend on sys_socket
3770         While trying to modify Emacs to use gnulib's socklen module,
3771         I discovered a circular dependency: socklen depends on sys_socket
3772         and vice versa.  Emacs can use socklen, but it does not need
3773         sys_socket because it has its own substitute for sys/socket.h.
3774         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
3775         gl_TYPE_SOCKLEN_T.
3776         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
3777         gl_PREREQ_SYS_H_SOCKET.
3778         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
3779         gl_PREREQ_SYS_H_SOCKET.
3780         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
3781         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
3782         * modules/socklen (Depends-on): Do not depend on sys_socket.
3783         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
3784
3785 2011-03-20  Jim Meyering  <meyering@redhat.com>
3786
3787         maint.mk: sort file names *after* new transformation
3788         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
3789         prefix would have led to an unwarranted failure in GNU parted.
3790         Sort after that transformation.
3791
3792 2011-03-19  Jim Meyering  <meyering@redhat.com>
3793
3794         maint.mk: fix po-file syntax-check rule
3795         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
3796         Patch by Bruno Haible.
3797
3798 2011-03-19  Bruno Haible  <bruno@clisp.org>
3799
3800         socklen: Update comment.
3801         * m4/socklen.m4: Update comment about platforms.
3802
3803 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3804             Bruno Haible  <bruno@clisp.org>
3805
3806         inet_ntop, inet_pton: Simplify.
3807         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
3808         documented to provide socklen_t and we already depend on sys_socket.
3809         * modules/inet_pton (Depends-on): Likewise.
3810         * lib/arpa_inet.in.h: Adjust comment.
3811
3812 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3813             Bruno Haible  <bruno@clisp.org>
3814
3815         netdb: Simplify.
3816         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
3817         documented to provide socklen_t and we already depend on sys_socket.
3818         * lib/netdb.in.h: Adjust comment.
3819
3820 2011-03-19  Bruno Haible  <bruno@clisp.org>
3821
3822         sys_socket, netdb: Document problem with socklen_t.
3823         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
3824         platforms.
3825         * doc/posix-headers/netdb.texi: Likewise.
3826
3827 2011-03-18  Eric Blake  <eblake@redhat.com>
3828
3829         maint.mk: let po check work in VPATH build
3830         * top/maint.mk (po_file): Allow cfg.mk override.
3831         (sc_po_check): Allow VPATH use.
3832         Reported by Jiri Denemark.
3833
3834 2011-03-16  Jim Meyering  <meyering@redhat.com>
3835
3836         maint.mk: allow fine-grained syntax-check exclusion via Make variables
3837         Before, you would have had to create one .x-sc_ file per rule in order
3838         to exempt offending files.  Now, you may instead use a Make variable --
3839         usually defined in cfg.mk -- whose name identifies the affected rule.
3840         * top/maint.mk (_sc_excl): Define.
3841         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
3842         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
3843
3844 2011-03-13  Bruno Haible  <bruno@clisp.org>
3845
3846         ignore-value tests: Avoid warnings.
3847         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
3848         empty for gcc < 3.4.
3849
3850 2011-03-13  Bruno Haible  <bruno@clisp.org>
3851
3852         passfd: Fix link error on Solaris.
3853         * modules/passfd (Description): Correct.
3854         (Depends-on): Add socketlib.
3855         (Link): New section.
3856         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
3857
3858 2011-03-13  Bruno Haible  <bruno@clisp.org>
3859
3860         passfd: Fix link error on AIX 5.2.
3861         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
3862
3863 2011-03-13  Bruno Haible  <bruno@clisp.org>
3864
3865         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
3866         * lib/sys_socket.in.h: Include <stddef.h>.
3867         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
3868         CMSG_FIRSTHDR. Remove unused variable.
3869
3870 2011-03-13  Bruno Haible  <bruno@clisp.org>
3871
3872         passfd: Fix compilation error on OpenBSD.
3873         * lib/passfd.c: Include <sys/uio.h>.
3874
3875 2011-03-13  Bruno Haible  <bruno@clisp.org>
3876
3877         passfd test: Fix warnings.
3878         * tests/test-passfd.c: Include <sys/wait.h>.
3879         (main): Fix typo.
3880
3881 2011-03-13  Bruno Haible  <bruno@clisp.org>
3882
3883         passfd module, part 4, tweaks.
3884         * tests/test-passfd.c: Reorder includes.
3885         (main): Fix perror and printf calls.
3886
3887 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
3888
3889         passfd module, part 4.
3890         * modules/passfd-tests: New file.
3891         * tests/test-passfd.c: New file.
3892
3893 2011-03-13  Jim Meyering  <meyering@redhat.com>
3894
3895         Makefile: rely on GNU make; derive syntax-check rule names
3896         Rather than requiring that each sc_ rule be listed as a dependent
3897         of "check", use features of GNU make to derive the list.
3898         * Makefile (syntax-check-rules): Define.
3899         (check): Depend on the new variable, not the hard-coded list.
3900
3901 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
3902             Bruno Haible  <bruno@clisp.org>
3903
3904         passfd module, part 3.
3905         * lib/passfd.h (recvfd): Add a flags argument.
3906         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
3907         (recvfd): Add a flags argument.
3908         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
3909         exists.
3910         * modules/passfd (Depends-on): Add cloexec.
3911         Suggested by Eric Blake.
3912
3913 2011-03-13  Bruno Haible  <bruno@clisp.org>
3914
3915         passfd module, part 2, tweaks.
3916         * modules/passfd (Files): Reorder.
3917         (Depends-on): Remove errno.
3918         (Include): Remove <sys/socket.h>, <sys/un.h>.
3919         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
3920         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
3921         specification header. Include <sys/socket.h> always. Don't include
3922         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
3923         (sendfd): Clarify that it sets errno when it fails.
3924         (recvfd): Fix specification.
3925
3926 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
3927
3928         passfd module, part 2.
3929         * modules/passfd: New file.
3930         * lib/passfd.h: New file.
3931         * lib/passfd.c: New file.
3932
3933 2011-03-12  Bruno Haible  <bruno@clisp.org>
3934
3935         wcswidth, mbswidth: Avoid integer overflow.
3936         * lib/wcswidth.c: Include <limits.h>.
3937         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
3938         * lib/mbswidth.c: Include <limits.h>.
3939         (mbsnwidth): Avoid 'int' overflow.
3940         Reported by Jim Meyering.
3941
3942 2011-03-12  Bruno Haible  <bruno@clisp.org>
3943
3944         futimens, utimensat: Avoid endless recursion on Solaris 10.
3945         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
3946         Solaris.
3947         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
3948         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
3949
3950 2011-03-11  Jim Meyering  <meyering@redhat.com>
3951
3952         maint.mk: relax a regexp to accommodate other formatting styles
3953         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
3954         between "ngettext" and the following "(".
3955
3956 2011-03-11  Pádraig Brady <P@draigBrady.com>
3957
3958         maint.mk: suppress a false positive warning
3959         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
3960         diagnostics are marked with ngettext.
3961
3962 2011-03-10  Eric Blake  <eblake@redhat.com>
3963
3964         wchar: add explicit dependencies, for Tru64
3965         * modules/mbmemcasecoll (Depends-on): Add wchar.
3966         * modules/mbtowc (Depends-on): Likewise.
3967         * modules/vasnprintf (Depends-on): Likewise.
3968         * modules/unistdio/u-printf-args (Depends-on): Likewise.
3969         * modules/wctomb (Depends-on): Likewise.
3970         Reported by Peter O'Gorman.
3971
3972 2011-03-08  Bruno Haible  <bruno@clisp.org>
3973
3974         passfd module, part 1, tweaks.
3975         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
3976         Improve indentation. Improve AC_MSG_CHECKING messages.
3977         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
3978         gl_SOCKET_FAMILIES.
3979
3980 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
3981
3982         passfd module, part 1.
3983         * m4/afunix.m4: New file.
3984         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
3985         sockets.
3986
3987 2011-03-08  Bruno Haible  <bruno@clisp.org>
3988
3989         regex-quote: New API.
3990         * lib/regex-quote.h: Include <stdbool.h>.
3991         (struct regex_quote_spec): New type.
3992         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
3993         New declarations.
3994         (regex_quote_length, regex_quote_copy, regex_quote): Take a
3995         'const struct regex_quote_spec *' argument.
3996         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
3997         (pcre_special): New constant.
3998         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
3999         New functions.
4000         (regex_quote_length, regex_quote_copy, regex_quote): Take a
4001         'const struct regex_quote_spec *' argument.
4002         * modules/regex-quote (Depends-on): Add stdbool.
4003         * tests/test-regex-quote.c (check): Update for new API. Add test for
4004         anchored results.
4005         * NEWS: Mention the API change.
4006         Reported by Reuben Thomas and Eric Blake.
4007
4008 2011-03-06  Bruno Haible  <bruno@clisp.org>
4009
4010         regex-quote: Fix creation of POSIX extended regular expressions.
4011         * lib/regex-quote.c (ere_special): Add grouping and alternation
4012         operators.
4013
4014 2011-03-05  Bruno Haible  <bruno@clisp.org>
4015
4016         doc: Improve doc regarding autopoint vs. gnulib.
4017         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
4018         disable autopoint while running autoreconf.
4019         Suggested by Ralf Wildenhues.
4020
4021 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4022
4023         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
4024         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
4025
4026 2011-03-03  Bruce Korb  <bkorb@gnu.org>
4027
4028         parse-duration: remove xalloc.h dependency
4029         * lib/parse-duration.c (parse_period): handle NULL return from
4030         strdup instead of calling xstrdup().
4031         * modules/parse-duration: remove "xalloc" dependency
4032
4033 2011-03-03  Matthew Booth  <mbooth@redhat.com>
4034
4035         bootstrap: honor m4_base when running aclocal
4036         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
4037
4038 2011-03-02  Jim Meyering  <meyering@redhat.com>
4039
4040         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
4041         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
4042         on request from Matt Booth.
4043
4044 2011-03-01  Eric Blake  <eblake@redhat.com>
4045
4046         test-link: work on Hurd
4047         * tests/test-link.h (test_link): Hurd rejects linking directories
4048         with EISDIR instead of the POSIX-mandated EPERM.
4049
4050 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
4051
4052         stdio: simplify by moving files to printf-posix, sigpipe
4053         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
4054         since this symbol is needed only if printf is replaced.
4055         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
4056         Require gl_ASM_SYMBOL_PREFIX.
4057         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
4058         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
4059         (Depends-on): Add 'raise'.
4060         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
4061         * modules/stdio (Files): Remove lib/stdio-write.c,
4062         m4/asm-underscore.m4.
4063         (Depends-on): Remove 'raise'.
4064
4065         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
4066         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
4067         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
4068         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
4069
4070 2011-02-28  Bruno Haible  <bruno@clisp.org>
4071
4072         localcharset: Assume ANSI C behaviour of free().
4073         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
4074         calling free().
4075         Suggested by Simon Josefsson <simon@josefsson.org>.
4076
4077 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
4078             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
4079             Bruno Haible  <bruno@clisp.org>  (tiny change)
4080
4081         On Cygwin, use /proc file system instead of win32 API.
4082         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
4083         Win32 file names.
4084         (DllMain): Simplify by removing Cygwin specific code.
4085         (find_shared_library_fullname): Use Linux specific implementation also
4086         for Cygwin.
4087         (get_shared_library_fullname): Update accordingly.
4088         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
4089         Win32 file names.
4090         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
4091         Cygwin specific code.
4092
4093 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
4094             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
4095
4096         Fix OpenMP flag detection for various Fortran compilers.
4097         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
4098         OpenMP-conditional compilation construct, to force compile
4099         failure with missing OpenMP flag.
4100         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
4101
4102 2011-02-25  Eric Blake  <eblake@redhat.com>
4103
4104         strstr: expand test coverage
4105         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
4106         compilation.
4107         * tests/test-memmem.c (main): Duplicate tests.
4108         * tests/test-strcasestr.c (main): Likewise.
4109         * tests/test-c-strcasestr.c (main): Likewise.
4110
4111 2011-02-25  Jim Meyering  <meyering@redhat.com>
4112
4113         maint.mk: detect missing-NL-at-EOF, too
4114         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
4115         it also detects when a file lacks a newline at EOF.
4116         (require_exactly_one_NL_at_EOF_): Renamed from
4117         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
4118         since people may well have .x-sc_... file names tied to the
4119         existing name.  Suggested by Eric Blake.
4120
4121 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
4122
4123         dirname: move m4/dos.m4 functionality into lib/dosname.h
4124
4125         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
4126         extracts symbols from it, puts them into config.h; but it's much
4127         easier to use the symbols directly.  filename.h already does this,
4128         but it disagrees with dos.m4 in some respects.  This patch
4129         introduces a different include file dosname.h that packages up
4130         dos.m4, and then later we can work on merging filename.h and
4131         dosname.h.  Applications that need only the easy-to-configure
4132         symbols should consider including dosname.h rather than dirname.h.
4133         * NEWS: Mention incompatible changes.
4134         * m4/dos.m4: Remove.
4135         * lib/dosname.h, modules/dosname: New files.
4136         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
4137         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
4138         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
4139         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
4140         Include dosname.h, not dirname.h.
4141         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
4142         Include dosname.h, for definitions of symbols like ISSLASH
4143         that used to be in config.h.
4144         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
4145         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4146         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
4147         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4148         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
4149         * modules/rmdir (Files): Likewise.
4150         * modules/stat (Files): Likewise.
4151         * modules/unlink (Files): Likewise.
4152         * modules/dirname-lgpl (Depends-on): Add dosname.
4153         * modules/lstat (Depends-on): Likewise.
4154         * modules/openat (Depends-on): Likewise.
4155         * modules/rmdir (Depends-on): Likewise.
4156         * modules/savewd (Depends-on): Likewise.
4157         * modules/stat (Depends-on): Likewise.
4158         * modules/unlink (Depends-on): Likewise.
4159         * modules/openat (Depends-on): Remove dirname-lgpl.
4160         * modules/savewd (Depends-on): Likewise.
4161         * tests/test-dirname.c: Do not use removed symbols like
4162         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
4163         the remaining symbols, e.g., ISSLASH ('\\').
4164
4165 2011-02-25  Eric Blake  <eblake@redhat.com>
4166
4167         strstr: revert patches that introduced bug and pessimization
4168         * lib/str-two-way.h: Add another reference.
4169         (two_way_short_needle, two_way_long_needle): Revert changes from
4170         2011-02-24; they pessimize search speed.
4171         (critical_factorization): Partially revert changes from
4172         2010-06-22; they violate the requirement that the left half of the
4173         needle be smaller than the period of the needle.
4174
4175 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4176
4177         filenamecat: remove unnecessary dependency on dirname-lgpl
4178         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
4179         is no direct dependency, just an indirect one via filenamecat-lgpl.
4180
4181         remove: remove unnecessary use of m4/dos.m4
4182         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
4183         * modules/remove (FILES): Remove m4/dos.m4.
4184
4185         * lib/openat-proc.c: Don't include dirname.h; not needed.
4186
4187         backupfile: remove unnecessary use of m4/dos.m4
4188         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
4189         of its symbols are used by the backupfile code.  backupfile.c does
4190         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
4191         for the rare case of programs that want all their backup file
4192         names to live within 8+3 limits, and dos.m4 doesn't address that.
4193         * modules/backupfile (Files): Remove m4/dos.m4.
4194
4195 2011-02-24  Jim Meyering  <meyering@redhat.com>
4196
4197         strstr: fix a bug whereby strstr would mistakenly return NULL
4198         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
4199         in period calculation.
4200         (two_way_long_needle): Likewise.
4201         The original problem was reported by Mike Stump in
4202         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
4203         Ralf Wildenhues provided the short needle and haystack.
4204         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
4205         Add a more involved test to trigger the bug in two_way_long_needle.
4206
4207 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
4208
4209         gnulib-tool: remove use of bold display in help screen
4210         * gnulib-tool (func_usage): Do not use bold display anymore in the
4211         help screen.  That was just meant to be a temporary emphasis for a
4212         backward-incompatible change.
4213
4214 2011-02-23  Bruno Haible  <bruno@clisp.org>
4215
4216         Fix misindentation of preprocessor directives.
4217         * lib/argp-namefrob.h: Reindent preprocessor directives.
4218         * lib/getopt_int.h (struct _getopt_data): Likewise.
4219         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
4220         * lib/vasnprintf.c (decode_long_double): Likewise.
4221         * tests/test-argmatch.c: Insert blank lines, for clarity.
4222         * tests/test-exclude.c: Likewise.
4223
4224 2011-02-22  Bruno Haible  <bruno@clisp.org>
4225
4226         ioctl: Fix for MacOS X in 64-bit mode.
4227         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
4228         value.
4229         Suggested by Eric Blake.
4230         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
4231
4232 2011-02-22  Jim Meyering  <meyering@redhat.com>
4233
4234         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
4235         * Makefile (sc_cpp_indent_check): Don't limit the check to files
4236         in lib/.
4237
4238 2011-02-22  Eric Blake  <eblake@redhat.com>
4239
4240         maint: avoid any CDPATH issue
4241         * Makefile (sc_cpp_indent_check): Anchor cd argument.
4242
4243         maint: adjust cpp indentation for my modules, as well
4244         * Makefile (sc_cpp_indent_check): Add my name.
4245         * lib/fbufmode.c: Filter through cppi.
4246         * lib/fpurge.c: Likewise.
4247         * lib/freadable.c: Likewise.
4248         * lib/freading.c: Likewise.
4249         * lib/fwritable.c: Likewise.
4250         * lib/fwriting.c: Likewise.
4251         * lib/sigaction.c: Likewise.
4252
4253 2011-02-22  Jim Meyering  <meyering@redhat.com>
4254
4255         maint: adjust cpp indentation to reflect nesting depth
4256         I.e., in a block of code that begins with an unnested "#if",
4257         put one space between the "#" in column 1 and following token.
4258         For example,
4259         -#include <sys/vfs.h>
4260         +# include <sys/vfs.h>
4261         Do this only in .c files that are part of a module I maintain.
4262         * lib/linkat.c: Filter through cppi.
4263         * lib/nanosleep.c: Likewise.
4264         * lib/openat.c: Likewise.
4265         * lib/openat-die.c: Likewise.
4266         * lib/dup3.c: Likewise.
4267         * lib/fchownat.c: Likewise.
4268         * lib/flock.c: Likewise.
4269         * lib/fsync.c: Likewise.
4270         * lib/fts.c: Likewise.
4271         * lib/getpass.c: Likewise.
4272         * lib/gettimeofday.c: Likewise.
4273         * lib/userspec.c: Likewise.
4274         * Makefile (sc_cpp_indent_check): New rule, to check this.
4275
4276 2011-02-22  Bruno Haible  <bruno@clisp.org>
4277
4278         New module 'wctomb'.
4279         * lib/stdlib.in.h (wctomb): New declaration.
4280         * lib/wctomb.c: New file.
4281         * lib/wctomb-impl.h: New file.
4282         * m4/wctomb.m4: New file.
4283         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
4284         REPLACE_WCTOMB.
4285         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
4286         REPLACE_WCTOMB.
4287         * modules/wctomb: New file.
4288         * tests/test-stdlib-c++.cc: Test signature of wctomb.
4289         * doc/posix-functions/wctomb.texi: Mention the new module.
4290         * modules/wctob (Depends-on): Add wctomb.
4291
4292 2011-02-22  Bruno Haible  <bruno@clisp.org>
4293
4294         New module 'mbtowc'.
4295         * lib/stdlib.in.h (mbtowc): New declaration.
4296         * lib/mbtowc.c: New file.
4297         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
4298         * m4/mbtowc.m4: New file.
4299         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
4300         REPLACE_MBTOWC.
4301         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
4302         REPLACE_MBTOWC.
4303         * modules/mbtowc: New file.
4304         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
4305         * doc/posix-functions/mbtowc.texi: Mention the new module.
4306         * modules/btowc (Depends-on): Add mbtowc.
4307
4308 2011-02-22  Bruno Haible  <bruno@clisp.org>
4309
4310         wcrtomb: Add more tests for native Windows platforms.
4311         * tests/test-wcrtomb-w32-1.sh: New file.
4312         * tests/test-wcrtomb-w32-2.sh: New file.
4313         * tests/test-wcrtomb-w32-3.sh: New file.
4314         * tests/test-wcrtomb-w32-4.sh: New file.
4315         * tests/test-wcrtomb-w32-5.sh: New file.
4316         * tests/test-wcrtomb-w32.c: New file.
4317         * modules/wcrtomb-tests (Files): Add them.
4318         (Makefile.am): Arrange to run these tests.
4319         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
4320         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
4321
4322 2011-02-20  Bruno Haible  <bruno@clisp.org>
4323
4324         wcrtomb: Enhance test.
4325         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
4326
4327 2011-02-20  Bruno Haible  <bruno@clisp.org>
4328
4329         mbrtowc: Tiny optimization.
4330         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
4331
4332 2011-02-20  Jim Meyering  <meyering@redhat.com>
4333
4334         test-exclude.c: remove unmatched #endif
4335         * tests/test-exclude.c: Remove stray #endif, left over from
4336         the change of a week ago.
4337
4338 2011-02-19  Jim Meyering  <meyering@redhat.com>
4339
4340         git-version-gen: skip "-dirty" check when appropriate
4341         * build-aux/git-version-gen: Don't run any git commands when the
4342         version string comes from .tarball-version.  Prior to this, we
4343         would run git update-index --refresh even from a just-unpacked
4344         tarball directory, and that could affect a .git/ directory in a
4345         parent of the build directory.  Reported by Mike Frysinger.
4346
4347 2011-02-19  Bruno Haible  <bruno@clisp.org>
4348
4349         unictype/property-byname: Reduce the size of the 'data' segment.
4350         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
4351
4352 2011-02-19  Bruno Haible  <bruno@clisp.org>
4353
4354         unictype/scripts: Reduce the size of the 'data' segment.
4355         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
4356         '%pic'.
4357         * lib/unictype/scripts_byname.gperf: Regenerated.
4358
4359 2011-02-19  Bruno Haible  <bruno@clisp.org>
4360
4361         stdint: Update documentation.
4362         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
4363
4364 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
4365
4366         stdint: omit redundant check for wchar.h
4367         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
4368         always tests whether wchar.h exists, so remove the now-redundant test.
4369
4370 2011-02-18  Bruno Haible  <bruno@clisp.org>
4371
4372         stdint: Cut dependency to module 'wchar'.
4373         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
4374         include the necessary prerequisites.
4375         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
4376         * modules/stdint (Depends-on): Remove wchar.
4377         (Makefile.am): Substitute HAVE_WCHAR_H.
4378         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
4379
4380 2011-02-18  Eric Blake  <eblake@redhat.com>
4381
4382         longlong: skip, rather than fail, on cross-compilation
4383         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
4384         when cross-compiling; regression from 2011-02-16.
4385
4386 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4387
4388         * NEWS: Mention 2011-02-08 change to stdlib.
4389
4390 2011-02-17  Bruno Haible  <bruno@clisp.org>
4391
4392         getloadavg: Add comments about platforms.
4393         * m4/getloadavg.m4: Add comment.
4394         * lib/getloadavg.c: Likewise.
4395
4396 2011-02-17  Bruno Haible  <bruno@clisp.org>
4397
4398         getloadavg: Fix link error on Solaris 2.6.
4399         * modules/getloadavg (Link): New section.
4400         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
4401         linking test-getloadavg.
4402         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
4403         getloadavg.
4404
4405 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4406
4407         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
4408         It was 'int', but this doesn't match the IRIX 6.5 manual.
4409         Suggested by Bruno Haible in
4410         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
4411
4412 2011-02-17  Bruno Haible  <bruno@clisp.org>
4413
4414         havelib: Fix comments.
4415         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
4416         change.
4417
4418 2011-02-17  Bruno Haible  <bruno@clisp.org>
4419
4420         havelib: Update config.rpath.
4421         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
4422
4423 2011-02-17  Bruno Haible  <bruno@clisp.org>
4424
4425         getloadavg test: Add some plausibility checks.
4426         * tests/test-getloadavg.c (check_avg): Print a warning when the value
4427         is improbable.
4428
4429 2011-02-16  Eric Blake  <eblake@redhat.com>
4430
4431         maintainer-makefile: make syntax-check a no-op from tarballs
4432         * top/maint.mk (no-vc-detected): New rule.
4433         (local-checks-available): Use it to avoid hanging if someone tries
4434         'make syntax-check' from a tarball.  Also append to any non-syntax
4435         checks already defined in cfg.mk.
4436
4437 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
4438
4439         longlong: tune, particularly for common case of c99
4440
4441         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
4442         or running anything if c99, or if unsigned long long int does not
4443         work.  In either case, we know the answer without further tests.
4444         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
4445         it at most once, and use its results for both long long int and
4446         unsigned long long int.  This is more likely to be efficient in
4447         the common case where the program wants to check for both long
4448         long int and unsigned long long int.
4449         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
4450         since the answer is already known.
4451
4452 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
4453
4454         getloadavg: set errno
4455         * lib/getloadavg.c: Set errno when returning -1.  If no other
4456         error number looks appropriate, set it to ENOSYS if the getloadavg
4457         looks like it can't possibly ever work, ENOTSUP otherwise.
4458         Suggested by Bruno Haible in
4459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
4460
4461         getloadavg: trim unused parts and speed up 'configure'
4462         * NEWS: Document this.
4463         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
4464         always compiled if getloadavg is absent.
4465         Move test code to ...
4466         * tests/test-getloadavg.c: New file, containing previous
4467         contents of test from lib/getloadavg.c.  It also contains
4468         suggestions by Bruno Haible in
4469         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
4470         * modules/getloadavg-tests: New file.
4471         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
4472         Do tests in the same order as they're needed for getloadavg.c.
4473         Omit setgid-related tests that generate symbols KMEM_GROUP,
4474         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
4475         Do only the tests that are needed to see whether the system has
4476         getloadavg, moving the other tests into ...
4477         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
4478         NLIST_NAME_UNION; nobody should be using it.  Do not define
4479         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
4480         relevant, as the user of this module shouldn't care how getloadavg
4481         is implemented.
4482
4483         getloadavg: omit unused var
4484         * lib/getloadavg.c (getloadavg): Omit unused local variable.
4485
4486 2011-02-15  Jim Meyering  <meyering@redhat.com>
4487
4488         doc: update users.txt
4489         * users.txt: Update iwhd's URL.
4490
4491 2011-02-13  Bruno Haible  <bruno@clisp.org>
4492
4493         Consistent macro naming for macros that use GCC __attribute__.
4494         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
4495         _ATTRIBUTE_NONNULL_.
4496         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
4497         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
4498         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
4499         ATTRIBUTE_DEPRECATED.
4500         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
4501         ATTRIBUTE_NORETURN.
4502         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4503         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4504         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4505         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4506         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
4507         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
4508         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
4509         ATTRIBUTE_SENTINEL.
4510         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
4511         ATTRIBUTE_RETURN_CHECK.
4512         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
4513         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
4514         ATTRIBUTE_NORETURN.
4515         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
4516         Reported by Paul Eggert.
4517
4518 2011-02-13  Bruno Haible  <bruno@clisp.org>
4519
4520         Don't interfere with a program's definition of __attribute__.
4521         * lib/argp.h (__attribute__): Remove definition.
4522         (_GL_ATTRIBUTE_FORMAT): New macro.
4523         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
4524         * lib/argp-fmtstream.h (__attribute__): Remove definition.
4525         (_GL_ATTRIBUTE_FORMAT): New macro.
4526         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
4527         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
4528         GCC 3 or newer.
4529         * lib/error.h (__attribute__): Remove definition.
4530         (_GL_ATTRIBUTE_FORMAT): New macro.
4531         (error, error_at_line): Use it.
4532         * lib/hash.h (__attribute__): Remove definition.
4533         (ATTRIBUTE_WUR): Update definition. Define always.
4534         * lib/openat.h (__attribute__): Remove definition.
4535         (ATTRIBUTE_NORETURN): Update definition. Define always.
4536         * lib/sigpipe-die.h (__attribute__): Remove definition.
4537         (ATTRIBUTE_NORETURN): Update definition. Define always.
4538         * lib/vasnprintf.h (__attribute__): Remove definition.
4539         (_GL_ATTRIBUTE_FORMAT): New macro.
4540         (asnprintf, vasnprintf): Use it.
4541         * lib/xalloc.h (__attribute__): Remove definition.
4542         (ATTRIBUTE_NORETURN): Update definition. Define always.
4543         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
4544         * lib/xmemdup0.h (__attribute__): Remove definition.
4545         (ATTRIBUTE_NORETURN): Update definition. Define always.
4546         * lib/xprintf.h (__attribute__): Remove definition.
4547         (_GL_ATTRIBUTE_FORMAT): New macro.
4548         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
4549         * lib/xstrtol.h (__attribute__): Remove definition.
4550         (ATTRIBUTE_NORETURN): Update definition. Define always.
4551         * lib/xvasprintf.h (__attribute__): Remove definition.
4552         (_GL_ATTRIBUTE_FORMAT): New macro.
4553         (xasprintf, xvasprintf): Use it.
4554         * tests/test-argmatch.c (__attribute__): Remove definition.
4555         (ATTRIBUTE_NORETURN): Update definition. Define always.
4556         * tests/test-exclude.c (__attribute__): Remove definition.
4557         (ATTRIBUTE_NORETURN): Update definition. Define always.
4558         Reported by Paul Eggert.
4559
4560 2011-02-13  Bruno Haible  <bruno@clisp.org>
4561
4562         mbrtowc: Add more tests for native Windows platforms.
4563         * tests/test-mbrtowc-w32-1.sh: New file.
4564         * tests/test-mbrtowc-w32-2.sh: New file.
4565         * tests/test-mbrtowc-w32-3.sh: New file.
4566         * tests/test-mbrtowc-w32-4.sh: New file.
4567         * tests/test-mbrtowc-w32-5.sh: New file.
4568         * tests/test-mbrtowc-w32.c: New file.
4569         * modules/mbrtowc-tests (Files): Add them.
4570         (Makefile.am): Arrange to run these tests.
4571         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
4572         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
4573
4574 2011-02-13  Bruno Haible  <bruno@clisp.org>
4575
4576         mbrtowc: Work around native Windows bug.
4577         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
4578         guess when no suitable locale for testing was found.
4579         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
4580
4581 2011-02-13  Bruno Haible  <bruno@clisp.org>
4582
4583         mbsinit: Work around mingw bug.
4584         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
4585         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
4586         Windows.
4587         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
4588
4589 2011-02-13  Bruno Haible  <bruno@clisp.org>
4590
4591         mbsinit: Don't crash for a NULL argument.
4592         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
4593         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
4594
4595 2011-02-13  Bruno Haible  <bruno@clisp.org>
4596
4597         Don't interfere with a program's definition of __attribute__.
4598         * lib/stdio.in.h (__attribute__): Remove definition.
4599         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
4600         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
4601         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
4602         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
4603         * lib/string.in.h (__attribute__): Remove definition.
4604         Reported by Paul Eggert.
4605
4606 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4607
4608         stdlib: don't get in the way of non-GCC __attribute__
4609         See thread starting at
4610         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
4611         Revert previous stdlib change, installing the following instead:
4612         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
4613         to get in the way of a non-GCC compiler that supports __attribute__.
4614         (_GL_ATTRIBUTE_RETURN): New macro.
4615         (_Exit): Use it instead of __attribute__.
4616
4617 2011-02-12  Bruno Haible  <bruno@clisp.org>
4618
4619         quotearg test: Avoid test failure on mingw.
4620         * tests/test-quotearg.sh: Convert the locale identifier from native
4621         Windows syntax to Unix syntax.
4622
4623 2011-02-12  Bruno Haible  <bruno@clisp.org>
4624
4625         setlocale: Prefer gnulib's override over libintl's override.
4626         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
4627         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
4628         GNULIB_defined_setlocale is set.
4629
4630 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4631
4632         stdlib: support non-GCC __attribute__
4633
4634         Fix a serious and tricky problem encountered when attempting to
4635         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
4636         5.5, but it crashed due to memory corruption on Solaris 10 with
4637         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
4638         bits that are otherwise zero.  This tagging is optional inside
4639         Emacs but is preferred and is used when __attribute__ ((__aligned
4640         (8))) works, as it does with both recent-enough GCC and with Sun C
4641         5.11.  However, Sun C 5.11 is not GCC and does not #define
4642         __GNUC__ and __GNUC_MINOR__.
4643
4644         When I added the getloadavg module to Emacs, it brought in
4645         stdlib.in.h, which contained this fragment:
4646
4647            #ifndef __attribute__
4648            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
4649            #  define __attribute__(Spec)   /* empty */
4650            # endif
4651            #endif
4652
4653         When files that include <stdlib.h> were compiled with Sun C 5.11,
4654         the above code disabled __attribute__ ((__aligned (8))), which
4655         caused variables to not be properly aligned, which eventually led
4656         to the pointer corruption mentioned above.  (This was a bit hard
4657         to diagnose, unfortunately.)
4658
4659         Several "#define __attribute__(X) /* empty */" code snippets need
4660         to be eradicated from Gnulib to work with non-GCC compilers that
4661         support __attribute__.  The Autoconf way to do this is to test for
4662         each kind of attribute that we want support for, and selectively
4663         enable that in source code.
4664
4665         Fix this problem just for stdlib.h, by adding a test for the
4666         __noreturn__ attribute, and change stdlib.in.h to use that test
4667         when needed.  This technique can be easily generalized to the
4668         other *.in.h files and attributes, and a similar technique can be
4669         used for *.h and *.c files.  This patch is enough to solve the
4670         problem for Emacs + getloadavg, and I thought I'd publish it for
4671         feedback before undertaking further, similar fixes in other
4672         modules.
4673
4674         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
4675         because it's not needed for stdlib.h.  It merely substitutes the
4676         value directly into stdlib.h.  We may well need to #define it, or
4677         similar symbols, for other modules, but it's nice to also have an
4678         option to not #define it for applications like Emacs that do not
4679         need it.
4680
4681         * lib/stdlib.in.h (__attribute__): Do not #define.
4682         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
4683         be defined only if the _Exit module is also used.
4684         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
4685         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
4686         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
4687         platforms.
4688         * modules/_Exit (Files): Add m4/attribute.m4.
4689         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
4690         * m4/attribute.m4: New file.
4691
4692 2011-02-12  Bruno Haible  <bruno@clisp.org>
4693
4694         wcsrtombs: Work around bug on native Windows.
4695         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
4696         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
4697         instead of len.
4698         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
4699
4700 2011-02-12  Bruno Haible  <bruno@clisp.org>
4701
4702         mbsrtowcs: Work around bug on native Windows.
4703         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
4704         against mingw bug.
4705         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
4706
4707 2011-02-12  Bruno Haible  <bruno@clisp.org>
4708
4709         Avoid setlocale bugs in tests.
4710         * modules/btowc (Dependencies): Add setlocale.
4711         * modules/c-strcase (Dependencies): Likewise.
4712         * modules/mbmemcasecmp (Dependencies): Likewise.
4713         * modules/mbmemcasecoll (Dependencies): Likewise.
4714         * modules/mbrtowc (Dependencies): Likewise.
4715         * modules/mbscasecmp (Dependencies): Likewise.
4716         * modules/mbscasestr (Dependencies): Likewise.
4717         * modules/mbschr (Dependencies): Likewise.
4718         * modules/mbscspn (Dependencies): Likewise.
4719         * modules/mbsinit (Dependencies): Likewise.
4720         * modules/mbsncasecmp (Dependencies): Likewise.
4721         * modules/mbsnrtowcs (Dependencies): Likewise.
4722         * modules/mbspbrk (Dependencies): Likewise.
4723         * modules/mbspcasecmp (Dependencies): Likewise.
4724         * modules/mbsrchr (Dependencies): Likewise.
4725         * modules/mbsrtowcs (Dependencies): Likewise.
4726         * modules/mbsspn (Dependencies): Likewise.
4727         * modules/mbsstr (Dependencies): Likewise.
4728         * modules/nl_langinfo (Dependencies): Likewise.
4729         * modules/quotearg (Dependencies): Likewise.
4730         * modules/unicase/locale-language (Dependencies): Likewise.
4731         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
4732         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
4733         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
4734         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
4735         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
4736         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
4737         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
4738         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
4739         * modules/vasnprintf-posix (Dependencies): Likewise.
4740         * modules/wcrtomb (Dependencies): Likewise.
4741         * modules/wcsnrtombs (Dependencies): Likewise.
4742         * modules/wcsrtombs (Dependencies): Likewise.
4743
4744 2011-02-12  Bruno Haible  <bruno@clisp.org>
4745
4746         setlocale: Workaround native Windows bug.
4747         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
4748         succeeds but sets LC_CTYPE to "C", report a failure.
4749         * tests/test-setlocale2.sh: New file.
4750         * tests/test-setlocale2.c: New file.
4751         * modules/setlocale-tests (Files): Add the new files.
4752         (Makefile.am): Enable test-setlocale2.sh test.
4753         * doc/posix-functions/setlocale.texi: Mention workaround.
4754
4755 2011-02-11  Bruno Haible  <bruno@clisp.org>
4756
4757         Tests for module 'setlocale'.
4758         * modules/setlocale-tests: New file.
4759         * tests/test-setlocale1.sh: New file.
4760         * tests/test-setlocale1.c: New file.
4761
4762         New module 'setlocale'.
4763         * lib/locale.in.h (setlocale): New declaration.
4764         * lib/setlocale.c: New file, based on
4765         gettext/gettext-runtime/intl/setlocale.c.
4766         * m4/setlocale.m4: New file.
4767         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
4768         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
4769         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
4770         REPLACE_SETLOCALE.
4771         * modules/setlocale: New file.
4772         * tests/test-locale-c++.cc: Test the declaration of setlocale.
4773         * doc/posix-functions/setlocale.texi: Mention the new module.
4774
4775 2011-02-11  Bruno Haible  <bruno@clisp.org>
4776
4777         Prepare for locale dependent tests on mingw.
4778         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
4779         because it has the wrong locale encoding.
4780         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
4781         French_France.1252 instead of "fr".
4782         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
4783         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
4784         because it has the wrong locale encoding.
4785         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
4786         native Windows, try Turkish_Turkey.65001.
4787         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
4788         Chinese_China.54936.
4789
4790         Prepare for locale dependent tests on mingw.
4791         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
4792         differently.
4793         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
4794         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
4795         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
4796         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4797
4798 2011-02-11  Eric Blake  <eblake@redhat.com>
4799
4800         strptime: avoid compiler warnings
4801         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
4802         compiler warnings about dead code.
4803         Reported by Daniel P. Berrange.
4804
4805 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
4806
4807         doc: update users.txt
4808         * users.txt: Add rcs.
4809
4810 2011-02-10  John W. Eaton  <jwe@gnu.org>
4811
4812         doc: update users.txt
4813         * users.txt: Add octave.
4814
4815 2011-02-10  Jim Meyering  <meyering@redhat.com>
4816
4817         doc: update users.txt
4818         * users.txt: Add iwhd.
4819
4820 2011-02-09  Bruno Haible  <bruno@clisp.org>
4821
4822         gnulib-tool: Make copyright notice adjustment more robust.
4823         * gnulib-tool (func_import): In sed_transform_main_lib_file,
4824         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
4825         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
4826         License".
4827         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
4828
4829 2011-02-06  Bruno Haible  <bruno@clisp.org>
4830
4831         New module 'towctrans'.
4832         * modules/towctrans: New file.
4833         * lib/wctype.in.h (towctrans): New declaration.
4834         * lib/towctrans.c: New file.
4835         * lib/towctrans-impl.h: New file.
4836         * m4/towctrans.m4: New file.
4837         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
4838         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
4839         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
4840         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
4841         * doc/posix-functions/towctrans.texi: Mention the new module.
4842
4843 2011-02-06  Bruno Haible  <bruno@clisp.org>
4844
4845         New module 'wctrans'.
4846         * modules/wctrans: New file.
4847         * lib/wctype.in.h (wctrans): New declaration.
4848         * lib/wctrans.c: New file.
4849         * lib/wctrans-impl.h: New file.
4850         * m4/wctrans.m4: New file.
4851         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
4852         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
4853         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
4854         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
4855         * doc/posix-functions/wctrans.texi: Mention the new module.
4856
4857 2011-02-06  Bruno Haible  <bruno@clisp.org>
4858
4859         New module 'iswctype'.
4860         * modules/iswctype: New file.
4861         * lib/wctype.in.h (iswctype): New declaration.
4862         * lib/iswctype.c: New file.
4863         * lib/iswctype-impl.h: New file.
4864         * m4/iswctype.m4: New file.
4865         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
4866         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
4867         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
4868         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
4869         * doc/posix-functions/iswctype.texi: Mention the new module and the
4870         HP-UX 11.00 problem.
4871
4872 2011-02-06  Bruno Haible  <bruno@clisp.org>
4873
4874         New module 'wctype'.
4875         * modules/wctype: Change to represent the wctype() substitute.
4876         * lib/wctype.in.h (wctype): New declaration.
4877         * lib/wctype.c: New file.
4878         * lib/wctype-impl.h: New file.
4879         * m4/wctype.m4: New file.
4880         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
4881         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
4882         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
4883         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
4884         * doc/posix-functions/wctype.texi: Mention the new module and the
4885         HP-UX 11.00 problem.
4886
4887 2011-02-06  Bruno Haible  <bruno@clisp.org>
4888
4889         wctype-h: Ensure wctype_t and wctrans_t are defined.
4890         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
4891         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
4892         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
4893         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
4894         HAVE_WCTRANS_T.
4895         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
4896
4897 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
4898
4899         flock: fix license typo
4900
4901         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
4902         omitted.
4903
4904 2011-02-08  Bruno Haible  <bruno@clisp.org>
4905
4906         Split large sed scripts, for HP-UX sed.
4907         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
4908         to avoid HP-UX limit of 99 commands, in the near future.
4909         * modules/stdlib (Makefile.am): Likewise.
4910         * modules/unistd (Makefile.am): Likewise.
4911         * modules/wchar (Makefile.am): Likewise.
4912         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
4913         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
4914         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
4915
4916 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
4917             Bruno Haible  <bruno@clisp.org>
4918
4919         stdlib: improve random_r modularization
4920         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
4921         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
4922         you also need the random_r module to get this material right.
4923         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
4924         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
4925         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
4926
4927 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
4928
4929         stdlib: don't depend on stdint
4930         * lib/stdlib.in.h: Don't include <stdint.h> merely because
4931         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
4932         be independent of whether stdint.h is needed.
4933         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
4934         here, instead of ...
4935         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
4936         struct random_data should be using the random_r module, not just
4937         the stdlib module (which wouldn't make sense: what package needs
4938         just struct random_data without also needing random_r?).
4939         * modules/stdlib (Depends-on): Remove stdint.
4940
4941         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
4942         See the thread rooted at
4943         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
4944         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
4945         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
4946         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
4947         __VMS)); previously it was always included (via fcntl--.h).
4948         (getloadavg): Do not use c_strtod.  Instead, approximate it by
4949         hand; this is good enough for load averages.  Also, do not use
4950         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
4951         flags directly if available and don't bother otherwise.  (Packages
4952         that need the extra reliability should use the modules that define
4953         these flags on older platforms that lack them.)
4954         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
4955         fcntl-safer.
4956
4957 2011-02-08  Jim Meyering  <meyering@redhat.com>
4958
4959         di-set.h, ino-map.h: add multiple-inclusion guard
4960         Technically, the guard is required only for ino-map.h, due to its
4961         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
4962         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
4963         * lib/ino-map.h: Likewise.
4964
4965 2011-02-06  Bruno Haible  <bruno@clisp.org>
4966
4967         iswblank: Ensure declaration on glibc systems.
4968         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
4969         * modules/iswblank (Dependencies): Add 'extensions'.
4970         * doc/posix-functions/iswblank.texi: Document the glibc problem.
4971
4972 2011-02-06  Bruno Haible  <bruno@clisp.org>
4973
4974         New module 'iswblank'.
4975         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
4976         * modules/iswblank: New file.
4977         * modules/wctype-h (Files): Remove lib/iswblank.c.
4978         (Makefile.am): Substitute GNULIB_ISWBLANK.
4979         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
4980         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
4981         (gl_WCTYPE_H_DEFAULTS): New macro.
4982         (gl_WCTYPE_H): Require it. Remove iswblank related code.
4983         * modules/iswblank-tests: New file.
4984         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
4985         * tests/test-wctype-h.c (main): Remove iswblank tests.
4986         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
4987         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
4988         of 'wctype-h'.
4989         * NEWS: Mention the change.
4990         * modules/mbchar (Depends-on): Add iswblank.
4991
4992 2011-02-08  Bruno Haible  <bruno@clisp.org>
4993
4994         di-set tests: Refactor.
4995         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
4996         unnecessary includes.
4997         (ASSERT): Remove macro.
4998         (main): Make C90 compliant by avoiding variable declaration after
4999         statement.
5000         * modules/di-set-tests (Files): Add tests/macros.h.
5001
5002 2011-02-08  Bruno Haible  <bruno@clisp.org>
5003
5004         ino-map tests: Refactor.
5005         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
5006         unnecessary includes.
5007         (ASSERT): Remove macro.
5008         (main): Make C90 compliant by avoiding variable declaration after
5009         statement.
5010         * modules/ino-map-tests (Files): Add tests/macros.h.
5011
5012 2011-02-08  Jim Meyering  <meyering@redhat.com>
5013
5014         di-set: add "const" to a cast
5015         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
5016         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
5017
5018 2011-02-06  Bruno Haible  <bruno@clisp.org>
5019
5020         Rename module 'wctype' to 'wctype-h'.
5021         * modules/wctype-h: Renamed from modules/wctype.
5022         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
5023         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
5024         (Files, Depends-on, Makefile.am): Update.
5025         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
5026         (Files, Makefile.am): Update.
5027         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
5028         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
5029         * doc/posix-headers/wctype.texi: Update.
5030         * doc/posix-functions/iswalnum.texi: Update.
5031         * doc/posix-functions/iswalpha.texi: Update.
5032         * doc/posix-functions/iswblank.texi: Update.
5033         * doc/posix-functions/iswcntrl.texi: Update.
5034         * doc/posix-functions/iswdigit.texi: Update.
5035         * doc/posix-functions/iswgraph.texi: Update.
5036         * doc/posix-functions/iswlower.texi: Update.
5037         * doc/posix-functions/iswprint.texi: Update.
5038         * doc/posix-functions/iswpunct.texi: Update.
5039         * doc/posix-functions/iswspace.texi: Update.
5040         * doc/posix-functions/iswupper.texi: Update.
5041         * doc/posix-functions/iswxdigit.texi: Update.
5042         * doc/posix-functions/towlower.texi: Update.
5043         * doc/posix-functions/towupper.texi: Update.
5044         * NEWS: Mention the change.
5045         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
5046         * modules/mbchar (Dependencies): Likewise.
5047         * modules/mbswidth (Dependencies): Likewise.
5048         * modules/quotearg (Dependencies): Likewise.
5049         * modules/regex (Dependencies): Likewise.
5050         * modules/wcscasecmp (Dependencies): Likewise.
5051         * modules/wcsncasecmp (Dependencies): Likewise.
5052         * modules/wcwidth (Dependencies): Likewise.
5053
5054 2011-02-06  Bruno Haible  <bruno@clisp.org>
5055
5056         New module 'wcswidth'.
5057         * modules/wcswidth: New file.
5058         * lib/wchar.in.h (wcswidth): New declaration.
5059         * lib/wcswidth.c: New file.
5060         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
5061         * m4/wcswidth.m4: New file.
5062         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
5063         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
5064         REPLACE_WCSWIDTH.
5065         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
5066         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
5067         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
5068         * doc/posix-functions/wcswidth.texi: Mention the new module.
5069
5070 2011-02-06  Bruno Haible  <bruno@clisp.org>
5071
5072         New module 'wcstok'.
5073         * modules/wcstok: New file.
5074         * lib/wchar.in.h (wcstok): New declaration.
5075         * lib/wcstok.c: New file.
5076         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
5077         * m4/wcstok.m4: New file.
5078         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
5079         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
5080         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
5081         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
5082         * doc/posix-functions/wcstok.texi: Mention the new module.
5083
5084 2011-02-06  Bruno Haible  <bruno@clisp.org>
5085
5086         New module 'wcsstr'.
5087         * modules/wcsstr: New file.
5088         * lib/wchar.in.h (wcsstr): New declaration.
5089         * lib/wcsstr.c: New file.
5090         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
5091         * m4/wcsstr.m4: New file.
5092         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
5093         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
5094         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
5095         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
5096         * doc/posix-functions/wcsstr.texi: Mention the new module.
5097
5098 2011-02-06  Bruno Haible  <bruno@clisp.org>
5099
5100         New module 'wcspbrk'.
5101         * modules/wcspbrk: New file.
5102         * lib/wchar.in.h (wcspbrk): New declaration.
5103         * lib/wcspbrk.c: New file.
5104         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
5105         * m4/wcspbrk.m4: New file.
5106         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
5107         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
5108         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
5109         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
5110         * doc/posix-functions/wcspbrk.texi: Mention the new module.
5111
5112 2011-02-06  Bruno Haible  <bruno@clisp.org>
5113
5114         New module 'wcsspn'.
5115         * modules/wcsspn: New file.
5116         * lib/wchar.in.h (wcsspn): New declaration.
5117         * lib/wcsspn.c: New file.
5118         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
5119         * m4/wcsspn.m4: New file.
5120         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
5121         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
5122         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
5123         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
5124         * doc/posix-functions/wcsspn.texi: Mention the new module.
5125
5126 2011-02-06  Bruno Haible  <bruno@clisp.org>
5127
5128         New module 'wcscspn'.
5129         * modules/wcscspn: New file.
5130         * lib/wchar.in.h (wcscspn): New declaration.
5131         * lib/wcscspn.c: New file.
5132         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
5133         * m4/wcscspn.m4: New file.
5134         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
5135         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
5136         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
5137         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
5138         * doc/posix-functions/wcscspn.texi: Mention the new module.
5139
5140 2011-02-06  Bruno Haible  <bruno@clisp.org>
5141
5142         New module 'wcsrchr'.
5143         * modules/wcsrchr: New file.
5144         * lib/wchar.in.h (wcsrchr): New declaration.
5145         * lib/wcsrchr.c: New file.
5146         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
5147         * m4/wcsrchr.m4: New file.
5148         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
5149         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
5150         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
5151         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
5152         * doc/posix-functions/wcsrchr.texi: Mention the new module.
5153
5154 2011-02-06  Bruno Haible  <bruno@clisp.org>
5155
5156         New module 'wcschr'.
5157         * modules/wcschr: New file.
5158         * lib/wchar.in.h (wcschr): New declaration.
5159         * lib/wcschr.c: New file.
5160         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
5161         * m4/wcschr.m4: New file.
5162         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
5163         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
5164         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
5165         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
5166         * doc/posix-functions/wcschr.texi: Mention the new module.
5167
5168 2011-02-06  Bruno Haible  <bruno@clisp.org>
5169
5170         New module 'wcsdup'.
5171         * modules/wcsdup: New file.
5172         * lib/wchar.in.h (wcsdup): New declaration.
5173         * lib/wcsdup.c: New file.
5174         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
5175         * m4/wcsdup.m4: New file.
5176         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
5177         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
5178         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
5179         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
5180         * doc/posix-functions/wcsdup.texi: Mention the new module.
5181
5182 2011-02-06  Bruno Haible  <bruno@clisp.org>
5183
5184         New module 'wcsxfrm'.
5185         * modules/wcsxfrm: New file.
5186         * lib/wchar.in.h (wcsxfrm): New declaration.
5187         * lib/wcsxfrm.c: New file.
5188         * lib/wcsxfrm-impl.h: New file.
5189         * m4/wcsxfrm.m4: New file.
5190         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
5191         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
5192         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
5193         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
5194         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
5195
5196 2011-02-06  Bruno Haible  <bruno@clisp.org>
5197
5198         New module 'wcscoll'.
5199         * modules/wcscoll: New file.
5200         * lib/wchar.in.h (wcscoll): New declaration.
5201         * lib/wcscoll.c: New file.
5202         * lib/wcscoll-impl.h: New file.
5203         * m4/wcscoll.m4: New file.
5204         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
5205         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
5206         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
5207         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
5208         * doc/posix-functions/wcscoll.texi: Mention the new module.
5209
5210 2011-02-06  Bruno Haible  <bruno@clisp.org>
5211
5212         New module 'wcsncasecmp'.
5213         * modules/wcsncasecmp: New file.
5214         * lib/wchar.in.h (wcsncasecmp): New declaration.
5215         * lib/wcsncasecmp.c: New file.
5216         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
5217         * m4/wcsncasecmp.m4: New file.
5218         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
5219         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
5220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
5221         HAVE_WCSNCASECMP.
5222         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
5223         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
5224
5225 2011-02-06  Bruno Haible  <bruno@clisp.org>
5226
5227         New module 'wcscasecmp'.
5228         * modules/wcscasecmp: New file.
5229         * lib/wchar.in.h (wcscasecmp): New declaration.
5230         * lib/wcscasecmp.c: New file.
5231         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
5232         * m4/wcscasecmp.m4: New file.
5233         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
5234         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
5235         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
5236         HAVE_WCSCASECMP.
5237         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
5238         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
5239
5240 2011-02-05  Bruno Haible  <bruno@clisp.org>
5241
5242         New module 'wcsncmp'.
5243         * modules/wcsncmp: New file.
5244         * lib/wchar.in.h (wcsncmp): New declaration.
5245         * lib/wcsncmp.c: New file.
5246         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
5247         * m4/wcsncmp.m4: New file.
5248         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
5249         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
5250         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
5251         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
5252         * doc/posix-functions/wcsncmp.texi: Mention the new module.
5253
5254 2011-02-05  Bruno Haible  <bruno@clisp.org>
5255
5256         New module 'wcscmp'.
5257         * modules/wcscmp: New file.
5258         * lib/wchar.in.h (wcscmp): New declaration.
5259         * lib/wcscmp.c: New file.
5260         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
5261         * m4/wcscmp.m4: New file.
5262         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
5263         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
5264         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
5265         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
5266         * doc/posix-functions/wcscmp.texi: Mention the new module.
5267
5268 2011-02-05  Bruno Haible  <bruno@clisp.org>
5269
5270         New module 'wcsncat'.
5271         * modules/wcsncat: New file.
5272         * lib/wchar.in.h (wcsncat): New declaration.
5273         * lib/wcsncat.c: New file.
5274         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
5275         * m4/wcsncat.m4: New file.
5276         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
5277         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
5278         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
5279         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
5280         * doc/posix-functions/wcsncat.texi: Mention the new module.
5281
5282 2011-02-05  Bruno Haible  <bruno@clisp.org>
5283
5284         New module 'wcscat'.
5285         * modules/wcscat: New file.
5286         * lib/wchar.in.h (wcscat): New declaration.
5287         * lib/wcscat.c: New file.
5288         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
5289         * m4/wcscat.m4: New file.
5290         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
5291         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
5292         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
5293         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
5294         * doc/posix-functions/wcscat.texi: Mention the new module.
5295
5296 2011-02-05  Bruno Haible  <bruno@clisp.org>
5297
5298         New module 'wcpncpy'.
5299         * modules/wcpncpy: New file.
5300         * lib/wchar.in.h (wcpncpy): New declaration.
5301         * lib/wcpncpy.c: New file.
5302         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
5303         * m4/wcpncpy.m4: New file.
5304         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
5305         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
5306         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
5307         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
5308         * doc/posix-functions/wcpncpy.texi: Mention the new module.
5309
5310 2011-02-05  Bruno Haible  <bruno@clisp.org>
5311
5312         New module 'wcsncpy'.
5313         * modules/wcsncpy: New file.
5314         * lib/wchar.in.h (wcsncpy): New declaration.
5315         * lib/wcsncpy.c: New file.
5316         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
5317         * m4/wcsncpy.m4: New file.
5318         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
5319         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
5320         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
5321         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
5322         * doc/posix-functions/wcsncpy.texi: Mention the new module.
5323
5324 2011-02-05  Bruno Haible  <bruno@clisp.org>
5325
5326         New module 'wcpcpy'.
5327         * modules/wcpcpy: New file.
5328         * lib/wchar.in.h (wcpcpy): New declaration.
5329         * lib/wcpcpy.c: New file.
5330         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
5331         * m4/wcpcpy.m4: New file.
5332         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
5333         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
5334         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
5335         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
5336         * doc/posix-functions/wcpcpy.texi: Mention the new module.
5337
5338 2011-02-05  Bruno Haible  <bruno@clisp.org>
5339
5340         New module 'wcscpy'.
5341         * modules/wcscpy: New file.
5342         * lib/wchar.in.h (wcscpy): New declaration.
5343         * lib/wcscpy.c: New file.
5344         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
5345         * m4/wcscpy.m4: New file.
5346         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
5347         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
5348         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
5349         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
5350         * doc/posix-functions/wcscpy.texi: Mention the new module.
5351
5352 2011-02-05  Bruno Haible  <bruno@clisp.org>
5353
5354         New module 'wcsnlen'.
5355         * modules/wcsnlen: New file.
5356         * lib/wchar.in.h (wcsnlen): New declaration.
5357         * lib/wcsnlen.c: New file.
5358         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
5359         * m4/wcsnlen.m4: New file.
5360         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
5361         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
5362         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
5363         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
5364         * doc/posix-functions/wcsnlen.texi: Mention the new module.
5365
5366 2011-02-05  Bruno Haible  <bruno@clisp.org>
5367
5368         New module 'wcslen'.
5369         * modules/wcslen: New file.
5370         * lib/wchar.in.h (wcslen): New declaration.
5371         * lib/wcslen.c: New file.
5372         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
5373         * m4/wcslen.m4: New file.
5374         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
5375         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
5376         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
5377         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
5378         * doc/posix-functions/wcslen.texi: Mention the new module.
5379
5380 2011-02-05  Bruno Haible  <bruno@clisp.org>
5381
5382         New module 'wmemset'.
5383         * modules/wmemset: New file.
5384         * lib/wchar.in.h (wmemset): New declaration.
5385         * lib/wmemset.c: New file.
5386         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
5387         * m4/wmemset.m4: New file.
5388         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
5389         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
5390         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
5391         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
5392         * doc/posix-functions/wmemset.texi: Mention the new module.
5393
5394 2011-02-05  Bruno Haible  <bruno@clisp.org>
5395
5396         New module 'wmemmove'.
5397         * modules/wmemmove: New file.
5398         * lib/wchar.in.h (wmemmove): New declaration.
5399         * lib/wmemmove.c: New file.
5400         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
5401         * m4/wmemmove.m4: New file.
5402         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
5403         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
5404         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
5405         HAVE_WMEMMOVE.
5406         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
5407         * doc/posix-functions/wmemmove.texi: Mention the new module.
5408
5409 2011-02-05  Bruno Haible  <bruno@clisp.org>
5410
5411         New module 'wmemcpy'.
5412         * modules/wmemcpy: New file.
5413         * lib/wchar.in.h (wmemcpy): New declaration.
5414         * lib/wmemcpy.c: New file.
5415         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
5416         * m4/wmemcpy.m4: New file.
5417         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
5418         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
5419         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
5420         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
5421         * doc/posix-functions/wmemcpy.texi: Mention the new module.
5422
5423 2011-02-05  Bruno Haible  <bruno@clisp.org>
5424
5425         New module 'wmemcmp'.
5426         * modules/wmemcmp: New file.
5427         * lib/wchar.in.h (wmemcmp): New declaration.
5428         * lib/wmemcmp.c: New file.
5429         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
5430         * m4/wmemcmp.m4: New file.
5431         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
5432         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
5433         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
5434         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
5435         * doc/posix-functions/wmemcmp.texi: Mention the new module.
5436
5437 2011-02-07  Jim Meyering  <meyering@redhat.com>
5438
5439         di-set, ino-map: new modules, from coreutils
5440         * lib/di-set.c: New file.
5441         * lib/di-set.h: Likewise.
5442         * lib/ino-map.c: Likewise.
5443         * lib/ino-map.h: Likewise.
5444         * modules/di-set: Likewise.
5445         * modules/di-set-tests: Likewise.
5446         * modules/ino-map: Likewise.
5447         * modules/ino-map-tests: Likewise.
5448         * tests/test-di-set.c: Likewise.
5449         * tests/test-ino-map.c: Likewise.
5450
5451 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
5452
5453         getloadavg: merge minor changes from Emacs
5454
5455         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
5456         (getloadavg): Use memset, not bzero.
5457
5458         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
5459         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
5460         clash (bug#86).
5461
5462 2010-11-14  Bruno Haible  <bruno@clisp.org>
5463
5464         Allow multiple gnulib generated replacements to coexist.
5465         * lib/getopt.in.h (struct option): Avoid identical redefinition.
5466         * lib/inttypes.in.h (imaxdiv_t): Likewise.
5467         * lib/langinfo.in.h (nl_item): Likewise.
5468         * lib/math.in.h (_NaN, NAN): Likewise.
5469         * lib/netdb.in.h (struct addrinfo): Likewise.
5470         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
5471         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
5472         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
5473         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
5474         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
5475         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
5476         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
5477         pthread_mutexattr_init, pthread_mutexattr_settype,
5478         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
5479         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
5480         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
5481         pthread_spin_trylock, pthread_spin_unlock): Likewise.
5482         * lib/sched.in.h (struct sched_param): Likewise.
5483         * lib/se-selinux.in.h (security_class_t, security_context_t,
5484         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
5485         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
5486         lsetfilecon, fsetfilecon, security_check_context,
5487         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
5488         Likewise.
5489         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
5490         Likewise.
5491         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
5492         _gl_function_taking_int_returning_void_t, union sigval,
5493         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
5494         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
5495         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
5496         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
5497         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
5498         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
5499         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
5500         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
5501         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
5502         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
5503         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
5504         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
5505         socklen_t, rpl_fd_isset): Likewise.
5506         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
5507         * lib/sys_time.in.h (struct timeval): Likewise.
5508         * lib/sys_times.in.h (struct tms): Likewise.
5509         * lib/sys_utsname.in.h (struct utsname):
5510         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
5511         * lib/unistd.in.h (getpagesize): Likewise.
5512         * lib/wchar.in.h (mbstate_t): Likewise.
5513         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
5514         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
5515         towlower, towupper): Likewise.
5516         Reported by Sam Steingold <sds@gnu.org>.
5517
5518 2011-02-05  Eric Blake  <eblake@redhat.com>
5519
5520         unsetenv: work around Haiku issues
5521         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
5522         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
5523
5524 2010-12-30  Bruce Korb  <bkorb@gnu.org>
5525
5526         libposix: avoid calling error() within libposix
5527         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
5528         is defined.
5529
5530 2011-02-05  Eric Blake  <eblake@redhat.com>
5531
5532         strerror_r-posix: port to cygwin
5533         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
5534         implementation.
5535         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
5536         * tests/test-strerror_r.c (main): Fix test.
5537         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
5538         issue.
5539
5540 2011-02-05  Bruno Haible  <bruno@clisp.org>
5541
5542         New module 'wmemchr'.
5543         * modules/wmemchr: New file.
5544         * lib/wchar.in.h (wmemchr): New declaration.
5545         * lib/wmemchr.c: New file.
5546         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
5547         * m4/wmemchr.m4: New file.
5548         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
5549         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
5550         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
5551         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
5552         * doc/posix-functions/wmemchr.texi: Mention the new module.
5553
5554 2011-02-04  Eric Blake  <eblake@redhat.com>
5555
5556         fdopendir: detect FreeBSD bug
5557         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
5558         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
5559
5560 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
5561
5562         stdbool: do not define HAVE_STDBOOL_H
5563         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
5564         AC_HEADER_STDBOOL.  All uses changed.  Do not define
5565         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
5566         imported from the latest Autoconf git.  It was motivated by Emacs,
5567         which uses gnulib but does not need HAVE_STDBOOL_H.
5568
5569 2011-02-04  Bruno Haible  <bruno@clisp.org>
5570
5571         wcsnrtombs: Prepare for new module wwcsnrtombs.
5572         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
5573         * lib/wcsnrtombs.c: Include it.
5574         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
5575
5576         wcsrtombs: Prepare for new module wwcsrtombs.
5577         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
5578         * lib/wcsrtombs.c: Include it.
5579         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
5580
5581         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
5582         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
5583         * lib/mbsnrtowcs.c: Include it.
5584         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
5585
5586         mbsrtowcs: Prepare for new module mbsrtowwcs.
5587         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
5588         * lib/mbsrtowcs.c: Include it.
5589         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
5590
5591 2011-02-04  Bruno Haible  <bruno@clisp.org>
5592
5593         vasnprintf: Reduce use of malloc for small format strings.
5594         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
5595         (arguments): Add room for the first 7 arguments.
5596         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
5597         (char_directives, u8_directives, u16_directives, u32_directives): Add
5598         room for the first 7 directives.
5599         * lib/printf-parse.c: Include <string.h>.
5600         (PRINTF_PARSE): Change memory handling code so that it uses the first
5601         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
5602         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
5603         Reported by Pádraig Brady <P@draigbrady.com>.
5604
5605 2011-01-31  Eric Blake  <eblake@redhat.com>
5606
5607         dup2: work around Haiku bug
5608         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
5609         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
5610         * doc/posix-functions/dup2.texi (dup2): Document the bug.
5611         * tests/test-dup2.c (main): Enhance test.
5612
5613 2011-01-31  Simon Josefsson  <simon@josefsson.org>
5614
5615         doc: off_t is not available in eglibc 2.11.2 stdio.h.
5616         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
5617         declared by eglibc 2.11.2.
5618         * lib/stdio.in.h: Likewise.
5619
5620 2011-01-31  Eric Blake  <eblake@redhat.com>
5621
5622         ignore-value: add missing test dependency
5623         * tests/test-ignore-value.c: Revert previous change; stdio.h
5624         provides off_t.
5625         * modules/ignore-value-tests (Depends-on): Add missing dependency.
5626
5627 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
5628
5629         mktime: clarify long_int width checking
5630         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
5631         the top level, to make it clearer that the assumption about
5632         long_int width is being checked.  See
5633         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
5634
5635 2011-01-30  Simon Josefsson  <simon@josefsson.org>
5636
5637         ignore-value: Fix self-test.
5638         * tests/test-ignore-value.c: Include sys/types.h for off_t.
5639
5640 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
5641
5642         TYPE_MAXIMUM: avoid theoretically undefined behavior
5643         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
5644         negative number, which the C Standard says has undefined behavior.
5645         In practice this is not a problem, but might as well do it by the book.
5646         Reported by Rich Felker and Eric Blake; see
5647         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
5648         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
5649         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5650         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5651         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
5652         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5653         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
5654
5655         mktime: #undef mktime before #defining it
5656         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
5657
5658         mktime: systematically normalize tm_isdst comparisons
5659         * lib/mktime.c (isdst_differ): New function.
5660         (__mktime_internal): Use it systematically for all isdst comparisons.
5661         This completes the fix for libc BZ #6723, and removes the need for
5662         normalizing tm_isdst.  See
5663         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
5664         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
5665
5666         mktime: fix some integer overflow issues and sidestep the rest
5667
5668         This was prompted by a bug report by Benjamin Lindner for MinGW
5669         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
5670         His bug is due to signed integer overflow (0 - INT_MIN), and I
5671         I scanned through mktime.c looking for other integer overflow
5672         problems, fixing all the bugs I found.
5673
5674         Although the C Standard says the resulting code is still not safe
5675         in the presence of integer overflow, in practice it should be good
5676         enough for all real-world two's-complement implementations, except
5677         for debugging environments that deliberately trap on integer
5678         overflow (e.g., gcc -ftrapv).
5679
5680         * lib/mktime.c (WRAPV): New macro.
5681         (SHR): Also check that long_int and time_t shift right in the
5682         usual way, before using the fast-but-unportable method.
5683         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
5684         used.  The code already assumed two's complement, so there's
5685         no need to test for alternatives.  All uses removed.
5686         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
5687         the C standard.  Problem reported by Rich Felker in
5688         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
5689         (twos_complement_arithmetic): Also check long_int and time_t.
5690         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
5691         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
5692         (__mktime_internal): Avoid integer overflow with unary subtraction
5693         in two instances where -1 - X is an adequate replacement for -X,
5694         since the calculations are approximate.
5695
5696 2011-01-29  Eric Blake  <eblake@redhat.com>
5697
5698         mktime: avoid infinite loop
5699         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
5700         type; behavior is still undefined but portable to all known targets.
5701         Reported by Rich Felker.
5702
5703 2011-01-29  Simon Josefsson  <simon@josefsson.org>
5704
5705         rename, unlink, same-inode: Relicense.
5706         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
5707         * modules/unlink (License): Likewise.
5708         * modules/same-inode (License): Likewise.
5709
5710 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5711
5712         mktime: avoid problems on NetBSD 5 / i386
5713         * lib/mktime.c (long_int): New type.  This works around a problem
5714         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
5715         but time_t is 64 bits, and where I expect the existing code is
5716         wrong in some cases.
5717         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
5718         (ydhms_diff): Bring back the compile-time check for wide-enough
5719         year and yday.
5720
5721         mktime: fix misspelling in comment
5722         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
5723         This merges all recent glibc changes of importance.
5724
5725 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5726
5727         move-if-change: cope with concurrent mv of identical file.
5728         * build-aux/move-if-change (CMPPROG): Accept environment
5729         variable as an override for `cmp'.
5730         (usage): Document CMPPROG.
5731         Adjust comparison to drop stdout.  Cope with failure of mv if
5732         the target file exists and is identical to the source, for
5733         parallel builds.
5734         Report from H.J. Lu against binutils in PR binutils/12283.
5735
5736 2011-01-28  Bruce Korb  <bkorb@gnu.org>
5737
5738         * users.txt: Mention sharutils.
5739
5740 2011-01-28  Simon Josefsson  <simon@josefsson.org>
5741
5742         * users.txt: Mention OATH Toolkit.
5743
5744 2011-01-27  Bruno Haible  <bruno@clisp.org>
5745
5746         Prepare for supporting FreeBSD 10.
5747         * build-aux/config.libpath: Remove handling of freebsd1*.
5748
5749 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
5750
5751         Prepare for supporting FreeBSD 10.
5752         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
5753         match FreeBSD 10.0.
5754
5755 2011-01-27  Bruno Haible  <bruno@clisp.org>
5756
5757         vma-iter, get-rusage-as: Add OpenBSD support.
5758         * modules/vma-iter (configure.ac): Test for mquery.
5759         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
5760         * lib/vma-iter.c: Include <sys/mman.h>.
5761         (vma_iterate): Add an implementation based on mquery().
5762         * lib/resource-ext.h (get_rusage_as): Update comments.
5763         * lib/get-rusage-as.c: Likewise.
5764         * lib/get-rusage-data.c: Likewise.
5765
5766 2011-01-26  Karl Berry  <karl@gnu.org>
5767
5768         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
5769         variables to make it easier to override the makeinfo program used.
5770
5771 2011-01-26  Eric Blake  <eblake@redhat.com>
5772
5773         fcntl: work around Haiku F_DUPFD bugs
5774         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
5775         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
5776         cloexec bit on duplication.
5777         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
5778
5779 2011-01-26  Bruno Haible  <bruno@clisp.org>
5780
5781         Enable memory leak tests on AIX.
5782         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
5783         * tests/test-fprintf-posix3.c (main): Likewise.
5784
5785 2011-01-26  Bruno Haible  <bruno@clisp.org>
5786
5787         Tests for module 'get-rusage-data'.
5788         * modules/get-rusage-data-tests: New file.
5789         * tests/test-get-rusage-data.c: New file.
5790
5791         New module 'get-rusage-data'.
5792         * lib/resource-ext.h (get_rusage_data): New declaration.
5793         * lib/get-rusage-data.c: New file.
5794         * modules/get-rusage-data: New file.
5795
5796 2011-01-25  Bruno Haible  <bruno@clisp.org>
5797
5798         get-rusage-as: Allow for easier testing.
5799         * lib/resource-ext.h (get_rusage_as): Add comment.
5800         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
5801         (main): New function for interactive testing.
5802
5803 2011-01-25  Bruno Haible  <bruno@clisp.org>
5804
5805         vma-iter: Treat Haiku like BeOS.
5806         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
5807         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
5808
5809 2011-01-25  Eric Blake  <eblake@redhat.com>
5810
5811         c-stack: fix regression on cygwin when libsigsegv is present
5812         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
5813
5814 2011-01-24  Bruno Haible  <bruno@clisp.org>
5815
5816         vma-iter: Avoid empty intervals.
5817         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
5818         on an empty interval.
5819
5820 2011-01-24  Jim Meyering  <meyering@redhat.com>
5821
5822         u64: remove unnecessary #include
5823         * lib/u64.h: Don't include <stddef.h>.  It was not used.
5824
5825 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5826
5827         Allow the user to avoid the HAVE_RAW_DECL_* macros.
5828         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
5829
5830 2011-01-23  Bruno Haible  <bruno@clisp.org>
5831
5832         New module 'vma-iter'.
5833         * lib/vma-iter.h: New file.
5834         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
5835         * modules/vma-iter: New file.
5836         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
5837         for get_rusage_as_via_iterator.
5838         (vma_iterate_callback): New function.
5839         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
5840         * modules/get-rusage-as (Depends-on): Add vma-iter.
5841
5842 2011-01-23  Bruno Haible  <bruno@clisp.org>
5843
5844         uninorm: Tweak includes.
5845         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
5846         Reported by Jim Meyering.
5847
5848 2011-01-23  Bruno Haible  <bruno@clisp.org>
5849
5850         get-rusage-as: Improve on NetBSD.
5851         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
5852         /proc, like on FreeBSD.
5853
5854 2011-01-23  Jim Meyering  <meyering@redhat.com>
5855
5856         xreadlink.h: remove unnecessary #include
5857         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
5858
5859         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
5860         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
5861
5862 2011-01-23  Bruno Haible  <bruno@clisp.org>
5863
5864         get-rusage-as: Fix bug.
5865         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
5866         original limit when aborting the first loop.
5867
5868 2011-01-23  Bruno Haible  <bruno@clisp.org>
5869
5870         wctype: Ensure valid C syntax.
5871         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
5872         unconditionally, instead of gl_NEXT_HEADERS conditionally.
5873
5874 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
5875
5876         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
5877         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
5878         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
5879         as they are needed only for configure's test case.
5880         This removes two unnecessary symbols from config.h.
5881
5882         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
5883         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
5884         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
5885         AC_CHECK_HEADERS_ONCE on a header that we also invoke
5886         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
5887         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
5888         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
5889         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
5890         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5891         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5892         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
5893         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5894         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5895         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
5896         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
5897         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
5898         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
5899         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
5900
5901 2011-01-21  Eric Blake  <eblake@redhat.com>
5902
5903         maintainer-makefile: work with older git for submodule check
5904         * top/maint.mk (public-submodule-commit): Rewrite to avoid
5905         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
5906         Reported by Matthias Bolte.
5907
5908         bootstrap: minor portability fixes
5909         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
5910         (usage): Omit leading capital and trailing . on help phrases, per
5911         GNU Coding Standards.
5912         (check_versions, top level): Prefix messages with script name.
5913
5914 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
5915
5916         bootstrap: support --no-git option
5917         * build-aux/bootstrap: Add --no-git option, to be used when
5918         --gnulib-srcdir points to the exact desired checkout.
5919
5920 2011-01-21  Eric Blake  <eblake@redhat.com>
5921
5922         strerror_r-posix: work with glibc 2.13
5923         * lib/strerror_r.c (strerror_r): Fix return type.
5924
5925 2011-01-21  Pádraig Brady  <P@draigBrady.com>
5926             Bruno Haible  <bruno@clisp.org>
5927
5928         uN_strstr: New unit tests.
5929         * modules/unistr/u8-strstr-tests: New file.
5930         * modules/unistr/u16-strstr-tests: New file.
5931         * modules/unistr/u32-strstr-tests: New file.
5932         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
5933         * tests/unistr/test-u8-strstr.c: New file.
5934         * tests/unistr/test-u16-strstr.c: New file.
5935         * tests/unistr/test-u32-strstr.c: New file.
5936
5937 2011-01-21  Pádraig Brady  <P@draigBrady.com>
5938             Bruno Haible  <bruno@clisp.org>
5939
5940         Make uN_strstr functions O(n) worst-case.
5941         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
5942         16-bit and 32-bit unit cases, use the unibyte algorithm from
5943         lib/mbsstr.c.
5944         * lib/unistr/u8-strstr.c: Include <string.h>.
5945         (UNIT_IS_UINT8_T): New macro.
5946         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
5947         (U_STRLEN, U_STRNLEN): New macros.
5948         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
5949         (U_STRLEN, U_STRNLEN): New macros.
5950         * modules/unistr/u8-strstr (Depends-on): Add strstr.
5951         (configure.ac): Update required libunistring version.
5952         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
5953         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
5954         malloca.
5955         (configure.ac): Update required libunistring version.
5956         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
5957         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
5958         malloca.
5959         (configure.ac): Update required libunistring version.
5960
5961 2011-01-21  Pádraig Brady  <P@draigBrady.com>
5962             Bruno Haible  <bruno@clisp.org>
5963
5964         Prepare for faster uN_strstr functions.
5965         * lib/str-kmp.h: Support definable UNITs.
5966         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
5967         needle_len argument.
5968         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
5969         * lib/mbscasestr.c (mbscasestr): Likewise.
5970
5971 2011-01-21  Pádraig Brady <P@draigBrady.com>
5972
5973         malloca-tests: make faster by unsetting MALLOC_PERTURB_
5974         * tests/test-malloca.c (main): Unset the environment variable
5975         to greatly speed up the test.
5976         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
5977         * modules/malloca-tests: Depend on unsetenv.
5978
5979 2011-01-21  Pádraig Brady <P@draigBrady.com>
5980
5981         ignore-value: remove stdint dependency
5982         * lib/ignore-value.h: Remove <stdint.h>
5983         * modules/ignore-value: Remove stdint dependency.
5984
5985 2011-01-21  Jim Meyering  <meyering@redhat.com>
5986
5987         maint.mk: adjust variable name to be consistent with other gl_ vars
5988         * top/maint.mk (gl_public_submodule_commit): Rename the variable
5989         to be lower case.
5990
5991 2011-01-20  Jim Meyering  <meyering@redhat.com>
5992
5993         maint.mk: make "check" depend on public-submodule-commit by default
5994         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
5995
5996 2011-01-20  Bruno Haible  <bruno@clisp.org>
5997
5998         mbfile, mbiter: Complete change from 2008-12-21.
5999         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
6000         * m4/mbiter.m4 (gl_MBITER): Likewise.
6001
6002 2011-01-20  Jim Meyering  <meyering@redhat.com>
6003
6004         init.sh: insert space between each function name and "()"
6005         * tests/init.sh: Make it a little easier to see that a function's
6006         name is "warn_", and not "warn" when looking at the first part of
6007         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
6008
6009 2011-01-20  Jim Meyering  <meyering@redhat.com>
6010
6011         mountlist: clean up code formatting
6012         * lib/mountlist.c (read_file_system_list): Split a long line,
6013         correct bracing style, use NULL in place of "(struct statfs *)0",
6014         don't parenthesize return value, add spaces around "=" and after
6015         ";-in-for-stmt".
6016
6017 2011-01-14  Markus Duft <mduft@gentoo.org>
6018
6019         mountlist: add support for Interix
6020         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
6021         Apply statvfs to all entries of /dev/fs.
6022         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
6023         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
6024
6025 2011-01-20  Jim Meyering  <meyering@redhat.com>
6026
6027         maint.mk: improve the public-submodule-commit rule
6028         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
6029         to suppress printing of its commands... unless V=1.
6030         Add git submodule's --quiet option to suppress printing of e.g.,
6031         "Entering gnulib" output.
6032         "cd" into $(srcdir) before running git submodule.
6033
6034 2011-01-20  Bruno Haible  <bruno@clisp.org>
6035
6036         include_next: Fix bug introduced on 2011-01-18.
6037         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
6038         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
6039         ac_cv_header_... variable if the second argument is not 'check'.
6040         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
6041         gl_NEXT_HEADERS_INTERNAL.
6042
6043 2011-01-20  Bruno Haible  <bruno@clisp.org>
6044
6045         Allow the user to avoid the GNULIB_TEST_* macros.
6046         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
6047         Suggested by Paul Eggert.
6048
6049 2011-01-14  Jim Meyering  <meyering@redhat.com>
6050
6051         bootstrap: avoid failure when there is no .gitmodules file
6052         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
6053         has been assigned to, even when its value is the empty string.
6054         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
6055         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
6056         Reported by John W. Eaton <jwe@gnu.org>.
6057
6058 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
6059
6060         assume <ctype.h>, ..., <time.h> exist
6061         For years gnulib has been assuming the existence of the headers
6062         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
6063         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
6064         them, since they don't appear to be needed.
6065         * README (Portability guidelines): Document this.
6066         * lib/flock.c: Assume <fcntl.h> exists.
6067         * lib/regex_internal.h: Assume <locale.h> exists.
6068         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
6069         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
6070         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
6071         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
6072         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
6073         * m4/regex.m4 (gl_REGEX): Likewise.
6074         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
6075         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
6076         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
6077         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
6078         * tests/test-argp.c: Likewise.
6079         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
6080
6081         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
6082         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
6083         AA_APPLE_UNIVERSAL_BUILD.  See
6084         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
6085         * NEWS: Document this.
6086
6087 2011-01-19  Eric Blake  <eblake@redhat.com>
6088
6089         c-stack: assume stack overflow if SA_SIGINFO unsupported
6090         * lib/c-stack.c (SIGACTION_WORKS): Rename...
6091         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
6092         sigaction will work.
6093         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
6094         behavior match Linux.
6095         * tests/test-c-stack.c (main): Prefer NULL for pointers.
6096
6097         stdbool-tests: accomodate Haiku
6098         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
6099
6100         binary-io: fix O_TEXT on Haiku
6101         * modules/binary-io (Depends-on): Add fcntl-h.
6102         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
6103         than blindly undefining O_TEXT.
6104         Reported by Scott McCreary.
6105
6106 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6107
6108         include_next: do not check for standard headers like stddef.h
6109
6110         I found this problem when modifying Emacs to use gnulib.
6111         I noticed that it added HAVE_STDDEF_H to config.h, even though
6112         gnulib always assumes <stddef.h> exists as per README and this
6113         symbol is unnecessary.
6114         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
6115         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
6116         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
6117         faster for headers like stddef.h that are known to exist.
6118         (gl_CHECK_NEXT_HEADERS): Use it.
6119         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
6120         rather than gl_CHECK_NEXT_HEADERS.
6121         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
6122         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
6123
6124 2011-01-18  Eric Blake  <eblake@redhat.com>
6125
6126         ansi-c++-opt: skip C++ dependency style if C++ is unused
6127         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
6128         tests when we know C++ compilation is not desired.
6129         Reported by Scott McCreary.
6130
6131 2011-01-18  Bruno Haible  <bruno@clisp.org>
6132
6133         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
6134         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
6135         (main): Perform test also when getrlimit and setrlimit don't exist or
6136         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
6137         limiting the address space size using setrlimit, compare the address
6138         space size before and after the the test.
6139         * tests/test-dprintf-posix2.c: Likewise.
6140         * tests/test-fprintf-posix3.sh: Update skip messages.
6141         * tests/test-dprintf-posix2.sh: Likewise.
6142         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
6143         * modules/dprintf-posix-tests (Depends-on): Likewise.
6144         Reported by Bruce Korb <bkorb@gnu.org> and
6145         Gary V. Vaughan <gary@gnu.org>.
6146
6147 2011-01-18  Bruno Haible  <bruno@clisp.org>
6148
6149         get-rusage-as: Improvement for Cygwin.
6150         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
6151         areas that are merely reserved.
6152
6153 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6154
6155         strftime: remove dependencies on multibyte modules
6156
6157         strftime depended on mbrlen, mbsinit, and wchar, but these modules
6158         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
6159         only if __osf__ is defined, and I suspect OSF doesn't need these
6160         other modules.  If my guess is wrong, we'll need to come up with a
6161         variant of strftime that doesn't need the multibyte modules.
6162
6163         I discovered this problem when attempting modify Emacs to use the
6164         strftime module.  With the previous gnulib, this caused Emacs to
6165         need 31 new files, ranging from lib/config.charset to
6166         m4/wint_t.m4.  This was overkill and I expect would be offputting
6167         to the Emacs maintainers.  After this change, only 6 new files are
6168         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
6169         stdbool.m4, and tm_gmtoff.m4.
6170
6171         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
6172         Suggested by Bruno Haible in
6173         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
6174         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
6175         and do not check for wchar.h.
6176         * modules/strftime (Files): Remove m4/mbstate_t.m4.
6177         (Depends-on): Remove mbrlen, mbsinit, wchar.
6178
6179 2011-01-18  Bruno Haible  <bruno@clisp.org>
6180
6181         Tests for module 'get-rusage-as'.
6182         * modules/get-rusage-as-tests: New file.
6183         * tests/test-get-rusage-as.c: New file.
6184
6185         New module 'get-rusage-as'.
6186         * modules/get-rusage-as: New file.
6187         * lib/resource-ext.h: New file.
6188         * lib/get-rusage-as.c: New file.
6189
6190 2011-01-17  Eric Blake  <eblake@redhat.com>
6191
6192         sigaction: relax license from LGPLv3+ to LGPLv2+
6193         * modules/sigaction (License): Relax to LGPLv2+.
6194
6195 2011-01-14  Bruno Haible  <bruno@clisp.org>
6196
6197         filemode: Make function declarations usable in C++ mode.
6198         * lib/filemode.h: Enclose function declarations in extern "C" block.
6199         Reported by John W. Eaton <jwe@gnu.org>.
6200
6201 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
6202
6203         save-cwd: no longer include "xgetcwd.h"
6204         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
6205         This avoids a compilation failure in projects that use save-cwd
6206         without also using the xgetcwd module.
6207
6208 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6209
6210         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
6211         This is so that a program like Emacs, which needs only dtoastr,
6212         does not have to bother with distributing and compiling ftoastr
6213         and ldtoastr.
6214         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
6215         * modules/dtoastr, modules/ldtoastr: New files.
6216         * modules/ftoastr: Now works just for 'float'.
6217         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
6218         (Makefile.am): Remove ftoastr.h (not needed and no effect),
6219         dtoastr.c, ldtoastr.c.
6220
6221 2011-01-11  Jim Meyering  <meyering@redhat.com>
6222
6223         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
6224         There is no need to work around the lack of the fchdir function,
6225         since gnulib can now provide a replacement when required.
6226         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
6227         * modules/save-cwd (Depends-on): Add fchdir.
6228
6229 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6230
6231         openat, save-cwd: avoid xmalloc
6232
6233         This removes a direct (but undocumented) dependency of openat on
6234         xalloc, along with an indirect dependency via save-cwd.  It also
6235         removes a dependency of save-cwd on xgetcwd, and thereby
6236         indirectly on xalloc.  This change causes the openat substitute
6237         to fall back on save_cwd when memory is tight, and for save_cwd to
6238         fail instead of dying when memory is tight, but that's good enough.
6239         Problem and initial idea for fix reported by Bastien Roucaries in
6240         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
6241
6242         * lib/openat-proc.c: Include stdlib.h (for malloc), not
6243         xalloc.h (for xmalloc).
6244         (openat_proc_name): Use malloc, not xmalloc.
6245         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
6246         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
6247
6248         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
6249         This avoids heap allocation for file names whose lengths are in
6250         the range 512..1023, with the upper bound increasing to at most
6251         4031 depending on the platform's PATH_MAX.  (We do not want
6252         pathmax.h here as it might supply a non-constant PATH_MAX.)
6253         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
6254         Perhaps they should be moved to malloca.h?
6255         (OPENAT_BUFFER_SIZE): Use them.
6256
6257 2011-01-10  Bruno Haible  <bruno@clisp.org>
6258
6259         doc: Update users.txt.
6260         * users.txt: Add recutils.
6261
6262 2011-01-09  Karl Berry  <karl@gnu.org>
6263
6264         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
6265
6266         * doc/configmake.texi: New file.
6267         * doc/gnulib.texi: Include it.
6268         * modules/configmake: Move documentation from here.
6269
6270 2011-01-09  Bruno Haible  <bruno@clisp.org>
6271
6272         Update to Unicode 6.0.0.
6273         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
6274         (get_lbp): Update for Unicode 6.0.0.
6275         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
6276         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
6277         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
6278         U+11001, U+11038..U+11046. Remove U+06DE.
6279         (uc_width): Fix bounds of planes.
6280         * tests/uniwidth/test-uc_width2.sh: Same updates as in
6281         lib/uniwidth/width.c.
6282         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
6283         trailing whitespace removed.
6284         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
6285         without comments, but with the original copyright notice.
6286         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
6287         * lib/unicase/ignorable.h: Likewise.
6288         * lib/unicase/tocasefold.h: Likewise.
6289         * lib/unicase/tolower.h: Likewise.
6290         * lib/unicase/totitle.h: Likewise.
6291         * lib/unicase/toupper.h: Likewise.
6292         * lib/unictype/bidi_of.h: Likewise.
6293         * lib/unictype/blocks.h: Likewise.
6294         * lib/unictype/categ_C.h: Likewise.
6295         * lib/unictype/categ_Cn.h: Likewise.
6296         * lib/unictype/categ_L.h: Likewise.
6297         * lib/unictype/categ_Ll.h: Likewise.
6298         * lib/unictype/categ_Lm.h: Likewise.
6299         * lib/unictype/categ_Lo.h: Likewise.
6300         * lib/unictype/categ_Lu.h: Likewise.
6301         * lib/unictype/categ_M.h: Likewise.
6302         * lib/unictype/categ_Mc.h: Likewise.
6303         * lib/unictype/categ_Me.h: Likewise.
6304         * lib/unictype/categ_Mn.h: Likewise.
6305         * lib/unictype/categ_N.h: Likewise.
6306         * lib/unictype/categ_Nd.h: Likewise.
6307         * lib/unictype/categ_No.h: Likewise.
6308         * lib/unictype/categ_P.h: Likewise.
6309         * lib/unictype/categ_Po.h: Likewise.
6310         * lib/unictype/categ_S.h: Likewise.
6311         * lib/unictype/categ_Sc.h: Likewise.
6312         * lib/unictype/categ_Sk.h: Likewise.
6313         * lib/unictype/categ_Sm.h: Likewise.
6314         * lib/unictype/categ_So.h: Likewise.
6315         * lib/unictype/categ_of.h: Likewise.
6316         * lib/unictype/combining.h: Likewise.
6317         * lib/unictype/ctype_alnum.h: Likewise.
6318         * lib/unictype/ctype_alpha.h: Likewise.
6319         * lib/unictype/ctype_graph.h: Likewise.
6320         * lib/unictype/ctype_lower.h: Likewise.
6321         * lib/unictype/ctype_print.h: Likewise.
6322         * lib/unictype/ctype_punct.h: Likewise.
6323         * lib/unictype/ctype_upper.h: Likewise.
6324         * lib/unictype/decdigit.h: Likewise.
6325         * lib/unictype/digit.h: Likewise.
6326         * lib/unictype/numeric.h: Likewise.
6327         * lib/unictype/pr_alphabetic.h: Likewise.
6328         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6329         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
6330         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
6331         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6332         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6333         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6334         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6335         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6336         * lib/unictype/pr_case_ignorable.h: Likewise.
6337         * lib/unictype/pr_cased.h: Likewise.
6338         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
6339         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
6340         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
6341         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
6342         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
6343         * lib/unictype/pr_combining.h: Likewise.
6344         * lib/unictype/pr_composite.h: Likewise.
6345         * lib/unictype/pr_currency_symbol.h: Likewise.
6346         * lib/unictype/pr_decimal_digit.h: Likewise.
6347         * lib/unictype/pr_deprecated.h: Likewise.
6348         * lib/unictype/pr_format_control.h: Likewise.
6349         * lib/unictype/pr_grapheme_base.h: Likewise.
6350         * lib/unictype/pr_grapheme_extend.h: Likewise.
6351         * lib/unictype/pr_grapheme_link.h: Likewise.
6352         * lib/unictype/pr_id_continue.h: Likewise.
6353         * lib/unictype/pr_id_start.h: Likewise.
6354         * lib/unictype/pr_ideographic.h: Likewise.
6355         * lib/unictype/pr_lowercase.h: Likewise.
6356         * lib/unictype/pr_math.h: Likewise.
6357         * lib/unictype/pr_numeric.h: Likewise.
6358         * lib/unictype/pr_other_alphabetic.h: Likewise.
6359         * lib/unictype/pr_other_id_continue.h: Likewise.
6360         * lib/unictype/pr_other_math.h: Likewise.
6361         * lib/unictype/pr_punctuation.h: Likewise.
6362         * lib/unictype/pr_sentence_terminal.h: Likewise.
6363         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6364         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6365         * lib/unictype/pr_unified_ideograph.h: Likewise.
6366         * lib/unictype/pr_uppercase.h: Likewise.
6367         * lib/unictype/pr_xid_continue.h: Likewise.
6368         * lib/unictype/pr_xid_start.h: Likewise.
6369         * lib/unictype/scripts.h: Likewise.
6370         * lib/unictype/scripts_byname.gperf: Likewise.
6371         * lib/unictype/sy_java_ident.h: Likewise.
6372         * lib/unigbrk/gbrkprop.h: Likewise.
6373         * lib/unilbrk/lbrkprop1.h: Likewise.
6374         * lib/unilbrk/lbrkprop2.h: Likewise.
6375         * lib/uninorm/decomposition-table2.h: Likewise.
6376         * lib/uniwbrk/wbrkprop.h: Likewise.
6377         * tests/unicase/test-cased.c: Likewise.
6378         * tests/unicase/test-ignorable.c: Likewise.
6379         * tests/unicase/test-uc_tolower.c: Likewise.
6380         * tests/unicase/test-uc_totitle.c: Likewise.
6381         * tests/unicase/test-uc_toupper.c: Likewise.
6382         * tests/unictype/test-categ_C.c: Likewise.
6383         * tests/unictype/test-categ_Cn.c: Likewise.
6384         * tests/unictype/test-categ_L.c: Likewise.
6385         * tests/unictype/test-categ_Ll.c: Likewise.
6386         * tests/unictype/test-categ_Lm.c: Likewise.
6387         * tests/unictype/test-categ_Lo.c: Likewise.
6388         * tests/unictype/test-categ_Lu.c: Likewise.
6389         * tests/unictype/test-categ_M.c: Likewise.
6390         * tests/unictype/test-categ_Mc.c: Likewise.
6391         * tests/unictype/test-categ_Me.c: Likewise.
6392         * tests/unictype/test-categ_Mn.c: Likewise.
6393         * tests/unictype/test-categ_N.c: Likewise.
6394         * tests/unictype/test-categ_Nd.c: Likewise.
6395         * tests/unictype/test-categ_No.c: Likewise.
6396         * tests/unictype/test-categ_P.c: Likewise.
6397         * tests/unictype/test-categ_Po.c: Likewise.
6398         * tests/unictype/test-categ_S.c: Likewise.
6399         * tests/unictype/test-categ_Sc.c: Likewise.
6400         * tests/unictype/test-categ_Sk.c: Likewise.
6401         * tests/unictype/test-categ_Sm.c: Likewise.
6402         * tests/unictype/test-categ_So.c: Likewise.
6403         * tests/unictype/test-ctype_alnum.c: Likewise.
6404         * tests/unictype/test-ctype_alpha.c: Likewise.
6405         * tests/unictype/test-ctype_graph.c: Likewise.
6406         * tests/unictype/test-ctype_lower.c: Likewise.
6407         * tests/unictype/test-ctype_print.c: Likewise.
6408         * tests/unictype/test-ctype_punct.c: Likewise.
6409         * tests/unictype/test-ctype_upper.c: Likewise.
6410         * tests/unictype/test-decdigit.h: Likewise.
6411         * tests/unictype/test-digit.h: Likewise.
6412         * tests/unictype/test-numeric.h: Likewise.
6413         * tests/unictype/test-pr_alphabetic.c: Likewise.
6414         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6415         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
6416         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
6417         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6418         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6419         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6420         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6421         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6422         * tests/unictype/test-pr_case_ignorable.c: Likewise.
6423         * tests/unictype/test-pr_cased.c: Likewise.
6424         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
6425         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
6426         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
6427         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
6428         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
6429         * tests/unictype/test-pr_combining.c: Likewise.
6430         * tests/unictype/test-pr_composite.c: Likewise.
6431         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6432         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6433         * tests/unictype/test-pr_deprecated.c: Likewise.
6434         * tests/unictype/test-pr_format_control.c: Likewise.
6435         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6436         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6437         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6438         * tests/unictype/test-pr_id_continue.c: Likewise.
6439         * tests/unictype/test-pr_id_start.c: Likewise.
6440         * tests/unictype/test-pr_ideographic.c: Likewise.
6441         * tests/unictype/test-pr_lowercase.c: Likewise.
6442         * tests/unictype/test-pr_math.c: Likewise.
6443         * tests/unictype/test-pr_numeric.c: Likewise.
6444         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6445         * tests/unictype/test-pr_other_id_continue.c: Likewise.
6446         * tests/unictype/test-pr_other_math.c: Likewise.
6447         * tests/unictype/test-pr_punctuation.c: Likewise.
6448         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6449         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6450         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6451         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6452         * tests/unictype/test-pr_uppercase.c: Likewise.
6453         * tests/unictype/test-pr_xid_continue.c: Likewise.
6454         * tests/unictype/test-pr_xid_start.c: Likewise.
6455         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6456         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
6457         changes.
6458         * lib/unictype/categ_Cc.h: Likewise.
6459         * lib/unictype/categ_Cf.h: Likewise.
6460         * lib/unictype/categ_Co.h: Likewise.
6461         * lib/unictype/categ_Cs.h: Likewise.
6462         * lib/unictype/categ_Lt.h: Likewise.
6463         * lib/unictype/categ_Nl.h: Likewise.
6464         * lib/unictype/categ_Pc.h: Likewise.
6465         * lib/unictype/categ_Pd.h: Likewise.
6466         * lib/unictype/categ_Pe.h: Likewise.
6467         * lib/unictype/categ_Pf.h: Likewise.
6468         * lib/unictype/categ_Pi.h: Likewise.
6469         * lib/unictype/categ_Ps.h: Likewise.
6470         * lib/unictype/categ_Z.h: Likewise.
6471         * lib/unictype/categ_Zl.h: Likewise.
6472         * lib/unictype/categ_Zp.h: Likewise.
6473         * lib/unictype/categ_Zs.h: Likewise.
6474         * lib/unictype/ctype_blank.h: Likewise.
6475         * lib/unictype/ctype_cntrl.h: Likewise.
6476         * lib/unictype/ctype_digit.h: Likewise.
6477         * lib/unictype/ctype_space.h: Likewise.
6478         * lib/unictype/ctype_xdigit.h: Likewise.
6479         * lib/unictype/mirror.h: Likewise.
6480         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
6481         * lib/unictype/pr_bidi_block_separator.h: Likewise.
6482         * lib/unictype/pr_bidi_common_separator.h: Likewise.
6483         * lib/unictype/pr_bidi_control.h: Likewise.
6484         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
6485         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
6486         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6487         * lib/unictype/pr_bidi_pdf.h: Likewise.
6488         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
6489         * lib/unictype/pr_bidi_whitespace.h: Likewise.
6490         * lib/unictype/pr_dash.h: Likewise.
6491         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
6492         * lib/unictype/pr_diacritic.h: Likewise.
6493         * lib/unictype/pr_extender.h: Likewise.
6494         * lib/unictype/pr_hex_digit.h: Likewise.
6495         * lib/unictype/pr_hyphen.h: Likewise.
6496         * lib/unictype/pr_ids_binary_operator.h: Likewise.
6497         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
6498         * lib/unictype/pr_ignorable_control.h: Likewise.
6499         * lib/unictype/pr_iso_control.h: Likewise.
6500         * lib/unictype/pr_join_control.h: Likewise.
6501         * lib/unictype/pr_left_of_pair.h: Likewise.
6502         * lib/unictype/pr_line_separator.h: Likewise.
6503         * lib/unictype/pr_logical_order_exception.h: Likewise.
6504         * lib/unictype/pr_non_break.h: Likewise.
6505         * lib/unictype/pr_not_a_character.h: Likewise.
6506         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
6507         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
6508         * lib/unictype/pr_other_id_start.h: Likewise.
6509         * lib/unictype/pr_other_lowercase.h: Likewise.
6510         * lib/unictype/pr_other_uppercase.h: Likewise.
6511         * lib/unictype/pr_paired_punctuation.h: Likewise.
6512         * lib/unictype/pr_paragraph_separator.h: Likewise.
6513         * lib/unictype/pr_pattern_syntax.h: Likewise.
6514         * lib/unictype/pr_pattern_white_space.h: Likewise.
6515         * lib/unictype/pr_private_use.h: Likewise.
6516         * lib/unictype/pr_quotation_mark.h: Likewise.
6517         * lib/unictype/pr_radical.h: Likewise.
6518         * lib/unictype/pr_soft_dotted.h: Likewise.
6519         * lib/unictype/pr_space.h: Likewise.
6520         * lib/unictype/pr_titlecase.h: Likewise.
6521         * lib/unictype/pr_variation_selector.h: Likewise.
6522         * lib/unictype/pr_white_space.h: Likewise.
6523         * lib/unictype/pr_zero_width.h: Likewise.
6524         * lib/unictype/sy_c_ident.h: Likewise.
6525         * lib/unictype/sy_c_whitespace.h: Likewise.
6526         * lib/unictype/sy_java_whitespace.h: Likewise.
6527         * lib/uninorm/composition-table.gperf: Likewise.
6528         * lib/uninorm/decomposition-table1.h: Likewise.
6529         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
6530         LB8.
6531         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
6532         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
6533         * modules/unictype/*: Bump version number of expected libunistring
6534         version.
6535
6536 2011-01-09  Bruno Haible  <bruno@clisp.org>
6537
6538         Update to Unicode 5.2.0.
6539         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
6540         trailing whitespace removed.
6541
6542 2011-01-09  Bruno Haible  <bruno@clisp.org>
6543
6544         New Unicode character properties, from Unicode 5.2.0.
6545         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
6546         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
6547         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
6548         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
6549         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
6550         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
6551         uc_is_property_cased, uc_is_property_case_ignorable,
6552         uc_is_property_changes_when_lowercased,
6553         uc_is_property_changes_when_uppercased,
6554         uc_is_property_changes_when_titlecased,
6555         uc_is_property_changes_when_casefolded,
6556         uc_is_property_changes_when_casemapped): New declarations.
6557         * lib/unictype/pr_byname.gperf: Add the new properties.
6558         * modules/unictype/property-byname (Depends-on): Depend on the new
6559         properties modules.
6560         * modules/unictype/property-all (Depends-on): Likewise.
6561         * MODULES.html.sh (Unicode string functions): Add
6562         unictype/property-case-ignorable, unictype/property-cased,
6563         unictype/property-changes-when-casefolded,
6564         unictype/property-changes-when-casemapped,
6565         unictype/property-changes-when-lowercased,
6566         unictype/property-changes-when-titlecased,
6567         unictype/property-changes-when-uppercased.
6568
6569         New module 'unictype/property-changes-when-casemapped'.
6570         * modules/unictype/property-changes-when-casemapped: New file.
6571         * lib/unictype/pr_changes_when_casemapped.c: New file.
6572         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
6573         generated by gen-uni-tables.
6574         * modules/unictype/property-changes-when-casemapped-tests: New file.
6575         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
6576         automatically generated by gen-uni-tables.
6577
6578         New module 'unictype/property-changes-when-casefolded'.
6579         * modules/unictype/property-changes-when-casefolded: New file.
6580         * lib/unictype/pr_changes_when_casefolded.c: New file.
6581         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
6582         generated by gen-uni-tables.
6583         * modules/unictype/property-changes-when-casefolded-tests: New file.
6584         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
6585         automatically generated by gen-uni-tables.
6586
6587         New module 'unictype/property-changes-when-titlecased'.
6588         * modules/unictype/property-changes-when-titlecased: New file.
6589         * lib/unictype/pr_changes_when_titlecased.c: New file.
6590         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
6591         generated by gen-uni-tables.
6592         * modules/unictype/property-changes-when-titlecased-tests: New file.
6593         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
6594         automatically generated by gen-uni-tables.
6595
6596         New module 'unictype/property-changes-when-uppercased'.
6597         * modules/unictype/property-changes-when-uppercased: New file.
6598         * lib/unictype/pr_changes_when_uppercased.c: New file.
6599         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
6600         generated by gen-uni-tables.
6601         * modules/unictype/property-changes-when-uppercased-tests: New file.
6602         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
6603         automatically generated by gen-uni-tables.
6604
6605         New module 'unictype/property-changes-when-lowercased'.
6606         * modules/unictype/property-changes-when-lowercased: New file.
6607         * lib/unictype/pr_changes_when_lowercased.c: New file.
6608         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
6609         generated by gen-uni-tables.
6610         * modules/unictype/property-changes-when-lowercased-tests: New file.
6611         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
6612         automatically generated by gen-uni-tables.
6613
6614         New module 'unictype/property-case-ignorable'.
6615         * modules/unictype/property-case-ignorable: New file.
6616         * lib/unictype/pr_case_ignorable.c: New file.
6617         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
6618         by gen-uni-tables.
6619         * modules/unictype/property-case-ignorable-tests: New file.
6620         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
6621         generated by gen-uni-tables.
6622
6623         New module 'unictype/property-cased'.
6624         * modules/unictype/property-cased: New file.
6625         * lib/unictype/pr_cased.c: New file.
6626         * lib/unictype/pr_cased.h: New file, automatically generated by
6627         gen-uni-tables.
6628         * modules/unictype/property-cased-tests: New file.
6629         * tests/unictype/test-pr_cased.c: New file, automatically generated by
6630         gen-uni-tables.
6631
6632 2011-01-09  Bruno Haible  <bruno@clisp.org>
6633
6634         Update to Unicode 5.2.0.
6635         * lib/gen-uni-tables.c (output_predicate, output_category,
6636         output_combclass, output_bidi_category, output_decimal_digit_test,
6637         output_decimal_digit, output_digit_test, output_digit,
6638         output_numeric_test, output_numeric, output_mirror, output_scripts,
6639         output_scripts_byname, output_blocks, output_ident_category): Fix
6640         comment header.
6641         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
6642         get_wbp.
6643         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
6644         items.
6645         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
6646         Changes_When_Lowercased, Changes_When_Uppercased,
6647         Changes_When_Titlecased, Changes_When_Casefolded,
6648         Changes_When_Casemapped.
6649         (is_property_alphabetic, is_property_default_ignorable_code_point):
6650         Update for Unicode 5.2.0.
6651         (is_property_cased, is_property_case_ignorable,
6652         is_property_changes_when_lowercased,
6653         is_property_changes_when_uppercased,
6654         is_property_changes_when_titlecased,
6655         is_property_changes_when_casefolded,
6656         is_property_changes_when_casemapped): New functions.
6657         (output_properties): Output also the properties cased, case_ignorable,
6658         changes_when_lowercased, changes_when_uppercased,
6659         changes_when_titlecased, changes_when_casefolded,
6660         changes_when_casemapped.
6661         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
6662         Unicode TR#11 revision 17 -> 19.
6663         (LBP_CP): New enumeration value.
6664         (LBP_*): Adjust values accordingly.
6665         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6666         TR#14 revision 22 -> 24.
6667         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
6668         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
6669         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6670         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
6671         is_WBP_MIDLETTER.
6672         (output_composition_tables): Allow for 24 bits instead of 16 bits in
6673         the code1 and code2 of each composition rule.
6674         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
6675         * lib/unicase/ignorable.h: Likewise.
6676         * lib/unicase/tocasefold.h: Likewise.
6677         * lib/unicase/tolower.h: Likewise.
6678         * lib/unicase/totitle.h: Likewise.
6679         * lib/unicase/toupper.h: Likewise.
6680         * lib/unictype/bidi_of.h: Likewise.
6681         * lib/unictype/blocks.h: Likewise.
6682         * lib/unictype/categ_C.h: Likewise.
6683         * lib/unictype/categ_Cf.h: Likewise.
6684         * lib/unictype/categ_Cn.h: Likewise.
6685         * lib/unictype/categ_L.h: Likewise.
6686         * lib/unictype/categ_Ll.h: Likewise.
6687         * lib/unictype/categ_Lm.h: Likewise.
6688         * lib/unictype/categ_Lo.h: Likewise.
6689         * lib/unictype/categ_Lu.h: Likewise.
6690         * lib/unictype/categ_M.h: Likewise.
6691         * lib/unictype/categ_Mc.h: Likewise.
6692         * lib/unictype/categ_Mn.h: Likewise.
6693         * lib/unictype/categ_N.h: Likewise.
6694         * lib/unictype/categ_Nd.h: Likewise.
6695         * lib/unictype/categ_Nl.h: Likewise.
6696         * lib/unictype/categ_No.h: Likewise.
6697         * lib/unictype/categ_P.h: Likewise.
6698         * lib/unictype/categ_Pd.h: Likewise.
6699         * lib/unictype/categ_Po.h: Likewise.
6700         * lib/unictype/categ_S.h: Likewise.
6701         * lib/unictype/categ_Sc.h: Likewise.
6702         * lib/unictype/categ_So.h: Likewise.
6703         * lib/unictype/categ_of.h: Likewise.
6704         * lib/unictype/combining.h: Likewise.
6705         * lib/unictype/ctype_alnum.h: Likewise.
6706         * lib/unictype/ctype_alpha.h: Likewise.
6707         * lib/unictype/ctype_graph.h: Likewise.
6708         * lib/unictype/ctype_lower.h: Likewise.
6709         * lib/unictype/ctype_print.h: Likewise.
6710         * lib/unictype/ctype_punct.h: Likewise.
6711         * lib/unictype/ctype_upper.h: Likewise.
6712         * lib/unictype/decdigit.h: Likewise.
6713         * lib/unictype/digit.h: Likewise.
6714         * lib/unictype/numeric.h: Likewise.
6715         * lib/unictype/pr_alphabetic.h: Likewise.
6716         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6717         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6718         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6719         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6720         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6721         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6722         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6723         * lib/unictype/pr_combining.h: Likewise.
6724         * lib/unictype/pr_composite.h: Likewise.
6725         * lib/unictype/pr_currency_symbol.h: Likewise.
6726         * lib/unictype/pr_dash.h: Likewise.
6727         * lib/unictype/pr_decimal_digit.h: Likewise.
6728         * lib/unictype/pr_deprecated.h: Likewise.
6729         * lib/unictype/pr_diacritic.h: Likewise.
6730         * lib/unictype/pr_extender.h: Likewise.
6731         * lib/unictype/pr_grapheme_base.h: Likewise.
6732         * lib/unictype/pr_grapheme_extend.h: Likewise.
6733         * lib/unictype/pr_grapheme_link.h: Likewise.
6734         * lib/unictype/pr_id_continue.h: Likewise.
6735         * lib/unictype/pr_id_start.h: Likewise.
6736         * lib/unictype/pr_ideographic.h: Likewise.
6737         * lib/unictype/pr_ignorable_control.h: Likewise.
6738         * lib/unictype/pr_logical_order_exception.h: Likewise.
6739         * lib/unictype/pr_lowercase.h: Likewise.
6740         * lib/unictype/pr_numeric.h: Likewise.
6741         * lib/unictype/pr_other_alphabetic.h: Likewise.
6742         * lib/unictype/pr_punctuation.h: Likewise.
6743         * lib/unictype/pr_sentence_terminal.h: Likewise.
6744         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6745         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6746         * lib/unictype/pr_unified_ideograph.h: Likewise.
6747         * lib/unictype/pr_uppercase.h: Likewise.
6748         * lib/unictype/pr_xid_continue.h: Likewise.
6749         * lib/unictype/pr_xid_start.h: Likewise.
6750         * lib/unictype/pr_zero_width.h: Likewise.
6751         * lib/unictype/scripts.h: Likewise.
6752         * lib/unictype/scripts_byname.gperf: Likewise.
6753         * lib/unictype/sy_java_ident.h: Likewise.
6754         * lib/unigbrk/gbrkprop.h: Likewise.
6755         * lib/unilbrk/lbrkprop1.h: Likewise.
6756         * lib/unilbrk/lbrkprop2.h: Likewise.
6757         * lib/unilbrk/lbrktables.h: Likewise.
6758         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
6759         LBP_CP. Implement rule LB30.
6760         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
6761         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
6762         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
6763         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
6764         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
6765         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
6766         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
6767         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
6768         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
6769         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
6770         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
6771         bits instead of 16 bits in the code1 and code2 of each composition
6772         rule.
6773         (uc_composition): Update for Unicode 5.2.0.
6774         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
6775         * lib/uninorm/decomposition-table2.h: Likewise.
6776         * lib/uniwbrk/wbrkprop.h: Likewise.
6777         * tests/unicase/test-cased.c: Likewise.
6778         * tests/unicase/test-ignorable.c: Likewise.
6779         * tests/unicase/test-uc_tolower.c: Likewise.
6780         * tests/unicase/test-uc_totitle.c: Likewise.
6781         * tests/unicase/test-uc_toupper.c: Likewise.
6782         * tests/unictype/test-categ_C.c: Likewise.
6783         * tests/unictype/test-categ_Cf.c: Likewise.
6784         * tests/unictype/test-categ_Cn.c: Likewise.
6785         * tests/unictype/test-categ_L.c: Likewise.
6786         * tests/unictype/test-categ_Ll.c: Likewise.
6787         * tests/unictype/test-categ_Lm.c: Likewise.
6788         * tests/unictype/test-categ_Lo.c: Likewise.
6789         * tests/unictype/test-categ_Lu.c: Likewise.
6790         * tests/unictype/test-categ_M.c: Likewise.
6791         * tests/unictype/test-categ_Mc.c: Likewise.
6792         * tests/unictype/test-categ_Mn.c: Likewise.
6793         * tests/unictype/test-categ_N.c: Likewise.
6794         * tests/unictype/test-categ_Nd.c: Likewise.
6795         * tests/unictype/test-categ_Nl.c: Likewise.
6796         * tests/unictype/test-categ_No.c: Likewise.
6797         * tests/unictype/test-categ_P.c: Likewise.
6798         * tests/unictype/test-categ_Pd.c: Likewise.
6799         * tests/unictype/test-categ_Po.c: Likewise.
6800         * tests/unictype/test-categ_S.c: Likewise.
6801         * tests/unictype/test-categ_Sc.c: Likewise.
6802         * tests/unictype/test-categ_So.c: Likewise.
6803         * tests/unictype/test-ctype_alnum.c: Likewise.
6804         * tests/unictype/test-ctype_alpha.c: Likewise.
6805         * tests/unictype/test-ctype_graph.c: Likewise.
6806         * tests/unictype/test-ctype_lower.c: Likewise.
6807         * tests/unictype/test-ctype_print.c: Likewise.
6808         * tests/unictype/test-ctype_punct.c: Likewise.
6809         * tests/unictype/test-ctype_upper.c: Likewise.
6810         * tests/unictype/test-decdigit.h: Likewise.
6811         * tests/unictype/test-digit.h: Likewise.
6812         * tests/unictype/test-numeric.h: Likewise.
6813         * tests/unictype/test-pr_alphabetic.c: Likewise.
6814         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6815         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6816         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
6817         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6818         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6819         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6820         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6821         * tests/unictype/test-pr_combining.c: Likewise.
6822         * tests/unictype/test-pr_composite.c: Likewise.
6823         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6824         * tests/unictype/test-pr_dash.c: Likewise.
6825         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6826         * tests/unictype/test-pr_deprecated.c: Likewise.
6827         * tests/unictype/test-pr_diacritic.c: Likewise.
6828         * tests/unictype/test-pr_extender.c: Likewise.
6829         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6830         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6831         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6832         * tests/unictype/test-pr_id_continue.c: Likewise.
6833         * tests/unictype/test-pr_id_start.c: Likewise.
6834         * tests/unictype/test-pr_ideographic.c: Likewise.
6835         * tests/unictype/test-pr_ignorable_control.c: Likewise.
6836         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
6837         * tests/unictype/test-pr_lowercase.c: Likewise.
6838         * tests/unictype/test-pr_numeric.c: Likewise.
6839         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6840         * tests/unictype/test-pr_punctuation.c: Likewise.
6841         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6842         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6843         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6844         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6845         * tests/unictype/test-pr_uppercase.c: Likewise.
6846         * tests/unictype/test-pr_xid_continue.c: Likewise.
6847         * tests/unictype/test-pr_xid_start.c: Likewise.
6848         * tests/unictype/test-pr_zero_width.c: Likewise.
6849         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6850         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
6851         changed behaviour: line breaking is now disallowed between a letter
6852         or '=' and '('.
6853         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
6854         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
6855         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
6856         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
6857         * tests/uniwidth/test-uc_width2.sh: Same updates as in
6858         lib/uniwidth/width.c.
6859         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
6860         without comments, but with the original copyright notice.
6861         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
6862         changes.
6863         * lib/unictype/categ_Cc.h: Likewise.
6864         * lib/unictype/categ_Co.h: Likewise.
6865         * lib/unictype/categ_Cs.h: Likewise.
6866         * lib/unictype/categ_Lt.h: Likewise.
6867         * lib/unictype/categ_Me.h: Likewise.
6868         * lib/unictype/categ_Pc.h: Likewise.
6869         * lib/unictype/categ_Pe.h: Likewise.
6870         * lib/unictype/categ_Pf.h: Likewise.
6871         * lib/unictype/categ_Pi.h: Likewise.
6872         * lib/unictype/categ_Ps.h: Likewise.
6873         * lib/unictype/categ_Sk.h: Likewise.
6874         * lib/unictype/categ_Sm.h: Likewise.
6875         * lib/unictype/categ_Z.h: Likewise.
6876         * lib/unictype/categ_Zl.h: Likewise.
6877         * lib/unictype/categ_Zp.h: Likewise.
6878         * lib/unictype/categ_Zs.h: Likewise.
6879         * lib/unictype/ctype_blank.h: Likewise.
6880         * lib/unictype/ctype_cntrl.h: Likewise.
6881         * lib/unictype/ctype_digit.h: Likewise.
6882         * lib/unictype/ctype_space.h: Likewise.
6883         * lib/unictype/ctype_xdigit.h: Likewise.
6884         * lib/unictype/mirror.h: Likewise.
6885         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
6886         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
6887         * lib/unictype/pr_bidi_block_separator.h: Likewise.
6888         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
6889         * lib/unictype/pr_bidi_common_separator.h: Likewise.
6890         * lib/unictype/pr_bidi_control.h: Likewise.
6891         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
6892         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
6893         * lib/unictype/pr_bidi_pdf.h: Likewise.
6894         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
6895         * lib/unictype/pr_bidi_whitespace.h: Likewise.
6896         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
6897         * lib/unictype/pr_format_control.h: Likewise.
6898         * lib/unictype/pr_hex_digit.h: Likewise.
6899         * lib/unictype/pr_hyphen.h: Likewise.
6900         * lib/unictype/pr_ids_binary_operator.h: Likewise.
6901         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
6902         * lib/unictype/pr_iso_control.h: Likewise.
6903         * lib/unictype/pr_join_control.h: Likewise.
6904         * lib/unictype/pr_left_of_pair.h: Likewise.
6905         * lib/unictype/pr_line_separator.h: Likewise.
6906         * lib/unictype/pr_math.h: Likewise.
6907         * lib/unictype/pr_non_break.h: Likewise.
6908         * lib/unictype/pr_not_a_character.h: Likewise.
6909         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
6910         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
6911         * lib/unictype/pr_other_id_continue.h: Likewise.
6912         * lib/unictype/pr_other_id_start.h: Likewise.
6913         * lib/unictype/pr_other_lowercase.h: Likewise.
6914         * lib/unictype/pr_other_math.h: Likewise.
6915         * lib/unictype/pr_other_uppercase.h: Likewise.
6916         * lib/unictype/pr_paired_punctuation.h: Likewise.
6917         * lib/unictype/pr_paragraph_separator.h: Likewise.
6918         * lib/unictype/pr_pattern_syntax.h: Likewise.
6919         * lib/unictype/pr_pattern_white_space.h: Likewise.
6920         * lib/unictype/pr_private_use.h: Likewise.
6921         * lib/unictype/pr_quotation_mark.h: Likewise.
6922         * lib/unictype/pr_radical.h: Likewise.
6923         * lib/unictype/pr_soft_dotted.h: Likewise.
6924         * lib/unictype/pr_space.h: Likewise.
6925         * lib/unictype/pr_titlecase.h: Likewise.
6926         * lib/unictype/pr_variation_selector.h: Likewise.
6927         * lib/unictype/pr_white_space.h: Likewise.
6928         * lib/unictype/sy_c_ident.h: Likewise.
6929         * lib/unictype/sy_c_whitespace.h: Likewise.
6930         * lib/unictype/sy_java_whitespace.h: Likewise.
6931         * modules/uni*/*: Bump version number of expected libunistring version.
6932         Reported by Simon Josefsson.
6933
6934 2011-01-09  Karl Heuer  <kwzh@gnu.org>
6935
6936         useless-if-before-free: fix typo in --help and make the internal,
6937         automatic version date update process work once again.
6938         --help output contained a NUL character instead of the
6939         backslash-zero that was intended.  Also, the "must lie within
6940         the first 8 lines" line is on line 9, and hence not getting
6941         automatically updated.
6942         * build-aux/useless-if-before-free: Fix the former by adding a
6943         backslash, and the latter by condensing the three lines of what-it-does
6944         to a single line, leaving one line of slack for the future.
6945
6946 2011-01-09  Bruno Haible  <bruno@clisp.org>
6947
6948         uniwidth/width: Fix width of U+1D173..U+1D17A.
6949         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
6950         symbolic_width, output_width_property_test): New functions.
6951         (main): Invoke output_nonspacing_property, output_width_property_test.
6952         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
6953         U+1D173..U+1D17A.
6954         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
6955         1.
6956         * modules/uniwidth/*: Bump version number of expected libunistring
6957         version.
6958         * modules/unilbrk/*: Likewise.
6959
6960 2011-01-08  Bruno Haible  <bruno@clisp.org>
6961
6962         uninorm tests: Preserve copyright of Unicode data file.
6963         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
6964         Mention modifications.
6965
6966 2011-01-08  Bruno Haible  <bruno@clisp.org>
6967
6968         gen-uni-tables: Prepare for Unicode 5.2.0.
6969         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
6970         (debug_output_lbp, output_lbp): Update.
6971
6972 2011-01-08  Bruno Haible  <bruno@clisp.org>
6973
6974         unilbrk: Clarify gen-uni-tables.c code.
6975         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
6976         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
6977         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
6978
6979 2011-01-07  Bruno Haible  <bruno@clisp.org>
6980
6981         strtod: Restore errno when successfully parsing Infinity or NaN.
6982         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
6983         restore the original errno.
6984
6985 2011-01-07  Bruno Haible  <bruno@clisp.org>
6986
6987         remove test: Avoid failure on HP-UX 11.
6988         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
6989
6990 2011-01-07  Bruno Haible  <bruno@clisp.org>
6991
6992         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
6993         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
6994         error code.
6995
6996 2011-01-07  Pádraig Brady <P@draigBrady.com>
6997
6998         ignore-value: fixup comments, and add Eric Blake
6999         as an author since he rewrote the macros.
7000         * lib/ignore-value.h (ignore_value):  State that
7001         we now support aggregates.  Also specify exactly
7002         when the GCC warn_unused_result feature was added.
7003
7004 2011-01-06  Eric Blake  <eblake@redhat.com>
7005
7006         ignore-value: support aggregate types
7007         * lib/ignore-value.h (ignore_value): Provide separate gcc
7008         definition.
7009         * modules/ignore-value-tests: New test module.
7010         * tests/test-ignore-value.c: New test.
7011
7012         maint.mk: improve sc_prohibit_strcmp regex
7013         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
7014         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
7015         definition of STRNEQ.
7016
7017         signal: work around Haiku issue with SIGBUS
7018         * lib/siglist.h: Add comment.
7019         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
7020         strsignal's favoring of SIGSEGV.
7021         * tests/test-signal.c (main): Avoid test failure.
7022         * doc/posix-headers/signal.texi (signal.h): Document the issue.
7023         Reported by Scott McCreary.
7024
7025         maint.mk: add pre-release check to ensure submodule commits are public
7026         * top/maint.mk (public-submodule-commit): New rule.
7027         (submodule-checks): New variable.
7028         (alpha beta stable): Depend on the variable.
7029
7030 2011-01-05  Pádraig Brady <P@draigBrady.com>
7031         and Jim Meyering  <meyering@redhat.com>
7032
7033         ignore-value: make ignore_value more generic; deprecate ignore_ptr
7034         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
7035         (ATTRIBUTE_DEPRECATED): Define.
7036         (_ignore_case): New function.
7037         (ignore_value): New macro, to replace the old function.
7038         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
7039         * modules/ignore-value (Depends-on): Add stdint.
7040
7041 2011-01-04  Eric Blake  <eblake@redhat.com>
7042
7043         doc: regenerate INSTALL
7044         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
7045         @firstparagraphindent support, now that autoconf dropped it.
7046         (INSTALL_PRELUDE): Reinstate old macro.
7047         * doc/install.texi: Resync from autoconf.
7048         * doc/INSTALL: Reflect recent autoconf update.
7049         * doc/INSTALL.ISO: Likewise.
7050         * doc/INSTALL.UTF-8: Likewise.
7051         Reported by Karl Berry.
7052
7053 2011-01-04  Bruce Korb  <address@hidden>
7054
7055         git-version-gen: avoid a sub-shell
7056         * build-aux/git-version-gen: Redirect stderr in `...` via
7057         "exec 2>...", rather than via an added sub-shell.
7058
7059 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
7060
7061         git-version-gen: use (...) rather than sh -c '...'
7062         * build-aux/git-version-gen: Rather than hard-coding a shell's name
7063         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
7064
7065 2011-01-03  Jim Meyering  <meyering@redhat.com>
7066
7067         git-version-gen: convert leading TABs to spaces
7068         * build-aux/git-version-gen: Expand leading TABs.
7069
7070         git-version-gen: handle failed "git rev-list"
7071         * build-aux/git-version-gen: Rather than leaking a "fatal" error
7072         from git and proceeding as if it had succeeded but printed no SHA1
7073         checksums, suppress the diagnostic and handle the failure.
7074         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
7075
7076         git-version-gen: include command name in one more diagnostic
7077         * build-aux/git-version-gen: When the required .tarball-version file
7078         was missing or unreadable, you might see the diagnostic from "cat",
7079         but no trace of the name of the invoking script.  Now, you still see
7080         the diagnostic from cat, but also get one from "git-version-gen: ".
7081         Inspired by a patch from Bruce Korb.
7082
7083         update-copyright: adjust test to match changed code
7084         * tests/test-update-copyright.sh: Change test's expected output
7085         to match new actual output.
7086
7087 2011-01-02  Bruno Haible  <bruno@clisp.org>
7088
7089         getlogin_r: Avoid test failure on HP-UX 11.
7090         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
7091         ERANGE when the second argument is zero.
7092         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
7093         portability problem.
7094
7095 2011-01-02  Bruce Korb  <bkorb@gnu.org>
7096
7097         * build-aux/update-copyright: doc Simon's changes
7098
7099 2011-01-02  Simon Josefsson  <simon@josefsson.org>
7100
7101         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
7102         environment variable.
7103
7104 2011-01-02  Bruno Haible  <bruno@clisp.org>
7105
7106         unigbrk: Avoid gcc warnings.
7107         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
7108         unused variable.
7109         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
7110         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
7111         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
7112         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
7113         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
7114         Change type of first argument to 'const char *'.
7115         (main): Remove unused variable.
7116         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
7117         type of first argument to 'const char *'.
7118         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
7119         Likewise.
7120         (main): Change type of variable 's'.
7121         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
7122         to 'int'.
7123
7124 2011-01-02  Bruno Haible  <bruno@clisp.org>
7125
7126         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
7127         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
7128         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
7129         bug.
7130         * lib/pwrite.c: Undo 2010-12-31 patch.
7131         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
7132
7133 2011-01-02  Bruno Haible  <bruno@clisp.org>
7134
7135         pread: Fix test whether it works.
7136         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
7137
7138 2011-01-02  Bruno Haible  <bruno@clisp.org>
7139
7140         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
7141         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
7142         ends in "6". Don't require a specific month name. Try also the locale
7143         names found on HP-UX 11 and Solaris 7.
7144
7145 2011-01-02  Bruno Haible  <bruno@clisp.org>
7146
7147         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
7148         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
7149         C linkage.
7150         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
7151
7152 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7153
7154         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
7155         for consistency, since the "cluster" term is not used elsewhere.
7156         * lib/unigbrk.in.h: Update name.
7157         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
7158         * lib/unigbrk/u16-grapheme-next.c: Update name.
7159         * lib/unigbrk/u16-grapheme-prev.c: Update name.
7160         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
7161         * lib/unigbrk/u32-grapheme-next.c: Update name.
7162         * lib/unigbrk/u32-grapheme-prev.c: Update name.
7163         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
7164         * lib/unigbrk/u8-grapheme-next.c: Update name.
7165         * lib/unigbrk/u8-grapheme-prev.c: Update name.
7166         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
7167         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
7168         Suggested by Bruno Haible.
7169
7170 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7171
7172         Remove module 'u8-grapheme-len' as too redundant with
7173         'u8-grapheme-next'.
7174         * modules/unigbrk/u8-grapheme-len: Delete file.
7175         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
7176         * lib/unigbrk.in.h: Remove prototype for deleted function.
7177         * lib/unigbrk/u8-grapheme-len.c: Delete file.
7178         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
7179
7180         Remove module 'u16-grapheme-len' as too redundant with
7181         'u16-grapheme-next'.
7182         * modules/unigbrk/u16-grapheme-len: Delete file.
7183         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
7184         * lib/unigbrk.in.h: Remove prototype for deleted function.
7185         * lib/unigbrk/u16-grapheme-len.c: Delete file.
7186         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
7187
7188         Remove module 'u32-grapheme-len' as too redundant with
7189         'u32-grapheme-next'.
7190         * modules/unigbrk/u32-grapheme-len: Delete file.
7191         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
7192         * lib/unigbrk.in.h: Remove prototype for deleted function.
7193         * lib/unigbrk/u32-grapheme-len.c: Delete file.
7194         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
7195
7196         Suggested by Bruno Haible.
7197
7198 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7199
7200         * unigbrk.in.h: Fix typo: "ben" => "been".
7201         Reported by Bruno Haible.
7202
7203 2011-01-01  Jim Meyering  <meyering@redhat.com>
7204
7205         maint: update almost all copyright ranges to include 2011
7206         Run the new "make update-copyright" rule.
7207
7208 2011-01-01  Jim Meyering  <meyering@redhat.com>
7209
7210         maint: update-copyright: exempt doc/INSTALL*
7211         * Makefile (update-copyright): Also exclude doc/INSTALL*,
7212         since they are generated.  Suggested by Bruno Haible.
7213
7214 2011-01-01  Jim Meyering  <meyering@redhat.com>
7215
7216         maint: refine the update-copyright rule
7217         * Makefile (update-copyright): Also exclude any file that includes
7218         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
7219         code that merely generates the comment.
7220
7221 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7222
7223         New module 'u8-grapheme-len'.
7224         * modules/unigbrk/u8-grapheme-len: New file.
7225         * modules/unigbrk/u8-grapheme-len-tests: New file.
7226         * lib/unigbrk.in.h: Add prototype for new function.
7227         * lib/unigbrk/u8-grapheme-len.c: New file.
7228         * tests/unigbrk/test-u8-grapheme-len.c: New file.
7229
7230         New module 'u16-grapheme-len'.
7231         * modules/unigbrk/u16-grapheme-len: New file.
7232         * modules/unigbrk/u16-grapheme-len-tests: New file.
7233         * lib/unigbrk.in.h: Add prototype for new function.
7234         * lib/unigbrk/u16-grapheme-len.c: New file.
7235         * tests/unigbrk/test-u16-grapheme-len.c: New file.
7236
7237         New module 'u32-grapheme-len'.
7238         * modules/unigbrk/u32-grapheme-len: New file.
7239         * modules/unigbrk/u32-grapheme-len-tests: New file.
7240         * lib/unigbrk.in.h: Add prototype for new function.
7241         * lib/unigbrk/u32-grapheme-len.c: New file.
7242         * tests/unigbrk/test-u32-grapheme-len.c: New file.
7243
7244         New module 'u8-grapheme-next'.
7245         * modules/unigbrk/u8-grapheme-next: New file.
7246         * modules/unigbrk/u8-grapheme-next-tests: New file.
7247         * lib/unigbrk.in.h: Add prototype for new function.
7248         * lib/unigbrk/u8-grapheme-next.c: New file.
7249         * tests/unigbrk/test-u8-grapheme-next.c: New file.
7250
7251         New module 'u16-grapheme-next'.
7252         * modules/unigbrk/u16-grapheme-next: New file.
7253         * modules/unigbrk/u16-grapheme-next-tests: New file.
7254         * lib/unigbrk.in.h: Add prototype for new function.
7255         * lib/unigbrk/u16-grapheme-next.c: New file.
7256         * tests/unigbrk/test-u16-grapheme-next.c: New file.
7257
7258         New module 'u32-grapheme-next'.
7259         * modules/unigbrk/u32-grapheme-next: New file.
7260         * modules/unigbrk/u32-grapheme-next-tests: New file.
7261         * lib/unigbrk.in.h: Add prototype for new function.
7262         * lib/unigbrk/u32-grapheme-next.c: New file.
7263         * tests/unigbrk/test-u32-grapheme-next.c: New file.
7264
7265         New module 'u8-grapheme-prev'.
7266         * modules/unigbrk/u8-grapheme-prev: New file.
7267         * modules/unigbrk/u8-grapheme-prev-tests: New file.
7268         * lib/unigbrk.in.h: Add prototype for new function.
7269         * lib/unigbrk/u8-grapheme-prev.c: New file.
7270         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
7271
7272         New module 'u16-grapheme-prev'.
7273         * modules/unigbrk/u16-grapheme-prev: New file.
7274         * modules/unigbrk/u16-grapheme-prev-tests: New file.
7275         * lib/unigbrk.in.h: Add prototype for new function.
7276         * lib/unigbrk/u16-grapheme-prev.c: New file.
7277         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
7278
7279         New module 'u32-grapheme-prev'.
7280         * modules/unigbrk/u32-grapheme-prev: New file.
7281         * modules/unigbrk/u32-grapheme-prev-tests: New file.
7282         * lib/unigbrk.in.h: Add prototype for new function.
7283         * lib/unigbrk/u32-grapheme-prev.c: New file.
7284         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
7285
7286         New module 'u8-grapheme-breaks'.
7287         * modules/unigbrk/u8-grapheme-breaks: New file.
7288         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
7289         * lib/unigbrk.in.h: Add prototype for new function.
7290         * lib/unigbrk/u8-grapheme-breaks.c: New file.
7291         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
7292
7293         New module 'u16-grapheme-breaks'.
7294         * modules/unigbrk/u16-grapheme-breaks: New file.
7295         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
7296         * lib/unigbrk.in.h: Add prototype for new function.
7297         * lib/unigbrk/u16-grapheme-breaks.c: New file.
7298         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
7299
7300         New module 'u32-grapheme-breaks'.
7301         * modules/unigbrk/u32-grapheme-breaks: New file.
7302         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
7303         * lib/unigbrk.in.h: Add prototype for new function.
7304         * lib/unigbrk/u32-grapheme-breaks.c: New file.
7305         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
7306
7307         New module 'ulc-grapheme-breaks'.
7308         * modules/unigbrk/ulc-grapheme-breaks: New file.
7309         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
7310         * m4/locale-ar.m4: New file.
7311         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
7312         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
7313         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
7314
7315 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7316
7317         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
7318         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
7319         modified how this file was generated before I initially submitted
7320         the module, but failed to regenerate it.  This meant that several
7321         of the level2 entries were wrong.
7322         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
7323         Remove the division-by-2 that is folded into the table now that
7324         gbrkprop.h has been regenerated properly.  Now -1 entries are
7325         handled correctly.
7326
7327         New module 'unigbrk/uc-gbrk-prop-tests'.
7328         * modules/unigbrk/uc-gbrk-prop-tests: New file.
7329         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
7330         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
7331         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
7332
7333 2011-01-01  Bruno Haible  <bruno@clisp.org>
7334
7335         Avoid use of hexadecimal escapes.
7336         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
7337         instead of hexadecimal escapes.
7338
7339 2011-01-01  Jim Meyering  <meyering@redhat.com>
7340
7341         maint: new rule to update copyright year ranges
7342         * Makefile (update-copyright): New rule.
7343
7344         maint: indent with TABs in Makefile
7345         * Makefile: Expand leading sequences of spaces to TABs
7346
7347         version-etc: update the copyright year it reports
7348         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
7349
7350 2010-12-31  Bruno Haible  <bruno@clisp.org>
7351
7352         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
7353         * lib/isfinite.c (zerof, zerod, zerol): New variables.
7354         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
7355         zero.
7356
7357 2010-12-31  Bruno Haible  <bruno@clisp.org>
7358
7359         pwrite: Work around HP-UX 11.11 bug.
7360         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
7361         works and set REPLACE_PWRITE if not.
7362         * lib/pwrite.c (pwrite): Add an implementation that uses the system
7363         function.
7364         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
7365
7366 2010-12-31  Bruno Haible  <bruno@clisp.org>
7367
7368         pread: Work around HP-UX 11 bugs.
7369         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
7370         and set REPLACE_PREAD if not.
7371         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
7372
7373 2010-12-31  Eric Blake  <eblake@redhat.com>
7374
7375         nl_langinfo: fix YESEXPR on Irix 6.5
7376         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
7377         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
7378         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
7379         it.
7380
7381 2010-12-31  Bruno Haible  <bruno@clisp.org>
7382
7383         iconv: Document HP-UX 11 bug.
7384         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
7385
7386 2010-12-31  Bruno Haible  <bruno@clisp.org>
7387
7388         ldexpl: Fix link error on HP-UX 11.
7389         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
7390         LDEXPL_LIBM, using $ISNANL_LIBM.
7391
7392 2010-12-31  Eric Blake  <eblake@redhat.com>
7393
7394         ftello: avoid compilation failure with SunStudio c89
7395         * lib/ftello.c (ftello): Use lseek, not llseek.
7396
7397         tests: avoid failing coreutils tests on cygwin
7398         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
7399         (create_exe_shims_): Return 0 when skipping.
7400
7401 2010-12-31  Bruno Haible  <bruno@clisp.org>
7402
7403         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
7404         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
7405
7406 2010-12-31  Bruno Haible  <bruno@clisp.org>
7407
7408         waitpid: Fix link error in C++ mode.
7409         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
7410
7411 2010-12-31  Bruno Haible  <bruno@clisp.org>
7412
7413         isnan: Use GCC built-ins when possible.
7414         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
7415         __builtin_isnan.
7416         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
7417         (isnan): Define using GCC built-ins for GCC >= 4.0.
7418
7419 2010-12-31  Bruno Haible  <bruno@clisp.org>
7420
7421         isnand: Fix mistake.
7422         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
7423         __builtin_isnand.
7424
7425 2010-12-31  Bruno Haible  <bruno@clisp.org>
7426
7427         open: Avoid C++ error on HP-UX 11.
7428         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
7429
7430 2010-12-31  Bruno Haible  <bruno@clisp.org>
7431
7432         time_r: Add missing declarations on HP-UX 11.
7433         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
7434         instead of HAVE_LOCALTIME_R.
7435         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
7436         HAVE_LOCALTIME_R always.
7437         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
7438         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
7439         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
7440         HAVE_LOCALTIME_R.
7441         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
7442         * doc/posix-functions/localtime_r.texi: Likewise.
7443
7444 2010-12-29  Eric Blake  <eblake@redhat.com>
7445
7446         mountlist: tweak previous commit
7447         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
7448         Reported by Paul Eggert.
7449
7450         mountlist: fix local drive detection on cygwin
7451         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
7452         that works for cygwin.
7453
7454 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
7455
7456         ftoastr, snprintf: ftoastr + snprintf module
7457         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
7458         since the snprintf module now should be good enough here.
7459         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
7460         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
7461         and gl_MODULE_INDICATOR([snprintf]), but the former enables
7462         GNULIB_SNPRINTF only for the test directory, and the latter
7463         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
7464         seems to suffice by itself.
7465
7466 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
7467
7468         alloca: one step towards thread-safety
7469         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
7470         need for a static variable.  All callers changed.  This does not
7471         make the alloca replacement thread-safe, but it's one step.
7472
7473         tests: minor indenting change
7474         * tests/init.sh: Sync from coreutils housekeeping patch
7475         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
7476         to keep lines within 80 columns.
7477
7478 2010-12-28  Jim Meyering  <meyering@redhat.com>
7479
7480         regex: don't infloop on persistent failing calloc
7481         * lib/regexec.c (build_trtable): Return failure indication upon
7482         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
7483         In glibc, this was fixed for version 2.13:
7484         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
7485
7486 2010-12-28  Bruno Haible  <bruno@clisp.org>
7487             Paul Eggert <eggert@cs.ucla.edu>
7488
7489         linkat: Make implementation robust against system behaviour variations.
7490         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
7491         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
7492         way, and to -2 if it needs a generic runtime test.
7493         * lib/linkat.c (solaris_optimized_link_immediate,
7494         solaris_optimized_link_follow): New functions.
7495         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
7496         (check_same_link): Use it.
7497
7498 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
7499
7500         New module 'unigbrk/base'.
7501         * modules/unigbrk/base: New file.
7502         * lib/unigbrk.in.h: New file.
7503
7504         New module 'unigbrk/uc-gbrk-prop'.
7505         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
7506         * modules/unigbrk/uc-gbrk-prop: New file.
7507         * lib/unigbrk/gbrkprop.h: New file.
7508         * lib/unigbrk/uc-gbrk-prop.c: New file.
7509
7510         New module 'unigbrk/uc-is-grapheme-break'.
7511         * modules/unigbrk/uc-is-grapheme-break: New file.
7512         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
7513         * lib/unigbrk/uc-is-grapheme-break.c: New file.
7514         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
7515         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
7516         * tests/unigbrk/GraphemeBreakTest.txt: New file.
7517
7518         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
7519
7520 2010-12-27  Bruno Haible  <bruno@clisp.org>
7521
7522         linkat test: Avoid failure on Solaris 11 2010-11.
7523         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
7524
7525 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7526
7527         utimens: work around glibc rounding bug on more platforms
7528         * lib/utimens.c (fdutimens): Work around rounding bug even if
7529         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
7530         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
7531
7532 2010-12-27  Bruno Haible  <bruno@clisp.org>
7533
7534         select tests: Improve comments.
7535         * tests/test-select.c (do_select): Add comments.
7536
7537 2010-12-27  Bruno Haible  <bruno@clisp.org>
7538
7539         select tests: Safer way of handling timeout.
7540         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
7541         at every invocation.
7542
7543 2010-12-27  Bruno Haible  <bruno@clisp.org>
7544
7545         select tests: Use 'bool' where appropriate.
7546         * tests/test-select.c (connect_to_socket): Change argument type to
7547         'bool'.
7548
7549 2010-12-27  Bruno Haible  <bruno@clisp.org>
7550
7551         select tests: Use existing modules.
7552         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
7553         (configure.ac): Don't test for unistd.h.
7554         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
7555         declared in <unistd.h>.
7556
7557 2010-12-27  Bruno Haible  <bruno@clisp.org>
7558
7559         mbrtowc: Work around a Solaris 7 bug.
7560         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
7561         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
7562         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
7563         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
7564         MBRTOWC_NULL_ARG1_BUG.
7565         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
7566         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
7567         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
7568         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
7569
7570 2010-12-27  Jim Meyering  <meyering@redhat.com>
7571
7572         read-file.c: tweak syntax
7573         * lib/read-file.c (fread_file): Remove space after "*" in function
7574         definitions.
7575
7576 2010-12-27  Bruno Haible  <bruno@clisp.org>
7577
7578         times test: Avoid gcc warnings on OSF/1.
7579         * tests/test-times.c (main): Cast printf arguments from clock_t to
7580         'long int'.
7581
7582 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7583
7584         utimens: work around glibc rounding bug on older Linux kernels
7585         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
7586         on Linux with a glibc whose utimes might not work, then work
7587         around a longstanding glibc bug involving rounding rather than
7588         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
7589         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7590
7591 2010-12-26  Bruno Haible  <bruno@clisp.org>
7592
7593         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
7594         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
7595         _GL_CXXALIAS_SYS.
7596         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7597
7598 2010-12-26  Bruno Haible  <bruno@clisp.org>
7599
7600         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
7601         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
7602         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
7603         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
7604         looking for the declaration.
7605         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7606         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
7607         problem.
7608         * doc/posix-functions/inet_pton.texi: Likewise.
7609
7610 2010-12-26  Bruno Haible  <bruno@clisp.org>
7611
7612         arpa_inet: Use the common idioms with C++ support.
7613         * lib/arpa_inet.in.h: Include c++defs.h.
7614         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
7615         support.
7616         * modules/arpa_inet (Depends-on): Add c++defs.
7617         (Makefile.am): Substitute the contents of c++defs.h.
7618         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
7619         * modules/arpa_inet-c++-tests: New file.
7620         * tests/test-arpa_inet-c++.cc: New file.
7621
7622 2010-12-25  Bruno Haible  <bruno@clisp.org>
7623
7624         Fix more C++ link errors on Solaris 8.
7625         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
7626         $(LIB_EACCESS).
7627         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
7628         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
7629         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
7630         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
7631         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
7632
7633 2010-12-25  Bruno Haible  <bruno@clisp.org>
7634
7635         printf-posix: Fix link error when a non-GCC compiler is used.
7636         * lib/stdio.in.h (printf): When not using GCC, override printf
7637         correctly.
7638         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7639
7640 2010-12-25  Bruno Haible  <bruno@clisp.org>
7641
7642         strerror_r-posix: Update doc.
7643         * doc/posix-functions/strerror_r.texi: Update doc about the return
7644         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
7645
7646 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7647
7648         utimens: simplify the logic of the previous change
7649         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
7650         This should not affect whether the test succeeds or fails.
7651
7652         utimens: configure better on hosts with NFS clock skew
7653         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
7654         uses the clock of the local host.  It might use the clock of the
7655         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
7656         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7657
7658 2010-12-25  Bruno Haible  <bruno@clisp.org>
7659
7660         ptsname test: Avoid failure on Solaris.
7661         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
7662         open a pseudo-terminal; don't use BSD-style ptys.
7663         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
7664
7665 2010-12-25  Bruno Haible  <bruno@clisp.org>
7666
7667         ptsname: Avoid ERANGE failure on some systems.
7668         * lib/ptsname.c (buffer): Increase size.
7669
7670 2010-12-25  Bruno Haible  <bruno@clisp.org>
7671
7672         rename, renameat: Avoid test failures at NFS mounted locations.
7673         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
7674         so that subsequent mkdir calls succeed.
7675
7676 2010-12-25  Bruno Haible  <bruno@clisp.org>
7677
7678         iswblank: Fix C++ link error on Solaris 8.
7679         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
7680         _GL_FUNCDECL_SYS.
7681
7682 2010-12-25  Bruno Haible  <bruno@clisp.org>
7683
7684         unistd: Fix C++ link error on Solaris 8.
7685         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
7686
7687 2010-12-25  Bruno Haible  <bruno@clisp.org>
7688
7689         readlink doc: Mention an old glibc bug.
7690         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
7691
7692 2010-12-25  Bruno Haible  <bruno@clisp.org>
7693
7694         fcntl-h: Fix for use of C++ on glibc systems.
7695         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7696         also on glibc systems in C++ mode.
7697         Reported by Gary V. Vaughan <gary@gnu.org>.
7698
7699 2010-12-25  Bruno Haible  <bruno@clisp.org>
7700
7701         roundl-ieee: Make it work on OSF/1 5.1 with cc.
7702         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
7703
7704 2010-12-25  Bruno Haible  <bruno@clisp.org>
7705
7706         truncl-ieee: Make it work on OSF/1 5.1 with cc.
7707         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
7708         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
7709         test whether truncl works according to ISO C 99 with IEC 60559.
7710         * m4/truncl-ieee.m4: New file.
7711         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
7712         m4/signbit.m4.
7713         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
7714
7715 2010-12-25  Bruno Haible  <bruno@clisp.org>
7716
7717         ceill-ieee: Make it work on OSF/1 5.1 with cc.
7718         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
7719         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
7720         test whether ceill works according to ISO C 99 with IEC 60559.
7721         * m4/ceill-ieee.m4: New file.
7722         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
7723         m4/signbit.m4.
7724         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
7725
7726 2010-12-25  Bruno Haible  <bruno@clisp.org>
7727
7728         Ensure all prerequisites of <wchar.h> are included.
7729         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
7730         before <wchar.h>.
7731         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
7732         gl_MBRLEN_NUL_RETVAL): Likewise.
7733         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
7734         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
7735         AC_FUNC_MBRTOWC): Likewise.
7736         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7737         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
7738         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7739         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
7740         Likewise.
7741         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7742         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
7743         (gl_WCHAR_H): Improve comments.
7744         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
7745
7746 2010-12-25  Bruno Haible  <bruno@clisp.org>
7747
7748         strtok_r: Fix C syntax error in autoconf macro.
7749         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
7750         characters in test program.
7751
7752 2010-12-24  Bruno Haible  <bruno@clisp.org>
7753
7754         ceil, trunc, round: Fix gcc warnings.
7755         * lib/ceil.c (MIN): Undefine before redefining.
7756         * lib/trunc.c (MIN): Likewise.
7757         * lib/round.c (MIN): Likewise.
7758         Include <math.h> first.
7759
7760 2010-12-24  Bruno Haible  <bruno@clisp.org>
7761
7762         select tests: Avoid failures on OSF/1 5.1.
7763         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
7764         failure of closing the last socket; it may fail with ECONNRESET.
7765
7766 2010-12-24  Eric Blake  <eblake@redhat.com>
7767
7768         stdint: avoid HP-UX 10.20 preprocessor bug
7769         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
7770         than #if.
7771         * tests/test-floor2.c (main): Likewise.
7772         Reported by Peter O'Gorman.
7773
7774         pipe: make obsoletion transition easier
7775         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
7776         * modules/pipe (Files): Include revived file.
7777         (Include): Drop reference, to mirror getdate's behavior.
7778
7779 2010-12-24  Bruno Haible  <bruno@clisp.org>
7780
7781         sys_socket: Hide mismatch of declarations on NonStop Kernel.
7782         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
7783         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
7784         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7785
7786 2010-12-24  Bruno Haible  <bruno@clisp.org>
7787
7788         gethostname: Ensure declaration on NonStop Kernel.
7789         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
7790         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7791
7792 2010-12-24  Bruno Haible  <bruno@clisp.org>
7793
7794         sys_select: Ensure all necessary types on NonStop Kernel.
7795         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
7796         include <sys/time.h>.
7797         * doc/posix-headers/sys_select.texi: Mention that it's missing on
7798         NonStop Kernel.
7799         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7800
7801 2010-12-24  Bruno Haible  <bruno@clisp.org>
7802
7803         sys_select: Remove unneeded include.
7804         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
7805         have <sys/select.h>.
7806
7807 2010-12-24  Bruno Haible  <bruno@clisp.org>
7808
7809         gethostname: Provide a fallback for HOST_NAME_MAX.
7810         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
7811         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
7812         instead.
7813         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7814
7815 2010-12-24  Bruno Haible  <bruno@clisp.org>
7816
7817         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
7818         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
7819         (SA_RESTART): Likewise.
7820         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7821
7822 2010-12-24  Bruno Haible  <bruno@clisp.org>
7823
7824         signal: Define NSIG.
7825         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
7826         * tests/test-signal.c (nsig): New variable.
7827         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7828
7829 2010-12-24  Bruno Haible  <bruno@clisp.org>
7830
7831         rename, renameat: Avoid test failures on OSF/1 5.1.
7832         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
7833         alternative error codes.
7834         * tests/test-renameat.c (main): Likewise.
7835
7836 2010-12-24  Bruno Haible  <bruno@clisp.org>
7837
7838         *printf: Detect large precisions bug on Solaris 10/SPARC.
7839         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
7840         by Paul Eggert.
7841         * tests/test-snprintf-posix.h (test_function): Add this test code here
7842         too.
7843         * tests/test-sprintf-posix.h (test_function): Likewise.
7844         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7845         * tests/test-vasprintf-posix.c (test_function): Likewise.
7846         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
7847         around by gnulib.
7848         * doc/posix-functions/printf.texi: Likewise.
7849         * doc/posix-functions/snprintf.texi: Likewise.
7850         * doc/posix-functions/sprintf.texi: Likewise.
7851         * doc/posix-functions/vfprintf.texi: Likewise.
7852         * doc/posix-functions/vprintf.texi: Likewise.
7853         * doc/posix-functions/vsnprintf.texi: Likewise.
7854         * doc/posix-functions/vsprintf.texi: Likewise.
7855         * doc/posix-functions/dprintf.texi: Undo last commit.
7856         * doc/posix-functions/vdprintf.texi: Likewise.
7857
7858 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
7859
7860         tests: port test-fdutimensat.c to Solaris 8
7861         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
7862         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
7863         On Solaris 8, it fails with errno == ENOSYS, because there is no
7864         futimens (so it can't use the fd), and there is no lutimens (so it
7865         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
7866
7867         vsnprintf: make more consistent with snprintf; doc fixes
7868
7869         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
7870         the byte count return problem was promoted from the snprintf-posix
7871         to the snprintf module.
7872         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
7873         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
7874         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
7875         * tests/test-snprintf.c (main): Check the byte count returned.
7876         * tests/test-vsnprintf.c (main): Likewise.
7877
7878 2010-12-23  Eric Blake  <eblake@redhat.com>
7879
7880         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
7881         * modules/sigpipe (License): Relax license.
7882
7883 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
7884
7885         doc: document Solaris printf bug with large float precisions
7886         * doc/posix-functions/dprintf.texi (dprintf):
7887         * doc/posix-functions/fprintf.texi (fprintf):
7888         * doc/posix-functions/printf.texi (printf):
7889         * doc/posix-functions/snprintf.texi (snprintf):
7890         * doc/posix-functions/sprintf.texi (sprintf):
7891         * doc/posix-functions/vdprintf.texi (vdprintf):
7892         * doc/posix-functions/vfprintf.texi (vfprintf):
7893         * doc/posix-functions/vprintf.texi (vprintf):
7894         * doc/posix-functions/vsnprintf.texi (vsnprintf):
7895         * doc/posix-functions/vsprintf.texi (vsprintf):
7896         Mention that these functions mishandle large floating point
7897         precisions on Solaris 10.  The same bug is also present in Solaris
7898         8, and I assume earlier.  This causes "cd gnulib-tests; make
7899         check" to fail on Solaris 8 (and I assume, later) when building
7900         the latest coreutils, in test-vasprintf-posix's call to
7901         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
7902         the wide flavors (e.g., wprintf) so this patch just updates the
7903         documentation for the narrow ones.
7904
7905         test-posixtm.c: add two tests
7906         * tests/test-posixtm.c: Add two tests, to highlight the
7907         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
7908         around this bug; this is merely to document it.
7909
7910 2010-12-22  Bruno Haible  <bruno@clisp.org>
7911
7912         getlogin_r: Work around portability problem on OSF/1.
7913         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
7914         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
7915         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
7916         test for a truncated result.
7917         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
7918         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
7919         * modules/getlogin_r (Depends-on): Add memchr.
7920         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
7921
7922 2010-12-22  Bruno Haible  <bruno@clisp.org>
7923
7924         ptsname: Avoid test failure on OSF/1 5.1.
7925         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
7926         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
7927         (same_slave): New function.
7928         (main): Use it to compare ptsname's result with the expected file name.
7929
7930 2010-12-22  Bruno Haible  <bruno@clisp.org>
7931
7932         Port extended stdio modules to HP NonStop Kernel.
7933         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
7934         macros.
7935         * lib/fbufmode.c: Update comments.
7936         * lib/fflush.c: Likewise.
7937         * lib/fpurge.c: Likewise.
7938         * lib/freadable.c: Likewise.
7939         * lib/freadahead.c: Likewise.
7940         * lib/freading.c: Likewise.
7941         * lib/freadptr.c: Likewise.
7942         * lib/freadseek.c: Likewise.
7943         * lib/fseeko.c: Likewise.
7944         * lib/fseterr.c: Likewise.
7945         * lib/fwritable.c: Likewise.
7946         * lib/fwriting.c: Likewise.
7947         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7948
7949 2010-12-22  Bruno Haible  <bruno@clisp.org>
7950
7951         ttyname_r: Work around bug on OSF/1 5.1.
7952         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
7953         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
7954         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
7955         present.
7956         * lib/ttyname_r.c (ttyname_r): Update comments.
7957
7958 2010-12-22  Bruno Haible  <bruno@clisp.org>
7959
7960         round: Implement result sign according to IEEE 754.
7961         * lib/round.c (MIN, MINUS_ZERO): New macros.
7962         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
7963         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
7964         * tests/test-round-ieee.c (main): Likewise.
7965         * tests/test-roundl-ieee.c (main): Likewise.
7966
7967         trunc: Implement result sign according to IEEE 754.
7968         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
7969         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
7970         * tests/test-trunc2.c: Include minus-zero.h.
7971         (MINUS_ZERO): New macro.
7972         (trunc_reference): Keep in sync with lib/trunc.c.
7973         * tests/test-truncf2.c: Include minus-zero.h.
7974         (MINUS_ZERO): New macro.
7975         (truncf_reference): Keep in sync with lib/trunc.c.
7976         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
7977         * tests/test-trunc-ieee.c (main): Likewise.
7978         * tests/test-truncl-ieee.c (main): Likewise.
7979
7980         ceil: Implement result sign according to IEEE 754.
7981         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
7982         (FUNC): Return -0.0 for -1 < x < 0.
7983         * tests/test-ceil2.c: Include minus-zero.h.
7984         (MINUS_ZERO): New macro.
7985         (ceil_reference): Keep in sync with lib/ceil.c.
7986         * tests/test-ceilf2.c: Include minus-zero.h.
7987         (MINUS_ZERO): New macro.
7988         (ceilf_reference): Keep in sync with lib/ceil.c.
7989         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
7990         * tests/test-ceil-ieee.c (main): Likewise.
7991         * tests/test-ceill-ieee.c (main): Likewise.
7992
7993         floor: Implement result sign according to IEEE 754.
7994         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
7995         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
7996         * tests/test-floorf2.c (floorf_reference): Likewise.
7997         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
7998         * tests/test-floor-ieee.c (main): Likewise.
7999         * tests/test-floorl-ieee.c (main): Likewise.
8000
8001 2010-12-22  Bruno Haible  <bruno@clisp.org>
8002
8003         getaddrinfo: Update doc.
8004         * doc/posix-functions/gai_strerror.texi: Return type is also different
8005         on AIX and HP-UX.
8006
8007 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8008
8009         getaddrinfo, inet_ntop: Update doc for Solaris.
8010         * doc/posix-functions/gai_strerror.texi: Return type is also an
8011         issue on Solaris 9 and earlier.
8012         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
8013         on Solaris 10 and earlier.
8014
8015 2010-12-21  Bruno Haible  <bruno@clisp.org>
8016
8017         New module 'roundl-ieee'.
8018         * modules/roundl-ieee: New file.
8019         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
8020         test whether roundl works according to ISO C 99 with IEC 60559.
8021         * m4/roundl-ieee.m4: New file.
8022         * modules/roundl-ieee-tests: New file.
8023         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
8024         * tests/test-roundl.c (main): Remove signbit tests.
8025         * modules/roundl-tests (Depends-on): Remove signbit.
8026         * doc/posix-functions/roundl.texi: Mention the new module.
8027
8028 2010-12-21  Bruno Haible  <bruno@clisp.org>
8029
8030         New module 'truncl-ieee'.
8031         * modules/truncl-ieee: New file.
8032         * modules/truncl-ieee-tests: New file.
8033         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
8034         * tests/test-truncl.c (main): Remove signbit tests.
8035         * modules/truncl-tests (Depends-on): Remove signbit.
8036         * doc/posix-functions/truncl.texi: Mention the new module.
8037
8038 2010-12-21  Bruno Haible  <bruno@clisp.org>
8039
8040         New module 'ceill-ieee'.
8041         * modules/ceill-ieee: New file.
8042         * modules/ceill-ieee-tests: New file.
8043         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
8044         * tests/test-ceill.c (main): Remove signbit tests.
8045         * modules/ceill-tests (Depends-on): Remove signbit.
8046         * doc/posix-functions/ceill.texi: Mention the new module.
8047
8048 2010-12-21  Bruno Haible  <bruno@clisp.org>
8049
8050         New module 'floorl-ieee'.
8051         * modules/floorl-ieee: New file.
8052         * modules/floorl-ieee-tests: New file.
8053         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
8054         * tests/test-floorl.c (main): Remove signbit tests.
8055         * modules/floorl-tests (Depends-on): Remove signbit.
8056         * doc/posix-functions/floorl.texi: Mention the new module.
8057
8058 2010-12-21  Bruno Haible  <bruno@clisp.org>
8059
8060         New module 'round-ieee'.
8061         * modules/round-ieee: New file.
8062         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
8063         whether round works according to ISO C 99 with IEC 60559.
8064         * m4/round-ieee.m4: New file.
8065         * modules/round-ieee-tests: New file.
8066         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
8067         * tests/test-round1.c (main): Remove signbit tests.
8068         * modules/round-tests (Depends-on): Remove 'signbit'.
8069         * doc/posix-functions/round.texi: Mention the new module.
8070
8071 2010-12-21  Bruno Haible  <bruno@clisp.org>
8072
8073         New module 'trunc-ieee'.
8074         * modules/trunc-ieee: New file.
8075         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
8076         whether trunc works according to ISO C 99 with IEC 60559.
8077         * m4/trunc-ieee.m4: New file.
8078         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
8079         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
8080         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
8081         * modules/trunc-ieee-tests: New file.
8082         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
8083         * tests/test-trunc1.c (main): Remove signbit tests.
8084         * modules/trunc-tests (Depends-on): Remove 'signbit'.
8085         * doc/posix-functions/trunc.texi: Mention the new module.
8086
8087 2010-12-21  Bruno Haible  <bruno@clisp.org>
8088
8089         New module 'ceil-ieee'.
8090         * modules/ceil-ieee: New file.
8091         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
8092         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
8093         ISO C 99 with IEC 60559.
8094         * m4/ceil-ieee.m4: New file.
8095         * modules/ceil (Files): Add lib/ceil.c.
8096         (Depends-on): Add 'float'.
8097         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8098         * lib/math.in.h (ceil): New declaration.
8099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
8100         REPLACE_CEIL.
8101         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
8102         * modules/ceil-ieee-tests: New file.
8103         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
8104         * tests/test-math-c++.cc: Check the signature of 'ceil'.
8105         * doc/posix-functions/ceil.texi: Mention the new module.
8106
8107 2010-12-21  Bruno Haible  <bruno@clisp.org>
8108
8109         New module 'floor-ieee'.
8110         * modules/floor-ieee: New file.
8111         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
8112         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
8113         ISO C 99 with IEC 60559.
8114         * m4/floor-ieee.m4: New file.
8115         * modules/floor (Files): Add lib/floor.c.
8116         (Depends-on): Add 'float'.
8117         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8118         * lib/math.in.h (floor): New declaration.
8119         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
8120         REPLACE_FLOOR.
8121         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
8122         * modules/floor-ieee-tests: New file.
8123         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
8124         * tests/test-math-c++.cc: Check the signature of 'floor'.
8125         * doc/posix-functions/floor.texi: Mention the new module.
8126
8127 2010-12-21  Bruno Haible  <bruno@clisp.org>
8128
8129         New module 'roundf-ieee'.
8130         * modules/roundf-ieee: New file.
8131         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
8132         test whether roundf works according to ISO C 99 with IEC 60559.
8133         * m4/roundf-ieee.m4: New file.
8134         * modules/roundf-ieee-tests: New file.
8135         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
8136         * tests/test-roundf1.c (main): Remove signbit tests.
8137         * modules/roundf-tests (Depends-on): Remove 'signbit'.
8138         * doc/posix-functions/roundf.texi: Mention the new module.
8139
8140 2010-12-21  Bruno Haible  <bruno@clisp.org>
8141
8142         New module 'truncf-ieee'.
8143         * modules/truncf-ieee: New file.
8144         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
8145         test whether truncf works according to ISO C 99 with IEC 60559.
8146         * m4/truncf-ieee.m4: New file.
8147         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
8148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
8149         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
8150         * modules/truncf-ieee-tests: New file.
8151         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
8152         * tests/test-truncf1.c (main): Remove signbit tests.
8153         * modules/truncf-tests (Depends-on): Remove 'signbit'.
8154         * doc/posix-functions/truncf.texi: Mention the new module.
8155
8156 2010-12-21  Bruno Haible  <bruno@clisp.org>
8157
8158         New module 'ceilf-ieee'.
8159         * modules/ceilf-ieee: New file.
8160         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
8161         test whether ceilf works according to ISO C 99 with IEC 60559.
8162         * m4/ceilf-ieee.m4: New file.
8163         * modules/ceilf-ieee-tests: New file.
8164         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
8165         * tests/test-ceilf1.c (main): Remove signbit tests.
8166         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
8167         * doc/posix-functions/ceilf.texi: Mention the new module.
8168
8169 2010-12-21  Bruno Haible  <bruno@clisp.org>
8170
8171         New module 'floorf-ieee'.
8172         * modules/floorf-ieee: New file.
8173         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
8174         test whether floorf works according to ISO C 99 with IEC 60559.
8175         * m4/floorf-ieee.m4: New file.
8176         * modules/floorf-ieee-tests: New file.
8177         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
8178         * tests/test-floorf1.c (main): Remove signbit tests.
8179         * modules/floorf-tests (Depends-on): Remove 'signbit'.
8180         * doc/posix-functions/floorf.texi: Mention the new module.
8181
8182 2010-12-21  Bruno Haible  <bruno@clisp.org>
8183
8184         Support for minus zero in autoconf macros.
8185         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
8186         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
8187         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
8188         * tests/minus-zero.h: Update comments.
8189
8190 2010-12-21  Bruno Haible  <bruno@clisp.org>
8191
8192         Tests for module 'ceil'.
8193         * modules/ceil-tests: New file.
8194         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
8195         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
8196
8197 2010-12-21  Bruno Haible  <bruno@clisp.org>
8198
8199         Tests for module 'floor'.
8200         * modules/floor-tests: New file.
8201         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
8202         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
8203
8204 2010-12-21  Bruno Haible  <bruno@clisp.org>
8205
8206         math: Fix indentation.
8207         * lib/math.in.h (floorf): Fix indentation.
8208
8209 2010-12-21  Bruno Haible  <bruno@clisp.org>
8210
8211         Fix cross-compilation guesses on Solaris.
8212         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
8213         not match "solaris2.10".
8214         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8215         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
8216         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
8217
8218 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
8219
8220         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
8221         This fixes a problem observed with the latest coreutils snapshot
8222         that caused a test to fail on Solaris 8.  src/csplit.c's call
8223         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
8224         earlier, instead of returning the number of bytes that would have
8225         been generated; this causes csplit to incorrectly report memory
8226         exhaustion.
8227         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
8228         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
8229         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
8230         comments to match.
8231         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
8232         Fix typo in matching older versions of Solaris: "solaris2.10"
8233         is matched by the shell pattern "solaris2.[0-9]*".  This matters
8234         only for guessing while cross-compiling.
8235         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
8236
8237 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
8238
8239         ftoastr: fix comment again
8240         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8241         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
8242         Also, simplify example a bit by using flags = 0.
8243
8244 2010-12-20  Bruno Haible  <bruno@clisp.org>
8245
8246         round*, trunc*: Update documentation regarding glibc.
8247         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
8248         * doc/posix-functions/round.texi: Likewise.
8249         * doc/posix-functions/roundl.texi: Likewise.
8250         * doc/posix-functions/truncf.texi: Likewise.
8251         * doc/posix-functions/trunc.texi: Likewise.
8252         * doc/posix-functions/truncl.texi: Likewise.
8253
8254 2010-12-20  Bruno Haible  <bruno@clisp.org>
8255
8256         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
8257         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
8258         * doc/posix-functions/round.texi: Likewise.
8259         * doc/posix-functions/roundl.texi: Likewise.
8260
8261 2010-12-20  Bruno Haible  <bruno@clisp.org>
8262
8263         ttyname_r: Add missing declaration on HP-UX 11.
8264         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
8265         HAVE_TTYNAME_R.
8266         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
8267         declared. Set HAVE_TTYNAME_R always.
8268         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8269         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
8270         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
8271         HAVE_TTYNAME_R.
8272         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
8273
8274 2010-12-20  Bruno Haible  <bruno@clisp.org>
8275
8276         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
8277         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
8278         * doc/posix-functions/getlogin_r.texi: Likewise.
8279         * tests/test-getlogin.c: Include <errno.h>.
8280         (main): Avoid test failure on HP-UX 11.11.
8281         * tests/test-getlogin_r.c (main): Likewise.
8282
8283 2010-12-20  Bruno Haible  <bruno@clisp.org>
8284
8285         getlogin_r: Add missing declaration on HP-UX 11.
8286         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
8287         declared also when it exists as a function.
8288         * doc/posix-functions/getlogin_r.texi: Document this workaround.
8289
8290 2010-12-20  Bruno Haible  <bruno@clisp.org>
8291
8292         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
8293         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
8294         through wcrtomb.
8295
8296 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
8297
8298         ftoastr: fix comment
8299         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8300         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
8301
8302 2010-12-19  Bruno Haible  <bruno@clisp.org>
8303
8304         isnan: Ensure it is a macro.
8305         * lib/math.in.h (isnan): Define as a macro if not already a macro.
8306         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
8307         Solaris.
8308
8309 2010-12-19  Bruno Haible  <bruno@clisp.org>
8310
8311         ldexpl test: Fix link error on OSF/1 5.1.
8312         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
8313
8314 2010-12-19  Bruno Haible  <bruno@clisp.org>
8315
8316         wctype: Make it work in C++ mode on OSF/1 5.1.
8317         * lib/wctype.in.h (iswblank): Declare but not define here.
8318         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
8319         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
8320         * modules/wctype (Files): Add lib/iswblank.c.
8321
8322 2010-12-19  Bruno Haible  <bruno@clisp.org>
8323
8324         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
8325         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
8326         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
8327
8328 2010-12-19  Bruno Haible  <bruno@clisp.org>
8329
8330         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
8331         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
8332         _POSIX_PII_SOCKET.
8333         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
8334         * doc/posix-functions/recvfrom.texi: Likewise.
8335         * doc/posix-functions/send.texi: Likewise.
8336         * doc/posix-functions/sendto.texi: Likewise.
8337
8338 2010-12-19  Bruno Haible  <bruno@clisp.org>
8339
8340         tcgetsid: Add missing declaration on OSF/1 5.1.
8341         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
8342         HAVE_TCGETSID.
8343         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
8344         Don't set HAVE_TCGETSID.
8345         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
8346         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
8347         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
8348         HAVE_TCGETSID.
8349         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
8350
8351 2010-12-19  Bruno Haible  <bruno@clisp.org>
8352
8353         stdio: Fix problem with popen() declaration on OSF/1 5.1.
8354         * lib/stdio.in.h: During the include_next statement, let recursive
8355         includes of this file include only the system header file.
8356
8357 2010-12-19  Bruno Haible  <bruno@clisp.org>
8358
8359         iconv_open: Fix regression from 2010-12-04.
8360         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
8361         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
8362
8363 2010-12-19  Bruno Haible  <bruno@clisp.org>
8364
8365         stdbool test: Avoid a gcc warning.
8366         * tests/test-stdbool.c (main): Fail if e1 is false.
8367         Reported by Jim Meyering.
8368
8369 2010-12-19  Jim Meyering  <meyering@redhat.com>
8370
8371         setenv: restore to working order
8372         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
8373         mistakenly removed.
8374         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
8375         HAVE_SETENV.
8376         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
8377         HAVE_SETENV.
8378
8379 2010-12-19  Bruno Haible  <bruno@clisp.org>
8380
8381         Document some different function declarations on OSF/1 5.1.
8382         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
8383         * doc/posix-functions/inet_ntop.texi: Likewise.
8384         * doc/posix-functions/gethostname.texi: Likewise.
8385         * lib/unistd.in.h (gethostname): Update comment.
8386
8387 2010-12-19  Bruno Haible  <bruno@clisp.org>
8388
8389         doc: Mention vasprintf-posix module.
8390         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
8391         the 'vasprintf-posix' module.
8392         * doc/glibc-functions/vasprintf.texi: Likewise.
8393
8394 2010-12-19  Bruno Haible  <bruno@clisp.org>
8395
8396         unsetenv: Add missing declaration on OSF/1 5.1.
8397         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
8398         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
8399         Don't set HAVE_UNSETENV. In the test program, set _BSD.
8400         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
8401         not HAVE_UNSETENV.
8402         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
8403         HAVE_UNSETENV.
8404         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
8405
8406 2010-12-19  Bruno Haible  <bruno@clisp.org>
8407
8408         setenv: Add missing declaration on OSF/1 5.1.
8409         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
8410         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
8411         declared. Don't set HAVE_SETENV.
8412         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
8413         not HAVE_SETENV.
8414         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
8415         HAVE_SETENV.
8416         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
8417
8418 2010-12-19  Bruno Haible  <bruno@clisp.org>
8419
8420         nl_langinfo tests: Avoid gcc warning.
8421         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
8422
8423 2010-12-19  Bruno Haible  <bruno@clisp.org>
8424
8425         mknod: Avoid error in C++ mode on OSF/1 with GCC.
8426         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
8427         _GL_CXXALIAS_SYS.
8428
8429 2010-12-19  Bruno Haible  <bruno@clisp.org>
8430
8431         stdbool: Relax test.
8432         * tests/test-stdbool.c (e): Don't require that casts from a variable's
8433         address to 'bool' work in static initializer, for compilers other than
8434         GCC.
8435
8436 2010-12-19  Bruno Haible  <bruno@clisp.org>
8437
8438         ftello: Add missing declaration on OSF/1 5.1.
8439         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
8440         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
8441         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
8442         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
8443         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
8444
8445 2010-12-19  Bruno Haible  <bruno@clisp.org>
8446
8447         fseeko: Add missing declaration on OSF/1 5.1.
8448         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
8449         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
8450         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
8451         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
8452         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
8453
8454 2010-12-19  Bruno Haible  <bruno@clisp.org>
8455
8456         fchdir: Add missing declaration on OSF/1 5.1.
8457         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
8458         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
8459         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
8460         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
8461         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
8462
8463 2010-12-19  Bruno Haible  <bruno@clisp.org>
8464
8465         relocatable-prog-wrapper: Separate from relocatable-prog.
8466         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
8467         uninstall-relocwrapper rule here.
8468         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
8469         Reported by Ian Beckwith <ianb@erislabs.net>.
8470
8471 2010-12-19  Bruno Haible  <bruno@clisp.org>
8472
8473         unistr/u8-mbsnlen: Add missing dependency.
8474         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
8475         Reported by Ian Beckwith <ianb@erislabs.net>.
8476
8477 2010-12-19  Bruno Haible  <bruno@clisp.org>
8478
8479         iconv: Make it possible again to use this module without 'iconv-h'.
8480         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
8481         if it is not defined.
8482         Reported by Ian Beckwith <ianb@erislabs.net>.
8483
8484 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8485
8486         acl: port to Solaris 8 when copying from tmpfs to ufs
8487         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
8488         error number.  Problem observed on Solaris 8 with latest
8489         coreutils, with "mv A B", where A is on a tmpfs file system and B
8490         is on a ufs file system.  This caused coreutils' mv/part-symlink
8491         test to fail.
8492
8493         tests: set fail=0 at start
8494         * tests/init.sh (setup_): Move fail=0 initialization here ...
8495         (mktempd_): ... from here, so that tests can rely on fail being
8496         set to 0 initially.  This fixes a problem in coreutils; see:
8497         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
8498
8499 2010-12-18  Bruno Haible  <bruno@clisp.org>
8500
8501         memmem-simple: Stylistic changes.
8502         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
8503         Fix preprocessor directive indentation.
8504
8505 2010-12-15  Pádraig Brady <P@draigBrady.com>
8506
8507         memmem, memmem-simple: reorganize and expand empty needle check
8508         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
8509         functional checks to memmem-simple so that one has a fully functional
8510         memmem by using just this module.
8511         Restrict the performance only check to the memmem module.
8512         Also expand the empty needle check to ensure the correct
8513         pointer is returned, not just a non NULL pointer.
8514         * doc/glibc-functions/memmem.texi: Rearrange the portability
8515         documentation to correlate with the rearranged checks.
8516         Clarify exactly how the memmem and memmem-simple modules
8517         relate to each other.
8518
8519 2010-12-15  Pádraig Brady <P@draigBrady.com>
8520             Bruno Haible  <bruno@clisp.org>
8521
8522         Improve cross-compilation guesses for uClibc.
8523         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
8524         that uClibc does not have the glibc bug.
8525         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
8526         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
8527
8528 2010-12-14  Eric Blake  <eblake@redhat.com>
8529
8530         configmake: provide fallbacks for oldest supported autotools
8531         * m4/configmake.m4: New file.
8532         * modules/configmake (Files): Ship it.
8533         (configure.ac): Use it to guarantee fallbacks.
8534
8535 2010-12-13  Pádraig Brady <P@draigBrady.com>
8536
8537         read-file: Improve handling of large files
8538         * lib/read-file.c (fread_file): Minimize realloc()s
8539         for regular files, and better manage sizes around SIZE_MAX.
8540
8541 2010-12-13  Eric Blake  <eblake@redhat.com>
8542
8543         cloexec, fcntl: relax license
8544         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
8545         consent from all contributors.
8546         * modules/fcntl (License): Likewise.
8547
8548 2010-12-10  Bruno Haible  <bruno@clisp.org>
8549
8550         Tests for module 'pipe-posix'.
8551         * modules/pipe-posix-tests: New file.
8552         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
8553
8554 2010-12-10  Bruno Haible  <bruno@clisp.org>
8555
8556         pipe-posix: Make it work in C++ mode.
8557         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
8558         (pipe): Use common idiom, not a macro definition.
8559         * lib/pipe.c: New file.
8560         * m4/pipe.m4: New file.
8561         * modules/pipe-posix (Description): Enhance.
8562         (Files): Add lib/pipe.c, m4/pipe.m4.
8563         (configure.ac): Invoke gl_FUNC_PIPE.
8564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
8565         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
8566         * tests/test-unistd-c++.cc: Check the signature of pipe.
8567
8568 2010-12-10  Bruno Haible  <bruno@clisp.org>
8569
8570         Rename module 'pipe' to 'spawn-pipe'.
8571         * modules/spawn-pipe: New file, renamed from modules/pipe.
8572         (Files, configure.ac, Makefile.am): Update.
8573         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
8574         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
8575         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
8576         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
8577         "spawn-pipe.h" instead of "pipe.h".
8578         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
8579         to gl_SPAWN_PIPE.
8580         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
8581         (Files, Makefile.am): Update.
8582         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
8583         Update.
8584         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
8585         Include "spawn-pipe.h" instead of "pipe.h".
8586         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
8587         * lib/javacomp.c: Likewise.
8588         * lib/javaversion.c: Likewise.
8589         * lib/pipe-filter-gi.c: Likewise.
8590         * lib/pipe-filter-ii.c: Likewise.
8591         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
8592         * modules/javacomp (Depends-on): Likewise.
8593         * modules/javaversion (Depends-on): Likewise.
8594         * modules/pipe-filter-gi (Depends-on): Likewise.
8595         * modules/pipe-filter-ii (Depends-on): Likewise.
8596         * MODULES.html.sh (Executing programs): Update.
8597         * NEWS: Mention the change.
8598
8599 2010-12-10  Eric Blake  <eblake@redhat.com>
8600
8601         pipe-posix: new module
8602         * modules/pipe-posix: New file.
8603         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
8604         (gl_UNISTD_H): Check for declaration.
8605         * modules/unistd (Makefile.am): Substitute it.
8606         * lib/unistd.in.h (pipe): Provide it for mingw.
8607         * doc/posix-functions/pipe.texi (pipe): Update documentation.
8608         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
8609
8610 2010-12-07  Bruno Haible  <bruno@clisp.org>
8611
8612         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
8613         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
8614         u8_strcmp_gnu.
8615         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
8616
8617 2010-12-06  Bruno Haible  <bruno@clisp.org>
8618
8619         Update internal documentation.
8620         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
8621
8622 2010-12-04  Bruno Haible  <bruno@clisp.org>
8623
8624         Put more information about failed tests into the test return codes.
8625         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
8626         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
8627         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8628         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8629         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
8630         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8631         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8632         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8633         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
8634         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8635         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
8636         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
8637         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8638         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8639         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
8640         returns a bit mask.
8641         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
8642         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
8643         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
8644         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
8645         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8646         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
8647         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
8648         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8649         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8650         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
8651         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8652         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
8653         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8654         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8655         * m4/link.m4 (gl_FUNC_LINK): Likewise.
8656         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
8657         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
8658         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
8659         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8660         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
8661         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
8662         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
8663         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
8664         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
8665         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8666         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8667         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
8668         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8669         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8670         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
8671         gl_PRINTF_PRECISION): Likewise.
8672         * m4/regex.m4 (gl_REGEX): Likewise.
8673         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
8674         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
8675         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
8676         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8677         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8678         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8679         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
8680         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
8681         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
8682         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8683         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
8684         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8685         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8686         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
8687         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8688         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8689         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
8690         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8691         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8692         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
8693         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
8694         enumerated value.
8695         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
8696
8697 2010-12-04  Bruno Haible  <bruno@clisp.org>
8698
8699         Update for Solaris 11 2010-11.
8700         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
8701         Express, released in November 2010.
8702
8703 2010-12-04  Bruno Haible  <bruno@clisp.org>
8704
8705         nproc: Relax license.
8706         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
8707         and Paul Eggert.
8708         Requested by Ludovic Courtès <ludo@gnu.org>.
8709
8710 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
8711
8712         utimecmp: fine-grained src to nearby coarse-grained dest
8713
8714         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
8715         and the source is on a file system with higher-resolution time
8716         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
8717         not work, and the time stamps are close together, the algorithm to
8718         determine the exact resolution from the read-back mtime was buggy:
8719         it had a "!=" where it should have had an "==".  This bug has been
8720         in the code ever since it was introduced to gnulib.
8721         Problem reported by Dan Jacobson in
8722         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
8723
8724 2010-11-30  Bruno Haible  <bruno@clisp.org>
8725
8726         strerror_r-posix: Fix autoconf test.
8727         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
8728
8729 2010-11-28  Bruno Haible  <bruno@clisp.org>
8730             Paul Eggert  <eggert@cs.ucla.edu>
8731
8732         Tests for module 'getdomainname'.
8733         * modules/getdomainname-tests: New file.
8734         * tests/test-getdomainname.c: New file, based on
8735         tests/test-gethostname.c.
8736
8737 2010-11-28  Bruno Haible  <bruno@clisp.org>
8738             Paul Eggert  <eggert@cs.ucla.edu>
8739
8740         getdomainname: Use the system function when possible.
8741         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
8742         (getdomainname): Replace if needed. Provide the declaration if it is
8743         missing. Don't use _GL_CXXALIAS_SYS_CAST.
8744         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
8745         (getdomainname): When the system has getdomainname, call the system
8746         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
8747         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
8748         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
8749         found in libnsl. Look for the declaration also in <netdb.h>. Replace
8750         the function if its second argument is of type 'int' or if it is found
8751         in libnsl.
8752         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
8753         <sys/systeminfo.h> and sysinfo().
8754         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
8755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8756         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
8757         HAVE_GETDOMAINNAME.
8758         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
8759         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
8760         * doc/glibc-functions/getdomainname.texi: Document the problems with
8761         the getdomainname declaration.
8762
8763 2010-11-28  Bruno Haible  <bruno@clisp.org>
8764
8765         sys_socket: Ensure ss_family field on AIX.
8766         * lib/sys_socket.in.h (ss_family): New macro definition.
8767         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
8768         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
8769         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
8770         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8771         * modules/sys_socket (Makefile.am): Substitute
8772         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8773         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
8774
8775 2010-11-27  Bruno Haible  <bruno@clisp.org>
8776
8777         readline: Improve configure output.
8778         * m4/readline.m4 (gl_FUNC_READLINE): Make the
8779         "checking for readline..." result understandable.
8780
8781 2010-11-27  Bruno Haible  <bruno@clisp.org>
8782
8783         *printf-posix: Detect a bug on Solaris 10/x86.
8784         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
8785         for floating-point output.
8786         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
8787         directive.
8788         * tests/test-snprintf-posix.h (test_function): Likewise.
8789         * tests/test-sprintf-posix.h (test_function): Likewise.
8790         * tests/test-vasprintf-posix.c (test_function): Likewise.
8791         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
8792         * doc/posix-functions/printf.texi: Likewise.
8793         * doc/posix-functions/snprintf.texi: Likewise.
8794         * doc/posix-functions/sprintf.texi: Likewise.
8795         * doc/posix-functions/vfprintf.texi: Likewise.
8796         * doc/posix-functions/vprintf.texi: Likewise.
8797         * doc/posix-functions/vsnprintf.texi: Likewise.
8798         * doc/posix-functions/vsprintf.texi: Likewise.
8799         * doc/glibc-functions/obstack_printf.texi: Likewise.
8800         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8801
8802 2010-11-27  Bruno Haible  <bruno@clisp.org>
8803
8804         Fix link error when module libunistring-optional is in use.
8805         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
8806         * modules/striconveha-tests (Makefile.am): Likewise.
8807
8808 2010-11-27  Bruno Haible  <bruno@clisp.org>
8809
8810         regex: Mention link dependencies.
8811         * modules/regex (Link): New section.
8812         * modules/rpmatch (Link): Likewise.
8813         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
8814
8815 2010-11-27  Bruno Haible  <bruno@clisp.org>
8816
8817         ftoastr: Fix compilation error on Solaris.
8818         * lib/ftoastr.c: Include <config.h>.
8819
8820 2010-11-27  Bruno Haible  <bruno@clisp.org>
8821
8822         getloadavg: Update documentation.
8823         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
8824
8825 2010-11-27  Bruno Haible  <bruno@clisp.org>
8826
8827         sys_socket: Fix test whether the functions are declared.
8828         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
8829         not <sys/select.h>.
8830
8831 2010-11-27  Bruno Haible  <bruno@clisp.org>
8832
8833         getpass: Make sure to get system declaration on some platforms.
8834         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
8835         gl_USE_SYSTEM_EXTENSIONS.
8836         * modules/getpass (Depends-on): Add extensions.
8837
8838 2010-11-26  Bruno Haible  <bruno@clisp.org>
8839
8840         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
8841         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
8842         'iconv' module is present.
8843         (ICONV_CONST): New macro.
8844         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
8845         ICONV_CONST.
8846         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
8847         set ICONV_CONST.
8848         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
8849         here.
8850         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
8851         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
8852         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
8853         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
8854         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
8855         present.
8856
8857 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
8858
8859         ftoastr: comment fix
8860         * lib/ftoastr.c: "little" -> "little or no" in comment
8861
8862 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8863
8864         stdint: port to GCC 4.3 + OSX + Octave
8865         On this platform, stdint.h is buggy and defines int64_t to long
8866         long int.  The replacement defined it to long int, causing
8867         problems with C++ style name mangling.  Instead, trust the system
8868         definition if INT64_MAX is defined, and likewise for the unsigned
8869         variant.   Problem reported by Jarno Rajahalme in
8870         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
8871         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
8872         and don't mess with int64_t and INT64_MAX in this case.
8873         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
8874
8875 2010-11-24  Bruno Haible  <bruno@clisp.org>
8876
8877         doc: Corrections regarding MacOS X 10.4 and 10.5.
8878         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
8879         MacOS X.
8880         Reported by Simon Josefsson.
8881
8882 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
8883
8884         Uninstall ".bin" files installed by relocwrapper.
8885         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
8886         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
8887         unless it is already there.
8888
8889 2010-11-21  Bruno Haible  <bruno@clisp.org>
8890
8891         Update for NetBSD 5.0.
8892         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
8893         NetBSD; the test fails on NetBSD 5.0.
8894         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
8895         about NetBSD.
8896
8897 2010-11-21  Bruno Haible  <bruno@clisp.org>
8898
8899         Update for HP-UX 11.23 and HP-UX 11.31.
8900         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
8901         HP-UX.
8902
8903 2010-11-21  Bruno Haible  <bruno@clisp.org>
8904
8905         Update for MacOS X 10.5.
8906         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
8907         MacOS X; the test fails on MacOS X 10.5.8.
8908         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
8909         about MacOS X.
8910
8911 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
8912
8913         bootstrap: add bootstrap_sync option.
8914         See discussion at
8915         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
8916         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
8917         * build-aux/bootstrap: Accept --bootstrap-sync to update
8918         bootstrap if it is not identical to the local gnulib's
8919         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
8920         enable this by default.  Accept --no-bootstrap-sync to disable
8921         it.
8922
8923 2010-11-20  Bruno Haible  <bruno@clisp.org>
8924
8925         Ensure that <features.h> is included before __GLIBC__ is tested.
8926         * lib/printf-parse.h: Include <features.h>.
8927         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
8928         Reported by Mike Frysinger <vapier@gentoo.org>.
8929
8930         Ensure that <features.h> is included before __GLIBC__ is tested.
8931         * lib/wchar.in.h: Include <features.h>.
8932         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
8933         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
8934         Reported by Mike Frysinger <vapier@gentoo.org>.
8935
8936         Ensure that <features.h> is included before __GLIBC__ is tested.
8937         * lib/arpa_inet.in.h: Include <features.h>.
8938         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
8939         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
8940         Reported by Mike Frysinger <vapier@gentoo.org>.
8941
8942         Ensure that <features.h> is included before __GLIBC__ is tested.
8943         * build-aux/link-warning.h: Include <features.h>.
8944         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
8945         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
8946         Reported by Mike Frysinger <vapier@gentoo.org>.
8947
8948         Ensure that <features.h> is included before __GLIBC__ is tested.
8949         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
8950         Reported by Mike Frysinger <vapier@gentoo.org>.
8951
8952 2010-11-20  Bruno Haible  <bruno@clisp.org>
8953
8954         memmem: Fix autoconf test.
8955         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
8956
8957 2010-11-20  Bruno Haible  <bruno@clisp.org>
8958
8959         Port to uClibc.
8960         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
8961         * lib/fcntl.in.h: Likewise.
8962         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
8963         * lib/mbrtowc.c (mbrtowc): Likewise.
8964         * lib/relocatable.c (find_shared_library_fullname): Likewise.
8965         * lib/strerror_r.c: Likewise.
8966         * lib/unistr/u8-strnlen.c: Likewise.
8967         * lib/vasnprintf.c (decimal_point_char): Likewise.
8968         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
8969         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
8970         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
8971         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
8972         * tests/test-sigaction.c (handler, main): Likewise.
8973         * lib/freading.h: Treat uClibc like a non-glibc platform.
8974         * lib/freading.c: Likewise.
8975         * lib/gettext.h: Likewise.
8976         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
8977         Likewise.
8978         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
8979         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
8980         * lib/propername.c (proper_name_utf8): Likewise.
8981         * lib/spawn.in.h: Likewise.
8982         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
8983         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
8984         mem_cd_iconveh_internal): Likewise.
8985         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
8986         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
8987         strstr, strcasestr): Likewise.
8988         * lib/unicodeio.c (unicode_to_mb): Likewise.
8989         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
8990         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
8991         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
8992         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
8993         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
8994         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
8995         * lib/unistr/u8-stpncpy.c: Likewise.
8996         * lib/vasnprintf.c (VASNPRINTF): Likewise.
8997         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
8998         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8999         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
9000         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
9001         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
9002         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
9003         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
9004         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
9005         Likewise.
9006         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
9007         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9008         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
9009         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
9010         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9011         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
9012         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9013         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9014         * tests/test-getopt.h (OPTIND_MIN): Likewise.
9015         * tests/test-striconveha.c (main): Likewise.
9016         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9017         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
9018         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
9019         * doc/posix-functions/getline.texi: Likewise.
9020         Reported by Mike Frysinger <vapier@gentoo.org>.
9021
9022 2010-11-20  Bruno Haible  <bruno@clisp.org>
9023
9024         nproc: Fix condition.
9025         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
9026         HAVE_PTHREAD_AFFINITY_NP.
9027
9028 2010-11-20  Bruno Haible  <bruno@clisp.org>
9029
9030         Fix a comment.
9031         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
9032
9033 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
9034
9035         ftoastr: don't assume snprintf
9036         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
9037         Implement a subset of snprintf here, by using sprintf safely.
9038         * modules/ftoastr (Depends-on): Remove snprintf.
9039
9040 2010-11-19  Jim Meyering  <meyering@redhat.com>
9041
9042         test-rename.h: fix compilation failure
9043         * tests/test-rename.h (test_rename): Add omitted "}".
9044
9045 2010-11-17  Jim Meyering  <meyering@redhat.com>
9046
9047         maint.mk: add a URL discussing the no-@acronym policy
9048         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
9049
9050 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9051
9052         ftoastr: depend on snprintf, improve comments
9053         * lib/ftoastr.c: Also mention Loitsch's draft.
9054         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
9055         needed in the current implementation, but it might simplify
9056         speeding up the code later.
9057         * modules/ftoastr: Depend on snprintf; this improves portability.
9058         Suggested by Bruno Haible in the same email.
9059
9060         ftoastr: port to hosts lacking strtof and strtold
9061         Problem reported by Bruno Haible in
9062         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
9063         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
9064         environment and strtold (and presumably strtof) are not available.
9065         * modules/ftoastr (Files): Add m4/c-strtod.m4.
9066         (configure.ac): Require gl_C99_STRTOLD.
9067
9068 2010-11-18  Bruno Haible  <bruno@clisp.org>
9069
9070         c-strtold: Avoid link error on AIX 7.
9071         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
9072         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
9073         (gl_C_STRTOLD): Test whether strtold_l exists.
9074         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9075
9076 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9077
9078         intprops: new macro INT_BITS_STRLEN_BOUND
9079         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
9080         ftoastr.h.  This exposes an internal of intprops.h that was formerly
9081         not exposed.  Also, it uses a slightly tighter bound than before;
9082         though this makes no practical difference, we might as well be as
9083         tight as we easily can.
9084
9085         ftoastr: new module, for lossless conversion of floats to short strings
9086         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
9087         * modules/ftoastr: New files.
9088
9089 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9090
9091         bootstrap: port to Solaris sed
9092         * build-aux/bootstrap (get_version): Port to Solaris sed.
9093         See Ralf Wildenhues's note in
9094         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
9095
9096 2010-11-14  Jim Meyering  <meyering@redhat.com>
9097
9098         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
9099         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
9100         and move definition closer to sole use.
9101
9102 2010-11-13  Jim Meyering  <meyering@redhat.com>
9103
9104         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
9105         Now we require at least autoconf-2.59, which means the work-around
9106         is no longer needed.
9107         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
9108         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9109         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
9110         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
9111         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
9112
9113 2010-11-13  Bruno Haible  <bruno@clisp.org>
9114
9115         rename, renameat: Avoid test failures at NFS mounted locations.
9116         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
9117         functions.
9118         (test_rename): Use assert_nonexistent.
9119         * tests/test-rename.c: Include <dirent.h>.
9120         * tests/test-renameat.c: Likewise.
9121         Reported by Gary V. Vaughan <gary@gnu.org>.
9122
9123         rename, renameat: Document Linux bug with NFS
9124         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
9125         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
9126         * doc/posix-functions/renameat.texi: Likewise.
9127         Suggested by Eric Blake.
9128
9129 2010-11-13  Bruno Haible  <bruno@clisp.org>
9130
9131         rename test: Add comments.
9132         * tests/test-rename.h (test_rename): Add structure and comments.
9133
9134 2010-11-13  Eric Blake  <eblake@redhat.com>
9135
9136         maintainer-makefile: cover a few more files
9137         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
9138         scripts generated within C files, for libvirt.
9139
9140 2010-11-13  Bruno Haible  <bruno@clisp.org>
9141
9142         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
9143         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
9144         character, return the number of bytes that belong together, not always
9145         1.
9146         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9147         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9148         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9149         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
9150         number of bytes of an invalid character.
9151         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
9152         (main): Invoke it.
9153         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
9154         results.
9155         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
9156         malformed byte sequences.
9157         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
9158         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
9159         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
9160         Reported by Ben Pfaff and Paolo Bonzini.
9161
9162 2010-11-13  Bruno Haible  <bruno@clisp.org>
9163
9164         openat: Work around glibc bug with fchownat() and empty file names.
9165         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
9166         (gl_FUNC_FCHOWNAT): Invoke it.
9167         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
9168         * doc/posix-functions/fchownat.texi: Document the glibc bug.
9169         Reported by Gary V. Vaughan <gary@gnu.org>.
9170
9171 2010-11-13  Bruno Haible  <bruno@clisp.org>
9172
9173         openat: Ensure autoconf macro ordering.
9174         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
9175         gl_USE_SYSTEM_EXTENSIONS.
9176         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
9177
9178 2010-11-13  Bruno Haible  <bruno@clisp.org>
9179
9180         Update comments.
9181         * lib/unistr/u8-check.c: Update file name in comments.
9182         * lib/unistr/u8-mblen.c: Likewise.
9183         * lib/unistr/u8-prev.c: Likewise.
9184         * lib/unistr/u8-strmblen.c: Likewise.
9185         * lib/unistr/u8-strmbtouc.c: Likewise.
9186
9187 2010-11-13  Jim Meyering  <meyering@redhat.com>
9188
9189         tests: avoid test failure on Solaris 10 due to lack of PATH export
9190         * tests/test-update-copyright.sh: Don't forget to export PATH.
9191
9192         init.sh: ensure that IFS is defined, just in case...
9193         * tests/init.sh (setup_): Ensure that IFS is defined,
9194         so that saving and restoring it works as expected.  This
9195         appears to be useful at least for an old version of dash
9196         from a long time ago (RH 6).  See here for details:
9197         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
9198
9199         maint.mk: tighten "test a == b" check
9200         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
9201         test to files that contain something like #!/bin/sh.
9202         Without this, coreutils would get two false positives in
9203         the comments of C source files.
9204
9205 2010-11-12  Eric Blake  <eblake@redhat.com>
9206
9207         bootstrap: fix typo in previous attempt
9208         * build-aux/bootstrap (buildreq): Correct the grouping.
9209         Reported by Paul Eggert.
9210
9211         maintainer-makefile: prohibit test x == x
9212         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
9213         Based on a report by Matthias Bolte.
9214
9215         bootstrap: allow FreeBSD gzip
9216         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
9217         which has no '.' and goes to stderr.
9218         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
9219         Reported by Matthias Bolte.
9220
9221         maintainer-makefile: check for i18n setup
9222         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
9223         will likely work.
9224
9225 2010-11-12  Bruno Haible  <bruno@clisp.org>
9226
9227         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
9228         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
9229         * lib/nanosleep.c (nanosleep): Likewise.
9230
9231 2010-11-11  Bruno Haible  <bruno@clisp.org>
9232
9233         fcntl-h: Fix for use of C++ on glibc systems.
9234         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
9235         also on glibc systems in C++ mode.
9236         Reported by Gary V. Vaughan <gary@gnu.org>.
9237
9238 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9239
9240         mknod: avoid false failure with dash
9241         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
9242
9243 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
9244
9245         unlink: Fix "is it should" typo in diagnostic.
9246         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
9247         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
9248
9249 2010-11-11  Bruno Haible  <bruno@clisp.org>
9250
9251         Tests for module 'strerror_r-posix'.
9252         * modules/strerror_r-posix-tests: New file.
9253         * tests/test-strerror_r.c: New file.
9254         * tests/test-string-c++.cc: Check the signature of strerror_r.
9255
9256         New module 'strerror_r-posix'.
9257         * lib/string.in.h (strerror_r): New declaration.
9258         * lib/strerror_r.c: New file.
9259         * m4/strerror_r.m4: New file.
9260         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
9261         of strerror_r.
9262         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
9263         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9264         * modules/strerror_r-posix: New file.
9265         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
9266         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9267         * doc/posix-functions/strerror_r.texi: Mention the new module and the
9268         portability problems.
9269
9270 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
9271
9272         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
9273         line is also considered for output. Quoted function name in shell
9274         command, so temporary files for functions like MyClass::operator()
9275         are removed correctly without errors.
9276
9277 2010-11-09  Bruno Haible  <bruno@clisp.org>
9278
9279         * doc/posix-functions/strerror.texi: List more failing platforms.
9280
9281         * doc/posix-functions/strerror.texi: Add a comment.
9282
9283 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
9284
9285         fdopendir: fix bug on MacOS X when low on file descriptors
9286
9287         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
9288         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
9289         All callers changed.
9290         (fdopendir): Invoke save_cwd at the top level, not after using
9291         multiple dup() calls to use up file descriptors.  Then retry
9292         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
9293         less than the maximum number of open file descriptors, because
9294         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
9295         on Mac OS X 10.6.4 for tar 1.24
9296         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
9297         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
9298         and for tar 1.25
9299         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
9300
9301 2010-11-07  Bruno Haible  <bruno@clisp.org>
9302
9303         vasnprintf: Support I flag on glibc systems.
9304         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
9305         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
9306         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
9307         snprintf function.
9308         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
9309         glibc systems.
9310         * tests/test-vasnprintf-posix3.c: New file.
9311         * modules/vasnprintf-posix-tests (Files): Add it.
9312         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
9313
9314 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9315
9316         [html] Fix copy/paste bug: Use unique name for compiler warnings.
9317         * MODULES.html.sh: For compiler warnings, use name
9318         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
9319
9320 2010-11-05  Eric Blake  <eblake@redhat.com>
9321
9322         ceil, floor: avoid spurious failure with icc
9323         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
9324         [denormals-as-zero] when optimizing without -mieee-fp option.
9325         * tests/test-floorf2.c (floorf_reference): Likewise.
9326         * tests/test-ceilf1.c (dummy): New function.
9327         (main): Use it to outsmart icc's optimization.
9328         * tests/test-floorf1.c (dummy, main): Likewise.
9329
9330         tests: require working signbit
9331         * modules/ceilf-tests (Depends-on): Add signbit.
9332         * modules/ceill-tests (Depends-on): Likewise.
9333         * modules/floorf-tests (Depends-on): Likewise.
9334         * modules/floorl-tests (Depends-on): Likewise.
9335         * modules/round-tests (Depends-on): Likewise.
9336         * modules/roundf-tests (Depends-on): Likewise.
9337         * modules/roundl-tests (Depends-on): Likewise.
9338         * modules/trunc-tests (Depends-on): Likewise.
9339         * modules/truncf-tests (Depends-on): Likewise.
9340         * modules/truncl-tests (Depends-on): Likewise.
9341
9342         strtod: work around icc bug
9343         * lib/strtod.c (minus_zero): Define to working value.
9344         (strtod): Use it to avoid icc bug.
9345
9346         copysign: enhance tests
9347         * modules/copysign-tests (Files): Add minus-zero.h.
9348         * tests/test-copysign.c (main): Also test zeros.
9349
9350 2010-11-04  Eric Blake  <eblake@redhat.com>
9351
9352         ceil, floor, round, trunc: enhance tests of -0
9353         * tests/test-ceilf1.c (main): Ensure correct sign of result.
9354         * tests/test-ceill.c (main): Likewise.
9355         * tests/test-floorf1.c (main): Likewise.
9356         * tests/test-floorl.c (main): Likewise.
9357         * tests/test-round1.c (main): Likewise.
9358         * tests/test-roundf1.c (main): Likewise.
9359         * tests/test-roundl.c (main): Likewise.
9360         * tests/test-trunc1.c (main): Likewise.
9361         * tests/test-truncf1.c (main): Likewise.
9362         * tests/test-truncl.c (main): Likewise.
9363
9364 2010-11-04  Eric Blake  <eblake@redhat.com>
9365
9366         frexp, tests: work around ICC bug with -zero
9367         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
9368         works with more compilers.
9369         * tests/minus-zero.h: New file.
9370         * modules/ceilf-tests (Files): Include it.
9371         * modules/ceill-tests (Files): Likewise.
9372         * modules/floorf-tests (Files): Likewise.
9373         * modules/floorl-tests (Files): Likewise.
9374         * modules/frexp-nolibm-tests (Files): Likewise.
9375         * modules/frexp-tests (Files): Likewise.
9376         * modules/frexpl-nolibm-tests (Files): Likewise.
9377         * modules/frexpl-tests (Files): Likewise.
9378         * modules/isnan-tests (Files): Likewise.
9379         * modules/isnand-nolibm-tests (Files): Likewise.
9380         * modules/isnand-tests (Files): Likewise.
9381         * modules/isnanf-nolibm-tests (Files): Likewise.
9382         * modules/isnanf-tests (Files): Likewise.
9383         * modules/isnanl-nolibm-tests (Files): Likewise.
9384         * modules/isnanl-tests (Files): Likewise.
9385         * modules/round-tests (Files): Likewise.
9386         * modules/roundf-tests (Files): Likewise.
9387         * modules/roundl-tests (Files): Likewise.
9388         * modules/ldexpl-tests (Files): Likewise.
9389         * modules/signbit-tests (Files): Likewise.
9390         * modules/snprintf-posix-tests (Files): Likewise.
9391         * modules/sprintf-posix-tests (Files): Likewise.
9392         * modules/strtod-tests (Files): Likewise.
9393         * modules/trunc-tests (Files): Likewise.
9394         * modules/truncf-tests (Files): Likewise.
9395         * modules/truncl-tests (Files): Likewise.
9396         * modules/vsnprintf-posix-tests (Files): Likewise.
9397         * modules/vsprintf-posix-tests (Files): Likewise.
9398         * modules/vasnprintf-posix-tests (Files): Likewise.
9399         * modules/vasprintf-posix-tests (Files): Likewise.
9400         * tests/test-ceilf1.c (main): Use it.
9401         * tests/test-ceill.c (main): Likewise.
9402         * tests/test-floorf1.c (main): Likewise.
9403         * tests/test-floorl.c (main): Likewise.
9404         * tests/test-frexp.c (main): Likewise.
9405         * tests/test-frexpl.c (main): Likewise.
9406         * tests/test-isnan.c (main): Likewise.
9407         * tests/test-isnand.h (main): Likewise.
9408         * tests/test-isnanf.h (main): Likewise.
9409         * tests/test-isnanl.h (main): Likewise.
9410         * tests/test-ldexpl.c (main): Likewise.
9411         * tests/test-round.c (main): Likewise.
9412         * tests/test-roundf.c (main): Likewise.
9413         * tests/test-roundl.c (main): Likewise.
9414         * tests/test-signbit.c (test_signbitf, test_signbitd)
9415         (test_signbitl): Likewise.
9416         * tests/test-snprintf-posix.h (test_function): Likewise.
9417         * tests/test-sprintf-posix.h (test_function): Likewise.
9418         * tests/test-strtod.c (main): Likewise.
9419         * tests/test-trunc1.c (main): Likewise.
9420         * tests/test-truncf1.c (main): Likewise.
9421         * tests/test-truncl.c (main): Likewise.
9422
9423         isnanl: work around icc bug
9424         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
9425
9426 2010-11-03  Eric Blake  <eblake@redhat.com>
9427
9428         tests: fix compiler warnings
9429         * tests/test-getopt.h (test_getopt): Fix condition.
9430         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9431         * tests/test-pipe2.c (main): Likewise.
9432         * tests/test-quotearg-simple.c (main): Avoid icc warning.
9433
9434         utimens: fix broken m4 test
9435         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
9436
9437 2010-10-28  Bruno Haible  <bruno@clisp.org>
9438
9439         posix_spawn*, getdtablesize: Relax license.
9440         * modules/posix_spawn (License): Change to LGPLv2+.
9441         * modules/posix_spawnp (License): Likewise.
9442         * modules/posix_spawn-internal (License): Likewise.
9443         * modules/posix_spawnattr_init (License): Likewise.
9444         * modules/posix_spawnattr_getflags (License): Likewise.
9445         * modules/posix_spawnattr_setflags (License): Likewise.
9446         * modules/posix_spawnattr_getpgroup (License): Likewise.
9447         * modules/posix_spawnattr_setpgroup (License): Likewise.
9448         * modules/posix_spawnattr_getschedparam (License): Likewise.
9449         * modules/posix_spawnattr_setschedparam (License): Likewise.
9450         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
9451         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
9452         * modules/posix_spawnattr_getsigdefault (License): Likewise.
9453         * modules/posix_spawnattr_setsigdefault (License): Likewise.
9454         * modules/posix_spawnattr_getsigmask (License): Likewise.
9455         * modules/posix_spawnattr_setsigmask (License): Likewise.
9456         * modules/posix_spawnattr_destroy (License): Likewise.
9457         * modules/posix_spawn_file_actions_init (License): Likewise.
9458         * modules/posix_spawn_file_actions_addclose (License): Likewise.
9459         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
9460         * modules/posix_spawn_file_actions_addopen (License): Likewise.
9461         * modules/posix_spawn_file_actions_destroy (License): Likewise.
9462         * modules/getdtablesize (License): Likewise.
9463         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
9464
9465 2010-10-26  Bruno Haible  <bruno@clisp.org>
9466
9467         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
9468         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
9469         Cygwin and mingw.
9470         Suggested by Eric Blake.
9471
9472 2010-10-26  Bruno Haible  <bruno@clisp.org>
9473
9474         stdio: Work around compilation error due to renameat() on Solaris 10.
9475         * lib/stdio.in.h: Include <unistd.h> on Solaris.
9476         * lib/renameat.c: Don't include <unistd.h> here.
9477         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
9478         Reported by Paul Eggert and Eric Blake.
9479
9480 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9481
9482         renameat: port to Solaris 10, which declares renameat in unistd.h
9483
9484         * lib/renameat.c: Include unistd.h before stdio.h, because
9485         Solaris 10 declares renameat in unistd.h.  Problem encountered
9486         when building GNU tar 1.24 on Solaris 10.
9487
9488 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9489
9490         fdopendir: fix C89 compilation
9491         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
9492         compilers.
9493
9494 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
9495
9496         inttostr: simplify by removing unnecessary redundancy
9497         * lib/anytostr.c: Don't include verify.h.
9498         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
9499         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
9500         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
9501         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
9502         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
9503         Likewise.
9504         * modules/inttostr (Depends-on): Remove 'verify'.
9505
9506 2010-10-23  Bruno Haible  <bruno@clisp.org>
9507
9508         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
9509         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
9510         Reported by Eric Blake.
9511
9512 2010-10-23  Bruno Haible  <bruno@clisp.org>
9513
9514         Tests: Fix LOCALE_JA on MirBSD 10.
9515         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
9516         to an UTF-8 locale.
9517         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
9518         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
9519         Reported by Eric Blake.
9520
9521 2010-10-21  Bruno Haible  <bruno@clisp.org>
9522
9523         nl_langinfo test: Avoid test failure on NetBSD 5.
9524         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
9525         Reported by Eric Blake.
9526
9527 2010-10-21  Eric Blake  <eblake@redhat.com>
9528
9529         c-stack: work around libsigsegv 2.8 bug
9530         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
9531         overflow on at least PowerPC64.
9532
9533 2010-10-17  Bruno Haible  <bruno@clisp.org>
9534
9535         userspec: Drop redundant file.
9536         * modules/userspec (Files): Remove lib/inttostr.h.
9537
9538 2010-10-17  Bruno Haible  <bruno@clisp.org>
9539
9540         nl_langinfo tests: Silence some warnings.
9541         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
9542         Reported by Jim Meyering.
9543
9544 2010-10-17  Bruno Haible  <bruno@clisp.org>
9545
9546         Make use of GCC's attribute __alloc_size__.
9547         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
9548         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
9549         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
9550         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
9551         __alloc_size__.
9552         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
9553         Suggested by Jim Meyering.
9554
9555 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
9556
9557         bootstrap: anchor .gitignore entries.
9558         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
9559         with...
9560         (insert_vc_ignore): ... this new function, which prepends `/' to
9561         all .gitignore entries before passing them to
9562         insert_sorted_if_absent.
9563
9564 2010-10-16  Bruno Haible  <bruno@clisp.org>
9565
9566         nextafter: Fix configure check.
9567         * modules/nextafter (configure.ac): Correct expected prototype.
9568
9569 2010-10-16  Bruno Haible  <bruno@clisp.org>
9570
9571         termios: Update documentation.
9572         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
9573
9574 2010-10-16  Bruno Haible  <bruno@clisp.org>
9575
9576         tests: Make them compile with TinyCC.
9577         * tests/test-strstr.c (main): Remove parentheses around array
9578         initializer.
9579
9580 2010-10-15  Eric Blake  <eblake@redhat.com>
9581
9582         ignore-value: make header idempotent
9583         * lib/ignore-value.h: Add double-inclusion guards.
9584         Reported by Stefan Berger.
9585
9586 2010-10-15  Jim Meyering  <meyering@redhat.com>
9587
9588         GNUmakefile: handle "stable" target, not "major"
9589         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
9590         lists in maint.mk and announce-gen.  Without this, "make stable"
9591         would fail to ensure that $(VERSION) is up to date.
9592
9593 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
9594
9595         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
9596         & co.
9597
9598 2010-10-14  Bruno Haible  <bruno@clisp.org>
9599
9600         vasnprintf: Don't set errno to 0.
9601         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
9602         block that sets it to 0.
9603         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
9604
9605 2010-10-14  Bruno Haible  <bruno@clisp.org>
9606
9607         socketlib: Fix.
9608         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
9609         gl_PREREQ_SYS_H_WINSOCK2.
9610         Reported by Ian Beckwith <ianb@erislabs.net>.
9611
9612 2010-10-13  Jim Meyering  <meyering@redhat.com>
9613
9614         test-select-stdin.c: avoid warn_unused_result warnings
9615         * tests/test-select-stdin.c: Include "macros.h".
9616         ASSERT that read and fflush succeed.
9617
9618 2010-10-13  Jim Meyering  <meyering@redhat.com>
9619
9620         git-version-gen: do require git-VC'd files in cwd
9621         * build-aux/git-version-gen: Reject a git version string
9622         if there are no commits associated with the current directory.
9623         This avoids an unlikely false-positive (unrelated dir whose parent
9624         repository also contains a tag matching v*), as pointed out
9625         by Giuseppe Scrivano in
9626         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
9627
9628 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9629
9630         argv-iter: omit nonconforming declaration
9631         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
9632         enum arg_iter_err declaration, which doesn't conform to C99.
9633         Solaris 10 cc warns about this.
9634
9635 2010-10-13  Eric Blake  <eblake@redhat.com>
9636
9637         termios: fix compilation on mingw
9638         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
9639         (gl_TERMIOS_H): Adjust it on mingw.
9640         * modules/termios (Makefile.am): Substitute new key.
9641         * lib/termios.in.h (includes): Make include_next conditional.
9642         * doc/posix-headers/termios.texi (termios.h): Update
9643         documentation.
9644         Reported by Daniel P. Berrange.
9645
9646 2010-10-13  Jim Meyering  <meyering@redhat.com>
9647
9648         git-version-gen: don't require that .git/ be in the current dir
9649         * build-aux/git-version-gen: Adjust this script so that it works
9650         when run from any working directory beneath the top-level .git/-
9651         containing directory.  Inspired by a patch from Giuseppe Scrivano,
9652         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
9653
9654         test-select: avoid warn_unused_result warnings
9655         * tests/test-select.c: Include "macros.h".
9656         ASSERT that each call to read, write, and pipe succeeds.
9657         While not technically required, also check each "close".
9658         * modules/select-tests (Files): Add tests/macros.h.
9659
9660         test-symlinkat: remove declaration of unused local
9661         * tests/test-symlinkat.c (main): Remove unused local, "buf".
9662
9663         test-inttostr: avoid shadowing warnings
9664         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
9665         and use malloc rather than the stack for the same reason as
9666         mentioned in the comment justifying the other allocation.
9667
9668 2010-10-11  Bruno Haible  <bruno@clisp.org>
9669
9670         stdlib: Allow multiple gnulib generated replacements to coexist.
9671         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
9672         Reported by Sam Steingold <sds@gnu.org>.
9673
9674 2010-10-11  Jim Meyering  <meyering@redhat.com>
9675
9676         fix a documentation typo
9677         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
9678
9679 2010-10-11  Eric Blake  <eblake@redhat.com>
9680
9681         futimens: work around Solaris 11 bug
9682         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
9683         * tests/test-futimens.h (test_futimens): Enhance, rather than
9684         weaken test.
9685         * doc/posix-functions/futimens.texi (futimens): Document the bug.
9686
9687 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
9688
9689         Indentation.
9690         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
9691         higher-level operators more to the left.
9692
9693 2010-10-11  Jim Meyering  <meyering@redhat.com>
9694
9695         test-futimens: avoid unwarranted test failure on Solaris 5.11
9696         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
9697         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
9698         because it tries to dereference the NULL name argument.
9699
9700 2010-10-11  Bruno Haible  <bruno@clisp.org>
9701
9702         Indentation.
9703         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
9704         indentation.
9705
9706 2010-10-11  Jim Meyering  <meyering@redhat.com>
9707
9708         spawn.in.h: make indentation consistent with parentheses
9709         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
9710         Make indentation consistent with parentheses.
9711
9712 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
9713
9714         Fix mismatched parens in previous commit
9715         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
9716         parens.
9717
9718 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9719
9720         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
9721
9722         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
9723         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
9724         * lib/malloca.c: Include "verify.h".
9725         (verify1): Remove, replacing with a verify call.
9726         * lib/relocwrapper.c (verify1): Likewise.
9727         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
9728         Likewise.
9729         * modules/malloca (Depends-on): Add 'verify'.
9730         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
9731         * modules/vasnprintf (Depends-on): Add 'verify'.
9732         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
9733         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9734         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9735         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9736         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9737         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9738         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9739
9740         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
9741
9742         Formerly the style was sometimes 2*X - 1, because the C standard
9743         was wrongly thought to disallow ?: in integral constant expressions.
9744         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
9745         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
9746         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
9747         * lib/stdint.in.h (_verify_intmax_size): Likewise.
9748         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
9749         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
9750         verify that time_t cannot be floating.
9751
9752 2010-10-08  Eric Blake  <eblake@redhat.com>
9753
9754         time: enforce recent POSIX ruling that time_t is integral
9755         * lib/time.in.h (__time_t_must_be_integral): Detect any
9756         problematic systems, allowing the rest of gnulib to assume POSIX.
9757
9758 2010-10-08  Jim Meyering  <meyering@redhat.com>
9759
9760         fdopendir: fix a bug on systems lacking openat and /proc support
9761         OpenBSD 4.7 is one such system.  The most noticeable effect was
9762         failure of any application making nontrivial use of fts: rm, du,
9763         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
9764           ./rm: traversal failed: `a': Bad file descriptor
9765         Debugging that, you see that even though FD 6 was closed just
9766         prior to the opendir call in fd_clone_opendir, its resulting
9767         dir->dd_fd was 8, rather than the expected value of 6:
9768
9769         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
9770         93                close (fd);
9771         (gdb) n
9772         94                dir = fd_clone_opendir (dupfd);
9773         (gdb) n
9774         95                saved_errno = errno;
9775         (gdb) p dir->dd_fd
9776         $11 = 8
9777
9778         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
9779         The problem is that on OpenBSD, fd_clone_opendir has to resort
9780         to using the old-style save/restore CWD mechanism, due to its
9781         lack of openat/proc support, and *that* would steal the FD (6)
9782         that opendir was supposed to use.
9783
9784         The fix is to squirrel away the desired FD so that save_cwd uses a
9785         different one, and then free the dest FD right before calling opendir.
9786         That guarantees opendir will use the required file descriptor.
9787
9788         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
9789
9790 2010-10-08  Bruno Haible  <bruno@clisp.org>
9791
9792         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
9793         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
9794
9795 2010-10-08  Bruno Haible  <bruno@clisp.org>
9796
9797         nanosleep: Make replacement POSIX compliant.
9798         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
9799         is out of range.
9800         Reported by Jim Meyering.
9801
9802 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
9803
9804         bootstrap: add hook for altering gnulib.mk, for Bison
9805         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
9806         the Bison bootstrapping process can rewrite file names and variables
9807         in this file before later parts of 'bootstrap' use the file.
9808         Bison wants to include lib/gnulib.mk from the top-level makefile,
9809         so it needs the file names in this file to be relative to the top
9810         level, not relative to lib; plus it needs variable names to be
9811         rewritten.
9812         (slurp): Use the new function.
9813
9814         bootstrap: reformat for readability
9815         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
9816
9817 2010-10-08  Eric Blake  <eblake@redhat.com>
9818
9819         docs: update cygwin progress
9820         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
9821         1.7.7.
9822         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
9823         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
9824         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
9825         * doc/posix-functions/carg.texi (carg): Likewise.
9826         * doc/posix-functions/cargf.texi (cargf): Likewise.
9827         * doc/posix-functions/casin.texi (casin): Likewise.
9828         * doc/posix-functions/casinf.texi (casinf): Likewise.
9829         * doc/posix-functions/casinh.texi (casinh): Likewise.
9830         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
9831         * doc/posix-functions/catan.texi (catan): Likewise.
9832         * doc/posix-functions/catanf.texi (catanf): Likewise.
9833         * doc/posix-functions/catanh.texi (catanh): Likewise.
9834         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
9835         * doc/posix-functions/ccos.texi (ccos): Likewise.
9836         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
9837         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
9838         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
9839         * doc/posix-functions/cexp.texi (cexp): Likewise.
9840         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
9841         * doc/posix-functions/cimag.texi (cimag): Likewise.
9842         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
9843         * doc/posix-functions/clog.texi (clog): Likewise.
9844         * doc/posix-functions/clogf.texi (clogf): Likewise.
9845         * doc/posix-functions/conj.texi (conj): Likewise.
9846         * doc/posix-functions/conjf.texi (conjf): Likewise.
9847         * doc/posix-functions/cpow.texi (cpow): Likewise.
9848         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
9849         * doc/posix-functions/cproj.texi (cproj): Likewise.
9850         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
9851         * doc/posix-functions/creal.texi (creal): Likewise.
9852         * doc/posix-functions/crealf.texi (crealf): Likewise.
9853         * doc/posix-functions/csin.texi (csin): Likewise.
9854         * doc/posix-functions/csinf.texi (csinf): Likewise.
9855         * doc/posix-functions/csinh.texi (csinh): Likewise.
9856         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
9857         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
9858         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
9859         * doc/posix-functions/ctan.texi (ctan): Likewise.
9860         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
9861         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
9862         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
9863         * doc/posix-headers/complex.texi (complex.h): Likewise.
9864
9865 2010-10-07  Jim Meyering  <meyering@redhat.com>
9866
9867         parse-datetime: avoid compilation failure on OpenBSD 4.7
9868         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
9869         This works around a compilation failure on OpenBSD 4.7:
9870         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
9871
9872 2010-10-07  Eric Blake  <eblake@redhat.com>
9873
9874         docs: update cygwin progress
9875         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
9876         1.7.6.
9877         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
9878         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
9879         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
9880         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
9881         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
9882         Likewise.
9883         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
9884         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
9885         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
9886         Likewise.
9887         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
9888         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
9889         Likewise.
9890         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
9891         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
9892         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
9893         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
9894         Likewise.
9895         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
9896         Likewise.
9897         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
9898
9899         docs: update parse-datetime history
9900         * doc/parse-datetime.texi (Authors of parse_datetime): Better
9901         documentation of this function's history and alternatives.
9902
9903         cygwin: use more robust version check
9904         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
9905         exclude an eventual cygwin 1.9.1.
9906         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
9907         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
9908         (gl_FUNC_STRCASESTR): Likewise.
9909         Reported by Bruno Haible.
9910
9911 2010-10-06  Bruno Haible  <bruno@clisp.org>
9912
9913         string, sys_select: Avoid #including large headers unless necessary.
9914         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
9915         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
9916         OSF/1, BeOS, Haiku.
9917         Reported by Jim Meyering.
9918
9919 2010-10-05  Eric Blake  <eblake@redhat.com>
9920
9921         memmem, strstr, strcasestr: fix bug with long periodic needle
9922         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
9923         periodic needle having false positive.
9924         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
9925         and cygwin 1.7.7.
9926         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
9927         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
9928         (gl_FUNC_STRCASESTR): Likewise.
9929         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
9930         * tests/test-memmem.c (main): Expose the bug.
9931         * tests/test-strcasestr.c (main): Likewise.
9932         * tests/test-strstr.c (main): Likewise.
9933         * tests/test-c-strcasestr.c (main): Likewise.
9934         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
9935         * doc/posix-functions/strstr.texi (strstr): Likewise.
9936         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
9937         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
9938
9939 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9940
9941         parse-datetime: do some more renaming
9942         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
9943         parse_datetime, not get_date.  Mention the renaming.
9944         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
9945         in comments.
9946         * m4/bison.m4: Likewise.
9947
9948 2010-10-05  Eric Blake  <eblake@redhat.com>
9949
9950         parse-datetime: better name than get_date
9951         * NEWS: Reword the deprecation notice.
9952         * modules/get_date: Rename to modules/parse-datetime.
9953         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
9954         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
9955         * lib/get_date.y: Rename to lib/parse-datetime.y.
9956         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
9957         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
9958         * doc/getdate.texi: Provide fallback wrapper.
9959         * lib/getdate.h: Move guts, and wrap...
9960         * lib/parse-datetime.h: ...new file.
9961         * lib/parse-datetime.y (get_date): Rename...
9962         (parse_datetime): ...to this.
9963         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
9964         (gl_PARSE_DATETIME): ...to this.
9965         * doc/posix-functions/getdate.texi (get_date): Provide fallback
9966         documentation.
9967         * modules/getdate (Files): Provide fallback docs and header.
9968         (Notice, Depends-on): Update references.
9969         * tests/test-parse-datetime.c: Likewise.
9970         * DEPENDENCIES: Likewise.
9971         * MODULES.html.sh (Date and time <time.h>): Likewise.
9972         * doc/parse-datetime.texi (Date input formats)
9973         (Authors of parse_datetime): Likewise.
9974         * modules/parse-datetime (Files, configure.ac, Makefile.am)
9975         (Include): Likewise.
9976         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
9977         * gnulib-tool: Likewise.
9978         * m4/bison.m4 (gl_BISON): Likewise.
9979         Suggested by Bruno Haible.
9980
9981 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9982
9983         more ports to Solaris tr, which needs [] around ranges
9984         * gnulib-tool: Solaris tr needs [] around ranges.
9985         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
9986         * tests/test-pipe-filter-gi1.c (main): Likewise.
9987         * tests/test-pipe-filter-ii1.c (main): Likewise.
9988
9989 2010-10-05  Eric Blake  <eblake@redhat.com>
9990
9991         bootstrap: fix Solaris regression
9992         * build-aux/bootstrap (check_versions): Solaris tr still needs []
9993         around ranges.
9994         Reported by Pádraig Brady.
9995
9996         bootstrap: work with pkg-config
9997         * build-aux/bootstrap (check_versions): Also transliterate - in
9998         prerequisite name.
9999         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
10000         prerequisites that were already found, to avoid confusion.
10001         Reported by Justin Clift.
10002
10003         faccessat: remove unused wrappers
10004         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
10005         presence of these wrappers dragged in -lgen on Solaris.
10006         Reported by Clemens Brogi; fix suggested by Paul Eggert.
10007
10008 2010-10-05  Jim Meyering  <meyering@redhat.com>
10009
10010         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
10011         * Makefile (sc_pragma_columns): New syntax-check rule.
10012
10013 2010-10-04  Bruno Haible  <bruno@clisp.org>
10014
10015         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
10016         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
10017         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
10018         Reported by Bruce Korb and Eric Blake.
10019
10020 2010-10-04  Bruno Haible  <bruno@clisp.org>
10021
10022         threadlib: Make option --with-libpth-prefix work.
10023         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
10024         use $LIBPTH, not just -lpth.
10025
10026 2010-10-04  Bruno Haible  <bruno@clisp.org>
10027
10028         Avoid line length limitation from HP NonStop system header files.
10029         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
10030         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
10031         * lib/ctype.in.h: Likewise.
10032         * lib/dirent.in.h: Likewise.
10033         * lib/errno.in.h: Likewise.
10034         * lib/fcntl.in.h: Likewise.
10035         * lib/float.in.h: Likewise.
10036         * lib/getopt.in.h: Likewise.
10037         * lib/iconv.in.h: Likewise.
10038         * lib/inttypes.in.h: Likewise.
10039         * lib/langinfo.in.h: Likewise.
10040         * lib/locale.in.h: Likewise.
10041         * lib/math.in.h: Likewise.
10042         * lib/netdb.in.h: Likewise.
10043         * lib/netinet_in.in.h: Likewise.
10044         * lib/poll.in.h: Likewise.
10045         * lib/pthread.in.h: Likewise.
10046         * lib/pty.in.h: Likewise.
10047         * lib/sched.in.h: Likewise.
10048         * lib/se-selinux.in.h: Likewise.
10049         * lib/search.in.h: Likewise.
10050         * lib/signal.in.h: Likewise.
10051         * lib/spawn.in.h: Likewise.
10052         * lib/stdarg.in.h: Likewise.
10053         * lib/stddef.in.h: Likewise.
10054         * lib/stdint.in.h: Likewise.
10055         * lib/stdio.in.h: Likewise.
10056         * lib/stdlib.in.h: Likewise.
10057         * lib/string.in.h: Likewise.
10058         * lib/strings.in.h: Likewise.
10059         * lib/sys_file.in.h: Likewise.
10060         * lib/sys_ioctl.in.h: Likewise.
10061         * lib/sys_select.in.h: Likewise.
10062         * lib/sys_socket.in.h: Likewise.
10063         * lib/sys_stat.in.h: Likewise.
10064         * lib/sys_time.in.h: Likewise.
10065         * lib/sys_times.in.h: Likewise.
10066         * lib/sys_utsname.in.h: Likewise.
10067         * lib/sys_wait.in.h: Likewise.
10068         * lib/sysexits.in.h: Likewise.
10069         * lib/termios.in.h: Likewise.
10070         * lib/time.in.h: Likewise.
10071         * lib/unistd.in.h: Likewise.
10072         * lib/wchar.in.h: Likewise.
10073         * lib/wctype.in.h: Likewise.
10074         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
10075         * modules/ctype (Makefile.am): Likewise.
10076         * modules/dirent (Makefile.am): Likewise.
10077         * modules/errno (Makefile.am): Likewise.
10078         * modules/fcntl-h (Makefile.am): Likewise.
10079         * modules/float (Makefile.am): Likewise.
10080         * modules/getopt-posix (Makefile.am): Likewise.
10081         * modules/iconv-h (Makefile.am): Likewise.
10082         * modules/inttypes (Makefile.am): Likewise.
10083         * modules/langinfo (Makefile.am): Likewise.
10084         * modules/locale (Makefile.am): Likewise.
10085         * modules/math (Makefile.am): Likewise.
10086         * modules/netdb (Makefile.am): Likewise.
10087         * modules/netinet_in (Makefile.am): Likewise.
10088         * modules/poll-h (Makefile.am): Likewise.
10089         * modules/pthread (Makefile.am): Likewise.
10090         * modules/pty (Makefile.am): Likewise.
10091         * modules/sched (Makefile.am): Likewise.
10092         * modules/search (Makefile.am): Likewise.
10093         * modules/selinux-h (Makefile.am): Likewise.
10094         * modules/signal (Makefile.am): Likewise.
10095         * modules/spawn (Makefile.am): Likewise.
10096         * modules/stdarg (Makefile.am): Likewise.
10097         * modules/stddef (Makefile.am): Likewise.
10098         * modules/stdint (Makefile.am): Likewise.
10099         * modules/stdio (Makefile.am): Likewise.
10100         * modules/stdlib (Makefile.am): Likewise.
10101         * modules/string (Makefile.am): Likewise.
10102         * modules/strings (Makefile.am): Likewise.
10103         * modules/sys_file (Makefile.am): Likewise.
10104         * modules/sys_ioctl (Makefile.am): Likewise.
10105         * modules/sys_select (Makefile.am): Likewise.
10106         * modules/sys_socket (Makefile.am): Likewise.
10107         * modules/sys_stat (Makefile.am): Likewise.
10108         * modules/sys_time (Makefile.am): Likewise.
10109         * modules/sys_times (Makefile.am): Likewise.
10110         * modules/sys_utsname (Makefile.am): Likewise.
10111         * modules/sys_wait (Makefile.am): Likewise.
10112         * modules/sysexits (Makefile.am): Likewise.
10113         * modules/termios (Makefile.am): Likewise.
10114         * modules/time (Makefile.am): Likewise.
10115         * modules/unistd (Makefile.am): Likewise.
10116         * modules/wchar (Makefile.am): Likewise.
10117         * modules/wctype (Makefile.am): Likewise.
10118
10119 2010-10-04  Bruno Haible  <bruno@clisp.org>
10120
10121         read-file tests: Avoid a test failure on NonStop Kernel.
10122         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
10123         a regular file.
10124         Reported by Joachim Schmitz <schmitz@hp.com>.
10125
10126 2010-10-03  Bruno Haible  <bruno@clisp.org>
10127
10128         gnulib-tool: Fixes for --create-testdir with --libtool.
10129         * gnulib-tool (func_get_automake_snippet): Don't augment
10130         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
10131         an executable.
10132         (func_create_testdir): Handle module 'alloca' like func_import.
10133         Reported by Bruce Korb <bruce.korb@gmail.com>.
10134
10135 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10136
10137         Avoid some lines longer than 80 characters.
10138         * lib/stdint.in.h: Break long comment lines.
10139         * lib/math.in.h: Likewise.
10140         (_GL_NUM_UINT_WORDS): New macro, for readability.
10141         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
10142         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
10143         * lib/stdlib.in.h: Likewise.
10144         * lib/spawn.in.h: Likewise.
10145         * lib/sys_socket.in.h: Update an URL.
10146         * lib/sys_stat.in.h: Break long line.
10147
10148 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
10149
10150         Improve pmccabe2html.
10151         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
10152         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
10153         when the sources change. Remove the line in the HTML about "Used
10154         ranges" (which implied that there might be other unused ranges),
10155         rename "Resume" to "Summary" (easier to understand for more users).
10156         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
10157         styles, and some unnecessary blank lines.
10158
10159 2010-10-03  Bruno Haible  <bruno@clisp.org>
10160             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10161
10162         acl: Add support for ACLs on NonStop Kernel.
10163         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
10164         Check whether the function aclsort() exists.
10165         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
10166         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
10167         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10168         (acl_nontrivial [HAVE_ACLSORT]: New function.
10169         (file_has_acl): Implement for NonStop Kernel.
10170         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10171         (qset_acl): Implement for NonStop Kernel.
10172         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
10173         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10174         (main): Implement for NonStop Kernel.
10175         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
10176         Kernel. Handle this flavor.
10177         * tests/test-set-mode-acl.sh: Likewise.
10178         * tests/test-copy-acl.sh: Likewise.
10179         * tests/test-copy-file.sh: Likewise.
10180
10181 2010-10-03  Bruno Haible  <bruno@clisp.org>
10182
10183         Info about ACLs on NonStop Kernel.
10184         * doc/acl-resources.txt: Add info about NonStop Kernel.
10185         References by Joachim Schmitz <schmitz@hp.com>.
10186
10187 2010-10-02  Bruno Haible  <bruno@clisp.org>
10188
10189         Define missing EDQUOT on NonStop Kernel.
10190         * lib/errno.in.h (EDQUOT): Assign a value if missing.
10191         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
10192         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
10193         missing.
10194         * doc/posix-headers/errno.texi: Mention the NSK bug.
10195         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
10196         Reported by Joachim Schmitz <schmitz@hp.com>.
10197
10198 2010-10-02  Bruno Haible  <bruno@clisp.org>
10199
10200         Update doc for POSIX:2008.
10201         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
10202         Update URL of POSIX specification.
10203
10204 2010-10-02  Bruno Haible  <bruno@clisp.org>
10205
10206         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
10207         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
10208         from gnulib, not from Automake.
10209
10210 2010-10-02  Bruno Haible  <bruno@clisp.org>
10211
10212         New module 'system-posix'.
10213         * modules/system-posix: New file.
10214         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
10215         module is present.
10216         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
10217         GNULIB_SYSTEM_POSIX.
10218         * modules/stdlib (Depends-on): Remove sys_wait.
10219         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
10220         * doc/posix-functions/system.texi: Mention the new module.
10221         * doc/posix-headers/stdlib.texi: Likewise.
10222         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
10223         define test_sys_wait_macros to a no-op.
10224         Reported by Sam Steingold <sds@gnu.org>.
10225
10226 2010-09-30  Bruno Haible  <bruno@clisp.org>
10227
10228         More renaming from 'getdate' to 'get_date'.
10229         * doc/get_date.texi: Renamed from doc/getdate.texi.
10230         * modules/get_date (Files): Update.
10231         * MODULES.html.sh (Date and time <time.h>): Update.
10232         * DEPENDENCIES: Update.
10233         * gnulib-tool: Update comment.
10234         * m4/bison.m4 (gl_BISON): Likewise.
10235         * m4/get_date.m4 (gl_GET_DATE): Likewise.
10236
10237 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
10238
10239         bootstrap: support ACLOCAL_FLAGS during aclocal
10240         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
10241         can add additional -I dir for third-party .m4 files.
10242
10243 2010-09-30  Eric Blake  <eblake@redhat.com>
10244
10245         bootstrap: use glibtoolize on MacOS
10246         * build-aux/bootstrap (check_versions): Convert libtool into
10247         libtoolize.
10248         (tool search): Move libtool check earlier, and look for
10249         glibtoolize for MacOS.
10250         (gnulib_tool_options): Auto-add --libtool when appropriate.
10251         Reported by Justin Clift.
10252
10253         poll: fix typo that broke test on MacOS
10254         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
10255         Reported by Justin Clift.
10256
10257         getdate: rename to get_date
10258         Note: getdate.h is not renamed, to minimize client impact.
10259         * modules/getdate: Mark obsolete.  Move old contents...
10260         * modules/get_date: ...to new module name.
10261         * modules/getdate-tests: Move...
10262         * modules/get_date-tests: ...here.
10263         * m4/getdate.m4: Move...
10264         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
10265         * lib/getdate.y: Move...
10266         * lib/get_date.y: ...here.
10267         * tests/test-getdate.c: Move...
10268         * tests/test-get_date.c: ...here.
10269         * doc/posix-functions/getdate.texi (getdate): Update name.
10270         * NEWS: Mention the change.
10271
10272 2010-09-29  Bruno Haible  <bruno@clisp.org>
10273
10274         Separate the module 'waitpid' from the module 'sys_wait'.
10275         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
10276         present.
10277         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
10278         gl_MODULE_INDICATOR_FOR_TESTS.
10279         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
10280         * modules/sys_wait (Depends-on): Remove waitpid.
10281         (Makefile.am): Substitute GNULIB_WAITPID.
10282         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
10283         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
10284         signature only if the 'waitpid' module is present.
10285         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
10286         * NEWS: Mention the change.
10287         * modules/grantpt (Depends-on): Add waitpid.
10288         * modules/wait-process (Depends-on): Likewise.
10289
10290 2010-09-29  Bruno Haible  <bruno@clisp.org>
10291
10292         More tests for module 'sys_wait'.
10293         * modules/sys_wait-c++-tests: New file.
10294         * tests/test-sys_wait-c++.cc: New file.
10295         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
10296         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10297
10298 2010-09-29  Bruno Haible  <bruno@clisp.org>
10299
10300         New module 'waitpid'.
10301         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
10302         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
10303         Don't include <process.h>.
10304         (waitpid): Declare only, using modern idiom.
10305         * m4/waitpid.m4: New file.
10306         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
10307         * modules/waitpid: New file.
10308         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
10309         (Makefile.am): Update.
10310         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10311
10312 2010-09-28  Bruno Haible  <bruno@clisp.org>
10313
10314         poll: Assume ANSI C.
10315         * lib/poll.c (poll): Use an ANSI C declaration.
10316
10317 2010-09-28  Bruno Haible  <bruno@clisp.org>
10318
10319         poll-h: Create poll.h on all platforms.
10320         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
10321         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
10322         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
10323         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
10324         (gl_REPLACE_POLL_H): Don't set POLL_H.
10325         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
10326         * modules/poll-h (Depends-on): Add include_next.
10327         (Makefile.am): Create poll.h unconditionally. Substitute also
10328         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
10329
10330 2010-09-28  Bruno Haible  <bruno@clisp.org>
10331
10332         Tests for module 'poll-h'.
10333         * modules/poll-h-c++-tests: New file.
10334         * tests/test-poll-h-c++.cc: New file.
10335
10336         Tests for module 'poll-h'.
10337         * modules/poll-h-tests: New file.
10338         * tests/test-poll-h.c: New file.
10339
10340 2010-09-28  Bruno Haible  <bruno@clisp.org>
10341
10342         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
10343         * modules/poll-h (Depends-on): Add 'extensions'.
10344
10345 2010-09-28  Bruno Haible  <bruno@clisp.org>
10346
10347         New module 'poll-h'.
10348         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
10349         (poll): Use modern idiom.
10350         * modules/poll-h: New file.
10351         * modules/poll (Files): Remove lib/poll.in.h.
10352         (Depends-on): Add poll-h.
10353         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
10354         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
10355         * m4/poll_h.m4: New file.
10356         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
10357         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
10358         and invoke gl_REPLACE_POLL_H.
10359         * lib/poll.c: Use common idiom.
10360         * tests/test-poll.c: Likewise.
10361         * doc/posix-headers/poll.texi: Mention the poll-h module.
10362         Suggested by Eric Blake.
10363
10364 2010-09-26  Bruno Haible  <bruno@clisp.org>
10365
10366         sys_wait: Implement WSTOPSIG.
10367         * lib/sys_wait.in.h (WSTOPSIG): New macro.
10368         Reported by Simon Josefsson.
10369
10370 2010-09-26  Simon Josefsson  <simon@josefsson.org>
10371
10372         stdlib, sys_wait: Avoid compilation error on mingw.
10373         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
10374
10375 2010-09-26  Bruno Haible  <bruno@clisp.org>
10376
10377         stdlib tests: Avoid code duplication.
10378         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
10379         * modules/sys_wait-tests (Files): Likewise.
10380         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
10381         * tests/test-stdlib.c: Include test-sys_wait.h.
10382         (main): Invoke test_sys_wait_macros.
10383         * tests/test-sys_wait.c: Include test-sys_wait.h.
10384         (main): Invoke test_sys_wait_macros.
10385
10386 2010-09-25  Simon Josefsson  <simon@josefsson.org>
10387
10388         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
10389         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
10390         sure Windows sockets are working before calling getaddrinfo.
10391         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
10392         * doc/gnulib.texi (Windows sockets): Fix typo.
10393
10394 2010-09-25  Bruno Haible  <bruno@clisp.org>
10395
10396         Tests for module 'regex-quote'.
10397         * modules/regex-quote-tests: New file.
10398         * tests/test-regex-quote.c: New file.
10399
10400         New module 'regex-quote'.
10401         * lib/regex-quote.h: New file.
10402         * lib/regex-quote.c: New file.
10403         * modules/regex-quote: New file.
10404         Suggested by Reuben Thomas <rrt@sc3d.org>.
10405
10406 2010-09-24  Bruno Haible  <bruno@clisp.org>
10407
10408         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
10409         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
10410
10411 2010-09-23  Bruno Haible  <bruno@clisp.org>
10412
10413         setenv: Relax license.
10414         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
10415         Blake.
10416         Requested by Eric Blake.
10417
10418 2010-09-22  Bruno Haible  <bruno@clisp.org>
10419
10420         termios: Relax license.
10421         * modules/termios (License): Change to LGPLv2+.
10422         Requested by Eric Blake.
10423
10424 2010-09-22  Bruno Haible  <bruno@clisp.org>
10425
10426         threadlib: Allow the package to change the default to 'no'.
10427         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
10428         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
10429         Reported by Paul Eggert.
10430
10431 2010-09-22  Pádraig Brady  <P@draigbrady.com>
10432             Bruno Haible  <bruno@clisp.org>
10433
10434         Fix endless loop in mbmemcasecoll.
10435         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
10436         byte.
10437         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
10438
10439 2010-09-22  Bruno Haible  <bruno@clisp.org>
10440
10441         Tests for module 'memcoll'.
10442         * modules/memcoll-tests: New file.
10443         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
10444
10445         memcoll, xmemcoll: Clarify size vs. length.
10446         * modules/memcoll.c (memcoll0): Clarify specification.
10447         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
10448         passed to collate_error.
10449
10450 2010-09-22  Bruno Haible  <bruno@clisp.org>
10451
10452         Tests for module 'memcasecmp'.
10453         * modules/memcasecmp-tests: New file.
10454         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
10455
10456 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10457
10458         * lib/pthread.in.h: Add split double-inclusion guard, and include
10459         system <pthread.h> if there is one.  Use @@-style as in other
10460         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
10461         pthread.h doesn't.
10462         (pthread_mutexattr_destroy, pthread_mutexattr_init):
10463         (pthread_mutexattr_settype, pthread_mutex_trylock):
10464         New static inline functions, if there's no system <pthread.h>.
10465         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
10466         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
10467         Approximate with mutexes if the system lacks spinlocks, as in
10468         MacOS.
10469         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
10470         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
10471         @@-style.  Check for spinlocks separately.
10472         (gl_PTHREAD_DEFAULTS): New macro.
10473         * modules/pthread: Redo to use a more typical style for in.h files.
10474
10475 2010-09-21  Eric Blake  <eblake@redhat.com>
10476
10477         net_if: enhance tests
10478         * tests/test-net_if.c (main): Move signature checks earlier.
10479         Print failures to stderr.
10480         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
10481         Document the bug that we do not yet fix.
10482
10483 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10484
10485         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
10486         about gnulib, not GSS.
10487
10488 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10489
10490         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
10491         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
10492         for Emacs.
10493         * build-aux/pmccabe2html: Make Makefile.am example code more
10494         cut-and-paste friendly.
10495
10496 2010-09-21  Simon Josefsson  <simon@josefsson.org>
10497
10498         * tests/test-net_if.c: New file.
10499         * modules/net_if-tests: New file.
10500
10501 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10502
10503         pthread: add pthread_spin_destroy
10504         * lib/pthread.in.h (pthread_spin_destroy): New function.
10505
10506 2010-09-19  Bruno Haible  <bruno@clisp.org>
10507
10508         gnulib-tool: Fix --help output.
10509         * gnulib-tool (func_usage): Fix help message.
10510         Reported by Reuben Thomas <rrt@sc3d.org>.
10511
10512 2010-09-18  Jim Meyering  <meyering@redhat.com>
10513
10514         maint.mk: avoid unexpanded \n in two diagnostics
10515         * top/maint.mk (sc_prohibit_always_true_header_tests):
10516         Don't use a literal \n in a halt=... assignment.  It would not be
10517         expanded, and the two \n bytes would appear in the diagnostic output
10518         rather than the desired newline.  Use halt=$$(printf ... instead.
10519         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
10520
10521 2010-09-18  Bruno Haible  <bruno@clisp.org>
10522
10523         netinet_in: Doc tweak.
10524         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
10525         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10526
10527 2010-09-18  Jim Meyering  <meyering@redhat.com>
10528
10529         init.sh: correct an outdated comment
10530         * tests/init.sh (create_exe_shims_):  s/function/alias/
10531
10532         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
10533         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
10534         a file named "*.exe" is removed between the glob expansion and the
10535         processing of that oddly named file.
10536
10537 2010-09-17  Eric Blake  <eblake@redhat.com>
10538
10539         mirbsd: add some more support
10540         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
10541         in BSD family.
10542         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
10543         devices as OpenBSD.
10544         * m4/host-os.m4 (mirbsd): Add MirBSD.
10545
10546         tests: fix unportable assumption on sys/wait.h
10547         * tests/test-sys_wait.c (main): Relax test.
10548         * tests/test-stdlib.c (main): Likewise.
10549
10550         init.sh: accomodate directory with no .exes
10551         * tests/init.sh: Accomodate directory containing only scripts.
10552
10553         tests: avoid compiler warning
10554         * tests/test-stdlib.c (main): Use the variable.
10555
10556         fdutimens, fdutimensat: update signature, again
10557         * lib/utimens.h (gl_futimens): Delete, and move signature...
10558         (fdutimens): ...here.
10559         (fdutimensat): Rearrange signature.
10560         (lutimensat): Rename variable for clarity.
10561         * lib/fdutimensat.c (fdutimensat): Update signature.
10562         * lib/utimens.c (fdutimens): Likewise.
10563         (gl_futimens): Delete.
10564         (utimens, lutimens): Update callers.
10565         * lib/futimens.c (futimens): Likewise.
10566         * tests/test-fdutimensat.c: Likewise.
10567         * tests/test-utimens.c: Likewise.
10568         * tests/test-futimens.h: Update comment.
10569         * NEWS: Mention this.
10570         Suggested by Paul Eggert.
10571
10572 2010-09-17  Bruno Haible  <bruno@clisp.org>
10573
10574         Take over the maintenance of some older macros from Autoconf.
10575         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
10576         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
10577         GNU Autoconf.
10578         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
10579         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
10580
10581 2010-09-17  Eric Blake  <eblake@redhat.com>
10582
10583         fdutimensat: drop atflag validation
10584         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
10585         with valid fd, to close a race scenario where futimens is
10586         unsupported and FILE was replaced by a symlink.
10587         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
10588         accordingly.
10589         Suggested by Paul Eggert.
10590
10591 2010-09-16  Bruno Haible  <bruno@clisp.org>
10592
10593         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
10594         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
10595
10596 2010-09-16  Bruno Haible  <bruno@clisp.org>
10597
10598         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
10599         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
10600         login_tty exists.
10601         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10602
10603 2010-09-16  Bruno Haible  <bruno@clisp.org>
10604
10605         login_tty: Make the replacement code work on BSD systems.
10606         * lib/login_tty.c: Include <sys/ioctl.h>.
10607         (login_tty): Use ioctl TIOCSCTTY when available.
10608         * modules/login_tty (Depends-on): Add sys_ioctl.
10609         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10610
10611 2010-09-16  Bruno Haible  <bruno@clisp.org>
10612
10613         login_tty: Stricter unit test.
10614         * modules/login_tty-tests (Depends-on): Add tcgetsid.
10615         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
10616         and tcgetsid() after login_tty.
10617         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10618
10619 2010-09-16  Bruno Haible  <bruno@clisp.org>
10620
10621         New module 'tcgetsid'.
10622         * lib/tcgetsid.c: New file.
10623         * m4/tcgetsid.m4: New file.
10624         * modules/tcgetsid: New file.
10625         * modules/termios (Depends-on): Add c++defs, warn-on-use.
10626         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
10627         GNULIB_TCGETSID, HAVE_TCGETSID.
10628         * lib/termios.in.h: Include <sys/types.h>.
10629         (tcgetsid): New declaration.
10630         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
10631         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
10632         * doc/posix-functions/tcgetsid.texi: Mention the new module.
10633         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
10634
10635 2010-09-16  Bruno Haible  <bruno@clisp.org>
10636
10637         Tests for module 'termios'.
10638         * modules/termios-c++-tests: New file.
10639         * modules/termios-tests: New file.
10640         * tests/test-termios-c++.cc: New file.
10641         * tests/test-termios.c: New file.
10642
10643         New module 'termios'.
10644         * modules/termios: New file.
10645         * lib/termios.in.h: New file.
10646         * m4/termios_h.m4: New file.
10647         * doc/posix-headers/termios.texi: Mention the new module.
10648
10649 2010-09-16  Eric Blake  <eblake@redhat.com>
10650
10651         fdutimensat: add an atflag parameter
10652         * lib/fdutimensat.c (fdutimensat): Add new parameter.
10653         * lib/utimens.h (fdutimensat): Update prototype.
10654         * tests/test-fdutimensat.c: Adjust test to match.
10655         * NEWS: Document the change.
10656         Suggested by Paul Eggert.
10657
10658 2010-09-16  Bruno Haible  <bruno@clisp.org>
10659
10660         Fix typos in comments.
10661         * lib/striconveh.h: Fix typo in comment.
10662         * lib/login_tty.c (login_tty): Likewise.
10663
10664 2010-09-15  Bruno Haible  <bruno@clisp.org>
10665
10666         stdlib: clarify MirBSD WEXITSTATUS bug
10667         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
10668         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10669
10670 2010-09-15  Eric Blake  <eblake@redhat.com>
10671
10672         stdlib: work around MirBSD WEXITSTATUS bug
10673         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
10674         * modules/stdlib (Depends-on): Add sys_wait.
10675         * tests/test-sys_wait.c (main): Enhance test.
10676         * tests/test-stdlib.c (main): Likewise.
10677         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
10678
10679         docs: mention MacOS issue with WEXITSTATUS(constant)
10680         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
10681         issue.
10682         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10683
10684         strnlen: add tests
10685         * modules/strnlen-tests: New file.
10686         * tests/test-strnlen.c: Likewise.
10687
10688 2010-09-14  Bruno Haible  <bruno@clisp.org>
10689
10690         unistr/base: Avoid link errors when module 'libunistring' is also used.
10691         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
10692         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
10693         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
10694         Declare also when HAVE_LIBUNISTRING is set.
10695         Reported by Pádraig Brady <P@draigbrady.com>.
10696
10697 2010-09-14  Eric Blake  <eblake@redhat.com>
10698
10699         test-rawmemchr: make more robust
10700         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
10701         (Depends-on, configure.ac): Add needed prerequisites to use it.
10702         * modules/memchr-tests (Files, Depends-on, configure.ac):
10703         Likewise, to avoid implicit reliance on memchr module prereqs.
10704         * tests/test-memchr.c (main): Ensure proper masking.
10705         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
10706         reads.
10707
10708         memchr: detect glibc Alpha bug
10709         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
10710         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
10711         Alpha.
10712         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
10713         * tests/test-memchr.c (main): Enhance test.
10714         Reported by Nelson H. F. Beebe.
10715
10716 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10717
10718         fts, getcwd, glob: audit for dirfd returning -1
10719         * lib/fts.c (opendir): Remove #define; no longer used.
10720         (opendirat): New arg PDIR_FD.  All callers changed.
10721         (fts_build, _opendir2): Use new opendirat to avoid the need for
10722         dirfd, or for checking whether dirfd returns a negative value.
10723         Don't use opendir; always use openat followed by fdopendir.
10724         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
10725         it.
10726         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
10727         returns -1 here.
10728         * modules/fts (Depends-on): Remove dirfd.
10729         * modules/getcwd (Depends-on): Likewise.
10730
10731 2010-09-13  Eric Blake  <eblake@redhat.com>
10732
10733         float: fix broken MirBSD header
10734         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
10735         * doc/posix-headers/float.texi (float.h): Document it.
10736
10737 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10738
10739         fts: use O_NOFOLLOW to avoid race condition when opening a directory
10740         * lib/fts.c (opendirat): New arg extra_flags.
10741         (__opendir2): Use it to avoid following symlinks when opening
10742         a directory, if symlinks are not supposed to be followed.  See
10743         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
10744
10745         fdopendir: preserve argument fd before returning
10746         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
10747         (fdopendir_with_dup, fd_clone_opendir): New static functions.
10748         (fdopendir): Use them, arranging for FD to be open to the same
10749         directory that it was when it started.  (It might be temporarily
10750         closed while fdopendir is running, so this not thread- or
10751         signal-safe.)  Be careful to do the right thing even when file
10752         descriptors are scarce and dup fails with errno == EMFILE.  See
10753         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
10754
10755 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
10756
10757         regex: Pass the system regex if its only problem is 32-bit regoff_t.
10758         * NEWS: Document change.
10759         * m4/regex.m4: Disable test for regoff_t size.
10760
10761 2010-09-13  Jim Meyering  <meyering@redhat.com>
10762
10763         fts: don't operate on an invalid file descriptor after failed dup
10764         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
10765         negative file descriptor.
10766
10767 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
10768
10769         savedir: add streamsavedir, deprecate fdsavedir
10770         * NEWS: Mention deprecation of fdsavedir.
10771         * lib/savedir.c (streamsavedir): New extern function, whose name
10772         ends in "savedir" to be consistent with the others.  This differs
10773         from savedirstream in that it doesn't close its argument.  The
10774         next version of GNU tar will use this instead of fdsavedir, to
10775         avoid some race conditions and conserve file descriptors.
10776         (savedirstream): Reimplement as a wrapper around streamsavedir.
10777         (fdsavedir): Add a comment deprecating this function.  As far as
10778         I know, only GNU tar used it, and GNU tar doesn't need it any more.
10779         * lib/savedir.h (streamsavedir): New decl.
10780         (fdsavedir): Add a comment deprecating this.
10781
10782 2010-09-10  Bruno Haible  <bruno@clisp.org>
10783
10784         langinfo: Fix last commit.
10785         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
10786         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
10787         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10788
10789 2010-09-10  Bruno Haible  <bruno@clisp.org>
10790
10791         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
10792         * lib/progreloc.c (O_EXEC): Define fallback.
10793
10794 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
10795
10796         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
10797         * NEWS: Document recent changes to fcntl-h.
10798         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
10799         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
10800         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
10801         Similarly for O_SEARCH; this last was already true, but not documented.
10802         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
10803         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
10804         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
10805         Likewise.
10806         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
10807         is zero, not whether it is defined.
10808         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
10809         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
10810         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
10811
10812 2010-09-10  Bruno Haible  <bruno@clisp.org>
10813
10814         langinfo, nl_langinfo: Fix for IRIX 5.3.
10815         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
10816         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
10817         HAVE_LANGINFO_YESEXPR.
10818         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
10819         HAVE_LANGINFO_YESEXPR.
10820         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
10821         HAVE_LANGINFO_T_FMT_AMPM is 0.
10822         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
10823         HAVE_LANGINFO_YESEXPR is 0.
10824         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
10825         NOEXPR.
10826         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
10827         * doc/posix-functions/nl_langinfo.texi: Likewise.
10828         Reported by Eric Blake.
10829
10830 2010-09-10  Bruno Haible  <bruno@clisp.org>
10831
10832         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
10833         * doc/glibc-functions/login_tty.texi: Mention the include file problem
10834         on FreeBSD 8.0 and OpenBSD 4.6.
10835         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
10836         * m4/pty_h.m4 (gl_PTY_H): Likewise.
10837         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
10838         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
10839         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
10840         ac_includes_default.
10841         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10842
10843 2010-09-09  Eric Blake  <eblake@redhat.com>
10844
10845         strsignal: work around NetBSD bug
10846         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
10847         * lib/string.in.h (includes): Likewise.
10848         * doc/posix-functions/strsignal.texi (strsignal): Document the
10849         bug.
10850         Reported by Nelson H. F. Beebe.
10851
10852         gnulib-tool: work with NetBSD /bin/sh
10853         * gnulib-tool (func_cache_var, func_cache_lookup_module)
10854         (func_get_description, func_get_comment, func_get_status)
10855         (func_get_notice, func_get_applicability, func_get_filelist)
10856         (func_get_dependencies, func_get_autoconf_early_snippet)
10857         (func_get_autoconf_snippet, func_get_automake_snippet)
10858         (func_get_include_directive, func_get_link_directive)
10859         (func_get_license, func_get_maintainer, func_import): Avoid
10860         shell syntax errors from parsing syntax extensions.
10861
10862 2010-09-09  Bruno Haible  <bruno@clisp.org>
10863
10864         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
10865         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
10866         a reliable way to determine whether the 'alias' command works.
10867
10868 2010-09-08  Jim Meyering  <meyering@redhat.com>
10869
10870         init.sh: penalize a set-x-impaired shell; don't disqualify it
10871         * tests/init.sh: Too many shells corrupt application stderr when
10872         you set -x, so we can't afford to disqualify them, since at least
10873         on Irix-6.5, that would disqualify all bourne shells.
10874         Instead, use a two-pass approach.
10875         On the first pass, try to find a shell that meets the stricter
10876         condition that set -x does not corrupt stderr.
10877         If no shell meets the stricter condition, retest each candidate
10878         shell, but without that extra condition.  Finally, when
10879         VERBOSE=yes is requested and set -x might cause trouble, simply
10880         issue a warning and refrain from enabling debug output.
10881
10882 2010-09-08  Eric Blake  <eblake@redhat.com>
10883
10884         unsetenv: fix OpenBSD bug
10885         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
10886         * doc/posix-functions/unsetenv.texi (unsetenv): Update
10887         documentation.
10888         Reported by Jim Meyering.
10889
10890         strtod: work around IRIX 6.5 bug
10891         * lib/strtod.c (strtod): Reparse number on shorter string if
10892         exponent parse was invalid.
10893         * tests/test-strtod.c (main): Add check for "0x1p 2".
10894         Reported by Tom G. Christensen.
10895
10896         getopt: optimize previous patch
10897         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
10898         empty variable.  Speed up awk script.
10899         Reported by Paolo Bonzini.
10900
10901 2010-09-08  Jim Meyering  <meyering@redhat.com>
10902
10903         test.sh: disqualify shells for which set -x corrupts stderr
10904         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
10905         and OpenBSD 4.7.  They make it so with "set -x", environment settings
10906         appear in stderr output.  For example, this command:
10907             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
10908         prints "P=1" on those two systems:
10909
10910 2010-09-08  Bruno Haible  <bruno@clisp.org>
10911
10912         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
10913         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
10914         commands, because some shells ignore redirections when there is an
10915         error in the command lookup.
10916         Reported by Eric Blake.
10917
10918 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
10919
10920         * lib/regex.h: Fix a mention of `regex_compile' (should be
10921         `re_compile_pattern').
10922         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
10923         (re_set_registers): Correct name of parameter in comment.
10924
10925         * doc/regex.texi: Add documentation for missing syntax flags.
10926         Remove commented-out documentation of defunct syntax option
10927         RE_NO_EMPTY_ALTS.
10928         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
10929         Add documentation of re_set_registers.
10930         Document trick to re-use a pattern buffer by setting fastmap manually.
10931         Update documentation of struct re_pattern_buffer per public members.
10932         Uncomment documentation of equivalence class operators and
10933         collating symbol operators, since they are now implemented,
10934         Explain leftmost-longest matching in relation to alternatives.
10935         Tidy documentation of substring matching.
10936         Remove POSIX documentation, which is done better in
10937         glibc, and refer the reader there. Keep BSD API documentation, as
10938         that is not readily available elsewhere.
10939
10940 2010-09-07  Eric Blake  <eblake@redhat.com>
10941
10942         getopt: handle POSIXLY_CORRECT set but not exported
10943         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
10944         export state of POSIXLY_CORRECT, due to bash set -o posix.
10945         Reported by Dustin J. Mitchell.
10946
10947 2010-09-05  Bruno Haible  <bruno@clisp.org>
10948
10949         gnulib-tool: Highlight the changed options.
10950         * gnulib-tool (func_usage): Display the --import, --add-import,
10951         --remove-import explanations in bold font.
10952
10953 2010-09-06  Karl Berry  <karl@gnu.org>
10954
10955         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
10956
10957 2010-09-05  Bruno Haible  <bruno@clisp.org>
10958
10959         uniwidth/width: Update comment.
10960         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
10961         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
10962
10963 2010-09-05  Bruno Haible  <bruno@clisp.org>
10964
10965         isinf, isnan: Relax license.
10966         * modules/isinf (License): Change from GPL to LGPL, with consent from
10967         Ben Pfaff.
10968         * modules/isnan (License): Likewise.
10969         Requested by Ludovic Courtès.
10970
10971 2010-09-04  Bruno Haible  <bruno@clisp.org>
10972
10973         gnulib-tool: Help migration from --import to --add-import or --update.
10974         * gnulib-tool: Emit a verbose error message when --import is used
10975         without any module name.
10976
10977 2010-09-04  Bruno Haible  <bruno@clisp.org>
10978
10979         Update doc about gnulib-tool.
10980         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
10981         'gnulib-tool --update' in more detail.
10982         Reported by Eric Blake.
10983
10984 2010-09-04  Bruno Haible  <bruno@clisp.org>
10985
10986         gnulib-tool: Change --import. New options --add/remove-import.
10987         * gnulib-tool: New options --add-import, --remove-import.
10988         (func_usage): Document them.
10989         (have_associative): Define always.
10990         (func_import): In import mode, don't merge the specified settings with
10991         the cached settings. Implement remove-import mode.
10992         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
10993         Explain when to use them versus --import.
10994         (Simple update): Use --add-import instead of --import.
10995         * NEWS: Mention the change.
10996
10997 2010-09-04  Bruno Haible  <bruno@clisp.org>
10998
10999         * doc/gnulib-tool.texi (Initial import): Update paragraph about
11000         separate gnulib.mk.
11001
11002 2010-09-04  Bruno Haible  <bruno@clisp.org>
11003
11004         gnulib-tool: Don't talk about CVS any more.
11005         * gnulib-tool (func_usage, func_import): Write "version control"
11006         instead of CVS.
11007
11008 2010-09-04  Jim Meyering  <meyering@redhat.com>
11009
11010         maint.mk: avoid obscure sc_copyright_check failure in coreutils
11011         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
11012         false positives (whose names may be ill-chosen) when searching
11013         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
11014         would cause a false-positive.
11015
11016         avoid coreutils "make distcheck" failure
11017         Coreutils tests with an absolute build directory name that contains
11018         a space.  Not quoting this directory name caused a failure.
11019         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
11020         * tests/test-vc-list-files-cvs.sh: Likewise.
11021
11022 2010-09-04  Bruno Haible  <bruno@clisp.org>
11023
11024         gnulib-tool: Avoid error when run in a package without Makefile.am.
11025         * gnulib-tool: When collecting the m4dirs in a package that does not
11026         have a Makefile.am, eliminate those directories that contain no
11027         gnulib-cache.m4. Fix expression that counts these directories.
11028
11029 2010-09-04  Bruno Haible  <bruno@clisp.org>
11030
11031         update-copyright test: Improve output when perl is missing or too old.
11032         * tests/test-update-copyright.sh: Move test of Perl version down after
11033         the test whether Perl exists. Provide an explanation relating Perl's
11034         error message to Automake's SKIP: message.
11035
11036 2010-09-04  Bruno Haible  <bruno@clisp.org>
11037
11038         Don't augment PATH in TESTS_ENVIRONMENT.
11039         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
11040         set abs_aux_dir instead of augmenting PATH.
11041         * modules/vc-list-files-tests (Makefile.am): Likewise.
11042         * tests/test-update-copyright.sh: Augment PATH here.
11043         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
11044         path_prepend_.
11045         * tests/test-vc-list-files-git.sh: Likewise.
11046
11047 2010-09-04  Jim Meyering  <meyering@redhat.com>
11048
11049         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
11050         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
11051
11052 2010-09-04  Bruno Haible  <bruno@clisp.org>
11053
11054         strdup: Fix compilation error in C++ mode.
11055         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
11056         the macro.
11057
11058 2010-09-04  Bruno Haible  <bruno@clisp.org>
11059
11060         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
11061         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
11062         macro into a function.
11063         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11064
11065 2010-09-04  Bruno Haible  <bruno@clisp.org>
11066
11067         Set PATH_SEPARATOR the same way autoconf does.
11068         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
11069         the value of PATH_SEPARATOR the same way autoconf-generated configure
11070         scripts do.
11071         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
11072         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
11073
11074 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11075
11076         Set PATH_SEPARATOR the same way autoconf does.
11077         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
11078         the same way autoconf-generated configure scripts do.
11079         * posix-modules: Likewise.
11080
11081 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11082
11083         hash: fix safe_hasher const typo
11084         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
11085         const; otherwise, there is a type error later.
11086
11087 2010-09-02  Jim Meyering  <meyering@redhat.com>
11088
11089         test-update-copyright.sh: require perl 5.8.0
11090         * tests/test-update-copyright.sh: Require 5.8.0,
11091         which Tom G. Christensen has confirmed is adequate,
11092         while 5.6.1 is not.
11093
11094 2010-09-02  Eric Blake  <eblake@redhat.com>
11095
11096         tests: init.sh improvements for re-exec'ing with zsh
11097         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
11098         -vx through shell re-exec.
11099         Reported by Tom G. Christensen.
11100
11101         wctype: fix typo in previous commit
11102         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
11103         Reported by Ludovic Courtès.
11104
11105 2010-09-02  Jim Meyering  <meyering@redhat.com>
11106
11107         test-update-copyright.sh: skip test if Perl is too old
11108         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
11109         Reported by Tom G. Christensen.
11110
11111 2010-09-02  Bruno Haible  <bruno@clisp.org>
11112
11113         wctype: Avoid compilation error on IRIX 6.5.30.
11114         * lib/wctype.in.h (iswblank): Declare with a replacement if
11115         REPLACE_ISWBLANK is set.
11116         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
11117         declared. Set REPLACE_ISWBLANK.
11118         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
11119         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
11120         * doc/posix-headers/wctype.texi: Likewise.
11121         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11122
11123 2010-09-01  Bruno Haible  <bruno@clisp.org>
11124
11125         New module 'socketlib'.
11126         * modules/socketlib: New file.
11127         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
11128         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
11129         * modules/sockets (Depends-on): Add socketlib.
11130         Suggested by Sam Steingold <sds@gnu.org>.
11131
11132 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11133
11134         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
11135
11136         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
11137         when one needs search access to a directory but not read access.
11138         On systems where it is available, it works in some cases where
11139         O_RDONLY does not, namely on directories that are searchable but
11140         not readable, and which need only to be searchable.  If O_SEARCH
11141         is not available, fall back to the traditional method of using
11142         O_RDONLY.
11143
11144         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
11145         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
11146         when opening a directory that needs only to be searchable.
11147         * lib/chdir-safer.c (chdir_no_follow): Likewise.
11148         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
11149         * lib/openat-proc.c (openat_proc_name): Likewise.
11150         * lib/openat.c (openat_needs_fchdir): Likewise.
11151         * lib/save-cwd.c (save_cwd): Likewise.
11152         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
11153
11154 2010-08-28  Bruno Haible  <bruno@clisp.org>
11155
11156         New module 'host-cpu-c-abi'.
11157         * modules/host-cpu-c-abi: New file.
11158         * m4/host-cpu-c-abi.m4: New file, based on part of
11159         clisp/src/m4/general.m4.
11160         Requested by Sam Steingold <sds@gnu.org>.
11161
11162 2010-08-31  Eric Blake  <eblake@redhat.com>
11163         and Jim Meyering  <meyering@redhat.com>
11164
11165         hash: factor, and guard against misbehaving hasher function
11166         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
11167         of table->hasher's return value.  Also protect against a hash value
11168         so large that adding it to table->bucket results in a NULL pointer.
11169         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
11170         Use it in place of open-coded check-and-abort.
11171
11172 2010-08-30  Bruno Haible  <bruno@clisp.org>
11173
11174         hash: silence spurious clang warning
11175         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
11176         Reported by Eric Blake.
11177
11178 2010-08-30  Eric Blake  <eblake@redhat.com>
11179
11180         strstr, memmem, strcasestr: avoid leaked shell message
11181         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
11182         FreeBSD.
11183         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11184         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11185
11186         tests: silence clang warning
11187         * tests/test-malloca.c (do_allocation): Avoid dead store.
11188
11189 2010-08-29  Bruno Haible  <bruno@clisp.org>
11190
11191         gettext: Fix recent mistake.
11192         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
11193
11194 2010-08-29  Bruno Haible  <bruno@clisp.org>
11195
11196         selinux-h: Offer a --without-selinux option.
11197         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
11198         --without-selinux was specified, skip all tests and define
11199         HAVE_SELINUX_SELINUX_H to 0.
11200         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
11201         set LIB_SELINUX to empty.
11202         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
11203         gl_LIBSELINUX. If --without-selinux was specified, replace
11204         selinux/context.h.
11205         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
11206
11207 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11208             Bruno Haible  <bruno@clisp.org>
11209
11210         Make the module 'realloc-gnu' work again on AIX and OSF/1.
11211         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
11212         of HAVE_REALLOC.
11213         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
11214         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
11215         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
11216         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11217
11218 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11219             Bruno Haible  <bruno@clisp.org>
11220
11221         Make the module 'calloc-gnu' work again on AIX and OSF/1.
11222         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
11223         HAVE_CALLOC.
11224         * lib/xmalloc.c: Update accordingly.
11225         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
11226         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
11227         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
11228
11229 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11230             Bruno Haible  <bruno@clisp.org>
11231
11232         Make the module 'malloc-gnu' work again on AIX and OSF/1.
11233         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
11234         HAVE_MALLOC.
11235         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
11236         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
11237         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11238
11239 2010-08-29  Bruno Haible  <bruno@clisp.org>
11240
11241         Update modules list.
11242         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
11243         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
11244         (String handling <string.h>): Add astrxfrm.
11245         (File system functions): Add readlinkat.
11246
11247 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11248
11249         Tests for module 'realloc-gnu'.
11250         * modules/realloc-gnu-tests: New file.
11251         * tests/test-realloc-gnu.c: New file.
11252
11253         Tests for module 'calloc-gnu'.
11254         * modules/calloc-gnu-tests: New file.
11255         * tests/test-calloc-gnu.c: New file.
11256
11257         Tests for module 'malloc-gnu'.
11258         * modules/malloc-gnu-tests: New file.
11259         * tests/test-malloc-gnu.c: New file.
11260
11261 2010-08-28  Bruno Haible  <bruno@clisp.org>
11262
11263         Rename module 'realloc' -> 'realloc-gnu'.
11264         * modules/realloc-gnu: New file, copied from modules/realloc.
11265         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
11266         obsolete.
11267         * modules/mgetgroups (Depends-on): Update.
11268         * doc/posix-functions/realloc.texi: Update.
11269         * NEWS: Mention the change.
11270
11271         Rename module 'calloc' -> 'calloc-gnu'.
11272         * modules/calloc-gnu: New file, copied from modules/calloc.
11273         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
11274         obsolete.
11275         * doc/posix-functions/calloc.texi: Update.
11276         * NEWS: Mention the change.
11277
11278         Rename module 'malloc' -> 'malloc-gnu'.
11279         * modules/malloc-gnu: New file, copied from modules/malloc.
11280         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
11281         obsolete.
11282         * modules/argp (Depends-on): Update.
11283         * modules/regex (Depends-on): Update.
11284         * doc/posix-functions/malloc.texi: Update.
11285         * NEWS: Mention the change.
11286
11287 2010-08-28  Eric Blake  <eblake@redhat.com>
11288
11289         pread, pwrite: add missing dependency
11290         * modules/pread (Depends-on): Add extensions.
11291         * modules/pwrite (Depends-on): Likewise.
11292
11293 2010-08-28  Bruno Haible  <bruno@clisp.org>
11294
11295         unistr/u*-strchr: Fix tests dependencies.
11296         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
11297         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
11298         Reported by Ian Beckwith <ianb@erislabs.net>.
11299
11300 2010-08-28  Bruno Haible  <bruno@clisp.org>
11301
11302         read-file: Don't occupy too much unused memory.
11303         * lib/read-file.c (fread_file): Shrink the buffer at the end.
11304
11305 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
11306             Eric Blake  <eblake@redhat.com>
11307             Bruno Haible  <bruno@clisp.org>
11308
11309         read-file: Avoid memory reallocations with regular files.
11310         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
11311         (fread_file): With regular files, use the remaining length as the
11312         initial buffer size.  Check against overflow.
11313         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
11314         sys_stat.
11315
11316 2010-08-28  Bruno Haible  <bruno@clisp.org>
11317
11318         ftello: Relax license.
11319         * modules/ftello (License): Relax to LGPLv2+.
11320         Reported by Eric Blake.
11321
11322 2010-08-28  Bruno Haible  <bruno@clisp.org>
11323
11324         Avoid relocwrapper link errors due to gnulib replacement functions.
11325         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
11326         function.
11327         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11328
11329 2010-08-28  Bruno Haible  <bruno@clisp.org>
11330
11331         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
11332         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
11333         defined.
11334         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
11335         Suggested by Eric Blake.
11336
11337 2010-08-28  Bruno Haible  <bruno@clisp.org>
11338
11339         sys_socket, netdb: Ensure socklen_t gets defined.
11340         * modules/sys_socket (Depends-on): Add socklen.
11341         * modules/netdb (Depends-on): Likewise.
11342         * modules/getaddrinfo (Depends-on): Remove socklen.
11343         * modules/getsockopt (Depends-on): Likewise.
11344         * modules/setsockopt (Depends-on): Likewise.
11345         * tests/test-sys_socket.c: Check that socklen_t is defined.
11346         * tests/test-netdb.c: Likewise.
11347         * m4/socklen.m4: Update comments.
11348         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11349
11350 2010-08-27  Eric Blake  <eblake@redhat.com>
11351
11352         login_tty: add missing dependency
11353         * modules/login_tty (Depends-on): Add pty.
11354
11355 2010-08-26  Eric Blake  <eblake@redhat.com>
11356
11357         lib-symbol-versions: fix m4 quoting
11358         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
11359         format for AC_LINK_IFELSE.
11360
11361         glob: fix compile test
11362         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
11363
11364         btowc: fix missing file
11365         * modules/btowc (Files): Also ship locale-fr.m4.
11366
11367         lseek: fix link test
11368         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
11369         AC_LINK_IFELSE.
11370
11371         include_next: silence autoconf 2.68 warning
11372         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
11373         AC_COMPILE_IFELSE as special.
11374         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
11375         autoconf < 2.68.
11376
11377         acl: fix compilation test
11378         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
11379         AC_COMPILE_IFELSE.
11380
11381 2010-08-26  Bruno Haible  <bruno@clisp.org>
11382
11383         Modernize AC_TRY_RUN invocations.
11384         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
11385         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
11386         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
11387         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
11388         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
11389         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
11390         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
11391         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
11392         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11393         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11394         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
11395         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
11396         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
11397         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
11398         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
11399         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
11400         gl_MBRLEN_NUL_RETVAL): Likewise.
11401         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
11402         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
11403         Likewise.
11404         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11405         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11406         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
11407         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
11408         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
11409         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
11410         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
11411         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11412         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
11413         Likewise.
11414         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
11415         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
11416         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11417         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11418         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11419         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
11420         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
11421         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
11422         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11423         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11424
11425 2010-08-26  Bruno Haible  <bruno@clisp.org>
11426
11427         Modernize AC_TRY_LINK invocations.
11428         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
11429         AC_TRY_LINK.
11430         * m4/argp.m4 (gl_ARGP): Likewise.
11431         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11432         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11433         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
11434         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
11435         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
11436         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
11437         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11438         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11439         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
11440         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
11441         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
11442         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
11443         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
11444         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11445         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
11446         * m4/hostent.m4 (gl_HOSTENT): Likewise.
11447         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11448         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
11449         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
11450         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
11451         Likewise.
11452         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
11453         Likewise.
11454         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
11455         Likewise.
11456         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
11457         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
11458         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
11459         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11460         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11461         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
11462         * m4/servent.m4 (gl_SERVENT): Likewise.
11463         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11464         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11465         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11466         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11467         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11468         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11469         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11470         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11471         * modules/tsearch-tests (configure.ac): Likewise.
11472
11473 2010-08-26  Bruno Haible  <bruno@clisp.org>
11474
11475         Modernize AC_TRY_COMPILE invocations.
11476         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
11477         AC_TRY_COMPILE.
11478         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
11479         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
11480         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
11481         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
11482         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
11483         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
11484         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
11485         * m4/lock.m4 (gl_LOCK): Likewise.
11486         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
11487         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
11488         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
11489         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
11490         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
11491         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
11492         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
11493         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
11494         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
11495         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
11496         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
11497         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
11498         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
11499         extraneous semicolon.
11500
11501 2010-08-26  Jim Meyering  <meyering@redhat.com>
11502
11503         stat-time: relax license LGPL
11504         * modules/stat-time (License): Change from GPL to LGPL,
11505         with consent from all contributors, for use in libguile.
11506         Requested by Ludovic Courtès.
11507
11508 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
11509
11510         poll: return immediately on POLLHUP.
11511         * lib/poll.c (poll): Always set timeout before wait_timeout is
11512         computed.
11513
11514 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11515
11516         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
11517         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
11518         rmdir ("dir/.//"), unlinkat.
11519
11520 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11521
11522         stdbool: avoid spurious failure with modern xlc
11523         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11524
11525 2010-08-24  Bruno Haible  <bruno@clisp.org>
11526
11527         getloadavg: simplify code
11528         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
11529         gl_have_func. Update comments.
11530
11531 2010-08-24  Eric Blake  <eblake@redhat.com>
11532
11533         getloadavg: don't define SVR4 on cygwin
11534         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
11535         only define SVR4 when -lkvm is required.
11536         Reported by Yaakov Selkowitz.
11537
11538 2010-08-24  Bruno Haible  <bruno@clisp.org>
11539
11540         priv-set: fix comment
11541         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
11542
11543 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11544
11545         priv-set: fix comments
11546         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
11547         to match code, as suggested by David Bartley in:
11548         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
11549
11550 2010-08-23  Eric Blake  <eblake@redhat.com>
11551
11552         stdbool: avoid rejecting clang
11553         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11554         * tests/test-stdbool.c: Enable more tests if using the system
11555         <stdbool.h> instead of the gnulib replacement.
11556         (main): Move xlc bug test to a runtime test for all compilers.
11557         Reported by Anders Kaseorg.
11558
11559         argz: fix shell quoting issue
11560         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
11561         Reported by Charles Wilson.
11562
11563 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
11564             Erik Faye-Lund <kusmabite@gmail.com>
11565
11566         poll, select: handle ERROR_BROKEN_PIPE.
11567         * lib/poll.c (win32_compute_revents): Return POLLHUP when
11568         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11569         * lib/select.c (win32_compute_revents): Do not mark a pipe
11570         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11571
11572 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
11573
11574         fts: allow compilation with C++
11575         * lib/fts_.h: Specify extern "C" linkage with C++.
11576
11577 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11578
11579         Fix gnulib-tool sed script de-commentation for AIX sed.
11580         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
11581         sed.
11582
11583 2010-08-17  Eric Blake  <eblake@redhat.com>
11584
11585         test-stddef: test for (some) offsetof bugs
11586         * tests/test-stddef.c: Enhance test to ensure correct type of
11587         offsetof.
11588         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
11589         that we are not fixing at this time.
11590
11591 2010-08-15  Bruno Haible  <bruno@clisp.org>
11592
11593         stpncpy: Allow stpncpy to be defined as a macro.
11594         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
11595         if it's already correctly declared.
11596         * lib/string.in.h (stpncpy): Undefine before redefining.
11597         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
11598
11599 2010-08-14  Bruno Haible  <bruno@clisp.org>
11600
11601         Rename module 'memxfrm' to 'amemxfrm'.
11602         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
11603         (amemxfrm): Renamed from memxfrm.
11604         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
11605         (amemxfrm): Renamed from memxfrm.
11606         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
11607         * NEWS: Mention the change.
11608         * MODULES.html.sh (String handling <string.h>): Update.
11609         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
11610         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
11611         * lib/unicase/u16-casexfrm.c: Likewise.
11612         * lib/unicase/u32-casexfrm.c: Likewise.
11613         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
11614         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
11615         * lib/uninorm/u16-normxfrm.c: Likewise.
11616         * lib/uninorm/u32-normxfrm.c: Likewise.
11617         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
11618         memxfrm.
11619         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
11620         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
11621         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
11622         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
11623         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
11624         Suggested by Paul Eggert.
11625
11626 2010-08-14  Bruno Haible  <bruno@clisp.org>
11627
11628         Tests for module 'astrxfrm'.
11629         * modules/astrxfrm-tests: New file.
11630         * tests/test-astrxfrm.c: New file.
11631
11632         New module 'astrxfrm'.
11633         * lib/astrxfrm.h: New file.
11634         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
11635         * modules/astrxfrm: New file.
11636
11637 2010-08-14  Reuben Thomas <rrt@sc3d.org>
11638
11639         regex: Tweak doc.
11640         * doc/regex.texi (Overview): Don't mention regex.c.
11641         (GNU Regular Expression Compiling): Likewise.
11642         (Match-end-of-line Operator): Mention 'not_eol'.
11643
11644 2010-08-14  Brian Gough  <bjg@gnu.org>
11645             Bruno Haible  <bruno@clisp.org>
11646
11647         git-merge-changelog: add doc relating to use with bzr and hg.
11648         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
11649
11650 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
11651
11652         pthread: fix pthread.h creation for srcdir != builddir
11653         * modules/pthread (Makefile.am): Fix the rule to work also in a
11654         non-srcdir build.
11655
11656 2010-08-13  Karl Berry  <karl@gnu.org>
11657
11658         * doc/regex.texi (Predefined Syntaxes): @smallexample.
11659         * doc/posix-*/*: force line break before @url of POSIX
11660         specifications.
11661         Suggested by Werner Lemberg.
11662
11663 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11664
11665         strtod: fix const diagnostic
11666         * lib/strtod.c (strtod): Don't assign const char * to char *,
11667         as this elicits a warning from GCC when warnings are enabled.
11668
11669 2010-08-10  Pádraig Brady <P@draigbrady.com>
11670         and Eric Blake  <eblake@redhat.com>
11671
11672         copy-acl: ignore ENOTSUP on HP-UX
11673         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
11674         so that it is available for HP-UX.
11675         * lib/copy-acl.c (qcopy_acl): Use it.
11676         Reported by Patrick M. Callahan.
11677
11678 2010-08-10  Eric Blake  <eblake@redhat.com>
11679
11680         open, chown: relax license
11681         * modules/open (License): Change to LGPLv2+, with consent by all
11682         authors, for use in augeas.
11683         * modules/chown (License): Likewise.
11684         * modules/lchown (Likewise): Likewise.
11685         Requested by Adam Stokes.
11686
11687 2010-08-09  Karl Berry  <karl@gnu.org>
11688
11689         * build-aux/ar-lib: new file, import from Automake.
11690         * config/srclist.txt: autocheck for updates.
11691
11692 2010-08-09  Eric Blake  <eblake@redhat.com>
11693
11694         readlinkat: adjust client modules
11695         * modules/areadlinkat (Depends-on): Use readlinkat, not
11696         symlinkat.
11697         * modules/areadlinkat-with-size (Depends-on): Likewise.
11698
11699         mknod: be more vocal about danger of running tests as root
11700         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
11701         root, since that is just asking for problems.
11702         Suggested by Bruno Haible, based on a report by Rainer Tammer.
11703
11704         readlinkat: split into its own module
11705         * modules/symlinkat: Split readlinkat...
11706         * modules/readlinkat: ...into separate module.
11707         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
11708         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
11709         * lib/symlinkat.c (readlinkat): Move...
11710         * lib/readlinkat.c: ...into new file.
11711         * modules/symlinkat-tests: Split readlinkat test...
11712         * modules/readlinkat-tests: ...into separate module.
11713         * tests/test-symlinkat.c: Split...
11714         * tests/test-readlinkat.c: ...into new file.
11715         * NEWS: Document the split.
11716         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11717         * lib/unistd.in.h (readlinkat): Likewise.
11718         Suggested by Bruno Haible.
11719
11720 2010-08-08  Bruno Haible  <bruno@clisp.org>
11721
11722         memxfrm: Speed up.
11723         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
11724         that usually only one call to strxfrm is necessary for each string
11725         part.
11726         Reported by Paul Eggert <eggert@cs.ucla.edu>.
11727
11728 2010-08-07  Karl Berry  <karl@gnu.org>
11729
11730         * doc/posix-headers/limits.texi,
11731         * doc/posix-functions/malloc.texi,
11732         * doc/posix-functions/strsignal.texi: missing @item.
11733         * doc/ld-version-script.texi: spurious leading i.
11734         * doc/regex.texi (Interval Operators): no commas inside @var.
11735
11736 2010-08-01  Bruno Haible  <bruno@clisp.org>
11737
11738         Integrate the regex documentation.
11739         * doc/gnulib.texi: Define 'cn' index.
11740         (Regular expressions): New a chapter that includes regex.texi and
11741         regexprops-generic.texi.
11742         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
11743         syntax.
11744
11745         Whitespace cleanup.
11746         * doc/regex.texi: Remove trailing spaces.
11747
11748         Add regex documentation.
11749         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
11750         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
11751         Written by Kathy A. Hargreaves and Karl Berry.
11752
11753 2010-08-01  Bruno Haible  <bruno@clisp.org>
11754
11755         link: Update documentation.
11756         * doc/posix-functions/link.texi: Update regarding Solaris.
11757
11758 2010-07-31  Bruno Haible  <bruno@clisp.org>
11759
11760         Update modules list.
11761         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
11762         (String handling <string.h>): Add memcmp2, memxfrm.
11763         (Container data structures): Add xlist, xsublist, xoset.
11764         (Core language properties): Add alignof, unused-parameter.
11765         (Process control, Numeric conversion functions <stdlib.h>): Renamed
11766         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
11767         (Unibyte characters <ctype.h>): New section.
11768         (String handling <string.h>): New section.
11769         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
11770         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
11771         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
11772         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
11773         tan, tanh, tanl, y0, y1, yn.
11774         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
11775         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
11776         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
11777         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
11778         unlockpt, vdprintf, vdprintf-posix.
11779         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
11780         (File system functions): Add concat-filename, sys_file, sys_ioctl,
11781         xconcat-filename.
11782         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
11783         getdtablesize, pipe2, pipe2-safer.
11784         (Security): New section.
11785         (Networking functions): Add accept4.
11786         (Signal handling): Add sigpipe.
11787         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
11788         mbmemcasecoll.
11789         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
11790         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
11791         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
11792         pipe-filter-ii.
11793         (Misc): Add argp-version-etc, login_tty, parse-duration.
11794
11795 2010-07-31  Bruno Haible  <bruno@clisp.org>
11796
11797         Improve doc in MODULES.html.
11798         * modules/linkat (Description): Add the word "function".
11799         * modules/mkfifo (Description): Likewise.
11800         * modules/mknod (Description): Likewise.
11801         * modules/remove (Description): Likewise.
11802         * modules/renameat (Description): Likewise.
11803         * modules/stat (Description): Likewise.
11804         * modules/symlink (Description): Likewise.
11805         * modules/unlink (Description): Likewise.
11806
11807 2010-07-31  Bruno Haible  <bruno@clisp.org>
11808
11809         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
11810         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
11811         option --enable/disable-c++ instead of --enable/disable-cxx.
11812         * NEWS: Mention the change.
11813
11814 2010-07-31  Bruno Haible  <bruno@clisp.org>
11815
11816         readlink, areadlink: Relax test a bit.
11817         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
11818         alternative to ENOTDIR.
11819         * tests/test-areadlink.h (test_areadlink): Likewise.
11820         Reported by Rainer Tammer.
11821
11822 2010-07-31  Bruno Haible  <bruno@clisp.org>
11823
11824         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
11825         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
11826         character, perform the search using U_STRCHR.
11827         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
11828         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
11829         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
11830         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
11831         Suggested by Paolo Bonzini.
11832
11833 2010-07-31  Bruno Haible  <bruno@clisp.org>
11834
11835         unistr/u*-strstr: Fix dependencies.
11836         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
11837         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
11838         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
11839
11840 2010-07-31  Bruno Haible  <bruno@clisp.org>
11841
11842         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
11843         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
11844         the beginning of the loop.
11845         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
11846         cases in 'switch' statement.
11847
11848         unistr/u8-strchr: Fix several bugs.
11849         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
11850         the string. When not found, return NULL, not a pointer near the end.
11851
11852         More tests for unistr/u8-strchr.
11853         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
11854         that the function does not read past the first occurrence of the byte
11855         being searched.
11856         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
11857         * tests/unistr/test-u16-strchr.c (main): New function.
11858         * tests/unistr/test-u32-strchr.c (main): New function.
11859
11860 2010-07-31  Bruno Haible  <bruno@clisp.org>
11861
11862         posix-modules: Ignore backup files of documentation files.
11863         * posix-modules: grep only through files named *.texi.
11864
11865 2010-07-31  Bruno Haible  <bruno@clisp.org>
11866
11867         symlinkat: Fix documentation.
11868         * doc/posix-functions/readlinkat.texi: Fix module name.
11869
11870 2010-07-31  Bruno Haible  <bruno@clisp.org>
11871
11872         fchownat: Replace also when chown has the trailing slash bug.
11873         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
11874         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
11875         introduced on 2010-04-10.
11876         Reported by Rainer Tammer.
11877
11878 2010-07-31  Bruno Haible  <bruno@clisp.org>
11879
11880         linkat: Work around AIX 7.1 bug.
11881         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
11882         whether linkat handles trailing slash correctly. If not, replace linkat
11883         and define LINKAT_TRAILING_SLASH_BUG.
11884         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
11885         check whether (fd1,file1) points to a directory if file1 or file2 ends
11886         in a slash. Code taken from lib/link.c.
11887         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
11888         Reported by Rainer Tammer.
11889
11890 2010-07-31  Bruno Haible  <bruno@clisp.org>
11891
11892         Correctly determine whether pow is available in libc on AIX 7 with xlc.
11893         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
11894         This disables an xlc optimization that was causing wrong test results.
11895         Reported by Rainer Tammer.
11896
11897 2010-07-31  Bruno Haible  <bruno@clisp.org>
11898
11899         iconv: Work around AIX 6.1..7.1 bug.
11900         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
11901         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
11902         cross-compiling, guess no on all versions of AIX.
11903         Reported by Rainer Tammer.
11904
11905 2010-07-31  Bruno Haible  <bruno@clisp.org>
11906
11907         readlink: Relax test a bit.
11908         * tests/test-readlink.h (test_readlink): Allow different errno value
11909         when readlink is called with a file name that ends in / and refers to
11910         a file.
11911         Suggested by Eric Blake.
11912         Reported by Rainer Tammer.
11913
11914 2010-07-31  Bruno Haible  <bruno@clisp.org>
11915
11916         copysign: Does not require -lm on glibc systems.
11917         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
11918         gl_COMMON_DOUBLE_MATHFUNC.
11919         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
11920
11921 2010-07-31  Bruno Haible  <bruno@clisp.org>
11922
11923         duplocale: Work around AIX 7.1 bug.
11924         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
11925         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
11926         * lib/duplocale.c (rpl_duplocale): Update comment.
11927         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
11928         Reported by Rainer Tammer.
11929
11930 2010-07-30  Bruno Haible  <bruno@clisp.org>
11931
11932         dirfd: Avoid link error on AIX 7.1.
11933         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
11934         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
11935         exist, set REPLACE_DIRFD.
11936         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
11937         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
11938         * doc/posix-functions/dirfd.texi: Update.
11939         Reported by Rainer Tammer.
11940
11941 2010-07-30  Eric Blake  <eblake@redhat.com>
11942
11943         strtod: next round of AIX fixes
11944         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
11945         exponent.
11946         * tests/test-strtod.c (main): Enhance tests.
11947         * doc/posix-functions/strtod.texi (strtod): Document next bug.
11948         Reported by Rainer Tammer.
11949
11950         futimens: fix configure check
11951         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
11952         Reported by Bruno Haible.
11953
11954 2010-07-30  Bruno Haible  <bruno@clisp.org>
11955
11956         getline: Update regarding AIX.
11957         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
11958         Reported by Rainer Tammer.
11959
11960 2010-07-30  Bruno Haible  <bruno@clisp.org>
11961
11962         wcwidth: Drop replacement on AIX 7.
11963         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
11964         AIX 7.
11965         Reported by Rainer Tammer.
11966
11967 2010-07-30  Bruno Haible  <bruno@clisp.org>
11968
11969         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
11970         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
11971         a 'char *'.
11972         Reported by Rainer Tammer.
11973
11974 2010-07-30  Bruno Haible  <bruno@clisp.org>
11975
11976         unlink: Update regarding AIX.
11977         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
11978         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
11979         Reported by Rainer Tammer.
11980
11981 2010-07-30  Bruno Haible  <bruno@clisp.org>
11982
11983         symlink: Update regarding AIX.
11984         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
11985         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
11986         Reported by Rainer Tammer.
11987
11988 2010-07-30  Bruno Haible  <bruno@clisp.org>
11989
11990         strndup: Update regarding AIX.
11991         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
11992         AIX 7.
11993         Reported by Rainer Tammer.
11994
11995 2010-07-30  Bruno Haible  <bruno@clisp.org>
11996
11997         stat: Update regarding AIX.
11998         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
11999         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
12000         Reported by Rainer Tammer.
12001
12002 2010-07-30  Bruno Haible  <bruno@clisp.org>
12003
12004         truncl: Fix autoconf test.
12005         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
12006         whether truncl works.
12007         Reported by Rainer Tammer.
12008
12009 2010-07-30  Bruno Haible  <bruno@clisp.org>
12010
12011         round: Update regarding AIX.
12012         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
12013         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
12014         Reported by Rainer Tammer.
12015
12016 2010-07-30  Bruno Haible  <bruno@clisp.org>
12017
12018         rename: Update regarding AIX.
12019         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
12020         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
12021         Reported by Rainer Tammer.
12022
12023 2010-07-30  Bruno Haible  <bruno@clisp.org>
12024
12025         printf.m4: Update regarding AIX.
12026         * m4/printf.m4: Update comments regarding AIX.
12027         Reported by Rainer Tammer.
12028
12029 2010-07-30  Bruno Haible  <bruno@clisp.org>
12030
12031         iconv: Update regarding AIX.
12032         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
12033         AIX 7.
12034         Reported by Rainer Tammer.
12035
12036 2010-07-30  Bruno Haible  <bruno@clisp.org>
12037
12038         getopt: Update regarding AIX.
12039         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
12040         no on AIX.
12041         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
12042         Reported by Rainer Tammer.
12043
12044 2010-07-30  Bruno Haible  <bruno@clisp.org>
12045
12046         ldexpl; Update regarding AIX.
12047         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
12048         on AIX 7.
12049         Reported by Rainer Tammer.
12050
12051 2010-07-30  Bruno Haible  <bruno@clisp.org>
12052
12053         frexpl: Update regarding AIX.
12054         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
12055         on AIX 7.
12056         Reported by Rainer Tammer.
12057
12058 2010-07-30  Bruno Haible  <bruno@clisp.org>
12059
12060         open, fopen: Update regarding AIX.
12061         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
12062         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
12063         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
12064         * doc/posix-functions/fopen.texi: Likewise.
12065         Reported by Rainer Tammer.
12066
12067 2010-07-30  Bruno Haible  <bruno@clisp.org>
12068
12069         chown: Update doc regarding AIX.
12070         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
12071         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
12072         Reported by Rainer Tammer.
12073
12074 2010-07-30  Eric Blake  <eblake@redhat.com>
12075
12076         strtod: fix bug in replacement function on AIX
12077         * lib/strtod.c (strtod): Special case broken "0x" parse in
12078         underlying strtod.
12079         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
12080         * doc/posix-functions/strtod.texi (strtod): Likewise.
12081         Reported by Rainer Tammer.
12082
12083 2010-07-30  Bruno Haible  <bruno@clisp.org>
12084
12085         mbrlen: Fix cross-compilation guess for AIX.
12086         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
12087         guess. Leftover from 2008-12-22.
12088
12089 2010-07-30  Bruno Haible  <bruno@clisp.org>
12090
12091         mbrtowc: Fix cross-compilation guess for AIX.
12092         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
12093         guess. Leftover from 2008-12-21.
12094
12095 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
12096
12097         init.sh: work around trap limitation of some shells
12098         * tests/init.sh (setup_): Move exit trap outside of shell function.
12099
12100 2010-07-29  Eric Blake  <eblake@redhat.com>
12101
12102         strtod: aid debugging
12103         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
12104         understanding why strtod is rejected.
12105
12106 2010-07-28  Bruno Haible  <bruno@clisp.org>
12107
12108         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
12109         * lib/unistr/u8-chr.c: Include <string.h>.
12110         * tests/unistr/test-u8-chr.c: Likewise.
12111         * tests/unistr/test-u16-chr.c: Likewise.
12112         * tests/unistr/test-u32-chr.c: Likewise.
12113         * tests/unistr/test-u8-strchr.c: Likewise.
12114         * tests/unistr/test-u16-strchr.c: Likewise.
12115         * tests/unistr/test-u32-strchr.c: Likewise.
12116         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
12117         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
12118         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
12119         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
12120
12121 2010-07-28  Bruno Haible  <bruno@clisp.org>
12122
12123         Use spaces for indentation, not tabs.
12124         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
12125
12126 2010-07-27  Bruno Haible  <bruno@clisp.org>
12127
12128         mbspcasecmp: Fix function specification.
12129         * lib/string.in.h (mbspcasecmp): Fix specification comment.
12130         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
12131         Reported by Eric Blake <eblake@redhat.com>.
12132
12133 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
12134
12135         timespec: use cast and not conditional, as truncation isn't possible
12136         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
12137         instead of a conditional.  Comment about the situation in more detail.
12138         This undoes most of the 2009-10-29 patch.
12139
12140 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
12141
12142         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
12143         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
12144         * lib/unistr/u8-strchr.c: Likewise.
12145         * modules/unistr/u8-chr: Depend on memchr.
12146
12147         unistr/u*-strchr: add tests
12148         * modules/unistr/u8-strchr-tests: New file.
12149         * modules/unistr/u16-strchr-tests: New file.
12150         * modules/unistr/u32-strchr-tests: New file.
12151         * tests/unistr/test-strchr.h: New file.
12152         * tests/unistr/test-u8-strchr.c: New file.
12153         * tests/unistr/test-u16-strchr.c: New file.
12154         * tests/unistr/test-u32-strchr.c: New file.
12155
12156         unistr/u*-chr: test multibyte sequences more
12157         * tests/unistr/test-chr.h: Do complete testing of the characters in the
12158         test vector.
12159         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
12160         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
12161         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
12162
12163         unistr/u*-chr: test multibyte sequences
12164         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
12165
12166         unistr/u*-chr: prepare for multibyte tests
12167         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
12168         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
12169         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
12170         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
12171         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
12172         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
12173
12174 2010-07-18  Bruno Haible  <bruno@clisp.org>
12175
12176         unistr/u8-strchr: Optimize non-ASCII argument case.
12177         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
12178         because the first byte often matches anyway.
12179         Reported by Pádraig Brady <P@draigbrady.com>.
12180
12181 2010-07-15  Karl Berry  <karl@gnu.org>
12182
12183         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
12184
12185 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
12186
12187         getcwd: on Solaris, work better if ancestors are inaccessible
12188         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
12189         buffer and size, try again with a large buffer.  This works better
12190         on Solaris, since its getcwd succeeds even if the path to the root
12191         is inaccessible, and this is helpful in common cases such as .zfs
12192         hidden directories.  Problem reported by J Chapman Flack in
12193         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
12194         Use system getcwd if it's declared, not merely if it's partly
12195         working; use the partly-working test only to avoid needless effort
12196         if the system getcwd fails.
12197         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
12198         comment that was already obsolete and is now even more obsolete.
12199         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
12200         now might call strdup.
12201
12202 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
12203
12204         pthread: Add enough so that coreutils/src/sort.c compiles.
12205         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
12206         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
12207         gnulib. Include <sched.h> and <time.h>, as per POSIX.
12208         Include <sys/types.h>, in case it defines pthread_t.
12209         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
12210         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
12211         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
12212         (pthread_rwlockattr_t, pthread_spinlock_t):
12213         New typedefs, if HAVE_PTHREAD_T is not defined.
12214         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
12215         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
12216         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
12217         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
12218         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
12219         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
12220         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
12221         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
12222         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
12223         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
12224         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
12225         New macros.
12226         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
12227         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
12228         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
12229         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
12230         (pthread_spin_unlock): New dummy functions.
12231         (pthread_create): Return EAGAIN; don't set errno.
12232         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
12233         require AC_C_INLINE.
12234         * modules/pthread (Depends-on): Add sched, time.
12235         (pthread.h): Use AM_V_GEN.
12236
12237 2010-07-13  Bruno Haible  <bruno@clisp.org>
12238
12239         striconveh: Don't malloc memory if the result buffer is sufficient.
12240         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
12241         buffer if its size is sufficient.
12242         Reported by Ludovic Courtès <ludo@gnu.org>.
12243
12244 2010-07-13  Bruno Haible  <bruno@clisp.org>
12245
12246         strtod: Add safety check.
12247         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
12248
12249 2010-07-12  Bruno Haible  <bruno@clisp.org>
12250
12251         Unify tests that set gl_cv_func_ldexpl_no_libm.
12252         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
12253         gl_FUNC_LDEXPL.
12254         (gl_FUNC_LDEXPL): Invoke it.
12255         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12256
12257 2010-07-12  Bruno Haible  <bruno@clisp.org>
12258
12259         Unify tests that set gl_cv_func_ldexp_no_libm.
12260         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
12261         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
12262         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
12263         (configure.ac): Simply invoke gl_FUNC_LDEXP.
12264         * modules/strtod (Files): Add m4/ldexp.m4.
12265
12266 2010-07-12  Bruno Haible  <bruno@clisp.org>
12267
12268         Unify tests that set gl_cv_func_frexpl_no_libm.
12269         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
12270         gl_FUNC_FREXPL_NO_LIBM.
12271         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
12272         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12273
12274 2010-07-12  Bruno Haible  <bruno@clisp.org>
12275
12276         Unify tests that set gl_cv_func_frexp_no_libm.
12277         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
12278         gl_FUNC_FREXP_NO_LIBM.
12279         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
12280         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
12281
12282 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12283
12284         memcoll: clarify sizes versus lengths, document better, and tweak perf
12285         * lib/memcoll.c (strcoll_loop, memcoll0):
12286         Improve quality of descriptive comments.  Name variables
12287         consistently as to whether they are lengths (which do not include
12288         terminating null) versus sizes (which do).
12289         * lib/xmemcoll.c (xmemcoll0): Likewise.
12290         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
12291         returned when s1size == 0; this is easier to compile and saves
12292         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
12293
12294 2010-07-12  Bruno Haible  <bruno@clisp.org>
12295
12296         Tests for module '_Exit'.
12297         * modules/_Exit-tests: New file.
12298         * tests/test-_Exit.sh: New file.
12299         * tests/test-_Exit.c: New file.
12300
12301         New module '_Exit'.
12302         * lib/stdlib.in.h (__attribute__): New macro.
12303         (_Exit): New declaration.
12304         * lib/_Exit.c: New file.
12305         * m4/_Exit.m4: New file.
12306         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
12307         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
12308         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
12309         * modules/_Exit: New file.
12310         * tests/test-stdlib-c++.cc (_Exit): Check signature.
12311         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
12312
12313 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12314
12315         strtod: make it more-accurate typically, and don't require libm
12316         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
12317         Include limits.h.  Don't include string.h.
12318         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
12319         (locale_isspace): New function, so that no casts are needed to
12320         check whether *s is a space.
12321         (ldexp): Provide an unused dummy if not available.
12322         (scale_radix_exp, parse_number, underlying_strtod): New functions.
12323         (strtod): Use them.  This implementation prefers to use the
12324         underlying strtod if available, falling back on our own code
12325         only to fix known bugs.  This is more likely to produce an
12326         accurate result.  Also, it avoids the use of libm functions.
12327         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
12328         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
12329         was absent, but it caused a test failure with coreutils.
12330         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
12331         with libm.
12332         * modules/strtod (Makefile.am, Link): libm is no longer needed.
12333         * modules/strtod-tests (Makefile.am): Likewise.
12334
12335 2010-07-11  Pádraig Brady  <P@draigBrady.com>
12336             Bruno Haible  <bruno@clisp.org>
12337
12338         unistr/u8-strchr: Optimize ASCII argument case.
12339         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
12340
12341 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12342
12343         (x)memcoll: minor tweaks
12344         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
12345         is after the type that it qualifies.
12346         (memcoll0): Likewise.
12347         * lib/memcoll.h (memcoll0): Likewise.
12348         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
12349         * lib/xmemcoll.h (xmemcoll0): Likewise.
12350         * lib/memcoll.c (memcoll0): Correct the comment.  This function
12351         differs from memcoll in that the NUL byte is part of the argument.
12352         Omit the abort-checks, as performance is a real issue here.  Plus,
12353         the checks were wrong anyway (an off-by-one error).  Omit local
12354         variable 'diff', as it's a bit clearer that way.
12355         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
12356         no longer needed.
12357
12358 2010-07-08  Chen Guo <chenguo4@yahoo.com>
12359
12360         (x)memcoll: speedup when input is known to be NUL delimited
12361         * lib/memcoll.c: Include stdlib.
12362         (memcoll0): New function.
12363         (strcoll_loop): New function, refactored for use in both memcoll
12364         and memcoll0.
12365         * lib/memcoll.h (memcoll0): Add prototype.
12366         * lib/xmemcoll.c (xmemcoll0): New function.
12367         (collate_error): New function, refactored for use in both xmemcoll
12368         and xmemcoll0.
12369         * lib/xmemcoll.h (xmemcoll0): Add prototype.
12370         * m4/memcoll.m4: add inline invocation.
12371
12372 2010-07-06  Pádraig Brady  <P@draigBrady.com>
12373
12374         * build-aux/bootstrap: Remove any local translations
12375         from the translation project synchronization directory,
12376         so that local only translations are not distributed.
12377
12378 2010-07-04  Bruno Haible  <bruno@clisp.org>
12379
12380         fsusage: Clarify which code applies to which platforms.
12381         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
12382         platform.
12383         * lib/fsusage.c (get_fs_usage): Likewise.
12384
12385 2010-07-04  Bruno Haible  <bruno@clisp.org>
12386
12387         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
12388         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
12389         Reported by Martin Lambers <marlam@marlam.de>.
12390
12391 2010-07-04  Jim Meyering  <meyering@redhat.com>
12392
12393         hash: once again explicitly disallow insertion of NULL
12394         * lib/hash.c (hash_insert0): Reinstate just-removed test:
12395         inserting a NULL pointer cannot work with these functions.
12396         Add a comment with details.
12397         This reverts part of the 2010-07-01 commit, 5bef1a35
12398         "hash: extend module to deal with non-pointer keys".
12399
12400 2010-07-01  Bruno Haible  <bruno@clisp.org>
12401
12402         stdbool: Update doc.
12403         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
12404         Info from Christian Weisgerber <naddy@mips.inka.de>.
12405
12406 2010-07-01  Jim Meyering  <meyering@redhat.com>
12407
12408         hash: extend module to deal with non-pointer keys
12409         * lib/hash.c (hash_insert0): New interface, much like hash_insert
12410         but that allows insertion of non-pointer entries.
12411         Do not disallow an ENTRY value of NULL.
12412         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
12413         * lib/hash.h (hash_insert0): Declare.
12414
12415 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
12416
12417         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
12418         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
12419         not present (i.e. with autoconf 2.59 and when using gettextize, not
12420         gnulib), require AC_GNU_SOURCE instead.
12421
12422 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
12423
12424         idpriv-drop: Fix tests.
12425         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
12426         not to the test-idpriv-droptemp program.
12427
12428 2010-06-29  Bruno Haible  <bruno@clisp.org>
12429
12430         string: Fix syntax error with g++ 2.96.
12431         * lib/string.in.h (__pure__): Remove definition.
12432         (_GL_ATTRIBUTE_PURE): New macro.
12433         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
12434         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
12435         Reported by Christian Weisgerber <naddy@mips.inka.de>.
12436
12437 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
12438
12439         unitypes: Fix bug introduced on 2010-05-18.
12440         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
12441
12442 2010-06-22  Eric Blake  <eblake@redhat.com>
12443
12444         memmem: slight optimization
12445         * lib/str-two-way.h (critical_factorization): Update comments.
12446         Reduce work during factorization phase.
12447         Reported by Carlos Bueno <carlos@bueno.org>.
12448
12449 2010-06-21  Bruno Haible  <bruno@clisp.org>
12450
12451         Fix HAVE_CALLOC_POSIX misnomer.
12452         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
12453         !HAVE_CALLOC_POSIX.
12454         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
12455         HAVE_CALLOC_POSIX.
12456         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
12457         instead of HAVE_CALLOC_POSIX.
12458         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
12459         HAVE_CALLOC_POSIX.
12460
12461         Use modern idiom for calloc() replacement.
12462         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
12463         AC_FUNC_CALLOC.
12464         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
12465         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
12466         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12467         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
12468         (gl_REPLACE_CALLOC): New macro.
12469
12470 2010-06-21  Bruno Haible  <bruno@clisp.org>
12471
12472         Fix HAVE_REALLOC_POSIX misnomer.
12473         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
12474         !HAVE_REALLOC_POSIX.
12475         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
12476         HAVE_REALLOC_POSIX.
12477         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
12478         instead of HAVE_REALLOC_POSIX.
12479         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
12480         HAVE_REALLOC_POSIX.
12481
12482         Use modern idiom for realloc() replacement.
12483         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
12484         AC_FUNC_REALLOC.
12485         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
12486         Autoconf's AC_FUNC_REALLOC.
12487         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12488         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
12489         (gl_REPLACE_REALLOC): New macro.
12490         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12491
12492 2010-06-21  Bruno Haible  <bruno@clisp.org>
12493
12494         Fix HAVE_MALLOC_POSIX misnomer.
12495         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
12496         !HAVE_MALLOC_POSIX.
12497         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
12498         HAVE_MALLOC_POSIX.
12499         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
12500         instead of HAVE_MALLOC_POSIX.
12501         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
12502         HAVE_MALLOC_POSIX.
12503
12504         Use modern idiom for malloc() replacement.
12505         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
12506         AC_FUNC_MALLOC.
12507         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
12508         Autoconf's AC_FUNC_MALLOC.
12509         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12510         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
12511         (gl_REPLACE_MALLOC): New macro.
12512         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12513
12514 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
12515
12516         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
12517         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
12518         This macro takes 3 arguments, not 4.
12519
12520 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
12521
12522         ipv6: fix detection under mingw
12523         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
12524         in6_addr.
12525
12526 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
12527
12528         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
12529         that strtod() works when cross-compiling to a glibc version known
12530         to work.
12531
12532 2010-06-15  Bruno Haible  <bruno@clisp.org>
12533
12534         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
12535
12536 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
12537
12538         select: Correct timeout.
12539         * lib/select.c (rpl_select): Compute wait_timeout correctly.
12540
12541 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
12542
12543         git-version-gen: init shell var to avoid env var influence
12544         * build-aux/git-version-gen (v): Init shell var to empty.
12545
12546 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
12547
12548         priv-set: Don't assume that priv.h exists merely because getppriv does.
12549         See Jan Andersen's bug report about AIX 5L in
12550         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
12551         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
12552         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
12553         * lib/priv-set.h: Likewise.
12554         * tests/test-priv-set.c: Likewise.
12555
12556 2010-06-13  Bruno Haible  <bruno@clisp.org>
12557
12558         relocatable: Make it easier to test whether to install wrappers.
12559         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
12560         RELOCATABLE_VIA_WRAPPER.
12561
12562 2010-06-13  Bruno Haible  <bruno@clisp.org>
12563
12564         gnulib-tool: Display specified modules and dependencies differently.
12565         * gnulib-tool (func_show_module_list): New function.
12566         (func_import, func_create_testdir): Invoke it.
12567         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
12568
12569 2010-06-13  Bruno Haible  <bruno@clisp.org>
12570
12571         gnulib-tool: Align code of func_import and func_create_testdir.
12572         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
12573         specified_modules.
12574
12575 2010-06-12  Jim Meyering  <meyering@redhat.com>
12576
12577         test-inttostr: avoid spurious failure on Solaris 9
12578         * tests/test-inttostr.c (main): Skip the test when snprintf fails
12579         to accept "%ju".  Reported by Bruno Haible.
12580
12581 2010-06-11  Jim Meyering  <meyering@redhat.com>
12582
12583         test-sys_socket: mark variables as used more readably
12584         * tests/test-sys_socket.c (main): Mark otherwise unused variables
12585         as "used" explicitly via (void) statement casts.  This is more
12586         readable than using them in an artificial return expression.
12587         Suggestion from Bruno Haible.
12588
12589 2010-06-11  Bruno Haible  <bruno@clisp.org>
12590
12591         Avoid some more warnings from "gcc -Wwrite-strings".
12592         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
12593         to 'const char *'.
12594         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
12595         * tests/test-c-strcasestr.c (main): Likewise.
12596         * tests/test-mbscasestr1.c (main): Likewise.
12597         * tests/test-mbscasestr2.c (main): Likewise.
12598         * tests/test-memmem.c (main): Likewise.
12599         * tests/test-strstr.c (main): Likewise.
12600         * tests/test-strcasestr.c (main): Likewise.
12601
12602 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12603
12604         init.sh: change framework_failure_ to fail with status 99, not 1
12605         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
12606         automake's parallel-tests rule that this is an unexpected failure,
12607         even if the test is listed in XFAIL_TESTS.
12608
12609 2010-06-11  Jim Meyering  <meyering@redhat.com>
12610
12611         test-inttostr: avoid warnings about 4-6KB literal strings
12612         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
12613         Include "macros.h", for its definition of ASSERT.
12614         (CK): s/assert/ASSERT/
12615         * modules/inttostr-tests (Files): Add macros.h.
12616
12617         init.sh: don't use $ME_ or skip_ before they are defined
12618         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
12619         their first uses.  Also hoist their companions: warn_, fail_,
12620         framework_failure_, $stderr_fileno.  Prompted by a patch from
12621         Stefano Lattarini.
12622
12623         test-sys_socket: avoid set-but-not-used warnings from gcc
12624         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
12625         avoid warning about set-but-not-used variables.
12626
12627         test-xvasprintf: avoid 'const' discard warnings
12628         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
12629         "const" when assigning from literal strings.
12630         (test_xasprintf): Add "void" in function argument list to placate
12631         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
12632
12633         tests: avoid compilation warnings in argmatch and exclude tests...
12634         in packages that define ARGMATCH_DIE_DECL, like coreutils.
12635         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
12636         Since it always exits, declare with the "noreturn" attribute.
12637         * tests/test-argmatch.c: Likewise.
12638
12639         tests: avoid 'const' discard warnings in mbsstr tests
12640         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
12641         * tests/test-mbsstr2.c (main): Likewise.
12642
12643         test-verify: avoid warning from gcc's -Wmissing-declarations
12644         * tests/test-verify.c (function): Declare to be static.
12645
12646         test-inttostr.c: include <string.h> for use of strcmp
12647         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
12648
12649         test-linkat: avoid failed assertion on "other" architectures
12650         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
12651         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
12652         sparc: https://bugs.launchpad.net/bugs/591968
12653
12654 2010-06-11  Jim Meyering  <meyering@redhat.com>
12655
12656         printf.m4: avoid autoconf's "Expanded Before Required" warning
12657         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
12658         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
12659         autoconf warning.
12660
12661 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
12662
12663         Replacement header templates are now named with ".in", not "_".
12664         * doc/gnulib-intro.texi: Correct.
12665
12666 2010-06-10  Jim Meyering  <meyering@redhat.com>
12667
12668         inttostr-tests: depend on snprintf, not snprintf-posix
12669         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
12670         snprintf-posix, to avoid this aclocal failure:
12671           missing file gnulib-tests/vasnprintf.c
12672           configure.ac:45: error: expected source file, required through \
12673           AC_LIBSOURCES, not found
12674
12675 2010-06-10  Jim Meyering  <meyering@redhat.com>
12676
12677         inttostr: add a new function, inttostr, and tests
12678         The namesake function was not available.  The existence of the
12679         template file, inttostr.c makes its addition nontrivial.
12680         * lib/anytostr.c: Rename from inttostr.c.
12681         (anytostr): Rename from inttostr.
12682         * lib/inttostr.c: New file.
12683         * modules/inttostr (Files): Add anytostr.c.
12684         (Makefile.am): Set lib_SOURCES instead of ...
12685         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
12686         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
12687         * lib/offtostr.c: Likewise.
12688         * lib/uinttostr.c: Likewise.
12689         * lib/umaxtostr.c: Likewise.
12690         * modules/inttostr-tests: New file.
12691         * tests/test-inttostr.c: New file.  Test these functions.
12692
12693 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
12694             Bruno Haible  <bruno@clisp.org>
12695
12696         Add "Extending Gnulib" chapter to manual.
12697         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
12698         chapter.
12699         (Extending Gnulib): New chapter.
12700         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
12701         chapter.
12702
12703 2010-06-09  Bruno Haible  <bruno@clisp.org>
12704
12705         Avoid relocwrapper link errors due to gnulib replacement functions.
12706         * lib/areadlink.c: Use the system's malloc, realloc functions.
12707         (areadlink): Set errno to ENOMEM explicitly.
12708         * modules/areadlink (Depends-on): Remove malloc-posix.
12709         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12710
12711 2010-06-09  Bruno Haible  <bruno@clisp.org>
12712
12713         Avoid relocwrapper link errors due to gnulib replacement functions.
12714         * lib/canonicalize-lgpl.c: Use the system's malloc function.
12715         * lib/malloca.c: Likewise.
12716         * lib/relocatable.c: Likewise.
12717         * lib/progreloc.c: Use the system's malloc, sprintf functions.
12718         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
12719         * lib/setenv.c: Use the system's malloc, realloc functions.
12720         * lib/strerror.c: Use the system's sprintf function.
12721         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12722
12723 2010-06-04  Bruno Haible  <bruno@clisp.org>
12724
12725         Prefer documented low-level autoconf macro names.
12726         * m4/lib-link.m4: Use m4_translit instead of translit.
12727         * m4/environ.m4: Likewise.
12728         * m4/mathfunc.m4: Likewise.
12729         * m4/onceonly.m4: Likewise.
12730         * m4/stdint.m4: Likewise.
12731         Suggested by Eric Blake.
12732
12733 2010-06-04  Martin Lambers  <marlam@marlam.de>
12734             Bruno Haible  <bruno@clisp.org>
12735
12736         havelib: Allow library names with '+' characters.
12737         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
12738         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
12739
12740 2010-06-09  Bruno Haible  <bruno@clisp.org>
12741
12742         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
12743         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
12744         realloc failed.
12745
12746 2010-06-08  Peter Simons  <simons@cryp.to>
12747
12748         maint.mk: make the news-check rule more configurable
12749         * top/maint.mk (news-check-lines-spec): New variable.
12750         (news-check): Use "sed -n 1,10p" in place of "head".
12751
12752 2010-06-07  Jim Meyering  <meyering@redhat.com>
12753
12754         do-release-commit-and-tag: fix typo in --help
12755         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
12756
12757         regex: avoid new dead-code warning with gcc-4.6.0
12758         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
12759         if-block containing a while-loop.  It's been unused for at least
12760         5 years.
12761
12762 2010-06-05  Bruno Haible  <bruno@clisp.org>
12763
12764         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
12765         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
12766
12767 2010-06-04  Bruno Haible  <bruno@clisp.org>
12768
12769         Update to GNU gettext 0.18.1.
12770         * modules/gettext (configure.ac): Require gettext infrastructure from
12771         version 0.18.1.
12772
12773 2010-06-03  Bruno Haible  <bruno@clisp.org>
12774
12775         Don't use AC_LIBOBJ with file names in subdirectories.
12776         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
12777         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
12778         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
12779         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
12780         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
12781         gl_LIBUNISTRING_LIBSOURCE.
12782         (Makefile.am): Augment lib_SOURCES here, conditionally.
12783         * NEWS: Drop requirement for Automake option 'subdir-objects'.
12784
12785 2010-06-03  Bruno Haible  <bruno@clisp.org>
12786
12787         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
12788         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
12789         expansion does not end with a newline.
12790         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
12791         unnecessary newline.
12792
12793 2010-06-03  Bruno Haible  <bruno@clisp.org>
12794
12795         Reduce dependencies.
12796         * tests/test-quotearg.h: New file, extracted from
12797         tests/test-quotearg.c.
12798         * tests/test-quotearg-simple.c: New file, extracted from
12799         tests/test-quotearg.c.
12800         * tests/test-quotearg.c: Don't include <ctype.h>.
12801         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
12802         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
12803         use_quote_double_quotes, use_quotearg_colon): Moved to
12804         tests/test-quotearg.h.
12805         (results_g, flag_results, custom_quotes, custom_results): Moved
12806         to tests/test-quotearg-simple.c.
12807         (main): Moved the part that does not depend on gettext to
12808         tests/test-quotearg-simple.c. Return 77 if the test cannot be
12809         performed.
12810         * modules/quotearg-simple: New file.
12811         * modules/quotearg-simple-tests: New file.
12812         * modules/quotearg (Depends-on): Add quotearg-simple.
12813         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
12814         (Files): Add tests/test-quotearg.h.
12815         Reported by Paolo Bonzini.
12816
12817 2010-06-03  Bruno Haible  <bruno@clisp.org>
12818
12819         Reduce dependencies.
12820         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
12821
12822 2010-06-03  Bruno Haible  <bruno@clisp.org>
12823
12824         time: Undefine more broken macros.
12825         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
12826         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
12827         Reported by Eric Blake.
12828
12829 2010-06-03  Bruno Haible  <bruno@clisp.org>
12830
12831         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
12832         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
12833         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
12834         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
12835         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
12836         Reported by Ludovic Courtès <ludo@gnu.org>.
12837
12838 2010-06-02  Eric Blake  <eblake@redhat.com>
12839
12840         time: work with mingw + pthreads-win32 library
12841         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
12842         if timespec is defined only in pthread.h.
12843         * modules/time (Makefile.am): Substitute it.
12844         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
12845         <pthread.h>, when needed.
12846         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
12847         from the library.
12848
12849 2010-05-31  Bruno Haible  <bruno@clisp.org>
12850
12851         Avoid expanding two macros in the wrong order.
12852         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
12853         gl_LIBUNISTRING if it is defined.
12854         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
12855         autoconf >= 2.64.
12856         Reported by Ludovic Courtès <ludo@gnu.org>.
12857
12858 2010-05-27  Jim Meyering  <meyering@redhat.com>
12859
12860         maint.mk: also prohibit "#undef" of always-defined symbols
12861         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
12862         Allow more than one space before the symbol name.
12863         (sc_prohibit_always-defined_macros): Use grep's -E, now that
12864         the regexp uses alternation.
12865
12866 2010-05-26  Eric Blake  <eblake@redhat.com>
12867
12868         maint.mk: avoid echo -e
12869         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
12870         Convert all uses of echo -* to printf.
12871         Reported by Matthias Bolte.
12872
12873 2010-05-25  Bruno Haible  <bruno@clisp.org>
12874
12875         Update to GNU gettext 0.18, part 2.
12876         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
12877         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
12878
12879 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12880
12881         Add missing include in test-pwrite.c.
12882         * tests/test-pwrite.c: Include string.h, for strcmp.
12883
12884 2010-05-24  Bruno Haible  <bruno@clisp.org>
12885
12886         * NEWS: Mention requirement for Automake option 'subdir-objects'.
12887
12888 2010-05-24  Bruno Haible  <bruno@clisp.org>
12889
12890         Don't use conversion with transliteration in u{8,16,32}_strcoll.
12891         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
12892         iconveh_error argument.
12893         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
12894         U_STRCONV_TO_LOCALE.
12895         * lib/unistr/u16-strcoll.c: Likewise.
12896         * lib/unistr/u32-strcoll.c: Likewise.
12897         * modules/unistr/u8-strcoll (Depends-on): Add
12898         uniconv/u8-strconv-to-enc, localcharset. Remove
12899         uniconv/u8-strconv-to-locale.
12900         (configure.ac): Bump version number.
12901         * modules/unistr/u16-strcoll (Depends-on): Add
12902         uniconv/u16-strconv-to-enc, localcharset. Remove
12903         uniconv/u16-strconv-to-locale.
12904         (configure.ac): Bump version number.
12905         * modules/unistr/u32-strcoll (Depends-on): Add
12906         uniconv/u32-strconv-to-enc, localcharset. Remove
12907         uniconv/u32-strconv-to-locale.
12908         (configure.ac): Bump version number.
12909
12910 2010-05-24  Bruno Haible  <bruno@clisp.org>
12911
12912         Avoid a test failure on NetBSD 5.0.
12913         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
12914         an iconv() bug.
12915
12916 2010-05-24  Bruno Haible  <bruno@clisp.org>
12917
12918         Adjust #include directive style.
12919         * modules/regex (Includes): Recommend to write <regex.h>.
12920
12921 2010-05-24  Bruno Haible  <bruno@clisp.org>
12922
12923         regex: Don't require alloca.
12924         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
12925         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
12926         only inside if (0).
12927
12928 2010-05-23  Jim Meyering  <meyering@redhat.com>
12929
12930         test-renameat.c: include <sys/stat.h>
12931         * tests/test-renameat.c: Include <sys/stat.h>; required for
12932         definition of S_IS* macros.
12933
12934 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
12935
12936         Update maintainer documentation for 'relocatable-prog' module.
12937         * doc/relocatable-maint.texi: Update.
12938         Comments by Bruno Haible.
12939
12940 2010-05-23  Bruno Haible  <bruno@clisp.org>
12941
12942         git-merge-changelog: Enable --split-merged-entry by default.
12943         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
12944         (usage): Don't mention this option any more.
12945         Reported by Ralf Wildenhues.
12946
12947 2010-05-23  Jim Meyering  <meyering@redhat.com>
12948
12949         test-pwrite: do not leave behind a test file named "out"
12950         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
12951         The trivial-looking use of init.sh is really necessary.
12952         It ensures that the temporary file, "out", is created in
12953         a temporary directory, and removed upon termination.
12954         * tests/test-pwrite.sh: Re-add file.
12955         * modules/pwrite-tests: Reference it.
12956
12957 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12958
12959         Fix output redirection buglet in init.sh.
12960         * tests/init.sh: Fix redirection of stderr.
12961
12962 2010-05-20  Simon Josefsson  <simon@josefsson.org>
12963
12964         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
12965
12966 2010-05-17  Simon Josefsson  <simon@josefsson.org>
12967
12968         * modules/valgrind-tests: New file.
12969         * m4/valgrind-tests.m4: New file.
12970         * doc/valgrind-tests.texi: New file.
12971         * doc/gnulib.texi (Running self-tests under valgrind): New
12972         section.
12973
12974 2010-05-19  Bruno Haible  <bruno@clisp.org>
12975
12976         Clean up dead code in recent commit.
12977         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
12978         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
12979         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
12980         Suggested by Paolo Bonzini.
12981
12982 2010-05-19  Bruno Haible  <bruno@clisp.org>
12983
12984         Avoid valgrind error reports from libunistring.
12985         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
12986         * modules/libunistring (Files): Add it.
12987         * modules/libunistring-optional (Files): Likewise.
12988
12989 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
12990             Bruno Haible  <bruno@clisp.org>
12991
12992         New module 'libunistring-optional'.
12993         * modules/libunistring-optional: New file.
12994         * m4/libunistring-base.m4: New file.
12995         * m4/libunistring-optional.m4: New file.
12996         * lib/unicase.in.h: Renamed from lib/unicase.h.
12997         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
12998         * lib/unictype.in.h: Renamed from lib/unictype.h.
12999         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
13000         * lib/uniname.in.h: Renamed from lib/uniname.h.
13001         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
13002         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
13003         * lib/unistr.in.h: Renamed from lib/unistr.h.
13004         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
13005         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
13006         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
13007         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
13008         gl_LIBUNISTRING. If the library was found, determine the installed
13009         version and set LIBUNISTRING_VERSION.
13010         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
13011         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
13012         handle a configuration option --with-included-libunistring.
13013         * modules/libunistring (Files): Add m4/absolute-header.m4.
13014         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
13015         Add m4/libunistring-base.m4.
13016         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13017         (Makefile.am): Build unicase.h from unicase.in.h.
13018         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
13019         Add m4/libunistring-base.m4.
13020         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13021         (Makefile.am): Build uniconv.h from uniconv.in.h.
13022         * modules/unictype/base (Files): Use unictype.in.h instead of
13023         unictype.h. Add m4/libunistring-base.m4.
13024         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13025         (Makefile.am): Build unictype.h from unictype.in.h.
13026         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
13027         Add m4/libunistring-base.m4.
13028         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13029         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
13030         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
13031         Add m4/libunistring-base.m4.
13032         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13033         (Makefile.am): Build uniname.h from uniname.in.h.
13034         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
13035         Add m4/libunistring-base.m4.
13036         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13037         (Makefile.am): Build uninorm.h from uninorm.in.h.
13038         * modules/unistdio/base (Files): Use unistdio.in.h instead of
13039         unistdio.h. Add m4/libunistring-base.m4.
13040         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13041         (Makefile.am): Build unistdio.h from unistdio.in.h.
13042         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
13043         Add m4/libunistring-base.m4.
13044         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13045         (Makefile.am): Build unistr.h from unistr.in.h.
13046         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
13047         Add m4/libunistring-base.m4.
13048         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13049         (Makefile.am): Build unitypes.h from unitypes.in.h.
13050         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
13051         Add m4/libunistring-base.m4.
13052         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13053         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
13054         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
13055         uniwidth.h. Add m4/libunistring-base.m4.
13056         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13057         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
13058         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
13059         instead of augmenting lib_SOURCES.
13060         * modules/unicase/empty-suffix-context: Likewise.
13061         * modules/unicase/locale-language: Likewise.
13062         * modules/unicase/tolower: Likewise.
13063         * modules/unicase/totitle: Likewise.
13064         * modules/unicase/toupper: Likewise.
13065         * modules/unicase/u8-casecmp: Likewise.
13066         * modules/unicase/u8-casecoll: Likewise.
13067         * modules/unicase/u8-casefold: Likewise.
13068         * modules/unicase/u8-casexfrm: Likewise.
13069         * modules/unicase/u8-ct-casefold: Likewise.
13070         * modules/unicase/u8-ct-tolower: Likewise.
13071         * modules/unicase/u8-ct-totitle: Likewise.
13072         * modules/unicase/u8-ct-toupper: Likewise.
13073         * modules/unicase/u8-is-cased: Likewise.
13074         * modules/unicase/u8-is-casefolded: Likewise.
13075         * modules/unicase/u8-is-lowercase: Likewise.
13076         * modules/unicase/u8-is-titlecase: Likewise.
13077         * modules/unicase/u8-is-uppercase: Likewise.
13078         * modules/unicase/u8-prefix-context: Likewise.
13079         * modules/unicase/u8-suffix-context: Likewise.
13080         * modules/unicase/u8-tolower: Likewise.
13081         * modules/unicase/u8-totitle: Likewise.
13082         * modules/unicase/u8-toupper: Likewise.
13083         * modules/unicase/u16-casecmp: Likewise.
13084         * modules/unicase/u16-casecoll: Likewise.
13085         * modules/unicase/u16-casefold: Likewise.
13086         * modules/unicase/u16-casexfrm: Likewise.
13087         * modules/unicase/u16-ct-casefold: Likewise.
13088         * modules/unicase/u16-ct-tolower: Likewise.
13089         * modules/unicase/u16-ct-totitle: Likewise.
13090         * modules/unicase/u16-ct-toupper: Likewise.
13091         * modules/unicase/u16-is-cased: Likewise.
13092         * modules/unicase/u16-is-casefolded: Likewise.
13093         * modules/unicase/u16-is-lowercase: Likewise.
13094         * modules/unicase/u16-is-titlecase: Likewise.
13095         * modules/unicase/u16-is-uppercase: Likewise.
13096         * modules/unicase/u16-prefix-context: Likewise.
13097         * modules/unicase/u16-suffix-context: Likewise.
13098         * modules/unicase/u16-tolower: Likewise.
13099         * modules/unicase/u16-totitle: Likewise.
13100         * modules/unicase/u16-toupper: Likewise.
13101         * modules/unicase/u32-casecmp: Likewise.
13102         * modules/unicase/u32-casecoll: Likewise.
13103         * modules/unicase/u32-casefold: Likewise.
13104         * modules/unicase/u32-casexfrm: Likewise.
13105         * modules/unicase/u32-ct-casefold: Likewise.
13106         * modules/unicase/u32-ct-tolower: Likewise.
13107         * modules/unicase/u32-ct-totitle: Likewise.
13108         * modules/unicase/u32-ct-toupper: Likewise.
13109         * modules/unicase/u32-is-cased: Likewise.
13110         * modules/unicase/u32-is-casefolded: Likewise.
13111         * modules/unicase/u32-is-lowercase: Likewise.
13112         * modules/unicase/u32-is-titlecase: Likewise.
13113         * modules/unicase/u32-is-uppercase: Likewise.
13114         * modules/unicase/u32-prefix-context: Likewise.
13115         * modules/unicase/u32-suffix-context: Likewise.
13116         * modules/unicase/u32-tolower: Likewise.
13117         * modules/unicase/u32-totitle: Likewise.
13118         * modules/unicase/u32-toupper: Likewise.
13119         * modules/unicase/ulc-casecmp: Likewise.
13120         * modules/unicase/ulc-casecoll: Likewise.
13121         * modules/unicase/ulc-casexfrm: Likewise.
13122         * modules/uniconv/u8-conv-from-enc: Likewise.
13123         * modules/uniconv/u8-conv-to-enc: Likewise.
13124         * modules/uniconv/u8-strconv-from-enc: Likewise.
13125         * modules/uniconv/u8-strconv-from-locale: Likewise.
13126         * modules/uniconv/u8-strconv-to-enc: Likewise.
13127         * modules/uniconv/u8-strconv-to-locale: Likewise.
13128         * modules/uniconv/u16-conv-from-enc: Likewise.
13129         * modules/uniconv/u16-conv-to-enc: Likewise.
13130         * modules/uniconv/u16-strconv-from-enc: Likewise.
13131         * modules/uniconv/u16-strconv-from-locale: Likewise.
13132         * modules/uniconv/u16-strconv-to-enc: Likewise.
13133         * modules/uniconv/u16-strconv-to-locale: Likewise.
13134         * modules/uniconv/u32-conv-from-enc: Likewise.
13135         * modules/uniconv/u32-conv-to-enc: Likewise.
13136         * modules/uniconv/u32-strconv-from-enc: Likewise.
13137         * modules/uniconv/u32-strconv-from-locale: Likewise.
13138         * modules/uniconv/u32-strconv-to-enc: Likewise.
13139         * modules/uniconv/u32-strconv-to-locale: Likewise.
13140         * modules/unictype/bidicategory-byname: Likewise.
13141         * modules/unictype/bidicategory-name: Likewise.
13142         * modules/unictype/bidicategory-of: Likewise.
13143         * modules/unictype/bidicategory-test: Likewise.
13144         * modules/unictype/block-list: Likewise.
13145         * modules/unictype/block-test: Likewise.
13146         * modules/unictype/category-C: Likewise.
13147         * modules/unictype/category-Cc: Likewise.
13148         * modules/unictype/category-Cf: Likewise.
13149         * modules/unictype/category-Cn: Likewise.
13150         * modules/unictype/category-Co: Likewise.
13151         * modules/unictype/category-Cs: Likewise.
13152         * modules/unictype/category-L: Likewise.
13153         * modules/unictype/category-Ll: Likewise.
13154         * modules/unictype/category-Lm: Likewise.
13155         * modules/unictype/category-Lo: Likewise.
13156         * modules/unictype/category-Lt: Likewise.
13157         * modules/unictype/category-Lu: Likewise.
13158         * modules/unictype/category-M: Likewise.
13159         * modules/unictype/category-Mc: Likewise.
13160         * modules/unictype/category-Me: Likewise.
13161         * modules/unictype/category-Mn: Likewise.
13162         * modules/unictype/category-N: Likewise.
13163         * modules/unictype/category-Nd: Likewise.
13164         * modules/unictype/category-Nl: Likewise.
13165         * modules/unictype/category-No: Likewise.
13166         * modules/unictype/category-P: Likewise.
13167         * modules/unictype/category-Pc: Likewise.
13168         * modules/unictype/category-Pd: Likewise.
13169         * modules/unictype/category-Pe: Likewise.
13170         * modules/unictype/category-Pf: Likewise.
13171         * modules/unictype/category-Pi: Likewise.
13172         * modules/unictype/category-Po: Likewise.
13173         * modules/unictype/category-Ps: Likewise.
13174         * modules/unictype/category-S: Likewise.
13175         * modules/unictype/category-Sc: Likewise.
13176         * modules/unictype/category-Sk: Likewise.
13177         * modules/unictype/category-Sm: Likewise.
13178         * modules/unictype/category-So: Likewise.
13179         * modules/unictype/category-Z: Likewise.
13180         * modules/unictype/category-Zl: Likewise.
13181         * modules/unictype/category-Zp: Likewise.
13182         * modules/unictype/category-Zs: Likewise.
13183         * modules/unictype/category-and: Likewise.
13184         * modules/unictype/category-and-not: Likewise.
13185         * modules/unictype/category-byname: Likewise.
13186         * modules/unictype/category-name: Likewise.
13187         * modules/unictype/category-none: Likewise.
13188         * modules/unictype/category-of: Likewise.
13189         * modules/unictype/category-or: Likewise.
13190         * modules/unictype/category-test: Likewise.
13191         * modules/unictype/combining-class: Likewise.
13192         * modules/unictype/ctype-alnum: Likewise.
13193         * modules/unictype/ctype-alpha: Likewise.
13194         * modules/unictype/ctype-blank: Likewise.
13195         * modules/unictype/ctype-cntrl: Likewise.
13196         * modules/unictype/ctype-digit: Likewise.
13197         * modules/unictype/ctype-graph: Likewise.
13198         * modules/unictype/ctype-lower: Likewise.
13199         * modules/unictype/ctype-print: Likewise.
13200         * modules/unictype/ctype-punct: Likewise.
13201         * modules/unictype/ctype-space: Likewise.
13202         * modules/unictype/ctype-upper: Likewise.
13203         * modules/unictype/ctype-xdigit: Likewise.
13204         * modules/unictype/decimal-digit: Likewise.
13205         * modules/unictype/digit: Likewise.
13206         * modules/unictype/mirror: Likewise.
13207         * modules/unictype/numeric: Likewise.
13208         * modules/unictype/property-alphabetic: Likewise.
13209         * modules/unictype/property-ascii-hex-digit: Likewise.
13210         * modules/unictype/property-bidi-arabic-digit: Likewise.
13211         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
13212         * modules/unictype/property-bidi-block-separator: Likewise.
13213         * modules/unictype/property-bidi-boundary-neutral: Likewise.
13214         * modules/unictype/property-bidi-common-separator: Likewise.
13215         * modules/unictype/property-bidi-control: Likewise.
13216         * modules/unictype/property-bidi-embedding-or-override: Likewise.
13217         * modules/unictype/property-bidi-eur-num-separator: Likewise.
13218         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
13219         * modules/unictype/property-bidi-european-digit: Likewise.
13220         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
13221         * modules/unictype/property-bidi-left-to-right: Likewise.
13222         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
13223         * modules/unictype/property-bidi-other-neutral: Likewise.
13224         * modules/unictype/property-bidi-pdf: Likewise.
13225         * modules/unictype/property-bidi-segment-separator: Likewise.
13226         * modules/unictype/property-bidi-whitespace: Likewise.
13227         * modules/unictype/property-byname: Likewise.
13228         * modules/unictype/property-combining: Likewise.
13229         * modules/unictype/property-composite: Likewise.
13230         * modules/unictype/property-currency-symbol: Likewise.
13231         * modules/unictype/property-dash: Likewise.
13232         * modules/unictype/property-decimal-digit: Likewise.
13233         * modules/unictype/property-default-ignorable-code-point: Likewise.
13234         * modules/unictype/property-deprecated: Likewise.
13235         * modules/unictype/property-diacritic: Likewise.
13236         * modules/unictype/property-extender: Likewise.
13237         * modules/unictype/property-format-control: Likewise.
13238         * modules/unictype/property-grapheme-base: Likewise.
13239         * modules/unictype/property-grapheme-extend: Likewise.
13240         * modules/unictype/property-grapheme-link: Likewise.
13241         * modules/unictype/property-hex-digit: Likewise.
13242         * modules/unictype/property-hyphen: Likewise.
13243         * modules/unictype/property-id-continue: Likewise.
13244         * modules/unictype/property-id-start: Likewise.
13245         * modules/unictype/property-ideographic: Likewise.
13246         * modules/unictype/property-ids-binary-operator: Likewise.
13247         * modules/unictype/property-ids-trinary-operator: Likewise.
13248         * modules/unictype/property-ignorable-control: Likewise.
13249         * modules/unictype/property-iso-control: Likewise.
13250         * modules/unictype/property-join-control: Likewise.
13251         * modules/unictype/property-left-of-pair: Likewise.
13252         * modules/unictype/property-line-separator: Likewise.
13253         * modules/unictype/property-logical-order-exception: Likewise.
13254         * modules/unictype/property-lowercase: Likewise.
13255         * modules/unictype/property-math: Likewise.
13256         * modules/unictype/property-non-break: Likewise.
13257         * modules/unictype/property-not-a-character: Likewise.
13258         * modules/unictype/property-numeric: Likewise.
13259         * modules/unictype/property-other-alphabetic: Likewise.
13260         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
13261         * modules/unictype/property-other-grapheme-extend: Likewise.
13262         * modules/unictype/property-other-id-continue: Likewise.
13263         * modules/unictype/property-other-id-start: Likewise.
13264         * modules/unictype/property-other-lowercase: Likewise.
13265         * modules/unictype/property-other-math: Likewise.
13266         * modules/unictype/property-other-uppercase: Likewise.
13267         * modules/unictype/property-paired-punctuation: Likewise.
13268         * modules/unictype/property-paragraph-separator: Likewise.
13269         * modules/unictype/property-pattern-syntax: Likewise.
13270         * modules/unictype/property-pattern-white-space: Likewise.
13271         * modules/unictype/property-private-use: Likewise.
13272         * modules/unictype/property-punctuation: Likewise.
13273         * modules/unictype/property-quotation-mark: Likewise.
13274         * modules/unictype/property-radical: Likewise.
13275         * modules/unictype/property-sentence-terminal: Likewise.
13276         * modules/unictype/property-soft-dotted: Likewise.
13277         * modules/unictype/property-space: Likewise.
13278         * modules/unictype/property-terminal-punctuation: Likewise.
13279         * modules/unictype/property-test: Likewise.
13280         * modules/unictype/property-titlecase: Likewise.
13281         * modules/unictype/property-unassigned-code-value: Likewise.
13282         * modules/unictype/property-unified-ideograph: Likewise.
13283         * modules/unictype/property-uppercase: Likewise.
13284         * modules/unictype/property-variation-selector: Likewise.
13285         * modules/unictype/property-white-space: Likewise.
13286         * modules/unictype/property-xid-continue: Likewise.
13287         * modules/unictype/property-xid-start: Likewise.
13288         * modules/unictype/property-zero-width: Likewise.
13289         * modules/unictype/scripts: Likewise.
13290         * modules/unictype/syntax-c-ident: Likewise.
13291         * modules/unictype/syntax-c-whitespace: Likewise.
13292         * modules/unictype/syntax-java-ident: Likewise.
13293         * modules/unictype/syntax-java-whitespace: Likewise.
13294         * modules/unilbrk/u8-possible-linebreaks: Likewise.
13295         * modules/unilbrk/u8-width-linebreaks: Likewise.
13296         * modules/unilbrk/u16-possible-linebreaks: Likewise.
13297         * modules/unilbrk/u16-width-linebreaks: Likewise.
13298         * modules/unilbrk/u32-possible-linebreaks: Likewise.
13299         * modules/unilbrk/u32-width-linebreaks: Likewise.
13300         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
13301         * modules/unilbrk/ulc-width-linebreaks: Likewise.
13302         * modules/uniname/uniname: Likewise.
13303         * modules/uninorm/canonical-decomposition: Likewise.
13304         * modules/uninorm/composition: Likewise.
13305         * modules/uninorm/decomposing-form: Likewise.
13306         * modules/uninorm/decomposition: Likewise.
13307         * modules/uninorm/filter: Likewise.
13308         * modules/uninorm/nfc: Likewise.
13309         * modules/uninorm/nfd: Likewise.
13310         * modules/uninorm/nfkc: Likewise.
13311         * modules/uninorm/nfkd: Likewise.
13312         * modules/uninorm/u8-normalize: Likewise.
13313         * modules/uninorm/u8-normcmp: Likewise.
13314         * modules/uninorm/u8-normcoll: Likewise.
13315         * modules/uninorm/u8-normxfrm: Likewise.
13316         * modules/uninorm/u16-normalize: Likewise.
13317         * modules/uninorm/u16-normcmp: Likewise.
13318         * modules/uninorm/u16-normcoll: Likewise.
13319         * modules/uninorm/u16-normxfrm: Likewise.
13320         * modules/uninorm/u32-normalize: Likewise.
13321         * modules/uninorm/u32-normcmp: Likewise.
13322         * modules/uninorm/u32-normcoll: Likewise.
13323         * modules/uninorm/u32-normxfrm: Likewise.
13324         * modules/unistdio/u8-asnprintf: Likewise.
13325         * modules/unistdio/u8-asprintf: Likewise.
13326         * modules/unistdio/u8-snprintf: Likewise.
13327         * modules/unistdio/u8-sprintf: Likewise.
13328         * modules/unistdio/u8-u8-asnprintf: Likewise.
13329         * modules/unistdio/u8-u8-asprintf: Likewise.
13330         * modules/unistdio/u8-u8-snprintf: Likewise.
13331         * modules/unistdio/u8-u8-sprintf: Likewise.
13332         * modules/unistdio/u8-u8-vasnprintf: Likewise.
13333         * modules/unistdio/u8-u8-vasprintf: Likewise.
13334         * modules/unistdio/u8-u8-vsnprintf: Likewise.
13335         * modules/unistdio/u8-u8-vsprintf: Likewise.
13336         * modules/unistdio/u8-vasnprintf: Likewise.
13337         * modules/unistdio/u8-vasprintf: Likewise.
13338         * modules/unistdio/u8-vsnprintf: Likewise.
13339         * modules/unistdio/u8-vsprintf: Likewise.
13340         * modules/unistdio/u16-asnprintf: Likewise.
13341         * modules/unistdio/u16-asprintf: Likewise.
13342         * modules/unistdio/u16-snprintf: Likewise.
13343         * modules/unistdio/u16-sprintf: Likewise.
13344         * modules/unistdio/u16-u16-asnprintf: Likewise.
13345         * modules/unistdio/u16-u16-asprintf: Likewise.
13346         * modules/unistdio/u16-u16-snprintf: Likewise.
13347         * modules/unistdio/u16-u16-sprintf: Likewise.
13348         * modules/unistdio/u16-u16-vasnprintf: Likewise.
13349         * modules/unistdio/u16-u16-vasprintf: Likewise.
13350         * modules/unistdio/u16-u16-vsnprintf: Likewise.
13351         * modules/unistdio/u16-u16-vsprintf: Likewise.
13352         * modules/unistdio/u16-vasnprintf: Likewise.
13353         * modules/unistdio/u16-vasprintf: Likewise.
13354         * modules/unistdio/u16-vsnprintf: Likewise.
13355         * modules/unistdio/u16-vsprintf: Likewise.
13356         * modules/unistdio/u32-asnprintf: Likewise.
13357         * modules/unistdio/u32-asprintf: Likewise.
13358         * modules/unistdio/u32-snprintf: Likewise.
13359         * modules/unistdio/u32-sprintf: Likewise.
13360         * modules/unistdio/u32-u32-asnprintf: Likewise.
13361         * modules/unistdio/u32-u32-asprintf: Likewise.
13362         * modules/unistdio/u32-u32-snprintf: Likewise.
13363         * modules/unistdio/u32-u32-sprintf: Likewise.
13364         * modules/unistdio/u32-u32-vasnprintf: Likewise.
13365         * modules/unistdio/u32-u32-vasprintf: Likewise.
13366         * modules/unistdio/u32-u32-vsnprintf: Likewise.
13367         * modules/unistdio/u32-u32-vsprintf: Likewise.
13368         * modules/unistdio/u32-vasnprintf: Likewise.
13369         * modules/unistdio/u32-vasprintf: Likewise.
13370         * modules/unistdio/u32-vsnprintf: Likewise.
13371         * modules/unistdio/u32-vsprintf: Likewise.
13372         * modules/unistdio/ulc-asnprintf: Likewise.
13373         * modules/unistdio/ulc-asprintf: Likewise.
13374         * modules/unistdio/ulc-fprintf: Likewise.
13375         * modules/unistdio/ulc-snprintf: Likewise.
13376         * modules/unistdio/ulc-sprintf: Likewise.
13377         * modules/unistdio/ulc-vasnprintf: Likewise.
13378         * modules/unistdio/ulc-vasprintf: Likewise.
13379         * modules/unistdio/ulc-vfprintf: Likewise.
13380         * modules/unistdio/ulc-vsnprintf: Likewise.
13381         * modules/unistdio/ulc-vsprintf: Likewise.
13382         * modules/unistr/u8-check: Likewise.
13383         * modules/unistr/u8-chr: Likewise.
13384         * modules/unistr/u8-cmp: Likewise.
13385         * modules/unistr/u8-cmp2: Likewise.
13386         * modules/unistr/u8-cpy: Likewise.
13387         * modules/unistr/u8-cpy-alloc: Likewise.
13388         * modules/unistr/u8-endswith: Likewise.
13389         * modules/unistr/u8-mblen: Likewise.
13390         * modules/unistr/u8-mbsnlen: Likewise.
13391         * modules/unistr/u8-mbtouc: Likewise.
13392         * modules/unistr/u8-mbtouc-unsafe: Likewise.
13393         * modules/unistr/u8-mbtoucr: Likewise.
13394         * modules/unistr/u8-move: Likewise.
13395         * modules/unistr/u8-next: Likewise.
13396         * modules/unistr/u8-prev: Likewise.
13397         * modules/unistr/u8-set: Likewise.
13398         * modules/unistr/u8-startswith: Likewise.
13399         * modules/unistr/u8-stpcpy: Likewise.
13400         * modules/unistr/u8-stpncpy: Likewise.
13401         * modules/unistr/u8-strcat: Likewise.
13402         * modules/unistr/u8-strchr: Likewise.
13403         * modules/unistr/u8-strcmp: Likewise.
13404         * modules/unistr/u8-strcoll: Likewise.
13405         * modules/unistr/u8-strcpy: Likewise.
13406         * modules/unistr/u8-strcspn: Likewise.
13407         * modules/unistr/u8-strdup: Likewise.
13408         * modules/unistr/u8-strlen: Likewise.
13409         * modules/unistr/u8-strmblen: Likewise.
13410         * modules/unistr/u8-strmbtouc: Likewise.
13411         * modules/unistr/u8-strncat: Likewise.
13412         * modules/unistr/u8-strncmp: Likewise.
13413         * modules/unistr/u8-strncpy: Likewise.
13414         * modules/unistr/u8-strnlen: Likewise.
13415         * modules/unistr/u8-strpbrk: Likewise.
13416         * modules/unistr/u8-strrchr: Likewise.
13417         * modules/unistr/u8-strspn: Likewise.
13418         * modules/unistr/u8-strstr: Likewise.
13419         * modules/unistr/u8-strtok: Likewise.
13420         * modules/unistr/u8-to-u16: Likewise.
13421         * modules/unistr/u8-to-u32: Likewise.
13422         * modules/unistr/u8-uctomb: Likewise.
13423         * modules/unistr/u16-check: Likewise.
13424         * modules/unistr/u16-chr: Likewise.
13425         * modules/unistr/u16-cmp: Likewise.
13426         * modules/unistr/u16-cmp2: Likewise.
13427         * modules/unistr/u16-cpy: Likewise.
13428         * modules/unistr/u16-cpy-alloc: Likewise.
13429         * modules/unistr/u16-endswith: Likewise.
13430         * modules/unistr/u16-mblen: Likewise.
13431         * modules/unistr/u16-mbsnlen: Likewise.
13432         * modules/unistr/u16-mbtouc: Likewise.
13433         * modules/unistr/u16-mbtouc-unsafe: Likewise.
13434         * modules/unistr/u16-mbtoucr: Likewise.
13435         * modules/unistr/u16-move: Likewise.
13436         * modules/unistr/u16-next: Likewise.
13437         * modules/unistr/u16-prev: Likewise.
13438         * modules/unistr/u16-set: Likewise.
13439         * modules/unistr/u16-startswith: Likewise.
13440         * modules/unistr/u16-stpcpy: Likewise.
13441         * modules/unistr/u16-stpncpy: Likewise.
13442         * modules/unistr/u16-strcat: Likewise.
13443         * modules/unistr/u16-strchr: Likewise.
13444         * modules/unistr/u16-strcmp: Likewise.
13445         * modules/unistr/u16-strcoll: Likewise.
13446         * modules/unistr/u16-strcpy: Likewise.
13447         * modules/unistr/u16-strcspn: Likewise.
13448         * modules/unistr/u16-strdup: Likewise.
13449         * modules/unistr/u16-strlen: Likewise.
13450         * modules/unistr/u16-strmblen: Likewise.
13451         * modules/unistr/u16-strmbtouc: Likewise.
13452         * modules/unistr/u16-strncat: Likewise.
13453         * modules/unistr/u16-strncmp: Likewise.
13454         * modules/unistr/u16-strncpy: Likewise.
13455         * modules/unistr/u16-strnlen: Likewise.
13456         * modules/unistr/u16-strpbrk: Likewise.
13457         * modules/unistr/u16-strrchr: Likewise.
13458         * modules/unistr/u16-strspn: Likewise.
13459         * modules/unistr/u16-strstr: Likewise.
13460         * modules/unistr/u16-strtok: Likewise.
13461         * modules/unistr/u16-to-u32: Likewise.
13462         * modules/unistr/u16-to-u8: Likewise.
13463         * modules/unistr/u16-uctomb: Likewise.
13464         * modules/unistr/u32-check: Likewise.
13465         * modules/unistr/u32-chr: Likewise.
13466         * modules/unistr/u32-cmp: Likewise.
13467         * modules/unistr/u32-cmp2: Likewise.
13468         * modules/unistr/u32-cpy: Likewise.
13469         * modules/unistr/u32-cpy-alloc: Likewise.
13470         * modules/unistr/u32-endswith: Likewise.
13471         * modules/unistr/u32-mblen: Likewise.
13472         * modules/unistr/u32-mbsnlen: Likewise.
13473         * modules/unistr/u32-mbtouc: Likewise.
13474         * modules/unistr/u32-mbtouc-unsafe: Likewise.
13475         * modules/unistr/u32-mbtoucr: Likewise.
13476         * modules/unistr/u32-move: Likewise.
13477         * modules/unistr/u32-next: Likewise.
13478         * modules/unistr/u32-prev: Likewise.
13479         * modules/unistr/u32-set: Likewise.
13480         * modules/unistr/u32-startswith: Likewise.
13481         * modules/unistr/u32-stpcpy: Likewise.
13482         * modules/unistr/u32-stpncpy: Likewise.
13483         * modules/unistr/u32-strcat: Likewise.
13484         * modules/unistr/u32-strchr: Likewise.
13485         * modules/unistr/u32-strcmp: Likewise.
13486         * modules/unistr/u32-strcoll: Likewise.
13487         * modules/unistr/u32-strcpy: Likewise.
13488         * modules/unistr/u32-strcspn: Likewise.
13489         * modules/unistr/u32-strdup: Likewise.
13490         * modules/unistr/u32-strlen: Likewise.
13491         * modules/unistr/u32-strmblen: Likewise.
13492         * modules/unistr/u32-strmbtouc: Likewise.
13493         * modules/unistr/u32-strncat: Likewise.
13494         * modules/unistr/u32-strncmp: Likewise.
13495         * modules/unistr/u32-strncpy: Likewise.
13496         * modules/unistr/u32-strnlen: Likewise.
13497         * modules/unistr/u32-strpbrk: Likewise.
13498         * modules/unistr/u32-strrchr: Likewise.
13499         * modules/unistr/u32-strspn: Likewise.
13500         * modules/unistr/u32-strstr: Likewise.
13501         * modules/unistr/u32-strtok: Likewise.
13502         * modules/unistr/u32-to-u16: Likewise.
13503         * modules/unistr/u32-to-u8: Likewise.
13504         * modules/unistr/u32-uctomb: Likewise.
13505         * modules/uniwbrk/u8-wordbreaks: Likewise.
13506         * modules/uniwbrk/u16-wordbreaks: Likewise.
13507         * modules/uniwbrk/u32-wordbreaks: Likewise.
13508         * modules/uniwbrk/ulc-wordbreaks: Likewise.
13509         * modules/uniwbrk/wordbreak-property: Likewise.
13510         * modules/uniwidth/u8-strwidth: Likewise.
13511         * modules/uniwidth/u8-width: Likewise.
13512         * modules/uniwidth/u16-strwidth: Likewise.
13513         * modules/uniwidth/u16-width: Likewise.
13514         * modules/uniwidth/u32-strwidth: Likewise.
13515         * modules/uniwidth/u32-width: Likewise.
13516         * modules/uniwidth/width: Likewise.
13517         * modules/unicase/cased-tests (Makefile.am): Link all test programs
13518         with $(LIBUNISTRING).
13519         * modules/unicase/ignorable-tests: Likewise.
13520         * modules/unicase/locale-language-tests: Likewise.
13521         * modules/unicase/tolower-tests: Likewise.
13522         * modules/unicase/totitle-tests: Likewise.
13523         * modules/unicase/toupper-tests: Likewise.
13524         * modules/unicase/u8-casecmp-tests: Likewise.
13525         * modules/unicase/u8-casecoll-tests: Likewise.
13526         * modules/unicase/u8-casefold-tests: Likewise.
13527         * modules/unicase/u8-is-cased-tests: Likewise.
13528         * modules/unicase/u8-is-casefolded-tests: Likewise.
13529         * modules/unicase/u8-is-lowercase-tests: Likewise.
13530         * modules/unicase/u8-is-titlecase-tests: Likewise.
13531         * modules/unicase/u8-is-uppercase-tests: Likewise.
13532         * modules/unicase/u8-tolower-tests: Likewise.
13533         * modules/unicase/u8-totitle-tests: Likewise.
13534         * modules/unicase/u8-toupper-tests: Likewise.
13535         * modules/unicase/u16-casecmp-tests: Likewise.
13536         * modules/unicase/u16-casecoll-tests: Likewise.
13537         * modules/unicase/u16-casefold-tests: Likewise.
13538         * modules/unicase/u16-is-cased-tests: Likewise.
13539         * modules/unicase/u16-is-casefolded-tests: Likewise.
13540         * modules/unicase/u16-is-lowercase-tests: Likewise.
13541         * modules/unicase/u16-is-titlecase-tests: Likewise.
13542         * modules/unicase/u16-is-uppercase-tests: Likewise.
13543         * modules/unicase/u16-tolower-tests: Likewise.
13544         * modules/unicase/u16-totitle-tests: Likewise.
13545         * modules/unicase/u16-toupper-tests: Likewise.
13546         * modules/unicase/u32-casecmp-tests: Likewise.
13547         * modules/unicase/u32-casecoll-tests: Likewise.
13548         * modules/unicase/u32-casefold-tests: Likewise.
13549         * modules/unicase/u32-is-cased-tests: Likewise.
13550         * modules/unicase/u32-is-casefolded-tests: Likewise.
13551         * modules/unicase/u32-is-lowercase-tests: Likewise.
13552         * modules/unicase/u32-is-titlecase-tests: Likewise.
13553         * modules/unicase/u32-is-uppercase-tests: Likewise.
13554         * modules/unicase/u32-tolower-tests: Likewise.
13555         * modules/unicase/u32-totitle-tests: Likewise.
13556         * modules/unicase/u32-toupper-tests: Likewise.
13557         * modules/unicase/ulc-casecmp-tests: Likewise.
13558         * modules/unicase/ulc-casecoll-tests: Likewise.
13559         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
13560         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
13561         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
13562         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
13563         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
13564         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
13565         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
13566         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
13567         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
13568         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
13569         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
13570         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
13571         * modules/unictype/bidicategory-byname-tests: Likewise.
13572         * modules/unictype/bidicategory-name-tests: Likewise.
13573         * modules/unictype/bidicategory-of-tests: Likewise.
13574         * modules/unictype/bidicategory-test-tests: Likewise.
13575         * modules/unictype/block-list-tests: Likewise.
13576         * modules/unictype/block-of-tests: Likewise.
13577         * modules/unictype/block-test-tests: Likewise.
13578         * modules/unictype/category-C-tests: Likewise.
13579         * modules/unictype/category-Cc-tests: Likewise.
13580         * modules/unictype/category-Cf-tests: Likewise.
13581         * modules/unictype/category-Cn-tests: Likewise.
13582         * modules/unictype/category-Co-tests: Likewise.
13583         * modules/unictype/category-Cs-tests: Likewise.
13584         * modules/unictype/category-L-tests: Likewise.
13585         * modules/unictype/category-Ll-tests: Likewise.
13586         * modules/unictype/category-Lm-tests: Likewise.
13587         * modules/unictype/category-Lo-tests: Likewise.
13588         * modules/unictype/category-Lt-tests: Likewise.
13589         * modules/unictype/category-Lu-tests: Likewise.
13590         * modules/unictype/category-M-tests: Likewise.
13591         * modules/unictype/category-Mc-tests: Likewise.
13592         * modules/unictype/category-Me-tests: Likewise.
13593         * modules/unictype/category-Mn-tests: Likewise.
13594         * modules/unictype/category-N-tests: Likewise.
13595         * modules/unictype/category-Nd-tests: Likewise.
13596         * modules/unictype/category-Nl-tests: Likewise.
13597         * modules/unictype/category-No-tests: Likewise.
13598         * modules/unictype/category-P-tests: Likewise.
13599         * modules/unictype/category-Pc-tests: Likewise.
13600         * modules/unictype/category-Pd-tests: Likewise.
13601         * modules/unictype/category-Pe-tests: Likewise.
13602         * modules/unictype/category-Pf-tests: Likewise.
13603         * modules/unictype/category-Pi-tests: Likewise.
13604         * modules/unictype/category-Po-tests: Likewise.
13605         * modules/unictype/category-Ps-tests: Likewise.
13606         * modules/unictype/category-S-tests: Likewise.
13607         * modules/unictype/category-Sc-tests: Likewise.
13608         * modules/unictype/category-Sk-tests: Likewise.
13609         * modules/unictype/category-Sm-tests: Likewise.
13610         * modules/unictype/category-So-tests: Likewise.
13611         * modules/unictype/category-Z-tests: Likewise.
13612         * modules/unictype/category-Zl-tests: Likewise.
13613         * modules/unictype/category-Zp-tests: Likewise.
13614         * modules/unictype/category-Zs-tests: Likewise.
13615         * modules/unictype/category-and-not-tests: Likewise.
13616         * modules/unictype/category-and-tests: Likewise.
13617         * modules/unictype/category-byname-tests: Likewise.
13618         * modules/unictype/category-name-tests: Likewise.
13619         * modules/unictype/category-none-tests: Likewise.
13620         * modules/unictype/category-of-tests: Likewise.
13621         * modules/unictype/category-or-tests: Likewise.
13622         * modules/unictype/category-test-withtable-tests: Likewise.
13623         * modules/unictype/combining-class-tests: Likewise.
13624         * modules/unictype/ctype-alnum-tests: Likewise.
13625         * modules/unictype/ctype-alpha-tests: Likewise.
13626         * modules/unictype/ctype-blank-tests: Likewise.
13627         * modules/unictype/ctype-cntrl-tests: Likewise.
13628         * modules/unictype/ctype-digit-tests: Likewise.
13629         * modules/unictype/ctype-graph-tests: Likewise.
13630         * modules/unictype/ctype-lower-tests: Likewise.
13631         * modules/unictype/ctype-print-tests: Likewise.
13632         * modules/unictype/ctype-punct-tests: Likewise.
13633         * modules/unictype/ctype-space-tests: Likewise.
13634         * modules/unictype/ctype-upper-tests: Likewise.
13635         * modules/unictype/ctype-xdigit-tests: Likewise.
13636         * modules/unictype/decimal-digit-tests: Likewise.
13637         * modules/unictype/digit-tests: Likewise.
13638         * modules/unictype/mirror-tests: Likewise.
13639         * modules/unictype/numeric-tests: Likewise.
13640         * modules/unictype/property-alphabetic-tests: Likewise.
13641         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
13642         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
13643         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
13644         * modules/unictype/property-bidi-block-separator-tests: Likewise.
13645         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
13646         * modules/unictype/property-bidi-common-separator-tests: Likewise.
13647         * modules/unictype/property-bidi-control-tests: Likewise.
13648         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
13649         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
13650         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
13651         * modules/unictype/property-bidi-european-digit-tests: Likewise.
13652         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
13653         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
13654         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
13655         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
13656         * modules/unictype/property-bidi-pdf-tests: Likewise.
13657         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
13658         * modules/unictype/property-bidi-whitespace-tests: Likewise.
13659         * modules/unictype/property-byname-tests: Likewise.
13660         * modules/unictype/property-combining-tests: Likewise.
13661         * modules/unictype/property-composite-tests: Likewise.
13662         * modules/unictype/property-currency-symbol-tests: Likewise.
13663         * modules/unictype/property-dash-tests: Likewise.
13664         * modules/unictype/property-decimal-digit-tests: Likewise.
13665         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
13666         * modules/unictype/property-deprecated-tests: Likewise.
13667         * modules/unictype/property-diacritic-tests: Likewise.
13668         * modules/unictype/property-extender-tests: Likewise.
13669         * modules/unictype/property-format-control-tests: Likewise.
13670         * modules/unictype/property-grapheme-base-tests: Likewise.
13671         * modules/unictype/property-grapheme-extend-tests: Likewise.
13672         * modules/unictype/property-grapheme-link-tests: Likewise.
13673         * modules/unictype/property-hex-digit-tests: Likewise.
13674         * modules/unictype/property-hyphen-tests: Likewise.
13675         * modules/unictype/property-id-continue-tests: Likewise.
13676         * modules/unictype/property-id-start-tests: Likewise.
13677         * modules/unictype/property-ideographic-tests: Likewise.
13678         * modules/unictype/property-ids-binary-operator-tests: Likewise.
13679         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
13680         * modules/unictype/property-ignorable-control-tests: Likewise.
13681         * modules/unictype/property-iso-control-tests: Likewise.
13682         * modules/unictype/property-join-control-tests: Likewise.
13683         * modules/unictype/property-left-of-pair-tests: Likewise.
13684         * modules/unictype/property-line-separator-tests: Likewise.
13685         * modules/unictype/property-logical-order-exception-tests: Likewise.
13686         * modules/unictype/property-lowercase-tests: Likewise.
13687         * modules/unictype/property-math-tests: Likewise.
13688         * modules/unictype/property-non-break-tests: Likewise.
13689         * modules/unictype/property-not-a-character-tests: Likewise.
13690         * modules/unictype/property-numeric-tests: Likewise.
13691         * modules/unictype/property-other-alphabetic-tests: Likewise.
13692         * modules/unictype/property-other-default-ignorable-code-point-tests:
13693         Likewise.
13694         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
13695         * modules/unictype/property-other-id-continue-tests: Likewise.
13696         * modules/unictype/property-other-id-start-tests: Likewise.
13697         * modules/unictype/property-other-lowercase-tests: Likewise.
13698         * modules/unictype/property-other-math-tests: Likewise.
13699         * modules/unictype/property-other-uppercase-tests: Likewise.
13700         * modules/unictype/property-paired-punctuation-tests: Likewise.
13701         * modules/unictype/property-paragraph-separator-tests: Likewise.
13702         * modules/unictype/property-pattern-syntax-tests: Likewise.
13703         * modules/unictype/property-pattern-white-space-tests: Likewise.
13704         * modules/unictype/property-private-use-tests: Likewise.
13705         * modules/unictype/property-punctuation-tests: Likewise.
13706         * modules/unictype/property-quotation-mark-tests: Likewise.
13707         * modules/unictype/property-radical-tests: Likewise.
13708         * modules/unictype/property-sentence-terminal-tests: Likewise.
13709         * modules/unictype/property-soft-dotted-tests: Likewise.
13710         * modules/unictype/property-space-tests: Likewise.
13711         * modules/unictype/property-terminal-punctuation-tests: Likewise.
13712         * modules/unictype/property-test-tests: Likewise.
13713         * modules/unictype/property-titlecase-tests: Likewise.
13714         * modules/unictype/property-unassigned-code-value-tests: Likewise.
13715         * modules/unictype/property-unified-ideograph-tests: Likewise.
13716         * modules/unictype/property-uppercase-tests: Likewise.
13717         * modules/unictype/property-variation-selector-tests: Likewise.
13718         * modules/unictype/property-white-space-tests: Likewise.
13719         * modules/unictype/property-xid-continue-tests: Likewise.
13720         * modules/unictype/property-xid-start-tests: Likewise.
13721         * modules/unictype/property-zero-width-tests: Likewise.
13722         * modules/unictype/scripts-tests: Likewise.
13723         * modules/unictype/syntax-c-ident-tests: Likewise.
13724         * modules/unictype/syntax-c-whitespace-tests: Likewise.
13725         * modules/unictype/syntax-java-ident-tests: Likewise.
13726         * modules/unictype/syntax-java-whitespace-tests: Likewise.
13727         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
13728         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
13729         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
13730         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
13731         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
13732         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
13733         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
13734         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
13735         * modules/uniname/uniname-tests: Likewise.
13736         * modules/uninorm/canonical-decomposition-tests: Likewise.
13737         * modules/uninorm/compat-decomposition-tests: Likewise.
13738         * modules/uninorm/composition-tests: Likewise.
13739         * modules/uninorm/decomposing-form-tests: Likewise.
13740         * modules/uninorm/decomposition-tests: Likewise.
13741         * modules/uninorm/filter-tests: Likewise.
13742         * modules/uninorm/nfc-tests: Likewise.
13743         * modules/uninorm/nfd-tests: Likewise.
13744         * modules/uninorm/nfkc-tests: Likewise.
13745         * modules/uninorm/nfkd-tests: Likewise.
13746         * modules/uninorm/u8-normcmp-tests: Likewise.
13747         * modules/uninorm/u8-normcoll-tests: Likewise.
13748         * modules/uninorm/u16-normcmp-tests: Likewise.
13749         * modules/uninorm/u16-normcoll-tests: Likewise.
13750         * modules/uninorm/u32-normcmp-tests: Likewise.
13751         * modules/uninorm/u32-normcoll-tests: Likewise.
13752         * modules/unistdio/u8-asnprintf-tests: Likewise.
13753         * modules/unistdio/u8-vasnprintf-tests: Likewise.
13754         * modules/unistdio/u8-vasprintf-tests: Likewise.
13755         * modules/unistdio/u8-vsnprintf-tests: Likewise.
13756         * modules/unistdio/u8-vsprintf-tests: Likewise.
13757         * modules/unistdio/u16-asnprintf-tests: Likewise.
13758         * modules/unistdio/u16-vasnprintf-tests: Likewise.
13759         * modules/unistdio/u16-vasprintf-tests: Likewise.
13760         * modules/unistdio/u16-vsnprintf-tests: Likewise.
13761         * modules/unistdio/u16-vsprintf-tests: Likewise.
13762         * modules/unistdio/u32-asnprintf-tests: Likewise.
13763         * modules/unistdio/u32-vasnprintf-tests: Likewise.
13764         * modules/unistdio/u32-vasprintf-tests: Likewise.
13765         * modules/unistdio/u32-vsnprintf-tests: Likewise.
13766         * modules/unistdio/u32-vsprintf-tests: Likewise.
13767         * modules/unistdio/ulc-asnprintf-tests: Likewise.
13768         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
13769         * modules/unistdio/ulc-vasprintf-tests: Likewise.
13770         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
13771         * modules/unistdio/ulc-vsprintf-tests: Likewise.
13772         * modules/unistr/u8-check-tests: Likewise.
13773         * modules/unistr/u8-chr-tests: Likewise.
13774         * modules/unistr/u8-cmp-tests: Likewise.
13775         * modules/unistr/u8-cmp2-tests: Likewise.
13776         * modules/unistr/u8-cpy-alloc-tests: Likewise.
13777         * modules/unistr/u8-cpy-tests: Likewise.
13778         * modules/unistr/u8-mblen-tests: Likewise.
13779         * modules/unistr/u8-mbsnlen-tests: Likewise.
13780         * modules/unistr/u8-mbtouc-tests: Likewise.
13781         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
13782         * modules/unistr/u8-mbtoucr-tests: Likewise.
13783         * modules/unistr/u8-move-tests: Likewise.
13784         * modules/unistr/u8-next-tests: Likewise.
13785         * modules/unistr/u8-prev-tests: Likewise.
13786         * modules/unistr/u8-set-tests: Likewise.
13787         * modules/unistr/u8-stpcpy-tests: Likewise.
13788         * modules/unistr/u8-stpncpy-tests: Likewise.
13789         * modules/unistr/u8-strcat-tests: Likewise.
13790         * modules/unistr/u8-strcmp-tests: Likewise.
13791         * modules/unistr/u8-strcoll-tests: Likewise.
13792         * modules/unistr/u8-strcpy-tests: Likewise.
13793         * modules/unistr/u8-strdup-tests: Likewise.
13794         * modules/unistr/u8-strlen-tests: Likewise.
13795         * modules/unistr/u8-strmblen-tests: Likewise.
13796         * modules/unistr/u8-strmbtouc-tests: Likewise.
13797         * modules/unistr/u8-strncat-tests: Likewise.
13798         * modules/unistr/u8-strncmp-tests: Likewise.
13799         * modules/unistr/u8-strncpy-tests: Likewise.
13800         * modules/unistr/u8-strnlen-tests: Likewise.
13801         * modules/unistr/u8-to-u16-tests: Likewise.
13802         * modules/unistr/u8-to-u32-tests: Likewise.
13803         * modules/unistr/u8-uctomb-tests: Likewise.
13804         * modules/unistr/u16-check-tests: Likewise.
13805         * modules/unistr/u16-chr-tests: Likewise.
13806         * modules/unistr/u16-cmp-tests: Likewise.
13807         * modules/unistr/u16-cmp2-tests: Likewise.
13808         * modules/unistr/u16-cpy-alloc-tests: Likewise.
13809         * modules/unistr/u16-cpy-tests: Likewise.
13810         * modules/unistr/u16-mblen-tests: Likewise.
13811         * modules/unistr/u16-mbsnlen-tests: Likewise.
13812         * modules/unistr/u16-mbtouc-tests: Likewise.
13813         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
13814         * modules/unistr/u16-mbtoucr-tests: Likewise.
13815         * modules/unistr/u16-move-tests: Likewise.
13816         * modules/unistr/u16-next-tests: Likewise.
13817         * modules/unistr/u16-prev-tests: Likewise.
13818         * modules/unistr/u16-set-tests: Likewise.
13819         * modules/unistr/u16-stpcpy-tests: Likewise.
13820         * modules/unistr/u16-stpncpy-tests: Likewise.
13821         * modules/unistr/u16-strcat-tests: Likewise.
13822         * modules/unistr/u16-strcmp-tests: Likewise.
13823         * modules/unistr/u16-strcoll-tests: Likewise.
13824         * modules/unistr/u16-strcpy-tests: Likewise.
13825         * modules/unistr/u16-strdup-tests: Likewise.
13826         * modules/unistr/u16-strlen-tests: Likewise.
13827         * modules/unistr/u16-strmblen-tests: Likewise.
13828         * modules/unistr/u16-strmbtouc-tests: Likewise.
13829         * modules/unistr/u16-strncat-tests: Likewise.
13830         * modules/unistr/u16-strncmp-tests: Likewise.
13831         * modules/unistr/u16-strncpy-tests: Likewise.
13832         * modules/unistr/u16-strnlen-tests: Likewise.
13833         * modules/unistr/u16-to-u32-tests: Likewise.
13834         * modules/unistr/u16-to-u8-tests: Likewise.
13835         * modules/unistr/u16-uctomb-tests: Likewise.
13836         * modules/unistr/u32-check-tests: Likewise.
13837         * modules/unistr/u32-chr-tests: Likewise.
13838         * modules/unistr/u32-cmp-tests: Likewise.
13839         * modules/unistr/u32-cmp2-tests: Likewise.
13840         * modules/unistr/u32-cpy-alloc-tests: Likewise.
13841         * modules/unistr/u32-cpy-tests: Likewise.
13842         * modules/unistr/u32-mblen-tests: Likewise.
13843         * modules/unistr/u32-mbsnlen-tests: Likewise.
13844         * modules/unistr/u32-mbtouc-tests: Likewise.
13845         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
13846         * modules/unistr/u32-mbtoucr-tests: Likewise.
13847         * modules/unistr/u32-move-tests: Likewise.
13848         * modules/unistr/u32-next-tests: Likewise.
13849         * modules/unistr/u32-prev-tests: Likewise.
13850         * modules/unistr/u32-set-tests: Likewise.
13851         * modules/unistr/u32-stpcpy-tests: Likewise.
13852         * modules/unistr/u32-stpncpy-tests: Likewise.
13853         * modules/unistr/u32-strcat-tests: Likewise.
13854         * modules/unistr/u32-strcmp-tests: Likewise.
13855         * modules/unistr/u32-strcoll-tests: Likewise.
13856         * modules/unistr/u32-strcpy-tests: Likewise.
13857         * modules/unistr/u32-strdup-tests: Likewise.
13858         * modules/unistr/u32-strlen-tests: Likewise.
13859         * modules/unistr/u32-strmblen-tests: Likewise.
13860         * modules/unistr/u32-strmbtouc-tests: Likewise.
13861         * modules/unistr/u32-strncat-tests: Likewise.
13862         * modules/unistr/u32-strncmp-tests: Likewise.
13863         * modules/unistr/u32-strncpy-tests: Likewise.
13864         * modules/unistr/u32-strnlen-tests: Likewise.
13865         * modules/unistr/u32-to-u16-tests: Likewise.
13866         * modules/unistr/u32-to-u8-tests: Likewise.
13867         * modules/unistr/u32-uctomb-tests: Likewise.
13868         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
13869         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
13870         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
13871         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
13872         * modules/uniwidth/u8-strwidth-tests: Likewise.
13873         * modules/uniwidth/u8-width-tests: Likewise.
13874         * modules/uniwidth/u16-strwidth-tests: Likewise.
13875         * modules/uniwidth/u16-width-tests: Likewise.
13876         * modules/uniwidth/u32-strwidth-tests: Likewise.
13877         * modules/uniwidth/u32-width-tests: Likewise.
13878         * modules/uniwidth/width-tests: Likewise.
13879
13880 2010-05-18  Richard Jones  <rjones@redhat.com>
13881
13882         doc: users.txt: list hivex
13883         * users.txt: Add hivex.
13884
13885 2010-05-18  Richard Jones  <rjones@redhat.com>
13886
13887         doc: users.txt: list febootstrap
13888         * users.txt: Add febootstrap.
13889
13890 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
13891
13892         bootstrap: fix an error when gnulib is not used as a git submodule
13893         * build-aux/bootstrap (gnulib_path): If its length is zero then
13894         assign "gnulib" to it.
13895         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
13896
13897 2010-05-16  Bruno Haible  <bruno@clisp.org>
13898
13899         Avoid autoconf warnings about AM_ICONV.
13900         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
13901         2.64.
13902
13903 2010-05-16  Bruno Haible  <bruno@clisp.org>
13904
13905         absolute-header: Make the macro usable in more situations.
13906         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
13907         from gl_ABSOLUTE_HEADER.
13908         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
13909
13910 2010-05-16  James Youngman  <jay@gnu.org>
13911
13912         doc: update users.txt
13913         * users.txt: Add CSSC.
13914
13915 2010-05-16  Jim Meyering  <meyering@redhat.com>
13916
13917         init.sh: fix an error in the previous change; add more comments
13918         * tests/init.sh: Compare exit code in loop against 9, not 2.
13919         Patch by Bruno Haible.
13920         Make the two tests more similar by adding an empty "then" clause.
13921         Add comments.
13922
13923         init.sh: avoid unnecessary shell re-exec
13924         * tests/init.sh: Improve the re-exec-required check to first test the
13925         current shell.  If it passes the test, do not search for a shell that
13926         does pass, and do not re-exec.  This test is particularly contorted to
13927         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
13928         of $(...) evokes a syntax error and causes immediate shell exit with
13929         status 2.  Bruno Haible reported that the re-exec made it impossible
13930         to single-step through any init.sh-using script.
13931
13932 2010-05-16  Bruno Haible  <bruno@clisp.org>
13933
13934         Fix collision between gnulib's and libintl's printf replacements.
13935         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
13936         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
13937         (printf): When using GNU C, map the __printf__ function to rpl_printf
13938         via __asm__. When not using GNU C, define rpl_printf instead of
13939         __printf__.
13940         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
13941         commit.
13942         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
13943         commit.
13944         * m4/asm-underscore.m4: New file.
13945         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
13946         * modules/stdio (Files): Add m4/asm-underscore.m4.
13947         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
13948         Reported by Ben Pfaff.
13949
13950 2010-05-16  Bruno Haible  <bruno@clisp.org>
13951
13952         verify: Avoid skipping the test on openSUSE 11.0.
13953         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
13954
13955 2010-05-13  Bruno Haible  <bruno@clisp.org>
13956
13957         Avoid useless warnings from G++.
13958         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
13959         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
13960         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13961
13962 2010-05-11  Jim Meyering  <meyering@redhat.com>
13963
13964         maint.mk: tweak preceding change
13965         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
13966         regexps tighter by anchoring at EOL, and make the new group "shy"
13967         for slightly decreased overhead.
13968
13969 2010-05-11  Eric Blake  <eblake@redhat.com>
13970
13971         maint.mk: gnulib doesn't guarantee NSIG
13972         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
13973
13974 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
13975
13976         test-pwrite.c: Remove unused variable declaration.
13977         * tests/test-pwrite.c (main): Remove read_buf declaration.
13978
13979         Remove useless test-pwrite.sh file.
13980         * tests/test-pwrite.sh: Delete file.
13981         * modules/pwrite-tests: Remove references.
13982         Reported by Bruno Haible.
13983
13984 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
13985
13986         init.sh: fix a typo
13987         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
13988
13989 2010-05-10  Jim Meyering  <meyering@redhat.com>
13990
13991         maint.mk: avoid using a temporary file in the always-defined-macros check
13992         * top/maint.mk (.re-defmac): Remove rule.
13993         (gl_trap_): Remove definition.
13994         (sc_prohibit_always-defined_macros): Rewrite not to create and
13995         depend on a temporary file.  Instead, depend on GNU grep's ability
13996         to read a list of regular expressions from stdin when given "-f -".
13997
13998 2010-05-09  Bruno Haible  <bruno@clisp.org>
13999
14000         Update to GNU gettext 0.18, part 1.
14001         * m4/gettext.m4: Update to GNU gettext 0.18.
14002         * m4/intl.m4: Likewise.
14003         * m4/po.m4: Likewise.
14004         * modules/gettext (Files): Add m4/fcntl-o.m4.
14005         (configure.ac): Require gettext infrastructure from version 0.18.
14006
14007 2010-05-09  Jim Meyering  <meyering@redhat.com>
14008
14009         init.sh: enable MALLOC_PERTURB_
14010         * tests/init.sh: Enable glibc's malloc-perturbing option.
14011
14012         maint.mk: improve sc_cross_check_PATH_usage_in_tests
14013         With my recent change in init.sh from the two-line form:
14014             -#   : ${srcdir=.}
14015             -#   . "$srcdir/init.sh"; path_prepend_ .
14016             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
14017         I noticed that using the one-line form would cause this test
14018         to fail with a false-positive, or to stop working altogether,
14019         depending on whether help-version changed or all the tests did.
14020         * top/maint.mk (_hv_regex): Remove this definition.
14021         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
14022         (_hv_regex_strong): Use a stronger regex to check for conformance.
14023         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
14024         Give a separate diagnostic for lack of conforming use.
14025
14026         maint.mk: prohibit definition of symbols defined by gnulib
14027         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
14028         definition of symbols defined by gnulib.
14029
14030 2010-05-09  Bruno Haible  <bruno@clisp.org>
14031
14032         acl: Avoid test failure on Cygwin-hosted mingw.
14033         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
14034
14035 2010-05-09  Bruno Haible  <bruno@clisp.org>
14036
14037         error: Use system's fcntl function.
14038         * lib/error.c (fcntl): Undefine.
14039
14040 2010-05-09  Jim Meyering  <meyering@redhat.com>
14041
14042         verify: adjust formatting to be more consistent
14043         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
14044         argument-list '('s, and after one comma.
14045
14046 2010-05-09  Bruno Haible  <bruno@clisp.org>
14047
14048         error: More reliable output on mingw.
14049         * lib/error.c: Include <windows.h>.
14050         (is_open): New function.
14051         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
14052         defined.
14053
14054 2010-05-09  Bruno Haible  <bruno@clisp.org>
14055
14056         vasnprintf: Fix syntax errors in libintl build on mingw.
14057         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
14058         pad_ourselves and prec_ourselves after use.
14059
14060 2010-05-08  Bruno Haible  <bruno@clisp.org>
14061
14062         * lib/config.charset: Update comments for Cygwin 1.7.
14063         * lib/localcharset.c: Likewise.
14064
14065 2010-05-07  Jim Meyering  <meyering@redhat.com>
14066
14067         init.sh: improve comments
14068         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
14069         . "${srcdir=.}/init.sh"; path_prepend_ .
14070         Add a note about path_prepend_ and the alternative of using
14071         TESTS_ENVIRONMENT.
14072
14073 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
14074
14075         exclude: Unescape hashed patterns in wildcard mode.
14076         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
14077         to the hash list.
14078         * tests/test-exclude8.sh: New test case.
14079         * modules/exclude-tests: Add new test.
14080
14081 2010-05-05  Eric Blake  <eblake@redhat.com>
14082
14083         verify: automate tests
14084         * modules/verify-tests: New module.
14085         * tests/test-verify.sh: New file.
14086         * tests/test-verify.c: Guard each negative test with a unique id.
14087         Also avoid warning about unused left hand of comma expressions.
14088
14089 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14090
14091         Further improvements to verify.h, suggested by Eric Blake.
14092         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
14093         the GL_* versions, to avoid collision with OpenGL.
14094         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
14095         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
14096         than testing merely whether it's defined.
14097
14098         Modify verify.h to pacify gcc -Wredundant_decls.
14099         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
14100         These use the prefix "GL_" since they're likely to be useful elsewhere.
14101         We may need to break them out into a different .h file.
14102         (__COUNTER__): Define to 0 if the compiler doesn't support it.
14103         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
14104         of verify_function__.
14105
14106 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14107
14108         Tests for module pwrite.
14109         * modules/pwrite-tests: New file.
14110         * tests/test-pwrite.sh: New file.
14111         * tests/test-pwrite.c: New file.
14112
14113         New module pwrite.
14114         * lib/unistd.in.h (pwrite): New declaration.
14115         * lib/pwrite.c: New file, from glibc with modifications.
14116         * m4/pwrite.m4: New file.
14117         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
14118         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
14119         REPLACE_PWRITE.
14120         * modules/pwrite: New file.
14121         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
14122         REPLACE_PWRITE.
14123         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
14124         * doc/posix-functions/pwrite.texi: Mention the new module.
14125
14126 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14127
14128         pread: Update documentation.
14129         * doc/posix-functions/pread.texi: Mention the 'pread' module.
14130
14131 2010-05-04  Eric Blake  <eblake@redhat.com>
14132
14133         docs: update cygwin progress
14134         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
14135         this bug.
14136         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
14137         Added in cygwin 1.7.2.
14138         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
14139         Likewise.
14140         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
14141         Likewise.
14142         * doc/glibc-functions/dup3.texi (dup3): Likewise.
14143         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
14144         * doc/glibc-functions/accept4.texi (accept4): Likewise.
14145         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
14146         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
14147         Mention nproc module.
14148         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
14149         bug in cygwin 1.7.5 addition.
14150         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
14151         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
14152         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
14153         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
14154         1.7.5.
14155         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
14156         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
14157         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
14158         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
14159         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
14160         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
14161         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
14162         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
14163         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
14164         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
14165         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
14166         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
14167         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
14168         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
14169         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
14170         Likewise.
14171         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
14172         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
14173         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
14174         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
14175         Likewise.
14176         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
14177         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
14178         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
14179         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
14180         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
14181         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
14182         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
14183         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
14184         Likewise.
14185         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
14186         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
14187         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
14188         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
14189         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
14190         Likewise.
14191         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
14192         Likewise.
14193         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
14194         Likewise.
14195         * doc/glibc-functions/xdrrec_endofrecord.texi
14196         (xdrrec_endofrecord): Likewise.
14197         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
14198         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
14199         Likewise.
14200         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
14201         Likewise.
14202
14203 2010-05-04  Jim Meyering  <meyering@redhat.com>
14204
14205         gendocs.sh: make its "-s FILE" option more useful
14206         * build-aux/gendocs.sh: When honoring the -s FILE option, update
14207         $PACKAGE to reflect the probably-different basename of "FILE".
14208
14209 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14210
14211         bootstrap: don't ignore download_po_files failure
14212         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
14213         failure.
14214
14215 2010-05-03  Jim Meyering  <meyering@redhat.com>
14216
14217         maint.mk: allow to pass options to gendocs.sh
14218         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
14219         (gendocs_options_): New overridable variable.
14220
14221         gnu-web-doc-update: don't ignore configure or build failure
14222         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
14223
14224         announce-gen: backslash-escape '@'s in --help output
14225         * build-aux/announce-gen: Fix syntax errors.
14226
14227         maint.mk, announce-gen: allow project-specific announcement mail headers
14228         * top/maint.mk (translation_project_): Define default.
14229         (announcement_Cc_, announcement_mail_headers_): Likewise.
14230         (announcement): Invoke announce-gen with new --mail-headers option.
14231         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
14232
14233         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
14234         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
14235         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
14236         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
14237         line in the "err2" output file when running "make check" in verbose
14238         mode (i.e., with set -x enabled).
14239
14240 2010-05-03  Bruno Haible  <bruno@clisp.org>
14241
14242         wctob: Fix for weird platforms.
14243         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
14244         argument value.
14245
14246 2010-05-03  Jim Meyering  <meyering@redhat.com>
14247
14248         maint.mk: prohibit unwarranted use of <strings.h>
14249         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
14250         strings.h in a file that does not also use strcasecmp, strncasecmp,
14251         ffs or ffsll.
14252
14253         maint.mk: remove obsolete comments
14254         * top/maint.mk: Remove stale, commented-out rules.
14255
14256 2010-05-02  Bruno Haible  <bruno@clisp.org>
14257
14258         wcwidth: Declare also when it's aliased.
14259         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
14260         macro.
14261
14262 2010-05-02  Bruno Haible  <bruno@clisp.org>
14263
14264         Fix regression from 2010-04-25.
14265         * gnulib-tool (func_modules_transitive_closure): Check the status of
14266         all modules, not only of the tests that are of the form foo-tests where
14267         foo is a module.
14268
14269 2010-05-02  Bruno Haible  <bruno@clisp.org>
14270
14271         wctob: Work around nasty Cygwin 1.7.2 bug.
14272         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
14273         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
14274
14275 2010-05-01  Bruno Haible  <bruno@clisp.org>
14276
14277         fpurge: Sharper test.
14278         * tests/test-fpurge.c (main): Add one more ftell check.
14279         * modules/fpurge-tests (Depends-on): Add ftell.
14280         Suggested by Eric Blake.
14281
14282 2010-05-01  Bruno Haible  <bruno@clisp.org>
14283
14284         ftello: Another test.
14285         * tests/test-ftello3.c: New file.
14286         * modules/ftello-tests (Files): Add it.
14287         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14288         MOSTLYCLEANFILES.
14289
14290         ftell: Another test.
14291         * tests/test-ftell3.c: New file.
14292         * modules/ftell-tests (Files): Add it.
14293         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14294         MOSTLYCLEANFILES.
14295
14296 2010-05-01  Bruno Haible  <bruno@clisp.org>
14297
14298         ftell, ftello: Work around Solaris bug.
14299         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
14300         * lib/ftello.c: Include stdio-impl.h.
14301         (ftello): On Solaris, when _IOWRT is set, compute the result without
14302         looking at _IOREAD.
14303         * modules/ftello (Files): Add lib/stdio-impl.h.
14304         * doc/posix-functions/ftell.texi: Mention Solaris bug.
14305         * doc/posix-functions/ftello.texi: Likewise.
14306         Reported by Eric Blake.
14307
14308 2010-05-01  Bruno Haible  <bruno@clisp.org>
14309
14310         freading: Adapt to special meaning of _IOREAD flag on Solaris.
14311         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
14312         the _IOWRT flag is also set.
14313
14314 2010-05-01  Bruno Haible  <bruno@clisp.org>
14315
14316         Fix doc about a HP-UX stdio bug.
14317         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
14318         * doc/posix-functions/ftello.texi: Likewise.
14319
14320 2010-05-01  Bruno Haible  <bruno@clisp.org>
14321
14322         lseek test: Fix failure on Solaris.
14323         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
14324         output.
14325
14326 2010-04-30  Jim Meyering  <meyering@redhat.com>
14327
14328         bootstrap: don't ignore failure to generate po*/Makevars
14329         * build-aux/bootstrap (with_gettext): Don't ignore failure
14330         to create po/Makevars or runtime-po/Makevars.
14331
14332 2010-04-29  Eric Blake  <eblake@redhat.com>
14333
14334         headers: relax license to LGPLv2+
14335         * modules/fcntl-h (License): Relax license.
14336         * modules/getopt-posix (License): Likewise.
14337         * modules/locale (License): Likewise.
14338         * modules/math (License): Likewise.
14339         * modules/pty (License): Likewise.
14340         * modules/sched (License): Likewise.
14341         * modules/search (License): Likewise.
14342         * modules/spawn (License): Likewise.
14343         * modules/stdarg (License): Likewise.
14344         * modules/sysexits (License): Likewise.
14345
14346 2010-04-29  Jim Meyering  <meyering@redhat.com>
14347
14348         inttypes: relax license to LGPLv2+
14349         * modules/inttypes (License): Relax license.
14350
14351 2010-04-29  Simon Josefsson  <simon@josefsson.org>
14352
14353         * top/maint.mk (indent): Run twice to produce idempotent results.
14354
14355 2010-04-28  Bruno Haible  <bruno@clisp.org>
14356
14357         getdate: Generate getdate.c in the source directory.
14358         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
14359         MOSTLYCLEANFILES.
14360         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
14361
14362 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
14363
14364         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
14365         is not declared as a const *; avoid warnings in that case.
14366
14367 2010-04-28  Eric Blake  <eblake@redhat.com>
14368
14369         canonicalize-lgpl: avoid compiler warning
14370         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
14371         declaration' / 'extraneous semicolon' warning with some compilers.
14372         Reported by Andreas Gruenbacher.
14373
14374 2010-04-28  Jim Meyering  <meyering@redhat.com>
14375
14376         init.sh: ensure a more reliable exit status when exiting via trap
14377         * tests/init.sh (setup_): Don't rely on $? in signal handler.
14378         Inspired by patches from Dmitry V. Levin.
14379         Also trap on signal 3 (SIGQUIT).
14380
14381 2010-04-27  Bruno Haible  <bruno@clisp.org>
14382
14383         Update doc about utimes().
14384         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
14385         'utimens' module.
14386         Reported by Andreas Gruenbacher <agruen@suse.de>.
14387
14388 2010-04-27  Eric Blake  <eblake@redhat.com>
14389
14390         full-read, full-write: relax license
14391         * modules/full-read (License): Drop to LGPLv2+.
14392         * modules/full-write (License): Likewise.
14393         * modules/safe-read (License): Likewise.
14394         * modules/safe-write (License): Likewise.
14395
14396         pthread: mention library for linking
14397         * modules/pthread (Link): Mention $(LIB_PTHREAD).
14398
14399 2010-04-27  Jim Meyering  <meyering@redhat.com>
14400
14401         maint.mk: fix a bug introduced in last change
14402         * top/maint.mk (gl_assured_headers_): Now that all names are on
14403         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
14404         is not anchored to end of word, it should be adequate.
14405
14406         maint.mk: avoid side-effect in latest syntax-check
14407         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
14408         to run commands via $(shell...), and hence to incur cost only when
14409         the new rule is actually run.
14410
14411         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
14412         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
14413         and use that to create a regexp used to detect all #if HAVE_..._H uses.
14414         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
14415         (gl_assured_headers_, az_, AZ_): Define.
14416         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
14417
14418 2010-04-26  Jim Meyering  <jim@meyering.net>
14419             Bruno Haible  <bruno@clisp.org>
14420
14421         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
14422         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
14423         Prompted by an exchange with Gilles Espinasse.
14424
14425 2010-04-26  Jim Meyering  <meyering@redhat.com>
14426
14427         git-version-gen: aesthetic tweak
14428         * build-aux/git-version-gen: Use "$nl" rather than a literal,
14429         so that the command remains on a single line.
14430
14431 2010-04-26  Eric Blake  <eblake@redhat.com>
14432
14433         git-version-gen: allow use on EBCDIC hosts
14434         * build-aux/git-version-gen (dirty): Use literal rather than tying
14435         ourselves to ascii.
14436         Reported by Steve Goetze.
14437
14438 2010-04-25  Bruno Haible  <bruno@clisp.org>
14439
14440         netdb: Add support for GNULIB_POSIXCHECK.
14441         * lib/netdb.in.h: Include warn-on-use.h.
14442         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
14443         functions are used when GNULIB_POSIXCHECK is defined and the
14444         getaddrinfo module is not in use.
14445         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
14446         freeaddrinfo, gai_strerror, getnameinfo are declared.
14447         * modules/netdb (Depends-on): Add warn-on-use.
14448         (Makefile.am): Include warn-on-use.h in netdb.h.
14449
14450 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
14451
14452         build: avoid "make check" failure without .git/ directory
14453         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
14454         there is no .git/ directory.
14455
14456 2010-04-25  Bruno Haible  <bruno@clisp.org>
14457
14458         ptsname: Fix misuse of ttyname_r.
14459         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
14460         of errno.
14461
14462 2010-04-25  Bruno Haible  <bruno@clisp.org>
14463
14464         ttyname_r: Make it work on Solaris 10.
14465         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
14466         if the system function has the POSIX declaration. Test whether the
14467         function fails if the buffer is less than 128 bytes large.
14468         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
14469         system's ttyname_r function. Provide a reasonably large buffer.
14470         * modules/ttyname_r (Depends-on): Add extensions.
14471         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
14472
14473 2010-04-25  Bruno Haible  <bruno@clisp.org>
14474
14475         Use the 'extensions' module for some more functions on Solaris.
14476         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
14477         module.
14478         * doc/posix-functions/ctime_r.texi: Likewise.
14479         * doc/posix-functions/getgrgid_r.texi: Likewise.
14480         * doc/posix-functions/getgrnam_r.texi: Likewise.
14481         * doc/posix-functions/getpwnam_r.texi: Likewise.
14482         * doc/posix-functions/getpwuid_r.texi: Likewise.
14483         * doc/posix-functions/readdir_r.texi: Likewise.
14484         * doc/posix-functions/sigwait.texi: Likewise.
14485         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
14486         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
14487
14488 2010-04-25  Bruno Haible  <bruno@clisp.org>
14489
14490         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
14491         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
14492         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
14493         * lib/ttyname_r.c: Include <limits.h>.
14494         (ttyname_r): Define using the system's ttyname_r function, if it exists
14495         and not on Solaris.
14496         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
14497         set.
14498         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
14499         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
14500         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
14501         Reported by Simon Josefsson.
14502
14503 2010-04-25  Bruno Haible  <bruno@clisp.org>
14504
14505         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
14506         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
14507         * doc/posix-functions/ctime_r.texi: Likewise.
14508         * doc/posix-functions/getgrgid_r.texi: Likewise.
14509         * doc/posix-functions/getgrnam_r.texi: Likewise.
14510         * doc/posix-functions/getlogin_r.texi: Likewise.
14511         * doc/posix-functions/getpwnam_r.texi: Likewise.
14512         * doc/posix-functions/getpwuid_r.texi: Likewise.
14513         * doc/posix-functions/readdir_r.texi: Likewise.
14514         * doc/posix-functions/sigwait.texi: Likewise.
14515         * doc/posix-functions/ttyname_r.texi: Likewise.
14516         Reported by Simon Josefsson.
14517
14518 2010-04-25  Bruno Haible  <bruno@clisp.org>
14519
14520         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
14521         * gnulib-tool (func_usage): Document that --with-*-tests options apply
14522         also to --create-testdir.
14523         (func_acceptable): Don't consider the status of *-tests modules here.
14524         (func_modules_transitive_closure): Consider it here, before including a
14525         test module.
14526         (func_import, func_create_testdir): Set inc_all_direct_tests,
14527         inc_all_indirect_tests.
14528         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
14529         --create-testdir and --create-megatestdir.
14530
14531 2010-04-25  Bruno Haible  <bruno@clisp.org>
14532
14533         gnulib-tool: Add --without-*-tests options.
14534         * gnulib-tool (func_usage): Document the --without-*-tests options.
14535         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
14536         excl_unportable_tests): New variables.
14537         Fail if they are specified with --import or --update.
14538         (func_acceptable): Respect the excl_*_tests variables.
14539         (func_import): Set the excl_*_tests variables to empty.
14540
14541 2010-04-25  Simon Josefsson  <simon@josefsson.org>
14542             Bruno Haible  <bruno@clisp.org>
14543
14544         Work around a MacOS X 10.4 bug with openpty.
14545         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
14546         * tests/test-openpty.c (main): Close the master side explicitly.
14547
14548 2010-04-25  Bruno Haible  <bruno@clisp.org>
14549
14550         strnlen: Fix a C++ test error on MacOS X and Solaris.
14551         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
14552         the function is not declared.
14553         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
14554         Simon Josefsson.
14555
14556 2010-04-24  Bruno Haible  <bruno@clisp.org>
14557
14558         Avoid a gcc warning.
14559         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
14560         of correct type for %08lx directive.
14561         Reported by Eric Blake.
14562
14563 2010-04-24  Bruno Haible  <bruno@clisp.org>
14564
14565         vasnprintf: Correct errno value in case of out-of-memory.
14566         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
14567         or sprintf. Use the errno value from SNPRINTF or sprintf.
14568         Reported by Ian Beckwith <ianb@erislabs.net>.
14569
14570 2010-04-24  Bruno Haible  <bruno@clisp.org>
14571
14572         ansi-c++-opt: Find correct compiler when cross-compiling.
14573         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
14574         AC_CHECK_PROGS.
14575         Reported by Simon Josefsson.
14576
14577 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
14578
14579         vc-list-files: Add support for subversion
14580         * build-aux/vc-list-files: Use "svn list" to generate the list of
14581         files controlled by subversion.
14582
14583 2010-04-23  Jim Meyering  <meyering@redhat.com>
14584
14585         vc-list-files tests: convert to use init.sh
14586         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
14587         path_prepend_.
14588         Use Exit, not exit.
14589         Use skip_ rather than open coding it.
14590         Remove trap set-up and compare definitions.
14591         * tests/test-vc-list-files-git.sh: Likewise.
14592         * modules/vc-list-files-tests (Files): Add tests/init.sh.
14593
14594 2010-04-22  Simon Josefsson  <simon@josefsson.org>
14595
14596         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
14597         backup files.
14598
14599 2010-04-21  Simon Josefsson  <simon@josefsson.org>
14600
14601         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
14602
14603 2010-04-20  Eric Blake  <eblake@redhat.com>
14604
14605         tests: be robust to ignored SIGPIPE
14606         * tests/test-select-in.sh: Consume all output.
14607         * tests/test-lseek.sh: Check correct exit status, while avoiding
14608         EPIPE.
14609
14610 2010-04-20  Simon Josefsson  <simon@josefsson.org>
14611             Bruno Haible  <bruno@clisp.org>
14612
14613         visibility: Don't use -fvisibility if it leads to a warning.
14614         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
14615         yes, don't pretend that visibility works if it leads to a warning.
14616         Reported by Mike Gran <spk121@yahoo.com>.
14617
14618 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
14619
14620         * build-aux/bootstrap: Use "git -h" for testing for supported options
14621         instead of "git --help".  The short-form option only shows a summary,
14622         and doesn't layout the full man page.  Grep for the full option name
14623         in the summary, too.
14624
14625 2010-04-19  Bruno Haible  <bruno@clisp.org>
14626
14627         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
14628         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
14629         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
14630         mention of RELOCATABLE_STRIP.
14631         Reported by Sylvain Beucler <beuc@beuc.net>.
14632
14633 2010-04-19  Bruno Haible  <bruno@clisp.org>
14634
14635         * lib/diffseq.h: Fix typo in comment.
14636         Reported by Eric Blake.
14637
14638 2010-04-19  Bruno Haible  <bruno@clisp.org>
14639
14640         ioctl: Move autoconf macro to a .m4 file.
14641         * m4/ioctl.m4: New file, extracted from modules/ioctl.
14642         * modules/ioctl (Files): Add it.
14643         (configure.ac): Simply invoke gl_FUNC_IOCTL.
14644         Reported by Ian Beckwith <ianb@erislabs.net>.
14645
14646 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
14647             Bruno Haible  <bruno@clisp.org>
14648
14649         diffseq: Accommodate use-case with abstract arrays.
14650         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
14651         is not defined.
14652         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
14653         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
14654
14655 2010-04-18  Bruno Haible  <bruno@clisp.org>
14656
14657         * doc/posix-headers/stdbool.texi: More precise wording.
14658
14659 2010-04-17  Jim Meyering  <meyering@redhat.com>
14660
14661         maint.mk: use gnu-style indentation in an embedded perl script
14662         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
14663         Rename variable: s/two/last_two_bytes/
14664
14665 2010-04-16  Eric Blake  <eblake@redhat.com>
14666
14667         test-stdbool: skip test that fails with Solaris CC
14668         * tests/test-stdbool.c (f): Skip test that causes compilation
14669         error under buggy C++ compiler.
14670         * lib/stdbool.in.h: Document the limitation.
14671         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
14672
14673         setenv: allow compilation with C++
14674         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
14675         register keyword.
14676
14677         stdint: allow test to pass with C++
14678         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
14679
14680         getopt: allow compilation with C++
14681         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
14682         struct.
14683         * lib/getopt.c (_getopt_internal_r): Use correct type.
14684         Reported by Dagobert Michelson, via Joel E. Denny.
14685
14686 2010-04-16  Bruno Haible  <bruno@clisp.org>
14687
14688         Override netdb.h always.
14689         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
14690         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
14691         Reported by Ludovic Courtès <ludo@gnu.org>.
14692
14693 2010-04-15  Bruno Haible  <bruno@clisp.org>
14694
14695         openpty: Fix mistake from 2010-03-21.
14696         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
14697         Reported by Simon Josefsson.
14698
14699 2010-04-15  Eric Blake  <eblake@redhat.com>
14700
14701         test-forkpty: fix expected signature
14702         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
14703         Reported by Simon Josefsson.
14704
14705 2010-04-15  Jim Meyering  <meyering@redhat.com>
14706
14707         maint.mk: texinfo_suffix_re_: correct the default regexp
14708         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
14709
14710         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
14711         make it configurable via texinfo_suffix_re_.
14712
14713 2010-04-14  Eric Blake  <eblake@redhat.com>
14714
14715         strtok_r: relax license to LGPLv2+
14716         * modules/strtok_r (License): Relax license.
14717         Reported by Matthias Bolte.
14718
14719 2010-04-14  Simon Josefsson  <simon@josefsson.org>
14720
14721         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
14722         version 1.4.4 by default instead of requiring the libgcrypt
14723         version used during build.  This makes it possible to use the
14724         application with older but still binary compatible libgcrypt
14725         versions.
14726
14727 2010-04-13  Eric Blake  <eblake@redhat.com>
14728
14729         getopt-gnu: match recent glibc fixes and posix ruling
14730         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
14731         '+' handling, when requesting extensions.
14732         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
14733         'W;' handling.
14734         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
14735         * doc/posix-functions/getopt.texi (getopt): Document this.
14736         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14737         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14738         Likewise.
14739
14740         getopt: merge bug fixes from glibc
14741         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
14742         diagnostics.  Honor '+:' correctly.  Reject ';'.
14743
14744         getopt-posix: detect MacOS bug
14745         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
14746         optind when missing a required argument.
14747         * doc/posix-functions/getopt.texi (getopt): Document the bug.
14748         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14749         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14750         Likewise.
14751
14752         getopt-posix: avoid spurious failure on Solaris
14753         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
14754         an indicator that setting optind=1 is sufficient for reset.
14755
14756         getopt-posix: avoid spurious failure on FreeBSD
14757         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
14758         in POSIX mode, since the m4 test uses it.
14759
14760         gnulib-tool: silence warning on BSD sh
14761         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
14762
14763 2010-04-13  Jim Meyering  <meyering@redhat.com>
14764
14765         doc: users.txt: GNU patch now uses gnulib
14766         * users.txt: Add patch.
14767
14768 2010-04-12  Jim Meyering  <meyering@redhat.com>
14769
14770         maint.mk: generate more concise timing data for syntax-check rules
14771         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
14772         " done" from each line that reports a syntax-check test duration.
14773
14774 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
14775
14776         git-version-gen: use "git update-index..." rather than "git status"
14777         * build-aux/git-version-gen: Use git update-index --refresh, not
14778         "git status".  With some versions of git, "git status" would fail
14779         to update the index and result in an unwarranted "-dirty" suffix.
14780
14781 2010-04-11  Jim Meyering  <meyering@redhat.com>
14782
14783         openat: correct formatting (no semantic change)
14784         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
14785         Suggested by Bruno Haible.
14786
14787 2010-04-11  Bruno Haible  <bruno@clisp.org>
14788
14789         Stricter declaration checking in testdirs.
14790         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14791         If for_tests is true, augment AM_CPPFLAGS to define
14792         GNULIB_STRICT_CHECKING.
14793         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
14794         GNULIB_STRICT_CHECKING is defined, verify that the function is
14795         declared.
14796
14797 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
14798             Bruno Haible  <bruno@clisp.org>
14799
14800         libunistring: Improve configure output.
14801         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
14802         Don't say "consider installing GNU libunistring" when checking again
14803         with libiconv.
14804
14805 2010-04-11  Bruno Haible  <bruno@clisp.org>
14806
14807         libunistring: Correct value of $LTLIBUNISTRING.
14808         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
14809         correct the value of $LTLIBUNISTRING.
14810
14811 2010-04-11  Bruno Haible  <bruno@clisp.org>
14812
14813         havelib: Add static libraries to LIBS in the right order.
14814         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
14815         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
14816
14817 2010-04-11  Bruno Haible  <bruno@clisp.org>
14818
14819         libunistring: Detect libunistring also when it depends on libiconv.
14820         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
14821         the second AC_LIB_HAVE_LINKFLAGS invocation.
14822
14823 2010-04-11  James Youngman  <jay@gnu.org>
14824
14825         close-stream: declare local scalars to be "const"
14826         * lib/close-stream.c (close_stream): Make boolean variables const
14827         to document the fact that we set but do not change them.
14828
14829 2010-04-11  Bruno Haible  <bruno@clisp.org>
14830
14831         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
14832
14833 2010-04-11  Jim Meyering  <meyering@redhat.com>
14834
14835         maint.mk: don't include dist-check.mk
14836         * top/maint.mk: Remove bogus include directive.
14837
14838         maint.mk: improve empty-line-at-EOF check
14839         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
14840         solution, rather than tail+Perl-based one.  The latter would read
14841         a few kilobytes from the end of each file, and did not handle empty
14842         files properly.
14843
14844         maint.mk: print the elapsed time for each syntax-check rule
14845         * top/maint.mk (sc_m_rules_): Save start time in a file.
14846         (sc_z_rules_): New rules: remove temp file and print elapsed time.
14847         (local-check): Interpose the .z rules
14848
14849 2010-04-11  Jim Meyering  <meyering@redhat.com>
14850
14851         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
14852         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
14853         empty file with one that ends in an empty line.
14854
14855 2010-04-10  Bruno Haible  <bruno@clisp.org>
14856
14857         mkdir: Make it work on mingw64.
14858         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
14859         * lib/mkdir.c: Update comment.
14860         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
14861
14862 2010-04-10  Bruno Haible  <bruno@clisp.org>
14863
14864         Don't override improved macro from newer autoconf.
14865         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
14866         autoconf >= 2.62.
14867         Reported by Joel E. Denny <jdenny@clemson.edu>.
14868
14869 2010-04-10  Jim Meyering  <meyering@redhat.com>
14870
14871         maint.mk: new syntax-check rule: prohibit empty lines at end of file
14872         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
14873
14874         maint.mk: correct a diagnostic
14875         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
14876         in diagnostic; now use $prohibit.
14877
14878 2010-04-10  Bruno Haible  <address@hidden>
14879
14880         fchownat: Fix a C++ test error on Solaris 8.
14881         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
14882         the function does not exist.
14883
14884 2010-04-10  Bruno Haible  <bruno@clisp.org>
14885
14886         vasnprintf: Add more tests.
14887         * tests/test-vasnprintf-posix.c: Include <errno.h>.
14888         (test_function): Test converting an invalid wide string.
14889
14890         vasnprintf: Correct handling of unconvertible wide string arguments.
14891         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
14892         VASNPRINTF.
14893         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
14894         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
14895         smaller than the expected maximum need for the directive. Set errno to
14896         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
14897         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
14898         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
14899         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
14900         * modules/vasnprintf (Files): Add m4/printf.m4.
14901         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14902
14903 2010-04-10  Bruno Haible  <bruno@clisp.org>
14904
14905         vasnprintf: Fix crash in %ls directive.
14906         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
14907         string is passed as argument to %ls, with no precision and no width.
14908         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14909
14910 2010-04-10  Bruno Haible  <bruno@clisp.org>
14911
14912         vasnprintf: Fix multiple test failures on mingw.
14913         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
14914         _snprintf, or snwprintf, not _snwprintf.
14915
14916 2010-04-10  Bruno Haible  <bruno@clisp.org>
14917
14918         write: Fix a C++ test error on mingw.
14919         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
14920
14921 2010-04-10  Bruno Haible  <bruno@clisp.org>
14922
14923         vasnprintf test: Reduce code duplication.
14924         * tests/test-vasnprintf.c (test_function): New function, extracted from
14925         test_vasnprintf.
14926         (test_vasnprintf, test_asnprintf): Invoke it.
14927
14928 2010-04-10  Bruno Haible  <bruno@clisp.org>
14929
14930         strnlen: Fix warning in C++ mode on MacOS X.
14931         * lib/string.in.h (strnlen): Use the modern idiom.
14932         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
14933         defining strnlen as a macro already in <config.h>.
14934         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14935         REPLACE_STRNLEN.
14936         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
14937         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14938
14939 2010-04-08  James Youngman  <jay@gnu.org>
14940
14941         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
14942         the example.
14943
14944 2010-04-09  Jim Meyering  <meyering@redhat.com>
14945
14946         maint.mk: print better diagnostic when there is no $(_hv_file)
14947         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
14948         announce that when $(_hv_file) (aka help-version) does not exist.
14949
14950         init.sh: run tr in the "C" locale to avoid multibyte interpretation
14951         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
14952         not try to interpret its random input bytes.  Jarno Rajahalme reported
14953         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
14954         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
14955         (mktempd_): Likewise, just in case.
14956
14957         ftruncate: add two years to projected module removal date: 2012
14958         * m4/ftruncate.m4: Adjust comments.
14959
14960         ftruncate: mark module as obsolete; even MinGW provides it, now
14961         * modules/ftruncate (Status): Obsolete.
14962         (Notice): Say that.
14963         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
14964         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
14965
14966 2010-04-08  Bruno Haible  <bruno@clisp.org>
14967
14968         Fix side effects from tests-related modules.
14969         * modules/dprintf-posix (Comment): New section.
14970         * modules/fprintf-posix (Comment): Likewise.
14971         * modules/obstack-printf-posix (Comment): Likewise.
14972         * modules/printf-posix (Comment): Likewise.
14973         * modules/snprintf-posix (Comment): Likewise.
14974         * modules/sprintf-posix (Comment): Likewise.
14975         * modules/vasnprintf-posix (Comment): Likewise.
14976         * modules/vasprintf-posix (Comment): Likewise.
14977         * modules/vdprintf-posix (Comment): Likewise.
14978         * modules/vfprintf-posix (Comment): Likewise.
14979         * modules/vprintf-posix (Comment): Likewise.
14980         * modules/vsnprintf-posix (Comment): Likewise.
14981         * modules/vsprintf-posix (Comment): Likewise.
14982         * modules/xprintf-posix (Comment): Likewise.
14983         * modules/xvasprintf-posix (Comment): Likewise.
14984         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
14985         * modules/floorf-tests (Depends-on): Likewise.
14986         * modules/round-tests (Depends-on): Likewise.
14987         * modules/roundf-tests (Depends-on): Likewise.
14988         * modules/trunc-tests (Depends-on): Likewise.
14989         * modules/truncf-tests (Depends-on): Likewise.
14990         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
14991         'fprintf-posix' module is not present.
14992         * tests/test-floorf2.c (check): Likewise.
14993         * tests/test-trunc2.c (check): Likewise.
14994         * tests/test-truncf2.c (check): Likewise.
14995         * tests/test-round2.c (equal): Likewise.
14996         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14997
14998 2010-04-07  Karl Berry  <karl@gnu.org>
14999
15000         * config/srclist.txt,
15001         * config/srclistvars.sh,
15002         * config/srclist-update: doc fixes.
15003
15004 2010-04-07  Jim Meyering  <meyering@redhat.com>
15005
15006         maint.mk: add a PATH crosschecking syntax-check rule
15007         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
15008         Useful if you use a test like the one in help-version (coreutils,
15009         diffutils, grep, gzip) that ensures $(VERSION) matches what is
15010         printed by prog --version.
15011
15012 2010-04-06  Bruno Haible  <bruno@clisp.org>
15013
15014         Fix link error on mingw.
15015         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
15016         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
15017
15018 2010-04-06  Bruno Haible  <bruno@clisp.org>
15019
15020         Assume rmdir exists.
15021         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
15022
15023 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
15024
15025         doc: update users.txt
15026         * users.txt: Add gcal.
15027
15028 2010-04-06  Jim Meyering  <meyering@redhat.com>
15029
15030         init.sh: simply unset TMPDIR rather than risking env -i
15031         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
15032         although it probably works fine on all Unix-based systems, some
15033         systems (Cygwin?) cannot tolerate a totally cleared environment.
15034         Suggestion from Eric Blake.
15035
15036 2010-04-06  Jim Meyering  <meyering@redhat.com>
15037
15038         init.sh: portability fix: use env's POSIX-specified -i option not -u
15039         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
15040         than unportable env -u.  Solaris 5.11's env lacks support for -u.
15041
15042 2010-04-05  Bruno Haible  <bruno@clisp.org>
15043
15044         btowc: Work around Cygwin 1.7.2 bug.
15045         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
15046         does not map NUL to 0.
15047         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
15048
15049 2010-04-05  Bruno Haible  <bruno@clisp.org>
15050
15051         Make the multithread modules work on Cygwin 1.7.2.
15052         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
15053         imported symbols can be declared weak, so that it returns "no" on
15054         Cygwin 1.7.2.
15055
15056 2010-04-05  Bruno Haible  <bruno@clisp.org>
15057
15058         Use the module 'strncat'.
15059         * modules/unistr/u8-strncat (Depends-on): Add strncat.
15060
15061         Tests for module 'strncat'.
15062         * modules/strncat-tests: New file.
15063         * tests/test-strncat.c: New file.
15064
15065         New module 'strncat'.
15066         * lib/string.in.h (strncat): New declaration.
15067         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
15068         * m4/strncat.m4: New file, based on m4/memchr.m4.
15069         * modules/strncat: New file.
15070         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
15071         is declared.
15072         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
15073         REPLACE_STRNCAT.
15074         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
15075         REPLACE_STRNCAT.
15076         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
15077         module.
15078         * tests/test-string-c++.cc: Check signature of strncat.
15079
15080 2010-04-05  Jim Meyering  <meyering@redhat.com>
15081
15082         xstrtoumax-tests: convert to use init.sh
15083         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
15084         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15085         Use Exit, not exit.
15086         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15087
15088         xstrtoimax-tests: convert to use init.sh
15089         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
15090         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15091         Use Exit, not exit.
15092         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15093
15094 2010-04-05  Bruno Haible  <bruno@clisp.org>
15095
15096         sys_socket: Avoid #define replacements in C++ mode.
15097         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
15098         warning to the function if possible, rather than #defining the symbol
15099         to a dysfunctional alias.
15100
15101 2010-04-05  Bruno Haible  <bruno@clisp.org>
15102
15103         fseeko: Fix C++ test error on mingw.
15104         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
15105         gl_FUNC_FSEEKO.
15106         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
15107         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
15108         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
15109         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
15110
15111 2010-04-05  Bruno Haible  <bruno@clisp.org>
15112
15113         duplocale: Improve test output.
15114         * tests/test-duplocale.c (main): Print reason for skipped test.
15115
15116 2010-04-05  Bruno Haible  <bruno@clisp.org>
15117
15118         Assume rmdir exists.
15119         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
15120         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
15121
15122 2010-04-05  Bruno Haible  <bruno@clisp.org>
15123
15124         Fix link error on Solaris 8 with cc.
15125         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
15126
15127 2010-04-05  Bruno Haible  <bruno@clisp.org>
15128
15129         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15130         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
15131
15132 2010-04-05  Bruno Haible  <bruno@clisp.org>
15133
15134         vasprintf: Update documentation.
15135         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
15136
15137 2010-04-05  Bruno Haible  <bruno@clisp.org>
15138
15139         ptsname: Improve test.
15140         * tests/test-ptsname.c (main): Also try the various master names of BSD
15141         systems.
15142
15143 2010-04-05  Bruno Haible  <bruno@clisp.org>
15144
15145         memchr: Avoid a possible C++ test error.
15146         * lib/string.in.h (memchr): Provide declaration if function is missing.
15147         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
15148         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
15149         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
15150         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
15151
15152 2010-04-05  Bruno Haible  <bruno@clisp.org>
15153
15154         strtok_r: Improve idiom.
15155         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
15156         AC_LIBOBJ is used.
15157
15158 2010-04-05  Bruno Haible  <bruno@clisp.org>
15159
15160         strdup: Improve idiom.
15161         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
15162         AC_LIBOBJ is used.
15163         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
15164         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
15165         when AC_LIBOBJ is used.
15166
15167 2010-04-05  Bruno Haible  <bruno@clisp.org>
15168
15169         mbsinit, mbrtowc, wcrtomb: Improve idioms.
15170         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
15171         don't set REPLACE_MBSINIT to 1.
15172         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
15173         don't set REPLACE_MBRTOWC to 1.
15174         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
15175         exist, don't set REPLACE_MBSRTOWCS to 1.
15176         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
15177         exist, don't set REPLACE_MBSNRTOWCS to 1.
15178         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
15179         don't set REPLACE_WCRTOMB to 1.
15180         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
15181         exist, don't set REPLACE_WCSRTOMBS to 1.
15182         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
15183         exist, don't set REPLACE_WCSNRTOMBS to 1.
15184
15185 2010-04-05  Bruno Haible  <bruno@clisp.org>
15186
15187         ldexpl: Improve idiom.
15188         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
15189         make sure to set HAVE_DECL_LDEXPL to 0.
15190
15191 2010-04-05  Jim Meyering  <meyering@redhat.com>
15192
15193         xstrtol-tests: convert to use init.sh
15194         * modules/xstrtol-tests (Files): Add tests/init.sh.
15195         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15196         Use Exit, not exit.
15197         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15198
15199         atexit-tests: convert to use init.sh
15200         * modules/atexit-tests (Files): Add tests/init.sh.
15201         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15202         Use Exit, not exit.
15203         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15204
15205         init.sh: fix typo
15206         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
15207
15208         init.sh: make it easier for a test script to write to the tty, ...
15209         when using automake's parallel-tests mode.
15210         * tests/init.sh (stderr_fileno_): Define overridable variable.
15211         (warn_): New function, to use it.
15212         (fail_, skip_, framework_failure_): Use warn_.
15213
15214 2010-04-04  Bruno Haible  <bruno@clisp.org>
15215
15216         btowc: Avoid warning.
15217         * lib/btowc.c: Include <stdlib.h>.
15218         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
15219
15220 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15221             Bruno Haible  <bruno@clisp.org>
15222
15223         wchar: Port to NetBSD 1.5.
15224         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
15225         * lib/wctype.in.h (WEOF): Likewise.
15226
15227 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15228             Bruno Haible  <bruno@clisp.org>
15229
15230         Port extended stdio to NetBSD 1.5.
15231         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
15232         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
15233         older.
15234
15235 2010-04-04  Bruno Haible  <bruno@clisp.org>
15236
15237         string: Remove unused substitution.
15238         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
15239         HAVE_DECL_STRERROR.
15240         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
15241
15242 2010-04-04  Bruno Haible  <bruno@clisp.org>
15243
15244         strtod: Avoid a possible C++ test error.
15245         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
15246         set REPLACE_STRTOD.
15247
15248 2010-04-04  Bruno Haible  <bruno@clisp.org>
15249
15250         strerror: Update documentation.
15251         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
15252
15253 2010-04-04  Bruno Haible  <bruno@clisp.org>
15254
15255         stdio: Fix some C++ test errors on Solaris 8 with GCC.
15256         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
15257         _GL_CXXALIAS_SYS_CAST.
15258
15259 2010-04-04  Bruno Haible  <bruno@clisp.org>
15260
15261         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15262         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
15263         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
15264         REPLACE_FREXPL to 1.
15265         * doc/posix-functions/frexpl.texi: Update documentation.
15266
15267 2010-04-04  Bruno Haible  <bruno@clisp.org>
15268
15269         math: Fix some C++ test errors on Solaris 8 and Cygwin.
15270         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
15271
15272 2010-04-04  Bruno Haible  <bruno@clisp.org>
15273
15274         Implement nanosleep for native Windows.
15275         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
15276
15277 2010-04-04  Bruno Haible  <bruno@clisp.org>
15278
15279         math: Fix some C++ test errors on Solaris 8.
15280         * lib/math.in.h (truncf, trunc): Use simpler idiom.
15281
15282 2010-04-04  Bruno Haible  <bruno@clisp.org>
15283
15284         math: Fix some C++ test errors on Cygwin.
15285         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
15286         truncl): Provide declaration if the system does not have it.
15287         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
15288         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
15289         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
15290         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
15291         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
15292         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
15293         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
15294         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
15295         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
15296         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
15297         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
15298         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
15299         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
15300         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
15301         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
15302         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
15303         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
15304         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15305         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15306         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
15307         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15308         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15309
15310 2010-04-04  Bruno Haible  <bruno@clisp.org>
15311
15312         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
15313         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15314         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15315         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
15316         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
15317         * m4/isinf.m4 (gl_ISINF): Likewise.
15318         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15319
15320 2010-04-04  Bruno Haible  <bruno@clisp.org>
15321
15322         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
15323         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15324
15325 2010-04-04  Bruno Haible  <bruno@clisp.org>
15326
15327         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
15328         * modules/tmpfile (configure.ac): Update.
15329
15330         tmpfile: Fix C++ test error on mingw.
15331         * lib/stdio.in.h (tmpfile): New declaration.
15332         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
15333         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
15334         * modules/tmpfile (Depends-on): Add stdio.
15335         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
15336         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
15337         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
15338         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
15339         REPLACE_TMPFILE.
15340         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
15341
15342 2010-04-04  Bruno Haible  <bruno@clisp.org>
15343
15344         ioctl: Fix C++ test error on mingw.
15345         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
15346         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
15347         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
15348
15349 2010-04-03  Bruno Haible  <bruno@clisp.org>
15350
15351         wcwidth: Fix C++ test error on mingw.
15352         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
15353         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
15354         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
15355
15356 2010-04-03  Bruno Haible  <bruno@clisp.org>
15357
15358         nanosleep: Fix C++ test error on mingw.
15359         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
15360         * lib/time.in.h (nanosleep): Use modern idiom.
15361         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
15362         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
15363         REPLACE_NANOSLEEP to 1.
15364         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
15365         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
15366
15367 2010-04-03  Bruno Haible  <bruno@clisp.org>
15368
15369         strptime: Fix C++ test error on mingw.
15370         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
15371         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
15372         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
15373         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
15374         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
15375         not REPLACE_STRPTIME.
15376         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
15377         REPLACE_STRPTIME.
15378
15379 2010-04-03  Bruno Haible  <bruno@clisp.org>
15380
15381         timegm: Fix C++ test error on mingw.
15382         * lib/time.in.h (timegm): Use modern idiom.
15383         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
15384         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
15385         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
15386         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
15387
15388 2010-04-03  Bruno Haible  <bruno@clisp.org>
15389
15390         timegm: Assume declaration if function exists.
15391         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
15392         if it exists. Don't clobber ac_cv_func_timegm.
15393
15394 2010-04-03  Bruno Haible  <bruno@clisp.org>
15395
15396         time_r: Fix C++ test error on mingw.
15397         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
15398         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
15399         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
15400         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
15401         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
15402
15403 2010-04-03  Bruno Haible  <bruno@clisp.org>
15404
15405         time_r: Minor updates.
15406         * modules/time_r (Description): Mention the provided functions.
15407         * lib/time_r.c: Don't include <string.h>.
15408         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
15409         * doc/posix-functions/localtime_r.texi: Likewise.
15410
15411 2010-04-03  Bruno Haible  <bruno@clisp.org>
15412
15413         time: Fix regression introduced on 2010-03-08.
15414         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
15415         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
15416
15417 2010-04-03  Jim Meyering  <meyering@redhat.com>
15418
15419         maint.mk: don't silently disable project-specific syntax-check rules
15420         * top/maint.mk (_prohibit_regexp): Define, to help people realize
15421         that they need to convert their project-specific syntax-check rules
15422         to use the new _sc_search_regexp.
15423
15424 2010-04-03  Bruno Haible  <bruno@clisp.org>
15425
15426         fchdir: Fix regression introduced on 2010-03-08.
15427         * lib/unistd.in.h (fchdir): Fix declaration.
15428         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
15429         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
15430         REPLACE_FCHDIR.
15431         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
15432         REPLACE_FCHDIR.
15433
15434 2010-04-03  Bruno Haible  <bruno@clisp.org>
15435
15436         getpagesize: Fix C++ test error on mingw.
15437         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
15438         system does not declare the function.
15439         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
15440         declared.
15441         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15442         HAVE_DECL_GETPAGESIZE.
15443         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
15444
15445 2010-04-03  Bruno Haible  <bruno@clisp.org>
15446
15447         stdio: Make C++ tests work on mingw.
15448         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
15449         does not declare the function.
15450
15451 2010-04-03  Bruno Haible  <bruno@clisp.org>
15452
15453         ftello: Fix C++ test error on mingw.
15454         * lib/stdio.in.h (ftello): Use modern idiom.
15455         * lib/ftello.c (ftello): Renamed from rpl_ftello.
15456         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
15457         is missing and that it needs to be replaced.
15458         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
15459         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
15460         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
15461
15462 2010-04-03  Bruno Haible  <bruno@clisp.org>
15463
15464         fseeko: Fix C++ test error on mingw.
15465         * lib/stdio.in.h (fseeko): Use modern idiom.
15466         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
15467         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
15468         is missing and that it needs to be replaced.
15469         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
15470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
15471         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
15472
15473 2010-04-03  Bruno Haible  <bruno@clisp.org>
15474
15475         mkstemp: Fix C++ test error on mingw.
15476         * lib/stdlib.in.h (mkstemp): Use modern idiom.
15477         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
15478         function is missing and that it needs to be replaced.
15479         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
15480         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
15481
15482 2010-04-03  Bruno Haible  <bruno@clisp.org>
15483
15484         stpncpy: Fix C++ test error on mingw.
15485         * lib/string.in.h (stpncpy): Use modern idiom.
15486         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
15487         function is missing and that it needs to be replaced.
15488         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15489         REPLACE_STPNCPY.
15490         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
15491
15492 2010-04-03  Bruno Haible  <bruno@clisp.org>
15493
15494         sys_stat: Fix C++ test error on mingw.
15495         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
15496         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
15497
15498 2010-04-03  Bruno Haible  <bruno@clisp.org>
15499
15500         pty: Update doc.
15501         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
15502
15503 2010-04-03  Bruno Haible  <bruno@clisp.org>
15504
15505         unistd: Fix C++ test error on mingw.
15506         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
15507
15508 2010-04-03  Bruno Haible  <bruno@clisp.org>
15509
15510         Update doc regarding mingw.
15511         * doc/glibc-functions/openpty.texi: Update regarding mingw.
15512         * doc/glibc-functions/login_tty.texi: Likewise.
15513         * doc/glibc-functions/forkpty.texi: Likewise.
15514
15515 2010-04-03  Bruno Haible  <bruno@clisp.org>
15516
15517         stdlib: Avoid compilation failure of c-strtold on mingw.
15518         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
15519
15520 2010-04-03  Bruno Haible  <bruno@clisp.org>
15521
15522         locale: Make C++ tests work on Cygwin and mingw.
15523         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
15524         cannot provide the function.
15525         Reported by Simon Josefsson.
15526
15527 2010-04-03  Bruno Haible  <bruno@clisp.org>
15528
15529         localename: Port to MacOS X 10.6.
15530         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
15531         memory layout of the locales in MacOS X 10.6 as well.
15532         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
15533
15534 2010-04-02  Bruno Haible  <bruno@clisp.org>
15535
15536         gnulib-tool: Ensure that long-running tests are executed last.
15537         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
15538         running tests after the one for the other tests.
15539
15540 2010-04-02  Bruno Haible  <bruno@clisp.org>
15541
15542         gnulib-tool: Ensure the tests in the main directory are executed first.
15543         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
15544         start with the current directory.
15545
15546 2010-04-02  Bruno Haible  <bruno@clisp.org>
15547
15548         Tests for module 'havelib', moved here from GNU gettext.
15549         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
15550         modifications.
15551         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
15552         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
15553         with modifications.
15554         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
15555         modifications.
15556         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
15557         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
15558         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
15559         with modifications.
15560         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
15561         with modifications.
15562         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
15563         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
15564         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
15565         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
15566         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
15567         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
15568         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
15569         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
15570         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
15571         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
15572         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
15573         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
15574         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
15575         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
15576         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
15577         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
15578         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
15579         with modifications.
15580         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
15581         with modifications.
15582         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
15583         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
15584         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
15585         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
15586         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
15587         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
15588         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
15589         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
15590         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
15591         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
15592         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
15593         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
15594         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
15595         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
15596         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
15597         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
15598         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
15599         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
15600         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
15601         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
15602         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
15603         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
15604         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
15605         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
15606         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
15607         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
15608         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
15609         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
15610         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
15611         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
15612         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
15613         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
15614         * tests/havelib/rpathx/rpathx.c: New file, from
15615         gettext/autoconf-lib-link.
15616         * tests/havelib/rpathx/Makefile.am: New file, from
15617         gettext/autoconf-lib-link.
15618         * tests/havelib/rpathx/configure.ac: New file, from
15619         gettext/autoconf-lib-link with modifications.
15620         * tests/havelib/rpathy/rpathy.c: New file, from
15621         gettext/autoconf-lib-link.
15622         * tests/havelib/rpathy/Makefile.am: New file, from
15623         gettext/autoconf-lib-link.
15624         * tests/havelib/rpathy/configure.ac: New file, from
15625         gettext/autoconf-lib-link with modifications.
15626         * tests/havelib/rpathz/rpathz.c: New file, from
15627         gettext/autoconf-lib-link.
15628         * tests/havelib/rpathz/Makefile.am: New file, from
15629         gettext/autoconf-lib-link.
15630         * tests/havelib/rpathz/configure.ac: New file, from
15631         gettext/autoconf-lib-link with modifications.
15632         * tests/havelib/rpathlx/usex.c: New file, from
15633         gettext/autoconf-lib-link.
15634         * tests/havelib/rpathlx/Makefile.am: New file, from
15635         gettext/autoconf-lib-link.
15636         * tests/havelib/rpathlx/configure.ac: New file, from
15637         gettext/autoconf-lib-link with modifications.
15638         * tests/havelib/rpathly/usey.c: New file, from
15639         gettext/autoconf-lib-link.
15640         * tests/havelib/rpathly/Makefile.am: New file, from
15641         gettext/autoconf-lib-link.
15642         * tests/havelib/rpathly/configure.ac: New file, from
15643         gettext/autoconf-lib-link with modifications.
15644         * tests/havelib/rpathlz/usez.c: New file, from
15645         gettext/autoconf-lib-link.
15646         * tests/havelib/rpathlz/Makefile.am: New file, from
15647         gettext/autoconf-lib-link.
15648         * tests/havelib/rpathlz/configure.ac: New file, from
15649         gettext/autoconf-lib-link with modifications.
15650         * tests/havelib/rpathlyx/usey.c: New file, from
15651         gettext/autoconf-lib-link.
15652         * tests/havelib/rpathlyx/Makefile.am: New file, from
15653         gettext/autoconf-lib-link.
15654         * tests/havelib/rpathlyx/configure.ac: New file, from
15655         gettext/autoconf-lib-link with modifications.
15656         * tests/havelib/rpathlzyx/usez.c: New file, from
15657         gettext/autoconf-lib-link.
15658         * tests/havelib/rpathlzyx/Makefile.am: New file, from
15659         gettext/autoconf-lib-link.
15660         * tests/havelib/rpathlzyx/configure.ac: New file, from
15661         gettext/autoconf-lib-link with modifications.
15662         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
15663         with modifications.
15664
15665 2010-04-02  Bruno Haible  <bruno@clisp.org>
15666
15667         gnulib-tool: Create distributed built sources also for the tests.
15668         * gnulib-tool (func_create_testdir): Also generate distributed built
15669         sources in the tests directory.
15670
15671 2010-04-02  Bruno Haible  <bruno@clisp.org>
15672
15673         gnulib-tool: Obey user's environment variables.
15674         * gnulib-tool (func_create_testdir): When creating built sources,
15675         respect the environment variables for autoconf, automake, etc. given by
15676         the user.
15677
15678 2010-04-02  Bruno Haible  <bruno@clisp.org>
15679
15680         gnulib-tool: Provide the value of --m4-base to modules.
15681         * gnulib-tool (func_import, func_create_testdir): Emit a definition
15682         of gl_m4_base.
15683
15684 2010-04-02  Eric Blake  <eblake@redhat.com>
15685
15686         maint.mk: fix some fallout
15687         * NEWS: Document the incompatible change, and its effect on cfg.mk.
15688         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
15689
15690 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15691
15692         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
15693         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
15694         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
15695         (sc_cast_of_x_alloc_return_value): Likewise.
15696         (sc_cast_of_alloca_return_value): Likewise.
15697         (sc_space_tab): Likewise.
15698         (sc_prohibit_atoi_atof): Likewise.
15699         (sc_prohibit_magic_number_exit): Likewise.
15700         (sc_error_exit_success): Likewise.
15701         (sc_file_system): Likewise.
15702         (sc_prohibit_have_config_h): Likewise.
15703         (sc_require_config_h): Likewise.
15704         (sc_prohibit_HAVE_MBRTOWC): Likewise.
15705         (sc_obsolete_symbols): Likewise.
15706         (sc_changelog): Likewise.
15707         (sc_program_name): Likewise.
15708         (sc_the_the): Likewise.
15709         (sc_trailing_blank): Likewise.
15710         (sc_two_space_separator_in_usage): Likewise.
15711         (sc_useless_cpp_parens): Likewise.
15712         (sc_GPL_version): Likewise.
15713         (sc_GFDL_version): Likewise.
15714         (sc_texinfo_acronym): Likewise.
15715         (sc_prohibit_cvs_keyword): Likewise.
15716         (sc_prohibit_stat_st_blocks): Likewise.
15717         (sc_prohibit_S_IS_definition): Likewise.
15718         (sc_redundant_const): Likewise.
15719         (sc_makefile_TAB_only_indentation): Likewise.
15720         (sc_m4_quote_check): Likewise.
15721         (sc_makefile_path_separator_check): Likewise.
15722         (sc_copyright_check): Likewise.
15723         (sc_Wundef_boolean): Likewise.
15724         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
15725
15726         maint.mk: match 0 or more whitespace-before-function-call '('
15727         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
15728         that have zero or two-and-more spaces between the function name
15729         and the open parenthesis.
15730         (sc_error_message_warn_fatal): Likewise.
15731         (sc_error_message_uppercase): Likewise.
15732         (sc_error_message_period): Likewise.
15733
15734 2010-03-31  Eric Blake  <eblake@redhat.com>
15735
15736         maint.mk: check for [ as well as test
15737         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
15738         Based on a libvirt report by Matthias Bolte.
15739
15740         gnumakefile: don't squelch _version output
15741         * top/GNUmakefile (_version): Create one-shot dependency rather
15742         than using $(shell) when version must be regenerated.
15743         (_autoreconf): Run verbosely, by default.
15744
15745         sys_time: avoid compiler warnings
15746         * lib/sys_time.in.h (includes): Ensure gcc pragma is
15747         unconditional, fixing regression from 2010-03-29.
15748         Reported by Simon Josefsson.
15749
15750 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15751
15752         maint.mk: s/_header_without_use/_sc_header_without_use/
15753         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
15754         (sc_prohibit_assert_without_use): Use the new name.
15755         (sc_prohibit_close_stream_without_use): Likewise.
15756         (sc_prohibit_getopt_without_use): Likewise.
15757         (sc_prohibit_quotearg_without_use): Likewise.
15758         (sc_prohibit_quote_without_use): Likewise.
15759         (sc_prohibit_long_options_without_use): Likewise.
15760         (sc_prohibit_inttostr_without_use): Likewise.
15761         (sc_prohibit_ignore_value_without_use): Likewise.
15762         (sc_prohibit_error_without_use): Likewise.
15763         (sc_prohibit_xalloc_without_use): Likewise.
15764         (sc_prohibit_hash_without_use): Likewise.
15765         (sc_prohibit_hash_pjw_without_use): Likewise.
15766         (sc_prohibit_safe_read_without_use): Likewise.
15767         (sc_prohibit_argmatch_without_use): Likewise.
15768         (sc_prohibit_canonicalize_without_use): Likewise.
15769         (sc_prohibit_root_dev_ino_without_use): Likewise.
15770         (sc_prohibit_openat_without_use): Likewise.
15771         (sc_prohibit_c_ctype_without_use): Likewise.
15772         (sc_prohibit_signal_without_use): Likewise.
15773         (sc_prohibit_intprops_without_use): Likewise.
15774
15775 2010-03-30  Eric Blake  <eblake@redhat.com>
15776
15777         maint: improve module indicators
15778         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
15779         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
15780         columns, and avoid extra macro expansion.
15781
15782         fdopendir: work around FreeBSD bug
15783         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
15784         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
15785         * modules/dirent (Makefile.am): Substitute it.
15786         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
15787         declaration.
15788         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
15789         fix.
15790         Reported by Christian Weisgerber <naddy@mips.inka.de>.
15791
15792 2010-03-29  Bruno Haible  <bruno@clisp.org>
15793
15794         Emit #pragma system_header after the inclusion guard, not before.
15795         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
15796         guard that spans the entire file, not before. This enables an
15797         optimization in GCC's preprocessor.
15798         * lib/ctype.in.h: Likewise.
15799         * lib/dirent.in.h: Likewise.
15800         * lib/errno.in.h: Likewise.
15801         * lib/float.in.h: Likewise.
15802         * lib/getopt.in.h: Likewise.
15803         * lib/iconv.in.h: Likewise.
15804         * lib/langinfo.in.h: Likewise.
15805         * lib/locale.in.h: Likewise.
15806         * lib/math.in.h: Likewise.
15807         * lib/netdb.in.h: Likewise.
15808         * lib/netinet_in.in.h: Likewise.
15809         * lib/pty.in.h: Likewise.
15810         * lib/sched.in.h: Likewise.
15811         * lib/se-selinux.in.h: Likewise.
15812         * lib/search.in.h: Likewise.
15813         * lib/spawn.in.h: Likewise.
15814         * lib/stdarg.in.h: Likewise.
15815         * lib/stdint.in.h: Likewise.
15816         * lib/string.in.h: Likewise.
15817         * lib/strings.in.h: Likewise.
15818         * lib/sys_file.in.h: Likewise.
15819         * lib/sys_ioctl.in.h: Likewise.
15820         * lib/sys_time.in.h: Likewise.
15821         * lib/sys_times.in.h: Likewise.
15822         * lib/sys_utsname.in.h: Likewise.
15823         * lib/sys_wait.in.h: Likewise.
15824         * lib/sysexits.in.h: Likewise.
15825         * lib/wctype.in.h: Likewise.
15826
15827 2010-03-28  James Youngman  <jay@gnu.org>
15828
15829         save-cwd: don't leak a file descriptor when the caller execs.
15830         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
15831         saved file descriptor.
15832         * modules/save-cwd (Depends-on): Depend on cloexec.
15833
15834 2010-03-29  Bruno Haible  <bruno@clisp.org>
15835
15836         Remove vestiges of fts-lgpl module.
15837         * lib/fts_.h: Assume GNULIB_FTS is 1.
15838         * lib/fts.c: Likewise.
15839         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
15840
15841 2010-03-28  Bruno Haible  <bruno@clisp.org>
15842
15843         Fix definition of tests witness macro.
15844         * gnulib-tool (func_import): Fix definition of witness macro.
15845
15846 2010-03-28  Bruno Haible  <bruno@clisp.org>
15847
15848         Fix ioctl's protoype on glibc systems.
15849         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
15850         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
15851         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
15852         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
15853         signature. If not, arrange to replace the ioctl function.
15854         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
15855         REPLACE_IOCTL.
15856         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
15857         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
15858         Reported by Ludovic Courtès <ludo@gnu.org>.
15859
15860 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
15861
15862         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
15863         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
15864         made it so grep -r --include=GLOB* ... did not work.
15865
15866 2010-03-26  Jim Meyering  <meyering@redhat.com>
15867             Eric Blake  <eblake@redhat.com>
15868
15869         maint.mk: prohibit use of test's -o and -a operators
15870         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
15871
15872 2010-03-28  Bruno Haible  <bruno@clisp.org>
15873
15874         Remove unused GNULIB_XYZ macro definitions.
15875         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
15876         invocation.
15877
15878 2010-03-28  Bruno Haible  <bruno@clisp.org>
15879
15880         Mark privileged tests modules.
15881         * modules/idpriv-drop-tests (Status): New section.
15882         * modules/idpriv-droptemp-tests (Status): New section.
15883
15884 2010-03-28  Bruno Haible  <bruno@clisp.org>
15885
15886         Split C++ tests into separate tests modules.
15887         * modules/dirent-c++-tests: New file, extracted from
15888         modules/dirent-tests.
15889         * modules/dirent-tests: Depend on it.
15890         * modules/fcntl-h-c++-tests: New file, extracted from
15891         modules/fcntl-h-tests.
15892         * modules/fcntl-h-tests: Depend on it.
15893         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
15894         * modules/glob-tests: Depend on it.
15895         * modules/iconv-h-c++-tests: New file, extracted from
15896         modules/iconv-h-tests.
15897         * modules/iconv-h-tests: Depend on it.
15898         * modules/langinfo-c++-tests: New file, extracted from
15899         modules/langinfo-tests.
15900         * modules/langinfo-tests: Depend on it.
15901         * modules/locale-c++-tests: New file, extracted from
15902         modules/locale-tests.
15903         * modules/locale-tests: Depend on it.
15904         * modules/math-c++-tests: New file, extracted from modules/math-tests.
15905         * modules/math-tests: Depend on it.
15906         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
15907         * modules/pty-tests: Depend on it.
15908         * modules/search-c++-tests: New file, extracted from
15909         modules/search-tests.
15910         * modules/search-tests: Depend on it.
15911         * modules/signal-c++-tests: New file, extracted from
15912         modules/signal-tests.
15913         * modules/signal-tests: Depend on it.
15914         * modules/spawn-c++-tests: New file, extracted from
15915         modules/spawn-tests.
15916         * modules/spawn-tests: Depend on it.
15917         * modules/stdio-c++-tests: New file, extracted from
15918         modules/stdio-tests.
15919         * modules/stdio-tests: Depend on it.
15920         * modules/stdlib-c++-tests: New file, extracted from
15921         modules/stdlib-tests.
15922         * modules/stdlib-tests: Depend on it.
15923         * modules/string-c++-tests: New file, extracted from
15924         modules/string-tests.
15925         * modules/string-tests: Depend on it.
15926         * modules/sys_ioctl-c++-tests: New file, extracted from
15927         modules/sys_ioctl-tests.
15928         * modules/sys_ioctl-tests: Depend on it.
15929         * modules/sys_select-c++-tests: New file, extracted from
15930         modules/sys_select-tests.
15931         * modules/sys_select-tests: Depend on it.
15932         * modules/sys_socket-c++-tests: New file, extracted from
15933         modules/sys_socket-tests.
15934         * modules/sys_socket-tests: Depend on it.
15935         * modules/sys_stat-c++-tests: New file, extracted from
15936         modules/sys_stat-tests.
15937         * modules/sys_stat-tests: Depend on it.
15938         * modules/sys_time-c++-tests: New file, extracted from
15939         modules/sys_time-tests.
15940         * modules/sys_time-tests: Depend on it.
15941         * modules/time-c++-tests: New file, extracted from modules/time-tests.
15942         * modules/time-tests: Depend on it.
15943         * modules/unistd-c++-tests: New file, extracted from
15944         modules/unistd-tests.
15945         * modules/unistd-tests: Depend on it.
15946         * modules/wchar-c++-tests: New file, extracted from
15947         modules/wchar-tests.
15948         * modules/wchar-tests: Depend on it.
15949         * modules/wctype-c++-tests: New file, extracted from
15950         modules/wctype-tests.
15951         * modules/wctype-tests: Depend on it.
15952         Reported by Simon Josefsson.
15953
15954 2010-03-28  Bruno Haible  <bruno@clisp.org>
15955
15956         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
15957         * gnulib-tool (func_exists_module): New function, extracted from
15958         func_verify_module.
15959         (func_verify_module): Use it.
15960         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
15961         'foo' only if 'foo' exists.
15962         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
15963         module.
15964
15965 2010-03-28  Bruno Haible  <bruno@clisp.org>
15966
15967         gnulib-tool: Add support for special categories of tests.
15968         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
15969         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
15970         (func_usage): Document them.
15971         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
15972         inc_unportable_tests, inc_all_tests): New variables.
15973         (func_acceptable): Consider these variables.
15974         (func_modules_transitive_closure): Make it work when the 'Status' field
15975         consists of multiple words.
15976         (func_import): Store and restore the values of inc_cxx_tests,
15977         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
15978         inc_all_tests in gnulib-comp.m4.
15979         (func_create_testdir): Set inc_all_tests to true.
15980         * doc/gnulib.texi (Extra tests modules): New section.
15981         Suggested by Jim Meyering.
15982
15983 2010-03-28  Bruno Haible  <bruno@clisp.org>
15984
15985         ansi-c++-opt: Allow turning off the C++ build by default.
15986         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
15987         gl_CXX_CHOICE_DEFAULT_NO is defined.
15988         Requested by Eric Blake.
15989
15990 2010-03-28  Bruno Haible  <bruno@clisp.org>
15991
15992         unistd: Avoid #define replacements in C++ mode.
15993         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15994         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15995         setsockopt, shutdown, select): In C++, attach a warning to the function
15996         if possible, rather than #defining the symbol to a dysfunctional alias.
15997         Reported by John W. Eaton <jwe@gnu.org>.
15998
15999 2010-03-28  Bruno Haible  <bruno@clisp.org>
16000
16001         Fix link errors on mingw.
16002         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
16003         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
16004         $(LIBSOCKET).
16005         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
16006         $(LIBSOCKET).
16007
16008 2010-03-28  Bruno Haible  <bruno@clisp.org>
16009             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16010
16011         lib-ignore: Determine different options for different compilers.
16012         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
16013         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
16014         Add comments.
16015         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
16016         * NEWS: Mention the change.
16017
16018 2010-03-27  Bruno Haible  <bruno@clisp.org>
16019
16020         Remove unused GNULIB_XYZ macro definitions.
16021         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
16022         * modules/fseek (configure.ac): Likewise.
16023         * modules/ioctl (configure.ac): Likewise.
16024         * modules/open (configure.ac): Likewise.
16025         * modules/stdlib-safer (configure.ac): Likewise.
16026
16027 2010-03-27  Bruno Haible  <bruno@clisp.org>
16028
16029         Add a remark about certain modules.
16030         * modules/malloc (Comment): New section.
16031         * modules/realloc (Comment): Likewise.
16032         * modules/sigpipe (Comment): Likewise.
16033
16034 2010-03-27  Bruno Haible  <bruno@clisp.org>
16035
16036         Resolve conflict between the two kinds of module indicators.
16037         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
16038         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
16039         * modules/canonicalize (configure.ac): Invoke
16040         gl_MODULE_INDICATOR_FOR_TESTS.
16041         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
16042         GNULIB_XYZ.
16043         * tests/test-dirent-c++.cc: Likewise.
16044         * tests/test-dirent-safer.c: Likewise.
16045         * tests/test-dup2.c: Likewise.
16046         * tests/test-fchdir.c: Likewise.
16047         * tests/test-fcntl-h-c++.cc: Likewise.
16048         * tests/test-getopt.c: Likewise.
16049         * tests/test-getopt.h: Likewise.
16050         * tests/test-langinfo-c++.cc: Likewise.
16051         * tests/test-locale-c++.cc: Likewise.
16052         * tests/test-math-c++.cc: Likewise.
16053         * tests/test-pty-c++.cc: Likewise.
16054         * tests/test-search-c++.cc: Likewise.
16055         * tests/test-signal-c++.cc: Likewise.
16056         * tests/test-spawn-c++.cc: Likewise.
16057         * tests/test-stdio-c++.cc: Likewise.
16058         * tests/test-stdlib-c++.cc: Likewise.
16059         * tests/test-string-c++.cc: Likewise.
16060         * tests/test-sys_ioctl-c++.cc: Likewise.
16061         * tests/test-sys_select-c++.cc: Likewise.
16062         * tests/test-sys_socket-c++.cc: Likewise.
16063         * tests/test-sys_stat-c++.cc: Likewise.
16064         * tests/test-sys_time-c++.cc: Likewise.
16065         * tests/test-time-c++.cc: Likewise.
16066         * tests/test-unistd-c++.cc: Likewise.
16067         * tests/test-wchar-c++.cc: Likewise.
16068         * tests/uninorm/test-u8-nfc.c: Likewise.
16069         * tests/uninorm/test-u8-nfd.c: Likewise.
16070         * tests/uninorm/test-u8-nfkc.c: Likewise.
16071         * tests/uninorm/test-u8-nfkd.c: Likewise.
16072         * tests/uninorm/test-u16-nfc.c: Likewise.
16073         * tests/uninorm/test-u16-nfd.c: Likewise.
16074         * tests/uninorm/test-u16-nfkc.c: Likewise.
16075         * tests/uninorm/test-u16-nfkd.c: Likewise.
16076         * tests/uninorm/test-u32-nfc.c: Likewise.
16077         * tests/uninorm/test-u32-nfc-big.c: Likewise.
16078         * tests/uninorm/test-u32-nfd.c: Likewise.
16079         * tests/uninorm/test-u32-nfd-big.c: Likewise.
16080         * tests/uninorm/test-u32-nfkc.c: Likewise.
16081         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
16082         * tests/uninorm/test-u32-nfkd.c: Likewise.
16083         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
16084         * tests/uninorm/test-u32-normalize-big.c: Likewise.
16085
16086 2010-03-27  Bruno Haible  <bruno@clisp.org>
16087
16088         Distinguish two kinds of module indicators.
16089         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
16090         gl_MODULE_INDICATOR.
16091         (gl_MODULE_INDICATOR): New macro.
16092         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
16093         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
16094         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16095         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16096         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16097         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16098         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16099         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16100         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16101         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16102         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16103         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16104         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16105         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16106         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16107         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16108         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16109         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16110         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16111         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16112         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16113         * modules/cloexec (configure.ac): Likewise.
16114         * modules/getopt-gnu (configure.ac): Likewise.
16115         * modules/uninorm/u8-normalize (configure.ac): Likewise.
16116         * modules/uninorm/u16-normalize (configure.ac): Likewise.
16117         * modules/uninorm/u32-normalize (configure.ac): Likewise.
16118         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
16119
16120 2010-03-27  Bruno Haible  <bruno@clisp.org>
16121
16122         New module description field 'Comment'.
16123         * gnulib-tool: New option --extract-comment.
16124         (func_usage): Document it.
16125         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
16126         (func_get_comment): New function.
16127         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
16128
16129 2010-03-27  Bruno Haible  <bruno@clisp.org>
16130
16131         Addendum to 2010-02-07 commit.
16132         * gnulib-tool (func_usage): Document --extract-applicability option.
16133
16134 2010-03-27  Bruno Haible  <bruno@clisp.org>
16135
16136         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
16137         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
16138         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
16139         rather than link errors.
16140
16141 2010-03-27  Bruno Haible  <bruno@clisp.org>
16142
16143         Avoid side effects from tests-related modules on the compilation of lib.
16144         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
16145         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
16146         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
16147         parameter. Emit into AM_CPPFLAGS a definition of the designated C
16148         macro.
16149         (func_import): Define a witness macro. Assign it a value that depends
16150         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
16151         tests-related modules.
16152         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
16153         Reported by Jim Meyering.
16154
16155 2010-03-27  Bruno Haible  <bruno@clisp.org>
16156
16157         Factorize common .m4 code.
16158         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
16159         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
16160         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
16161         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
16162         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16163         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
16164         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
16165         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16166         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16167         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16168         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
16169         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16170         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16171         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16172         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16173         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
16174         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16175         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16176         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16177         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
16178         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
16179         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16180         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16181         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16182         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16183         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16184         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
16185         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
16186         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
16187         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16188         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16189         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16190
16191 2010-03-27  Bruno Haible  <bruno@clisp.org>
16192
16193         Fix a compilation error on Cygwin with g++ >= 4.3.
16194         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
16195         if it is undefined or if we alias it to chmod.
16196         (lstat): Don't warn about the use of this function if it is undefined
16197         or if we alias it to stat.
16198         Reported by Simon Josefsson.
16199
16200 2010-03-27  Bruno Haible  <bruno@clisp.org>
16201
16202         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
16203         * modules/getlogin (configure.ac): Update.
16204
16205         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
16206         * modules/getlogin_r (configure.ac): Update.
16207
16208         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
16209         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
16210         * modules/inet_ntop (configure.ac): Update.
16211
16212         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
16213         * modules/inet_pton (configure.ac): Update.
16214
16215         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
16216         * modules/mbslen (configure.ac): Update.
16217
16218         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
16219         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
16220         * modules/forkpty (configure.ac): Update.
16221         * modules/openpty (configure.ac): Update.
16222
16223 2010-03-26  Simon Josefsson  <simon@josefsson.org>
16224
16225         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
16226         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
16227
16228 2010-03-25  Eric Blake  <eblake@redhat.com>
16229
16230         maint: use pragma consistently across replacement headers
16231         * lib/ctype.in.h (system_header): Hoist for consistent placement.
16232         * lib/dirent.in.h (system_header): Likewise.
16233         * lib/errno.in.h (system_header): Likewise.
16234         * lib/float.in.h (system_header): Likewise.
16235         * lib/getopt.in.h (system_header): Likewise.
16236         * lib/iconv.in.h (system_header): Likewise.
16237         * lib/inttypes.in.h (system_header): Likewise.
16238         * lib/langinfo.in.h (system_header): Likewise.
16239         * lib/locale.in.h (system_header): Likewise.
16240         * lib/math.in.h (system_header): Likewise.
16241         * lib/netdb.in.h (system_header): Likewise.
16242         * lib/netinet_in.in.h (system_header): Likewise.
16243         * lib/pty.in.h (system_header): Likewise.
16244         * lib/sched.in.h (system_header): Likewise.
16245         * lib/se-selinux.in.h (system_header): Likewise.
16246         * lib/search.in.h (system_header): Likewise.
16247         * lib/spawn.in.h (system_header): Likewise.
16248         * lib/stdarg.in.h (system_header): Likewise.
16249         * lib/stdint.in.h (system_header): Likewise.
16250         * lib/string.in.h (system_header): Likewise.
16251         * lib/strings.in.h (system_header): Likewise.
16252         * lib/sys_file.in.h (system_header): Likewise.
16253         * lib/sys_ioctl.in.h (system_header): Likewise.
16254         * lib/sys_socket.in.h (system_header): Likewise.
16255         * lib/sys_times.in.h (system_header): Likewise.
16256         * lib/sys_utsname.in.h (system_header): Likewise.
16257         * lib/sys_wait.in.h (system_header): Likewise.
16258         * lib/sysexits.in.h (system_header): Likewise.
16259         * lib/unistd.in.h (system_header): Likewise.
16260         * lib/wctype.in.h (system_header): Likewise.
16261
16262         arpa/inet: fix mingw compilation warning
16263         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
16264         Reported by Matthew Bolte.
16265
16266 2010-03-25  Bruno Haible  <bruno@clisp.org>
16267
16268         Avoid collision between gnulib wrapper and libintl wrapper.
16269         * lib/printf.c (printf): Don't define if a printf wrapper is already
16270         defined in intl/printf.c.
16271         Reported by Michel Boaventura <michel@michelboaventura.com>.
16272
16273 2010-03-25  Bruno Haible  <bruno@clisp.org>
16274
16275         Use ANSI C.
16276         * lib/readutmp.h (getutent): Provide ANSI C prototype.
16277
16278 2010-03-25  Bruno Haible  <bruno@clisp.org>
16279
16280         Minor formatting changes.
16281         * lib/acosl.c: Insert space before function argument list.
16282         * lib/argz.c: Likewise.
16283         * lib/asinl.c: Likewise.
16284         * lib/expl.c: Likewise.
16285         * lib/gen-uni-tables.c: Likewise.
16286         * lib/gettext.h: Likewise.
16287         * lib/glthread/lock.h: Likewise.
16288         * lib/tanl.c: Likewise.
16289         * lib/uniname/uniname.c: Likewise.
16290         * tests/test-idpriv-drop.c: Likewise.
16291         * tests/test-idpriv-droptemp.c: Likewise.
16292         * tests/test-lock.c: Likewise.
16293         * tests/test-tls.c: Likewise.
16294         * lib/argp-help.c: Insert space before function-like macro argument
16295         list.
16296         * lib/memcmp.c: Likewise.
16297         * tests/test-base64.c: Likewise.
16298         * lib/localename.c: Insert space before sizeof's argument list.
16299         * lib/safe-alloc.h: Likewise.
16300         * lib/file-set.h: Insert space before macro argument list.
16301         * tests/test-argp.c: Likewise.
16302         * lib/argp-namefrob.h: Insert space before function parameter list.
16303         * lib/getaddrinfo.c: Likewise.
16304         * lib/netdb.in.h: Likewise.
16305         * lib/parse-duration.h: Likewise.
16306         * lib/parse-duration.c: Likewise.
16307         * lib/poll.c: Likewise.
16308         * lib/select.c: Likewise.
16309         * lib/trim.h: Likewise.
16310         * tests/test-usleep.c: Likewise.
16311         * lib/ldexpl.c: Insert space before function parameter list and before
16312         function argument list.
16313         * lib/logl.c: Likewise.
16314         * lib/sqrtl.c: Likewise.
16315         * lib/trim.c: Likewise.
16316         * lib/cosl.c: Use GNU style indentation. Insert space before function
16317         argument list.
16318         * lib/sinl.c: Likewise.
16319         * lib/tsearch.c: Insert space after 'for'.
16320         Reported by Jim Meyering.
16321
16322 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
16323
16324         * maint.mk (sc_Wundef_boolean): Check for the presence of the
16325         config header before grepping, as it's not present before
16326         autoreconf/configure are run.  Reported by Simon Josefsson.
16327
16328 2010-03-23  Bruno Haible  <bruno@clisp.org>
16329
16330         pt_chown: Make it work with automake < 1.11.
16331         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
16332         Reported by Simon Josefsson.
16333
16334 2010-03-23  Bruno Haible  <bruno@clisp.org>
16335
16336         pt_chown: Don't depend on GPLed modules.
16337         * lib/pt_chown.c: Don't include idpriv.h.
16338         (main): Don't drop privileges.
16339         * modules/pt_chown (Depends-on): Remove idpriv-drop.
16340         Reported by Simon Josefsson.
16341
16342 2010-03-24  Simon Josefsson  <simon@josefsson.org>
16343
16344         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
16345         suggestions from karl@freefriends.org (Karl Berry).
16346
16347 2010-03-22  Eric Blake  <eblake@redhat.com>
16348
16349         gethostname: further tweaks
16350         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
16351         are overriding gethostname.
16352         Suggested by Bruno Haible.
16353
16354 2010-03-21  Bruno Haible  <bruno@clisp.org>
16355
16356         Fix comments.
16357         * lib/forkpty.c (rpl_forkpty): Fix comment.
16358         * lib/openpty.c (rpl_openpty): Likewise.
16359         Reported by Eric Blake.
16360
16361 2010-03-22  Eric Blake  <eblake@redhat.com>
16362
16363         gethostname: fix build on mingw
16364         * lib/unistd.in.h (includes): Work around fact that mingw
16365         <winsock2.h> re-includes <unistd.h>, by avoiding any
16366         redeclarations if we are being included by <winsock2.h>.
16367         Reported by Matthias Bolte.
16368
16369 2010-03-21  Bruno Haible  <bruno@clisp.org>
16370
16371         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16372         * lib/forkpty.c (forkpty): New replacement function, from glibc with
16373         modifications.
16374         * lib/pty.in.h (forkpty): Update declaration. Add comments.
16375         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
16376         provide the replacement.
16377         * modules/forkpty (Depends-on): Add openpty, login_tty.
16378         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
16379         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
16380         * doc/glibc-functions/forkpty.texi: More supported platforms.
16381         * config/srclist.txt: Add forkpty.c (commented).
16382
16383 2010-03-21  Bruno Haible  <bruno@clisp.org>
16384
16385         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
16386         (Makefile.am): Verify that PTY_LIB is defined.
16387
16388         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
16389
16390 2010-03-21  Bruno Haible  <bruno@clisp.org>
16391
16392         Tests for module 'login_tty'.
16393         * modules/login_tty-tests: New file.
16394         * tests/test-login_tty.c: New file.
16395
16396         New module 'login_tty'.
16397         * lib/login_tty.c: New file.
16398         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
16399         * modules/login_tty: New file.
16400         * doc/glibc-functions/login_tty.texi: Mention the new module.
16401
16402 2010-03-21  Bruno Haible  <bruno@clisp.org>
16403
16404         login_tty: Documentation.
16405         * doc/glibc-functions/login_tty.texi: New file.
16406         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
16407
16408 2010-03-21  Bruno Haible  <bruno@clisp.org>
16409
16410         pty: Consistent macro naming.
16411         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
16412         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
16413         * modules/pty (configure.ac): Update.
16414
16415 2010-03-21  Bruno Haible  <bruno@clisp.org>
16416
16417         Tests for openpty: Make stricter.
16418         * tests/test-openpty.c (main): Add test of canonical processing and
16419         erase.
16420         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
16421
16422         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16423         * lib/openpty.c (openpty): New replacement function.
16424         * lib/pty.in.h: Include <termios.h>.
16425         (openpty): Update declaration. Add comments.
16426         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
16427         is not declared, arrange to provide the replacement. Check for _getpty
16428         and posix_openpt.
16429         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
16430         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
16431         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
16432         * modules/pty-tests (test_pty_c___LDADD): New variable.
16433         * doc/glibc-functions/openpty.texi: More supported platforms.
16434
16435 2010-03-21  Bruno Haible  <bruno@clisp.org>
16436
16437         setenv: Tweaks.
16438         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
16439         the test program.
16440         * doc/posix-functions/setenv.texi: Update platforms list.
16441
16442 2010-03-21  Bruno Haible  <bruno@clisp.org>
16443
16444         New module 'unlockpt'.
16445         * lib/unlockpt.c: New file, from glibc with modifications.
16446         * m4/unlockpt.m4: New file.
16447         * modules/unlockpt: New file.
16448         * lib/stdlib.in.h (unlockpt): New declaration.
16449         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
16450         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
16451         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
16452         HAVE_UNLOCKPT.
16453         * doc/posix-functions/unlockpt.texi: Mention the new module.
16454         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
16455         * config/srclist.txt: Add unlockpt.c (commented).
16456
16457 2010-03-21  Jim Meyering  <meyering@redhat.com>
16458
16459         maint.mk: prohibit inclusion of "intprops.h" without use
16460         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
16461
16462 2010-03-21  Bruno Haible  <bruno@clisp.org>
16463
16464         New module 'grantpt'.
16465         * lib/grantpt.c: New file, from glibc with modifications.
16466         * m4/grantpt.m4: New file.
16467         * modules/grantpt: New file.
16468         * lib/stdlib.in.h (grantpt): New declaration.
16469         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
16470         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
16471         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
16472         HAVE_GRANTPT.
16473         * doc/posix-functions/grantpt.texi: Mention the new module.
16474         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
16475         * config/srclist.txt: Add grantpt.c (commented).
16476
16477 2010-03-21  Bruno Haible  <bruno@clisp.org>
16478
16479         New module 'pt_chown'.
16480         * lib/pt_chown.c: New file, from glibc with modifications.
16481         * lib/pty-private.h: New file, from glibc with modifications.
16482         * modules/pt_chown: New file.
16483         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
16484
16485 2010-03-21  Bruno Haible  <bruno@clisp.org>
16486
16487         Tests for module 'ptsname'.
16488         * modules/ptsname-tests: New file.
16489         * tests/test-ptsname.c: New file.
16490
16491         New module 'ptsname'.
16492         * lib/ptsname.c: New file, from glibc with modifications.
16493         * m4/ptsname.m4: New file.
16494         * modules/ptsname: New file.
16495         * lib/stdlib.in.h (ptsname): New declaration.
16496         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
16497         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
16498         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
16499         HAVE_PTSNAME.
16500         * doc/posix-functions/ptsname.texi: Mention the new module.
16501         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
16502         * config/srclist.txt: Add ptsname.c (commented).
16503
16504 2010-03-21  Bruno Haible  <bruno@clisp.org>
16505
16506         Tests for module 'ttyname_r'.
16507         * modules/ttyname_r-tests: New file.
16508         * tests/test-ttyname_r.c: New file.
16509
16510         New module 'ttyname_r'.
16511         * lib/ttyname_r.c: New file.
16512         * m4/ttyname_r.m4: New file.
16513         * modules/ttyname_r: New file.
16514         * lib/unistd.in.h (ttyname_r): New declaration.
16515         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
16516         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
16517         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
16518         HAVE_TTYNAME_R.
16519         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
16520         * doc/posix-functions/ttyname_r.texi: Mention the new module.
16521
16522 2010-03-20  Bruno Haible  <bruno@clisp.org>
16523
16524         signal: Undefine macro definitions in C++ mode.
16525         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
16526         sigfillset): Undefine macro definitions from the system header in C++
16527         mode.
16528         Reported by John W. Eaton <jwe@gnu.org>.
16529
16530 2010-03-20  Bruno Haible  <bruno@clisp.org>
16531
16532         Ensure no #include statements inside extern "C" { ... }.
16533         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
16534         contain #include statements.
16535         * lib/time.in.h: Likewise.
16536
16537 2010-03-20  Bruno Haible  <bruno@clisp.org>
16538
16539         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
16540         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
16541         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
16542         Reported by John W. Eaton <jwe@gnu.org>.
16543
16544 2010-03-20  Bruno Haible  <bruno@clisp.org>
16545
16546         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
16547         Reported by Jim Meyering.
16548
16549 2010-03-20  Bruno Haible  <bruno@clisp.org>
16550
16551         pipe: Set errno upon failure.
16552         * lib/pipe.h: Specify that when -1 is returned, errno is set.
16553         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
16554         errno value in error message.
16555
16556 2010-03-20  Bruno Haible  <bruno@clisp.org>
16557             Jim Meyering  <meyering@redhat.com>
16558
16559         lchown: Avoid "unused variable" warning.
16560         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
16561
16562 2010-03-20  Bruno Haible  <bruno@clisp.org>
16563
16564         Work around unlink() bug on MacOS X 10.5.6.
16565         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
16566         attempting to unlink a parent directory.
16567         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
16568         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
16569         activate for the replacement function.
16570         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
16571
16572 2010-03-20  Bruno Haible  <bruno@clisp.org>
16573
16574         Fix link errors on Solaris 8.
16575         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
16576         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
16577
16578 2010-03-19  Jim Meyering  <meyering@redhat.com>
16579
16580         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
16581         The _LIBC implementation of build_range_exp correctly honors the
16582         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
16583         However, the non-_LIBC implementation would ignore that syntax-bit
16584         flag and return REG_ERANGE unconditionally.
16585         This change makes it honor that flag.
16586         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
16587         Make two pointer parameters "const".
16588         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
16589         (parse_bracket_exp): Update caller.
16590
16591         regex.m4: correct the reversed range endpoint ([b-a]) test
16592         * m4/regex.m4: When requiring that [b-a] evoke failure,
16593         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
16594         test pass once again for x86-based systems.
16595
16596 2010-03-19  Bruno Haible  <bruno@clisp.org>
16597
16598         scandir: Fix link error on Solaris 8.
16599         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
16600         macros.
16601
16602 2010-03-19  Bruno Haible  <bruno@clisp.org>
16603
16604         getusershell: Fix documentation.
16605         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
16606         module.
16607         * doc/glibc-functions/setusershell.texi: Likewise.
16608
16609         getusershell: Provide declaration, missing on Solaris 9.
16610         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
16611         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
16612         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
16613         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
16614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16615         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
16616         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
16617         HAVE_GETUSERSHELL.
16618         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
16619
16620 2010-03-19  Bruno Haible  <bruno@clisp.org>
16621
16622         wctype: Provide iswblank function.
16623         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
16624         exists and is fine.
16625         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
16626         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
16627         * tests/test-wctype.c (main): Re-enable the iswblank tests.
16628         * doc/posix-functions/iswblank.texi: Update.
16629
16630 2010-03-19  Bruno Haible  <bruno@clisp.org>
16631
16632         Tests of module 'pty' in C++ mode.
16633         * modules/pty-tests: New file.
16634         * tests/test-pty-c++.cc: New file.
16635         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16636
16637 2010-03-19  Eric Blake  <eblake@redhat.com>
16638
16639         logb: fix documentation
16640         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
16641         1.5 declaration bug.
16642
16643         forkpty, openpty: prefer glibc's const-safe prototype
16644         * lib/forkpty.c (rpl_forkpty): New file.
16645         * lib/openpty.c (rpl_openpty): Likewise.
16646         * modules/forkpty (Files): Distribute it.
16647         * modules/openpty (Files): Likewise.
16648         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
16649         check...
16650         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
16651         replacement for for non-const BSD signature.
16652         * modules/pty (Makefile.am): Substitute witnesses.
16653         * lib/pty.in.h (forkpty, openpty): Declare replacements.
16654         * tests/test-forkpty.c: Update signature check.
16655         * tests/test-openpty.c: Likewise.
16656         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
16657         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16658
16659         forkpty, openpty: split functions into new modules
16660         * modules/pty (Makefile.am): Substitute new witnesses.
16661         (Libraries): Move library detection...
16662         * modules/forkpty: ...into new module.
16663         * modules/openpty: Another new module.
16664         * modules/pty-tests: Rename and split...
16665         * modules/forkpty-tests: ...to this...
16666         * modules/openpty-tests: ...and this.
16667         * tests/test-pty.c: Rename and split...
16668         * tests/test-forkpty.c: ...to this...
16669         * tests/test-openpty.c: ...and this.
16670         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
16671         (gl_PTY): Split library searching...
16672         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
16673         (gl_FORKPTY, gl_OPENPTY): New macros.
16674         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
16675         * NEWS: Mention the split.
16676         * MODULES.html.sh (Misc): Document the modules.
16677         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
16678         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16679
16680         pty: improve replacement header
16681         * lib/pty.in.h: New file.
16682         * modules/pty (Files): Ship it.
16683         (Makefile.am): Always build replacement.
16684         * m4/pty.m4: Rename...
16685         * m4/pty_h.m4: ...to this.
16686         (gl_PTY): Modernize setting of witness macros; update check of
16687         forkpty to take proper advantage of cache.
16688         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
16689
16690         getopt: avoid compiler warning
16691         * lib/getopt.c (attribute_hidden): Remove unused macro.
16692
16693 2010-03-18  Bruno Haible  <bruno@clisp.org>
16694
16695         Fix link errors on Solaris 8.
16696         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
16697         * modules/search-tests (test_search_c___LDADD): Likewise.
16698         * modules/signal-tests (test_signal_c___LDADD): Likewise.
16699         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
16700         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
16701         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
16702         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
16703         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
16704         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
16705
16706 2010-03-18  Bruno Haible  <bruno@clisp.org>
16707
16708         Fix bug introduced on 2010-03-14.
16709         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
16710         (gl_SPAWN_H): Require it.
16711         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
16712         Reported by Simon Josefsson.
16713
16714 2010-03-18  Bruno Haible  <bruno@clisp.org>
16715
16716         Fix typo introduced on 2009-12-31.
16717         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
16718         posix_spawn_file_actions_adddup2.
16719
16720 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
16721         and Eric Blake  <eblake@redhat.com>
16722
16723         test-vc-list-files-git: make more robust
16724         * tests/test-vc-list-files-git.sh: Unset problematic environment
16725         variables.  Chain commands together.
16726
16727 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
16728
16729         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
16730         `AC_CHECK_DECL' invocation.
16731
16732 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
16733
16734         * lib/inttostr.c (inttostr): Make sure the invocation of verify
16735         appears before executable statements. Suggested by Petr Sumbera
16736         <Petr.Sumbera@Sun.COM>.
16737
16738 2010-03-14  Bruno Haible  <bruno@clisp.org>
16739
16740         * tests/test-flock.c (test_exclusive): Comment out a test that causes
16741         portability problems. Instead use a simpler test.
16742         (main): Check that invalid arguments are rejected only on Linux.
16743
16744 2010-03-14  Bruno Haible  <bruno@clisp.org>
16745
16746         Fix bug introduced on 2009-12-31.
16747         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
16748         gl_PREREQ_SYS_H_WINSOCK2 always.
16749         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
16750         SYS_SOCKET_H variable.
16751         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
16752         Update comments.
16753         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
16754         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16755         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16756         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16757         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
16758
16759 2010-03-14  Bruno Haible  <bruno@clisp.org>
16760
16761         Fix values returned by sinl, cosl.
16762         * lib/trigl.h: Add specification comments.
16763         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
16764         that combines the values from the precomputed table with the values of
16765         the Chebyshev polynomials.
16766
16767 2010-03-14  Bruno Haible  <bruno@clisp.org>
16768
16769         Fix compilation error when modules 'posix_spawn[p]' are not used.
16770         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
16771         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
16772
16773 2010-03-14  Bruno Haible  <bruno@clisp.org>
16774
16775         Fix compilation error on mingw when module 'time_r' is not used.
16776         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
16777         is 1.
16778         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
16779         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
16780         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
16781         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
16782
16783 2010-03-14  Bruno Haible  <bruno@clisp.org>
16784
16785         Fix compilation error with Sun C.
16786         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
16787         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
16788         instead of GCC specific ULONG_LONG_MAX.
16789         * lib/xstrtoll.c: Likewise.
16790         * lib/xstrtoull.c: Likewise.
16791
16792 2010-03-13  Bruno Haible  <bruno@clisp.org>
16793
16794         Allow the user to disable C++ code and tests.
16795         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
16796         (gl_PROG_ANSI_CXX): Require it.
16797
16798 2010-03-13  Bruno Haible  <bruno@clisp.org>
16799
16800         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
16801         cases.
16802
16803 2010-03-13  Bruno Haible  <bruno@clisp.org>
16804
16805         Test that gnulib does not break the standard C++ headers.
16806         * tests/test-locale-c++2.cc: New file.
16807         * modules/locale-tests (Files): Add it.
16808         (Makefile.am): Compile it for test-locale-c++.
16809         * tests/test-math-c++2.cc: New file.
16810         * modules/math-tests (Files): Add it.
16811         (Makefile.am): Compile it for test-math-c++.
16812         * tests/test-signal-c++2.cc: New file.
16813         * modules/signal-tests (Files): Add it.
16814         (Makefile.am): Compile it for test-signal-c++.
16815         * tests/test-stdio-c++2.cc: New file.
16816         * modules/stdio-tests (Files): Add it.
16817         (Makefile.am): Compile it for test-stdio-c++.
16818         * tests/test-stdlib-c++2.cc: New file.
16819         * modules/stdlib-tests (Files): Add it.
16820         (Makefile.am): Compile it for test-stdlib-c++.
16821         * tests/test-string-c++2.cc: New file.
16822         * modules/string-tests (Files): Add it.
16823         (Makefile.am): Compile it for test-string-c++.
16824         * tests/test-time-c++2.cc: New file.
16825         * modules/time-tests (Files): Add it.
16826         (Makefile.am): Compile it for test-time-c++.
16827         Reported by John W. Eaton <jwe@gnu.org>.
16828
16829 2010-03-13  Bruno Haible  <bruno@clisp.org>
16830
16831         * gnulib-tool (func_usage): Clarify which options are available for
16832         --create-testdir and --create-megatestdir.
16833
16834 2010-03-13  Bruno Haible  <bruno@clisp.org>
16835
16836         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
16837         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
16838         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
16839         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
16840         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
16841         when appropriate.
16842         Reported by Jim Meyering.
16843
16844 2010-03-12  Simon Josefsson  <simon@josefsson.org>
16845
16846         * gnulib-tool (func_import): Explain origin of code.
16847
16848 2010-03-12  Bruno Haible  <bruno@clisp.org>
16849
16850         Fix problem with automake's definition of CXXLINK.
16851         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
16852         Reported by Simon Josefsson and Ludovic Courtès.
16853
16854 2010-03-12  Bruno Haible  <bruno@clisp.org>
16855
16856         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
16857         stable releases.
16858
16859 2010-03-11  Bruno Haible  <bruno@clisp.org>
16860
16861         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
16862         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
16863         whether the system provides one variant or multiple variants of the
16864         function.
16865         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
16866         C++ compilers.
16867         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
16868         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
16869         Reported by Jim Meyering.
16870
16871 2010-03-09  Simon Josefsson  <simon@josefsson.org>
16872
16873         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
16874
16875 2010-03-08  Bruno Haible  <bruno@clisp.org>
16876
16877         gnulib-tool: Add support for --libtool in --create-testdir.
16878         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
16879         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
16880
16881 2010-03-08  Eric Blake  <eblake@redhat.com>
16882
16883         gnulib-tool.texi: mention possibility of git submodule
16884         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
16885         submodules.
16886         * doc/.gitignore: Ignore another generated file.
16887
16888 2010-03-08  Karl Berry  <karl@gnu.org>
16889
16890         * doc/gnulib-tool.texi (VCS Issues): Mention third option
16891         of committing gnulib files while skipping others.
16892
16893 2010-03-07  Bruno Haible  <bruno@clisp.org>
16894
16895         Tests of module 'wctype' in C++ mode.
16896         * tests/test-wctype-c++.cc: New file.
16897         * modules/wctype-tests (Files): Add it and tests/signature.h.
16898         (Depends-on): Add ansi-c++-opt.
16899         (Makefile.am): Arrange to compile and run test-wctype-c++.
16900
16901         Tests of module 'wchar' in C++ mode.
16902         * tests/test-wchar-c++.cc: New file.
16903         * modules/wchar-tests (Files): Add it and tests/signature.h.
16904         (Depends-on): Add ansi-c++-opt.
16905         (Makefile.am): Arrange to compile and run test-wchar-c++.
16906         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
16907         gl_MODULE_INDICATOR.
16908
16909         Tests of module 'unistd' in C++ mode.
16910         * tests/test-unistd-c++.cc: New file.
16911         * modules/unistd-tests (Files): Add it and tests/signature.h.
16912         (Depends-on): Add ansi-c++-opt.
16913         (Makefile.am): Arrange to compile and run test-unistd-c++.
16914         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
16915         gl_MODULE_INDICATOR.
16916
16917         Tests of module 'time' in C++ mode.
16918         * tests/test-time-c++.cc: New file.
16919         * modules/time-tests (Files): Add it and tests/signature.h.
16920         (Depends-on): Add ansi-c++-opt.
16921         (Makefile.am): Arrange to compile and run test-time-c++.
16922         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16923
16924         Tests of module 'sys_time' in C++ mode.
16925         * tests/test-sys_time-c++.cc: New file.
16926         * modules/sys_time-tests (Files): Add it and tests/signature.h.
16927         (Depends-on): Add ansi-c++-opt.
16928         (Makefile.am): Arrange to compile and run test-sys_time-c++.
16929         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
16930         gl_MODULE_INDICATOR.
16931
16932         Tests of module 'sys_stat' in C++ mode.
16933         * tests/test-sys_stat-c++.cc: New file.
16934         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
16935         (Depends-on): Add ansi-c++-opt.
16936         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
16937         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
16938         gl_MODULE_INDICATOR.
16939
16940         Tests of module 'sys_socket' in C++ mode.
16941         * tests/test-sys_socket-c++.cc: New file.
16942         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
16943         (Depends-on): Add ansi-c++-opt.
16944         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
16945         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
16946         gl_MODULE_INDICATOR.
16947
16948         Tests of module 'sys_select' in C++ mode.
16949         * tests/test-sys_select-c++.cc: New file.
16950         * modules/sys_select-tests (Files): Add it and tests/signature.h.
16951         (Depends-on): Add ansi-c++-opt.
16952         (Makefile.am): Arrange to compile and run test-sys_select-c++.
16953         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
16954         gl_MODULE_INDICATOR.
16955
16956         Tests of module 'sys_ioctl' in C++ mode.
16957         * tests/test-sys_ioctl-c++.cc: New file.
16958         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
16959         (Depends-on): Add ansi-c++-opt.
16960         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
16961         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
16962         gl_MODULE_INDICATOR.
16963
16964         Tests of module 'string' in C++ mode.
16965         * tests/test-string-c++.cc: New file.
16966         * modules/string-tests (Files): Add it and tests/signature.h.
16967         (Depends-on): Add ansi-c++-opt.
16968         (Makefile.am): Arrange to compile and run test-string-c++.
16969         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
16970         gl_MODULE_INDICATOR.
16971
16972         Tests of module 'stdlib' in C++ mode.
16973         * tests/test-stdlib-c++.cc: New file.
16974         * modules/stdlib-tests (Files): Add it and tests/signature.h.
16975         (Depends-on): Add ansi-c++-opt.
16976         (Makefile.am): Arrange to compile and run test-stdlib-c++.
16977         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
16978         gl_MODULE_INDICATOR.
16979
16980         Tests of module 'stdio' in C++ mode.
16981         * tests/test-stdio-c++.cc: New file.
16982         * modules/stdio-tests (Files): Add it and tests/signature.h.
16983         (Depends-on): Add ansi-c++-opt.
16984         (Makefile.am): Arrange to compile and run test-stdio-c++.
16985         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
16986         gl_MODULE_INDICATOR.
16987
16988         Tests of module 'spawn' in C++ mode.
16989         * tests/test-spawn-c++.cc: New file.
16990         * modules/spawn-tests (Files): Add it and tests/signature.h.
16991         (Depends-on): Add ansi-c++-opt.
16992         (Makefile.am): Arrange to compile and run test-spawn-c++.
16993         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
16994         gl_MODULE_INDICATOR.
16995
16996         Tests of module 'signal' in C++ mode.
16997         * tests/test-signal-c++.cc: New file.
16998         * modules/signal-tests (Files): Add it and tests/signature.h.
16999         (Depends-on): Add ansi-c++-opt.
17000         (Makefile.am): Arrange to compile and run test-signal-c++.
17001         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
17002         gl_MODULE_INDICATOR.
17003
17004         Tests of module 'search' in C++ mode.
17005         * tests/test-search-c++.cc: New file.
17006         * modules/search-tests (Files): Add it and tests/signature.h.
17007         (Depends-on): Add ansi-c++-opt.
17008         (Makefile.am): Arrange to compile and run test-search-c++.
17009         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
17010         gl_MODULE_INDICATOR.
17011
17012         Tests of module 'math' in C++ mode.
17013         * tests/test-math-c++.cc: New file.
17014         * modules/math-tests (Files): Add it and tests/signature.h.
17015         (Depends-on): Add ansi-c++-opt.
17016         (Makefile.am): Arrange to compile and run test-math-c++.
17017         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17018
17019         Tests of module 'locale' in C++ mode.
17020         * tests/test-locale-c++.cc: New file.
17021         * modules/locale-tests (Files): Add it and tests/signature.h.
17022         (Depends-on): Add ansi-c++-opt.
17023         (Makefile.am): Arrange to compile and run test-locale-c++.
17024         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
17025         gl_MODULE_INDICATOR.
17026
17027         Tests of module 'langinfo' in C++ mode.
17028         * tests/test-langinfo-c++.cc: New file.
17029         * modules/langinfo-tests (Files): Add it and tests/signature.h.
17030         (Depends-on): Add ansi-c++-opt.
17031         (Makefile.am): Arrange to compile and run test-langinfo-c++.
17032         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
17033         gl_MODULE_INDICATOR.
17034
17035         Tests of module 'iconv-h' in C++ mode.
17036         * tests/test-iconv-h-c++.cc: New file.
17037         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
17038         (Depends-on): Add ansi-c++-opt.
17039         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
17040
17041         Tests of module 'glob' in C++ mode.
17042         * tests/test-glob-c++.cc: New file.
17043         * modules/glob-tests (Files): Add it.
17044         (Depends-on): Add ansi-c++-opt.
17045         (Makefile.am): Arrange to compile and run test-glob-c++.
17046
17047         Tests of module 'fcntl-h' in C++ mode.
17048         * tests/test-fcntl-h-c++.cc: New file.
17049         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
17050         (Depends-on): Add ansi-c++-opt.
17051         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
17052         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
17053         gl_MODULE_INDICATOR.
17054
17055         Tests of module 'dirent' in C++ mode.
17056         * tests/test-dirent-c++.cc: New file.
17057         * modules/dirent-tests (Files): Add it and tests/signature.h.
17058         (Depends-on): Add ansi-c++-opt.
17059         (Makefile.am): Arrange to compile and run test-dirent-c++.
17060         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
17061         gl_MODULE_INDICATOR.
17062
17063         New module 'ansi-c++-opt'.
17064         * modules/ansi-c++-opt: New file.
17065         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
17066
17067         Document C++ namespace mode.
17068         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
17069
17070         wctype: Avoid #define replacements in C++ mode.
17071         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
17072         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
17073         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
17074         In C++, define a namespaced alias symbol.
17075         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
17076         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
17077         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
17078         rule.
17079
17080         wchar: Avoid #define replacements in C++ mode.
17081         * lib/wchar.in.h: Include c++defs.h.
17082         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
17083         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
17084         symbol.
17085         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
17086         * modules/wchar (Depends-on): Add c++defs.
17087         (Makefile.am): Update wchar.h rule.
17088
17089         unistd: Avoid #define replacements in C++ mode.
17090         * lib/unistd.in.h: Include c++defs.h.
17091         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
17092         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
17093         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
17094         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
17095         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
17096         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
17097         symbol.
17098         (environ): Update.
17099         * modules/unistd (Depends-on): Add c++defs.
17100         (Makefile.am): Update unistd.h rule.
17101
17102         time: Avoid #define replacements in C++ mode.
17103         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
17104         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
17105         define a namespaced alias symbol.
17106         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
17107         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
17108         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
17109         * modules/time (Depends-on): Add c++defs, warn-on-use.
17110         (Makefile.am): Update time.h rule.
17111         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
17112         * modules/nanosleep (configure.ac): Likewise.
17113         * modules/strptime (configure.ac): Likewise.
17114         * modules/timegm (configure.ac): Likewise.
17115
17116         sys_time: Avoid #define replacements in C++ mode.
17117         * lib/sys_time.in.h: Include c++defs.h.
17118         (gettimeofday): In C++, define a namespaced alias symbol.
17119         * modules/sys_time (Depends-on): Add c++defs.
17120         (Makefile.am): Update sys/time.h rule.
17121
17122         sys_stat: Avoid #define replacements in C++ mode.
17123         * lib/sys_stat.in.h: Include c++defs.h.
17124         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
17125         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
17126         namespaced alias symbol.
17127         In C++, define a namespaced alias symbol.
17128         * modules/sys_stat (Depends-on): Add c++defs.
17129         (Makefile.am): Update sys/stat.h rule.
17130
17131         sys_socket: Avoid #define replacements in C++ mode.
17132         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
17133         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
17134         definitions also when the system has a <sys/socket.h>.
17135         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
17136         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
17137         In C++, define a namespaced alias symbol.
17138         * modules/sys_socket (Depends-on): Add c++defs.
17139         (Makefile.am): Update sys/socket.h rule.
17140
17141         sys_select: Avoid #define replacements in C++ mode.
17142         * lib/sys_select.in.h: Include c++defs.h. Enable the function
17143         definitions also when the system has a <sys/select.h>.
17144         (select): In C++, define a namespaced alias symbol.
17145         * modules/sys_select (Depends-on): Add c++defs.
17146         (Makefile.am): Update sys/select.h rule.
17147
17148         sys_ioctl: Avoid #define replacements in C++ mode.
17149         * lib/sys_ioctl.in.h: Include c++defs.h.
17150         (ioctl): In C++, define a namespaced alias symbol.
17151         * modules/sys_ioctl (Depends-on): Add c++defs.
17152         (Makefile.am): Update sys/ioctl.h rule.
17153
17154         string: Avoid #define replacements in C++ mode.
17155         * lib/string.in.h: Include c++defs.h.
17156         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
17157         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
17158         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
17159         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
17160         strsignal, strverscmp): In C++, define a namespaced alias symbol.
17161         * modules/string (Depends-on): Add c++defs.
17162         (Makefile.am): Update string.h rule.
17163
17164         stdlib: Avoid #define replacements in C++ mode.
17165         * lib/stdlib.in.h: Include c++defs.h.
17166         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
17167         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
17168         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
17169         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
17170         symbol.
17171         * modules/stdlib (Depends-on): Add c++defs.
17172         (Makefile.am): Update stdlib.h rule.
17173
17174         stdio: Avoid #define replacements in C++ mode.
17175         * lib/stdio.in.h: Include c++defs.h.
17176         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
17177         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
17178         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
17179         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
17180         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
17181         namespaced alias symbol.
17182         * modules/stdio (Depends-on): Add c++defs.
17183         (Makefile.am): Update stdio.h rule.
17184
17185         spawn: Avoid #define replacements in C++ mode.
17186         * lib/spawn.in.h: Include c++defs.h.
17187         (posix_spawn, posix_spawnp, posix_spawnattr_init,
17188         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
17189         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
17190         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
17191         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
17192         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
17193         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
17194         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
17195         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
17196         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
17197         In C++, define a namespaced alias symbol.
17198         * modules/spawn (Depends-on): Add c++defs.
17199         (Makefile.am): Update spawn.h rule.
17200
17201         signal: Avoid #define replacements in C++ mode.
17202         * lib/signal.in.h: Include c++defs.h.
17203         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
17204         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
17205         namespaced alias symbol.
17206         * modules/signal (Depends-on): Add c++defs.
17207         (Makefile.am): Update signal.h rule.
17208
17209         search: Avoid #define replacements in C++ mode.
17210         * lib/search.in.h: Include c++defs.h.
17211         (_gl_search_compar_fn, _gl_search_action_fn): New types.
17212         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
17213         symbol.
17214         * modules/search (Depends-on): Add c++defs.
17215         (Makefile.am): Update search.h rule.
17216
17217         math: Avoid #define replacements in C++ mode.
17218         * lib/math.in.h: Include c++defs.h.
17219         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
17220         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
17221         trunc, truncl): In C++, define a namespaced alias symbol.
17222         * modules/math (Depends-on): Add c++defs.
17223         (Makefile.am): Update math.h rule.
17224
17225         locale: Avoid #define replacements in C++ mode.
17226         * lib/locale.in.h: Include c++defs.h.
17227         (duplocale): In C++, define a namespaced alias symbol.
17228         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
17229         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
17230         * modules/locale (Depends-on): Add c++defs.
17231         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
17232
17233         langinfo: Avoid #define replacements in C++ mode.
17234         * lib/langinfo.in.h: Include c++defs.h.
17235         (nl_langinfo): In C++, define a namespaced alias symbol.
17236         * modules/langinfo (Depends-on): Add c++defs.
17237         (Makefile.am): Update langinfo.h rule.
17238
17239         iconv-h: Avoid #define replacements in C++ mode.
17240         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
17241         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
17242         symbol.
17243         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
17244         whenever iconv is present.
17245         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
17246         (Makefile.am): Update iconv.h rule.
17247
17248         glob: Avoid #define replacements in C++ mode.
17249         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
17250         (_gl_glob_errfunc_fn): New type.
17251         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
17252         symbol.
17253         * modules/glob (Depends-on): Add c++defs, warn-on-use.
17254         (Makefile.am): Update glob.h rule.
17255
17256         fcntl-h: Avoid #define replacements in C++ mode.
17257         * lib/fcntl.in.h: Include c++defs.h.
17258         (fcntl, open, openat): In C++, define a namespaced alias symbol.
17259         * modules/fcntl-h (Depends-on): Add c++defs.
17260         (Makefile.am): Update fcntl.h rule.
17261
17262         dirent: Avoid #define replacements in C++ mode.
17263         * lib/dirent.in.h: Include c++defs.h.
17264         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
17265         namespaced alias symbol.
17266         (dirfd): Update declaration.
17267         * modules/dirent (Depends-on): Add c++defs.
17268         (Makefile.am): Update dirent.h rule.
17269
17270         ctype: Make it usable in C++ code.
17271         * lib/ctype.in.h: Include c++defs.h.
17272         (isblank): Declare as extern "C".
17273         * modules/ctype (Depends-on): Add c++defs.
17274         (Makefile.am): Update ctype.h rule.
17275
17276         New module 'c++defs'.
17277         * modules/c++defs: New file.
17278         * build-aux/c++defs.h: New file.
17279         Reported by John W. Eaton <jwe@gnu.org>.
17280
17281 2010-03-07  Bruno Haible  <bruno@clisp.org>
17282
17283         logb: Provide missing declaration for Cygwin.
17284         * lib/math.in.h (logb): New declaration.
17285         * m4/logb.m4: New file.
17286         * modules/logb (Files): Add m4/logb.m4.
17287         (Depends-on): Add math.
17288         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
17289         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
17290         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
17291         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
17292         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
17293
17294 2010-03-07  Bruno Haible  <bruno@clisp.org>
17295
17296         Fix test-cond link error.
17297         * tests/test-cond.c: Include <stdio.h>.
17298
17299 2010-03-07  Bruno Haible  <bruno@clisp.org>
17300
17301         Fix test-dirent-safer link error.
17302         * modules/dirent-safer-tests (Makefile.am): Define
17303         test_dirent_safer_LDADD.
17304
17305 2010-03-07  Bruno Haible  <bruno@clisp.org>
17306
17307         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
17308         among default module list.
17309
17310 2010-03-07  Bruno Haible  <bruno@clisp.org>
17311
17312         Fix link error on platforms with GNU libiconv.
17313         * modules/unistr/u8-strcoll-tests (Makefile): Define
17314         test_u8_strcoll_LDADD.
17315         * modules/unistr/u16-strcoll-tests (Makefile): Define
17316         test_u16_strcoll_LDADD.
17317         * modules/unistr/u32-strcoll-tests (Makefile): Define
17318         test_u32_strcoll_LDADD.
17319
17320 2010-03-07  Bruno Haible  <bruno@clisp.org>
17321
17322         Use POSIX declarations for socket functions.
17323         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
17324         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
17325         rpl_sendto): Change declaration to match POSIX.
17326         * lib/connect.c (rpl_connect): Likewise.
17327         * lib/accept.c (rpl_accept): Likewise.
17328         * lib/bind.c (rpl_bind): Likewise.
17329         * lib/getpeername.c (rpl_getpeername): Likewise.
17330         * lib/getsockname.c (rpl_getsockname): Likewise.
17331         * lib/recv.c (rpl_recv): Likewise.
17332         * lib/send.c (rpl_send): Likewise.
17333         * lib/recvfrom.c (rpl_recvfrom): Likewise.
17334         * lib/sendto.c (rpl_sendto): Likewise.
17335
17336 2010-03-06  Bruno Haible  <bruno@clisp.org>
17337
17338         Clarify access, euidaccess, faccessat.
17339         * doc/posix-functions/faccessat.texi: Mention security problem under
17340         "Other problems", not "Portability problems".
17341         * doc/posix-functions/access.texi: Likewise. Mention a related security
17342         problem.
17343         * doc/glibc-functions/euidaccess.texi: Mention security problems.
17344         * lib/euidaccess.c: Add comments about platforms.
17345         * lib/unistd.in.h (access, euidaccess): Add warnings.
17346
17347 2010-03-07  Bruno Haible  <bruno@clisp.org>
17348
17349         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
17350         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
17351         (POSIX_SPAWN_SETSCHEDULER): Likewise.
17352         (POSIX_SPAWN_USEVFORK): Define in a way that works when
17353         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17354         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
17355         declare when POSIX_SPAWN_SETSCHEDULER is zero.
17356         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
17357         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
17358         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
17359         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
17360         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
17361         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
17362         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
17363         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
17364         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
17365         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
17366         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
17367         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
17368         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
17369         Likewise.
17370         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
17371         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
17372         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
17373         Likewise.
17374         * tests/test-spawn.c (main): Make it work when
17375         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17376
17377 2010-03-07  Bruno Haible  <bruno@clisp.org>
17378
17379         Fix incorrect Makefile.am generation in German locale.
17380         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17381         Execute sed command with character range in C locale.
17382
17383 2010-03-06  Bruno Haible  <bruno@clisp.org>
17384
17385         Tests for module 'iconv-h'.
17386         * modules/iconv-h-tests: New file.
17387         * tests/test-iconv-h.c: New file.
17388
17389         New module 'iconv-h'.
17390         * modules/iconv-h: New file.
17391         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
17392         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
17393         (configure.ac): Remove gl_ICONV_H.
17394         (Makefile.am): Remove rule for iconv.h.
17395
17396 2010-03-06  Bruno Haible  <bruno@clisp.org>
17397
17398         More consistent naming of *.m4 files.
17399         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
17400         * modules/wctype (Files): Update.
17401
17402         More consistent naming of *.m4 files.
17403         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
17404         * modules/wchar (Files): Update.
17405
17406 2010-03-06  Jim Meyering  <meyering@redhat.com>
17407
17408         euidaccess: relax license to LGPLv2+
17409         * modules/euidaccess (License): Relax to LGPLv2+.
17410
17411 2010-03-06  Bruno Haible  <bruno@clisp.org>
17412
17413         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
17414         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
17415         (Makefile.am): Augment lib_SOURCES instead.
17416
17417 2010-03-04  Jim Meyering  <meyering@redhat.com>
17418
17419         utime: remove obsolete module
17420         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
17421         unnecessary for years, and has been marked as obsolete for 10 months.
17422         * modules/utime: Remove file.
17423         * lib/utime.c: Remove file.
17424         * m4/utime.m4: Remove file.
17425         * m4/utimes-null.m4: Remove file.
17426         * doc/posix-functions/utime.texi (utime): Remove reference to
17427         the module.  Move the sole "fixed by gnulib" item into the
17428         "problems not fixed by Gnulib" list.
17429         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
17430
17431 2010-03-05  Simon Josefsson  <simon@josefsson.org>
17432
17433         * modules/exit (License): Relax license to LGPLv2+.
17434         (Status): Mark as obsolete.
17435         * NEWS: Mention deprecated 'exit' module.
17436         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
17437         of now obsolete 'exit'.
17438
17439 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17440
17441         fts-lgpl: remove unused module
17442         * modules/fts-lgpl: Remove.
17443         * MODULES.html.sh (func_all_modules): Adjust.
17444         * check-module (find_included_lib_files): Adjust.
17445         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
17446
17447 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
17448
17449         copy-acl: enhance Solaris ACL error handling
17450         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
17451         * lib/set-mode-acl.c (qset_acl): Likewise.
17452
17453 2010-03-02  Bruno Haible  <bruno@clisp.org>
17454
17455         spawn: Don't override the system defined values on FreeBSD 8.
17456         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
17457         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
17458         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
17459         if HAVE_POSIX_SPAWN is 1.
17460         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
17461
17462 2010-03-01  Bruno Haible  <bruno@clisp.org>
17463
17464         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
17465         regarding Automake.
17466
17467 2010-02-25  Bruno Haible  <bruno@clisp.org>
17468
17469         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
17470         * gnulib-tool: Define 'echo' as a function only before the ksh alias
17471         setting, not afterwards.
17472         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
17473
17474 2010-02-24  Eric Blake  <eblake@redhat.com>
17475
17476         bootstrap, git-version-gen: use timestamp
17477         * build-aux/git-version-gen (scriptversion): Force UTC.
17478         * build-aux/bootstrap (scriptversion): New variable.
17479
17480         bootstrap: allow older git
17481         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
17482         older than 1.6.4.  Requested by the libvirt project.
17483
17484 2010-02-23  Eric Blake  <eblake@redhat.com>
17485
17486         warn-on-use: work with old autoconf
17487         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
17488         AS_VAR semantics of autoconf 2.60.
17489         Reported by Bruno Haible.
17490
17491         bootstrap: improve some comments
17492         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
17493         clarification comments.
17494
17495         gettimeofday: provide correct function
17496         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
17497         when replacement is declared, otherwise provide gettimeofday.
17498         Reported by Michael Goffioul.
17499
17500 2010-02-23  Jim Meyering  <meyering@redhat.com>
17501
17502         lib-ignore: relax license to "unlimited", not LGPLv2+
17503         * modules/lib-ignore (License): Relax to "unlimited".
17504
17505 2010-02-23  Jim Meyering  <meyering@redhat.com>
17506
17507         lib-ignore: relax license to LGPLv2+
17508         * modules/lib-ignore (License): Relax to LGPLv2+.
17509
17510 2010-02-22  Eric Blake  <eblake@redhat.com>
17511
17512         lseek: avoid bash 3.2 broken pipe bug
17513         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
17514         warning from bash 3.2.
17515         Reported by Ben Pfaff, with analysis from Bruno Haible.
17516
17517         bootstrap: support non-FSF copyright holder
17518         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
17519         bootstrap.conf override of COPYRIGHT_HOLDER.
17520         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
17521
17522         bootstrap: interoperate with gettext 0.14.1
17523         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
17524
17525         bootstrap: allow for alternate submodule location
17526         * build-aux/bootstrap (gnulib_path): New variable; use instead of
17527         hardcoding submodule location.
17528         (gnulib_mk): Allow direct use of Makefile.am.
17529
17530         bootstrap: use GNULIB_SRCDIR to reduce disk usage
17531         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
17532         rather than reconfiguring where the submodule points.
17533
17534         gettimeofday: restore support for platforms that lack function
17535         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
17536         replacement if function is missing.
17537         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
17538         * modules/sys_time (Makefile.am): Substitute it.
17539         * lib/sys_time.in.h (gettimeofday): Check it.
17540         Reported by Michael Goffioul.
17541
17542 2010-02-21  Bruno Haible  <bruno@clisp.org>
17543
17544         * lib/stdio.in.h (obstack_printf): Fix typo.
17545
17546 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
17547
17548         vc-list-files: use bzr ls's -R option
17549         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
17550         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
17551
17552 2010-02-21  Jim Meyering  <meyering@redhat.com>
17553
17554         init.sh: fix EXEEXT shims to work also for names like test-prog
17555         * tests/init.sh: Re-exec a better shell, when needed.
17556         If the current shell lacks support for posix $(...), an init.sh-using
17557         test will now try to find a shell that supports that.  If EXEEXT is
17558         nonempty, we also require support for hyphen-in-alias-name and shell
17559         substitutions like ${var#glob}.  Failure to find such a shell results
17560         in a skipped test.
17561
17562 2010-02-21  Bruno Haible  <bruno@clisp.org>
17563
17564         Really work around around "broken pipe" error message from bash 3.2.
17565         * gnulib-tool (func_reset_sigpipe): Remove function.
17566         (echo): In bash 3.2, define to a function that uses printf.
17567         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
17568
17569 2010-02-20  Bruno Haible  <bruno@clisp.org>
17570
17571         Restore support for automake 1.9.6 with autoconf 2.61.
17572         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
17573         Reported by James Youngman <jay@gnu.org>.
17574
17575 2010-02-20  Bruno Haible  <bruno@clisp.org>
17576
17577         Improve *printf warning condition.
17578         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
17579         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
17580         and the function is overridden due to SIGPIPE emulation.
17581
17582 2010-02-20  Bruno Haible  <bruno@clisp.org>
17583
17584         * lib/stdio.in.h: Tweak comments.
17585
17586 2010-02-19  Bruno Haible  <bruno@clisp.org>
17587
17588         Make it easier to find modules. New gnulib-tool option '--find'.
17589         * gnulib-tool: New option --find.
17590         (func_usage): Document it.
17591         (func_sanitize_modulelist): New function, extracted from
17592         func_all_modules.
17593         (func_all_modules): Invoke it.
17594         * doc/gnulib-tool.texi (Which modules?): New node.
17595
17596 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
17597
17598         * lib/sys_select.in.h: Provide select replacement even if
17599         sys/select.h exists on a system, for Interix.
17600
17601 2010-02-18  Jim Meyering  <meyering@redhat.com>
17602
17603         init.sh: don't use $(...) just yet
17604         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
17605         to accommodate e.g., Solaris' /bin/sh.
17606
17607 2010-02-17  Bruno Haible  <bruno@clisp.org>
17608
17609         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
17610         Reported by Ludovic Courtès <ludo@gnu.org>.
17611
17612 2010-02-16  Simon Josefsson  <simon@josefsson.org>
17613
17614         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
17615         linking with -lintl.
17616
17617 2010-02-17  Simon Josefsson  <simon@josefsson.org>
17618
17619         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
17620         if not provided by the system's netdb.h.  Reported by
17621         ludo@gnu.org (Ludovic Courtès).
17622
17623 2010-02-15  Jim Meyering  <meyering@redhat.com>
17624
17625         init.sh: improve portability and efficiency
17626         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
17627         "dummy" in a for loop.
17628         Use '!', not '^' to select the complement of a character set used
17629         in a "case" statement.
17630         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
17631         Suggestions from Eric Blake.
17632
17633         init.sh: automatically accommodate programs with the .exe suffix
17634         Automatically arrange for an invocation of "prog" to execute the
17635         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
17636         may use the simpler "prog", yet still work when built on a system
17637         that requires specifying the added suffix.
17638         Do this by constructing a function named "prog" that invokes
17639         "prog.exe" for each .exe file in selected directories.
17640         * tests/init.sh (find_exe_basenames_): New function.
17641         (create_exe_shim_functions_): New function.
17642         (path_prepend_): Use it.
17643
17644         maint.mk: mark syntax-check sc_*.m rules as .PHONY
17645         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
17646         "make -t syntax-check" doesn't create a ton of sc_*.m files.
17647
17648 2010-02-14  Jim Meyering  <meyering@redhat.com>
17649
17650         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
17651         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
17652         (sc_prohibit_hash_pjw_without_use): New rule.
17653
17654         maint.mk: allow the default upload destination dir to be overridden
17655         * top/maint.mk (upload_dest_dir_): Define with a default that
17656         preserves the status quo.
17657         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
17658         Reported by Peter Simons.
17659
17660         maint.mk: prohibit inclusion of "hash.h" without_use
17661         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
17662
17663 2010-02-10  Jim Meyering  <meyering@redhat.com>
17664
17665         maint.mk: prohibit inclusion of "ignore-value.h" without_use
17666         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
17667
17668 2010-02-09  Eric Blake  <ebb9@byu.net>
17669         and Bruno Haible  <bruno@clisp.org>
17670
17671         obstack-printf-posix: ensure declaration
17672         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
17673         extracted from gl_FUNC_OBSTACK_PRINTF.
17674         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
17675         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
17676         Likewise.
17677         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
17678         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
17679         0.
17680
17681 2010-02-08  Bruno Haible  <bruno@clisp.org>
17682
17683         gnulib-tool: Fix typo in 2010-02-07 commit.
17684         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
17685         Reported by Eric Blake.
17686
17687 2010-02-07  Bruno Haible  <bruno@clisp.org>
17688
17689         gnulib-tool: Fix up caching patches.
17690         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
17691         option --no-cache. Use associative arrays when supported by the shell.
17692         (sed_comments): New variable.
17693         (modcache): Renamed from do_cache.
17694         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
17695         abbreviate unnecessarily.
17696         (have_associative): New variable.
17697         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
17698         way also for ksh and zsh.
17699         (func_init_sed_convert_to_cache_statements): New function, extracted
17700         from func_cache_lookup_module. Add support for associative arrays.
17701         Don't set the c_MODULE_cached variable here. Ignore all lines before
17702         the first field header. Remove only the final newline, not all trailing
17703         newlines. Support empty fields correctly. Limit the use of 'eval' to
17704         assignments.
17705         (func_get_description, func_get_status, func_get_notice,
17706         func_get_applicability, func_get_filelist, func_get_dependencies,
17707         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
17708         func_get_automake_snippet, func_get_include_directive,
17709         func_get_link_directive, func_get_license, func_get_maintainer):
17710         Update documentation. List the unoptimized code first. Add support for
17711         associative arrays. Limit the use of 'eval' to assignments.
17712         (func_get_applicability): Undo stylistic pessimisations.
17713         (func_get_automake_snippet, func_get_include_directive): Reduce code
17714         duplication.
17715         (func_modules_transitive_closure, func_modules_add_dummy,
17716         func_modules_notice, func_modules_to_filelist, func_add_file,
17717         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
17718         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
17719         func_create_testdir, func_create_megatestdir): Update documentation.
17720
17721 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17722
17723         * gnulib-tool (func_cache_lookup_module): Store the module name
17724         belonging to the cache variable; error out if two different
17725         module names map to the same cache variable name.
17726
17727 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17728
17729         gnulib-tool: Make caching optional.
17730         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
17731         Update matching short versions of --no-changelog.
17732         (func_usage): Update.
17733         (sed_extract_cache_prog): Renamed from ...
17734         (sed_extract_prog): ... this; revert to old extraction script.
17735         (func_get_description, func_get_status)
17736         (func_get_notice, func_get_applicability, func_get_filelist)
17737         (func_get_dependencies, func_get_autoconf_early_snippet)
17738         (func_get_autoconf_snippet, func_get_automake_snippet)
17739         (func_get_include_directive, func_get_link_directive)
17740         (func_get_license, func_get_maintainer): If $do_cache is false,
17741         use old, non-caching extraction scripts.
17742         Suggestion by Bruno Haible.
17743
17744 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17745
17746         gnulib-tool: cache module metainformation.
17747         * gnulib-tool (sed_extract_prog): Match newline before each
17748         header, and rewrite header to a shell variable suffix.
17749         (func_cache_var, func_cache_lookup_module): New functions,
17750         to turn a module name into a cache variable prefix, and to
17751         look up and cache module metainformation.
17752         (func_get_description, func_get_status)
17753         (func_get_notice, func_get_applicability, func_get_filelist)
17754         (func_get_dependencies, func_get_autoconf_early_snippet)
17755         (func_get_autoconf_snippet, func_get_automake_snippet)
17756         (func_get_include_directive, func_get_link_directive)
17757         (func_get_license, func_get_maintainer): Use
17758         func_cache_lookup_module.
17759
17760 2010-02-07  Bruno Haible  <bruno@clisp.org>
17761
17762         fnctl: Fix missing dependency.
17763         * modules/fcntl (Depends-on): Add getdtablesize.
17764         Reported by John W. Eaton <jwe@gnu.org>.
17765
17766 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17767
17768         Argp: fix recognition of short alias options.
17769
17770         * lib/argp-parse.c (convert_options): Fix improper use of
17771         `|' between character values.
17772         * tests/test-argp.c (group1_option): New alias option
17773         --read (-r).
17774         (group1_parser): Special handling for 'r'.
17775         (test15): New test case.
17776         (test_fun): Add test15.
17777         * tests/test-argp-2.sh: Update expected --help and --usage
17778         outputs.
17779
17780 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17781
17782         * tests/test-argp.c: Fix indentation.
17783
17784 2010-02-04  Eric Blake  <ebb9@byu.net>
17785
17786         gettimeofday: expose type of second argument
17787         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
17788         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
17789         * tests/test-gettimeofday.c: Use it to silence warning.
17790         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
17791         the issue.
17792
17793 2010-02-03  Jim Meyering  <meyering@redhat.com>
17794
17795         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
17796         * lib/regcomp.c (TYPE_SIGNED): Define.
17797         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
17798
17799         regcomp.c: avoid a new -Wshadow warning
17800         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
17801
17802 2010-02-01  Jim Meyering  <meyering@redhat.com>
17803
17804         removing useless parentheses in cpp #define directives
17805         For motivation, see commit c0221df4, "define STREQ(a,b)
17806         consistently, removing useless parentheses"
17807         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
17808         * lib/mountlist.c (MNT_IGNORE): Likewise.
17809         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
17810
17811 2010-02-01  Eric Blake  <ebb9@byu.net>
17812
17813         sys_time: use link-warning
17814         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
17815         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
17816         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
17817         * modules/sys_time (Depends-on): Add warn-on-use.
17818         (Makefile.am): Always build replacement.
17819         (configure.ac): Update substitutions.
17820         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
17821         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
17822         bother with SYS_TIME_H.
17823         * modules/gettimeofday (configure.ac): Declare indicator.
17824         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
17825         in use.
17826
17827         closein-tests: silence compiler warning
17828         * tests/test-closein.c (main): Ignore fread result.
17829         * modules/closein-tests (Depends-on): Add ignore-value.
17830
17831         tests: silence warning about system return
17832         * tests/test-areadlink-with-size.c (main): Ignore system result.
17833         * tests/test-areadlink.c (main): Likewise.
17834         * tests/test-areadlinkat-with-size.c (main): Likewise.
17835         * tests/test-areadlinkat.c (main): Likewise.
17836         * tests/test-canonicalize-lgpl.c (main): Likewise.
17837         * tests/test-canonicalize.c (main): Likewise.
17838         * tests/test-chown.c (main): Likewise.
17839         * tests/test-fchownat.c (main): Likewise.
17840         * tests/test-fdutimensat.c (main): Likewise.
17841         * tests/test-fstatat.c (main): Likewise.
17842         * tests/test-futimens.c (main): Likewise.
17843         * tests/test-lchown.c (main): Likewise.
17844         * tests/test-link.c (main): Likewise.
17845         * tests/test-linkat.c (main): Likewise.
17846         * tests/test-lstat.c (main): Likewise.
17847         * tests/test-mkdir.c (main): Likewise.
17848         * tests/test-mkdirat.c (main): Likewise.
17849         * tests/test-mkfifo.c (main): Likewise.
17850         * tests/test-mkfifoat.c (main): Likewise.
17851         * tests/test-mknod.c (main): Likewise.
17852         * tests/test-readlink.c (main): Likewise.
17853         * tests/test-remove.c (main): Likewise.
17854         * tests/test-rename.c (main): Likewise.
17855         * tests/test-renameat.c (main): Likewise.
17856         * tests/test-rmdir.c (main): Likewise.
17857         * tests/test-symlink.c (main): Likewise.
17858         * tests/test-symlinkat.c (main): Likewise.
17859         * tests/test-unlink.c (main): Likewise.
17860         * tests/test-unlinkat.c (main): Likewise.
17861         * tests/test-utimens.c (main): Likewise.
17862         * tests/test-utimensat.c (main): Likewise.
17863         * modules/areadlink-tests (Depends-on): Add ignore-value.
17864         * modules/areadlink-with-size-tests (Depends-on): Likewise.
17865         * modules/areadlinkat-tests (Depends-on): Likewise.
17866         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
17867         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
17868         * modules/canonicalize-tests (Depends-on): Likewise.
17869         * modules/chown-tests (Depends-on): Likewise.
17870         * modules/fdutimensat-tests (Depends-on): Likewise.
17871         * modules/futimens-tests (Depends-on): Likewise.
17872         * modules/lchown-tests (Depends-on): Likewise.
17873         * modules/link-tests (Depends-on): Likewise.
17874         * modules/linkat-tests (Depends-on): Likewise.
17875         * modules/lstat-tests (Depends-on): Likewise.
17876         * modules/mkdir-tests (Depends-on): Likewise.
17877         * modules/mkfifo-tests (Depends-on): Likewise.
17878         * modules/mkfifoat-tests (Depends-on): Likewise.
17879         * modules/mknod-tests (Depends-on): Likewise.
17880         * modules/openat-tests (Depends-on): Likewise.
17881         * modules/readlink-tests (Depends-on): Likewise.
17882         * modules/remove-tests (Depends-on): Likewise.
17883         * modules/rename-tests (Depends-on): Likewise.
17884         * modules/renameat-tests (Depends-on): Likewise.
17885         * modules/rmdir-tests (Depends-on): Likewise.
17886         * modules/symlink-tests (Depends-on): Likewise.
17887         * modules/symlinkat-tests (Depends-on): Likewise.
17888         * modules/unlink-tests (Depends-on): Likewise.
17889         * modules/utimens-tests (Depends-on): Likewise.
17890         * modules/utimensat-tests (Depends-on): Likewise.
17891
17892 2010-01-31  Bruno Haible  <bruno@clisp.org>
17893
17894         Perform the same test for many <math.h> functions.
17895         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
17896         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
17897         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
17898         of gl_MATHFUNC.
17899         * modules/acos (configure.ac): Likewise.
17900         * modules/asin (configure.ac): Likewise.
17901         * modules/atan (configure.ac): Likewise.
17902         * modules/atan2 (configure.ac): Likewise.
17903         * modules/cbrt (configure.ac): Likewise.
17904         * modules/copysign (configure.ac): Likewise.
17905         * modules/cos (configure.ac): Likewise.
17906         * modules/cosh (configure.ac): Likewise.
17907         * modules/erf (configure.ac): Likewise.
17908         * modules/erfc (configure.ac): Likewise.
17909         * modules/exp (configure.ac): Likewise.
17910         * modules/fmod (configure.ac): Likewise.
17911         * modules/hypot (configure.ac): Likewise.
17912         * modules/j0 (configure.ac): Likewise.
17913         * modules/j1 (configure.ac): Likewise.
17914         * modules/jn (configure.ac): Likewise.
17915         * modules/lgamma (configure.ac): Likewise.
17916         * modules/log (configure.ac): Likewise.
17917         * modules/log10 (configure.ac): Likewise.
17918         * modules/log1p (configure.ac): Likewise.
17919         * modules/pow (configure.ac): Likewise.
17920         * modules/remainder (configure.ac): Likewise.
17921         * modules/sin (configure.ac): Likewise.
17922         * modules/sinh (configure.ac): Likewise.
17923         * modules/tan (configure.ac): Likewise.
17924         * modules/tanh (configure.ac): Likewise.
17925         * modules/y0 (configure.ac): Likewise.
17926         * modules/y1 (configure.ac): Likewise.
17927         * modules/yn (configure.ac): Likewise.
17928         Suggested by Paolo Bonzini.
17929
17930 2010-01-31  Bruno Haible  <bruno@clisp.org>
17931
17932         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
17933
17934 2010-01-31  Bruno Haible  <bruno@clisp.org>
17935
17936         Work around getdelim() bug on FreeBSD 8.0.
17937         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
17938         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
17939         not work.
17940         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
17941         is 1.
17942         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
17943         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
17944         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
17945         a non-zero size.
17946         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
17947
17948 2010-01-31  Bruno Haible  <bruno@clisp.org>
17949
17950         Work around getline() bug on FreeBSD 8.0.
17951         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
17952         and a non-zero size.
17953         * tests/test-getline.c (main): Likewise.
17954         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
17955         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
17956
17957 2010-01-28  Eric Blake  <ebb9@byu.net>
17958
17959         regex: fix build failure
17960         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
17961         platforms.
17962
17963 2010-01-28  Jim Meyering  <meyering@redhat.com>
17964
17965         regex: do not ignore memory allocation failure
17966         * lib/regex_internal.c (create_cd_newstate): Detect
17967         re_node_set_init_copy failure.   Extracted from glibc commit
17968         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17969
17970         regex: sync more white-space changes from libc
17971         * lib/regex_internal.c: White-space only changes.
17972         * lib/regexec.c: Likewise.
17973
17974         regex: add many uses of __attribute_warn_unused_result__
17975         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
17976         * lib/regexec.c: Likewise.
17977         Extracted from a messy glibc commit.
17978
17979         regcomp.c: spelling and merge-artifact from glibc
17980         * lib/regcomp.c: Merge remainder of glibc's
17981         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17982
17983         regcomp.c: sync white-space changes from glibc
17984         * lib/regcomp.c: Merge to accommodate white space
17985         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17986
17987         regcomp.c: do not ignore internal return values
17988         * lib/regcomp.c: Do not ignore internal return values.
17989         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
17990         but without its white-space changes and spelling fixes.
17991
17992         regex_internal.h: define __attribute_warn_unused_result__
17993         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
17994
17995         maint: add a syntax-check rule to check for vulnerable Makefile.in
17996         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
17997
17998 2010-01-27  Jim Meyering  <meyering@redhat.com>
17999
18000         ncftpput-ftp: clean up spaces
18001         * build-aux/ncftpput-ftp: Make Copyright line consistent.
18002         Remove trailing blanks.
18003
18004 2010-01-27  Simon Josefsson  <simon@josefsson.org>
18005
18006         * build-aux/git-version-gen: Fix copyright statement.
18007         * build-aux/gnupload: Likewise.
18008         * tests/test-arcfour.c: Likewise.
18009         * tests/test-arctwo.c: Likewise.
18010         * tests/test-count-one-bits.c: Likewise.
18011         * tests/test-crc.c: Likewise.
18012         * tests/test-des.c: Likewise.
18013         * tests/test-gc-arcfour.c: Likewise.
18014         * tests/test-gc-arctwo.c: Likewise.
18015         * tests/test-gc-des.c: Likewise.
18016         * tests/test-gc-hmac-md5.c: Likewise.
18017         * tests/test-gc-hmac-sha1.c: Likewise.
18018         * tests/test-gc-md2.c: Likewise.
18019         * tests/test-gc-md4.c: Likewise.
18020         * tests/test-gc-md5.c: Likewise.
18021         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18022         * tests/test-gc-rijndael.c: Likewise.
18023         * tests/test-gc-sha1.c: Likewise.
18024         * tests/test-gc.c: Likewise.
18025         * tests/test-gethostname.c: Likewise.
18026         * tests/test-gettimeofday.c: Likewise.
18027         * tests/test-hash.c: Likewise.
18028         * tests/test-hmac-md5.c: Likewise.
18029         * tests/test-hmac-sha1.c: Likewise.
18030         * tests/test-md2.c: Likewise.
18031         * tests/test-md4.c: Likewise.
18032         * tests/test-md5.c: Likewise.
18033         * tests/test-memchr.c: Likewise.
18034         * tests/test-memchr2.c: Likewise.
18035         * tests/test-memcmp.c: Likewise.
18036         * tests/test-memmem.c: Likewise.
18037         * tests/test-memrchr.c: Likewise.
18038         * tests/test-rawmemchr.c: Likewise.
18039         * tests/test-read-file.c: Likewise.
18040         * tests/test-rijndael.c: Likewise.
18041         * tests/test-sockets.c: Likewise.
18042         * tests/test-strchrnul.c: Likewise.
18043         * tests/test-strstr.c: Likewise.
18044         * tests/test-strtod.c: Likewise.
18045         * build-aux/ncftpput-ftp: Likewise.
18046
18047 2010-01-26  Eric Blake  <ebb9@byu.net>
18048
18049         ignore-value: update recommended header name
18050         * modules/ignore-value (Include): Only use <> for headers that
18051         exist in glibc.
18052
18053 2010-01-26  Jim Meyering  <meyering@redhat.com>
18054
18055         test-userspec.c: avoid compiler warnings
18056         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
18057         and "initialization discards qualifiers..." warnings.
18058         Put the first "uid" in its own scope, and make char* members "const".
18059
18060 2010-01-25  Bruno Haible  <bruno@clisp.org>
18061
18062         gnulib-tool: Make warning diagnostics consistent.
18063         * gnulib-tool (func_warning): New function.
18064         Use it everywhere where gnulib-tool produces output to stderr and it is
18065         not a fatal error.
18066
18067 2010-01-25  Bruno Haible  <bruno@clisp.org>
18068
18069         Fix test dependencies.
18070         * modules/xstrtol-tests (Depends-on): Add inttypes.
18071         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
18072
18073 2010-01-25 Pádraig Brady <P@draigBrady.com>
18074
18075         syntax-check: detect incorrect boolean macro values in config.h
18076         * modules/maintainer-makefile (configure.ac): Parameterize the location
18077         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
18078         The logic is from Eric Blake and the location indicated by Jim Meyering.
18079         Note the more natural CONFIG_HEADER name is prohibited by automake
18080         for backwards compatibility reasons.
18081         * top/maint.mk (sc_Wundef_boolean): New rule.
18082
18083 2010-01-25  Jim Meyering  <meyering@redhat.com>
18084
18085         bootstrap: detect MacOS 10.6's shasum, too
18086         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
18087         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
18088
18089 2010-01-23  Jim Meyering  <meyering@redhat.com>
18090
18091         xstrtoll: new module
18092         * modules/xstrtoll: New file.
18093         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
18094         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
18095         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
18096         ./configure fails if you use this module and lack "long long".
18097         * modules/xstrtoll-tests: New module.
18098         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
18099         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
18100         new init.sh-based test framework.
18101
18102 2010-01-24  Bruno Haible  <bruno@clisp.org>
18103
18104         Tests for module 'yn'.
18105         * modules/yn-tests: New file.
18106         * tests/test-yn.c: New file.
18107
18108         Tests for module 'y1'.
18109         * modules/y1-tests: New file.
18110         * tests/test-y1.c: New file.
18111
18112         Tests for module 'y0'.
18113         * modules/y0-tests: New file.
18114         * tests/test-y0.c: New file.
18115
18116         Tests for module 'tanh'.
18117         * modules/tanh-tests: New file.
18118         * tests/test-tanh.c: New file.
18119
18120         Tests for module 'tan'.
18121         * modules/tan-tests: New file.
18122         * tests/test-tan.c: New file.
18123
18124         Tests for module 'sqrt'.
18125         * modules/sqrt-tests: New file.
18126         * tests/test-sqrt.c: New file.
18127
18128         Tests for module 'sinh'.
18129         * modules/sinh-tests: New file.
18130         * tests/test-sinh.c: New file.
18131
18132         Tests for module 'sin'.
18133         * modules/sin-tests: New file.
18134         * tests/test-sin.c: New file.
18135
18136         Tests for module 'rint'.
18137         * modules/rint-tests: New file.
18138         * tests/test-rint.c: New file.
18139
18140         Tests for module 'remainder'.
18141         * modules/remainder-tests: New file.
18142         * tests/test-remainder.c: New file.
18143
18144         Tests for module 'pow'.
18145         * modules/pow-tests: New file.
18146         * tests/test-pow.c: New file.
18147
18148         Tests for module 'nextafter'.
18149         * modules/nextafter-tests: New file.
18150         * tests/test-nextafter.c: New file.
18151
18152         Tests for module 'modf'.
18153         * modules/modf-tests: New file.
18154         * tests/test-modf.c: New file.
18155
18156         Tests for module 'logb'.
18157         * modules/logb-tests: New file.
18158         * tests/test-logb.c: New file.
18159
18160         Tests for module 'log1p'.
18161         * modules/log1p-tests: New file.
18162         * tests/test-log1p.c: New file.
18163
18164         Tests for module 'log10'.
18165         * modules/log10-tests: New file.
18166         * tests/test-log10.c: New file.
18167
18168         Tests for module 'log'.
18169         * modules/log-tests: New file.
18170         * tests/test-log.c: New file.
18171
18172         Tests for module 'lgamma'.
18173         * modules/lgamma-tests: New file.
18174         * tests/test-lgamma.c: New file.
18175
18176         Tests for module 'ldexp'.
18177         * modules/ldexp-tests: New file.
18178         * tests/test-ldexp.c: New file.
18179
18180         Tests for module 'jn'.
18181         * modules/jn-tests: New file.
18182         * tests/test-jn.c: New file.
18183
18184         Tests for module 'j1'.
18185         * modules/j1-tests: New file.
18186         * tests/test-j1.c: New file.
18187
18188         Tests for module 'j0'.
18189         * modules/j0-tests: New file.
18190         * tests/test-j0.c: New file.
18191
18192         Tests for module 'hypot'.
18193         * modules/hypot-tests: New file.
18194         * tests/test-hypot.c: New file.
18195
18196         Tests for module 'fmod'.
18197         * modules/fmod-tests: New file.
18198         * tests/test-fmod.c: New file.
18199
18200         Tests for module 'fabs'.
18201         * modules/fabs-tests: New file.
18202         * tests/test-fabs.c: New file.
18203
18204         Tests for module 'exp'.
18205         * modules/exp-tests: New file.
18206         * tests/test-exp.c: New file.
18207
18208         Tests for module 'erfc'.
18209         * modules/erfc-tests: New file.
18210         * tests/test-erfc.c: New file.
18211
18212         Tests for module 'erf'.
18213         * modules/erf-tests: New file.
18214         * tests/test-erf.c: New file.
18215
18216         Tests for module 'cosh'.
18217         * modules/cosh-tests: New file.
18218         * tests/test-cosh.c: New file.
18219
18220         Tests for module 'cos'.
18221         * modules/cos-tests: New file.
18222         * tests/test-cos.c: New file.
18223
18224         Tests for module 'copysign'.
18225         * modules/copysign-tests: New file.
18226         * tests/test-copysign.c: New file.
18227
18228         Tests for module 'cbrt'.
18229         * modules/cbrt-tests: New file.
18230         * tests/test-cbrt.c: New file.
18231
18232         Tests for module 'atan2'.
18233         * modules/atan2-tests: New file.
18234         * tests/test-atan2.c: New file.
18235
18236         Tests for module 'atan'.
18237         * modules/atan-tests: New file.
18238         * tests/test-atan.c: New file.
18239
18240         Tests for module 'asin'.
18241         * modules/asin-tests: New file.
18242         * tests/test-asin.c: New file.
18243
18244         Tests for module 'acos'.
18245         * modules/acos-tests: New file.
18246         * tests/test-acos.c: New file.
18247
18248 2010-01-24  Bruno Haible  <bruno@clisp.org>
18249
18250         Fix tests for common <math.h> functions.
18251         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
18252         code snippet that references the function pointer, rather than merely
18253         calling the function. Substitute the FUNC_LIBM variable.
18254         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
18255         * modules/acos (configure.ac): Likewise.
18256         * modules/asin (configure.ac): Likewise.
18257         * modules/atan (configure.ac): Likewise.
18258         * modules/atan2 (configure.ac): Likewise.
18259         * modules/cbrt (configure.ac): Likewise.
18260         * modules/copysign (configure.ac): Likewise.
18261         * modules/cos (configure.ac): Likewise.
18262         * modules/cosh (configure.ac): Likewise.
18263         * modules/erf (configure.ac): Likewise.
18264         * modules/erfc (configure.ac): Likewise.
18265         * modules/exp (configure.ac): Likewise.
18266         * modules/fabs (configure.ac): Likewise.
18267         * modules/fmod (configure.ac): Likewise.
18268         * modules/hypot (configure.ac): Likewise.
18269         * modules/j0 (configure.ac): Likewise.
18270         * modules/j1 (configure.ac): Likewise.
18271         * modules/jn (configure.ac): Likewise.
18272         * modules/ldexp (configure.ac): Likewise.
18273         * modules/lgamma (configure.ac): Likewise.
18274         * modules/log (configure.ac): Likewise.
18275         * modules/log10 (configure.ac): Likewise.
18276         * modules/log1p (configure.ac): Likewise.
18277         * modules/logb (configure.ac): Likewise.
18278         * modules/modf (configure.ac): Likewise.
18279         * modules/nextafter (configure.ac): Likewise.
18280         * modules/pow (configure.ac): Likewise.
18281         * modules/remainder (configure.ac): Likewise.
18282         * modules/rint (configure.ac): Likewise.
18283         * modules/sin (configure.ac): Likewise.
18284         * modules/sinh (configure.ac): Likewise.
18285         * modules/tan (configure.ac): Likewise.
18286         * modules/tanh (configure.ac): Likewise.
18287         * modules/y0 (configure.ac): Likewise.
18288         * modules/y1 (configure.ac): Likewise.
18289         * modules/yn (configure.ac): Likewise.
18290
18291 2010-01-24  Bruno Haible  <bruno@clisp.org>
18292
18293         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
18294         * tests/test-acosl.c (x): New variable.
18295         (main): Store argument in x and fetch it from x.
18296         * tests/test-asinl.c (x): New variable.
18297         (main): Store argument in x and fetch it from x.
18298         * tests/test-atanl.c (x): New variable.
18299         (main): Store argument in x and fetch it from x.
18300         * tests/test-cosl.c (x): New variable.
18301         (main): Store argument in x and fetch it from x.
18302         * tests/test-expl.c (x): New variable.
18303         (main): Store argument in x and fetch it from x.
18304         * tests/test-logl.c (x): New variable.
18305         (main): Store argument in x and fetch it from x.
18306         * tests/test-sinl.c (x): New variable.
18307         (main): Store argument in x and fetch it from x.
18308         * tests/test-sqrtl.c (x): New variable.
18309         (main): Store argument in x and fetch it from x.
18310         * tests/test-tanl.c (x): New variable.
18311         (main): Store argument in x and fetch it from x.
18312
18313 2010-01-24  Bruno Haible  <bruno@clisp.org>
18314
18315         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
18316         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
18317         assignments to the initial TESTS_ENVIRONMENT.
18318         * doc/gnulib.texi (Unit test modules): Document it.
18319         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
18320         TESTS_ENVIRONMENT.
18321         * modules/btowc-tests (Makefile.am): Likewise.
18322         * modules/c-stack-tests (Makefile.am): Likewise.
18323         * modules/c-strcase-tests (Makefile.am): Likewise.
18324         * modules/copy-file-tests (Makefile.am): Likewise.
18325         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
18326         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
18327         * modules/mbrtowc-tests (Makefile.am): Likewise.
18328         * modules/mbscasecmp-tests (Makefile.am): Likewise.
18329         * modules/mbscasestr-tests (Makefile.am): Likewise.
18330         * modules/mbschr-tests (Makefile.am): Likewise.
18331         * modules/mbscspn-tests (Makefile.am): Likewise.
18332         * modules/mbsinit-tests (Makefile.am): Likewise.
18333         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
18334         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
18335         * modules/mbspbrk-tests (Makefile.am): Likewise.
18336         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
18337         * modules/mbsrchr-tests (Makefile.am): Likewise.
18338         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
18339         * modules/mbsspn-tests (Makefile.am): Likewise.
18340         * modules/mbsstr-tests (Makefile.am): Likewise.
18341         * modules/nl_langinfo-tests (Makefile.am): Likewise.
18342         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
18343         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
18344         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
18345         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
18346         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
18347         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
18348         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
18349         * modules/wcrtomb-tests (Makefile.am): Likewise.
18350         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
18351         * modules/wcsrtombs-tests (Makefile.am): Likewise.
18352         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
18353         assignments from TESTS_ENVIRONMENT.
18354         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
18355         augmentation.
18356         * modules/argp-version-etc-tests (Makefile.am): Likewise.
18357         * modules/atexit-tests (Makefile.am): Likewise.
18358         * modules/binary-io-tests (Makefile.am): Likewise.
18359         * modules/closein-tests (Makefile.am): Likewise.
18360         * modules/dprintf-posix-tests (Makefile.am): Likewise.
18361         * modules/exclude-tests (Makefile.am): Likewise.
18362         * modules/fflush-tests (Makefile.am): Likewise.
18363         * modules/fpending-tests (Makefile.am): Likewise.
18364         * modules/fprintf-posix-tests (Makefile.am): Likewise.
18365         * modules/freadahead-tests (Makefile.am): Likewise.
18366         * modules/freadptr-tests (Makefile.am): Likewise.
18367         * modules/freadseek-tests (Makefile.am): Likewise.
18368         * modules/fseek-tests (Makefile.am): Likewise.
18369         * modules/fseeko-tests (Makefile.am): Likewise.
18370         * modules/ftell-tests (Makefile.am): Likewise.
18371         * modules/ftello-tests (Makefile.am): Likewise.
18372         * modules/idpriv-drop-tests (Makefile.am): Likewise.
18373         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
18374         * modules/lseek-tests (Makefile.am): Likewise.
18375         * modules/parse-duration-tests (Makefile.am): Likewise.
18376         * modules/perror-tests (Makefile.am): Likewise.
18377         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
18378         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
18379         * modules/pipe-tests (Makefile.am): Likewise.
18380         * modules/pread-tests (Makefile.am): Likewise.
18381         * modules/printf-posix-tests (Makefile.am): Likewise.
18382         * modules/select-tests (Makefile.am): Likewise.
18383         * modules/sigpipe-tests (Makefile.am): Likewise.
18384         * modules/tsearch-tests (Makefile.am): Likewise.
18385         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
18386         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
18387         * modules/uniname/uniname-tests (Makefile.am): Likewise.
18388         * modules/uniwidth/width-tests (Makefile.am): Likewise.
18389         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
18390         * modules/version-etc-tests (Makefile.am): Likewise.
18391         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
18392         * modules/vprintf-posix-tests (Makefile.am): Likewise.
18393         * modules/xalloc-die-tests (Makefile.am): Likewise.
18394         * modules/xprintf-posix-tests (Makefile.am): Likewise.
18395         * modules/xstrtoimax-tests (Makefile.am): Likewise.
18396         * modules/xstrtol-tests (Makefile.am): Likewise.
18397         * modules/xstrtoumax-tests (Makefile.am): Likewise.
18398         * modules/yesno-tests (Makefile.am): Likewise.
18399         Suggested by Jim Meyering.
18400
18401 2010-01-24  Bruno Haible  <bruno@clisp.org>
18402
18403         More documentation.
18404         * doc/gnulib.texi (Writing modules): New chapter.
18405         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
18406         the new chapter.
18407
18408 2010-01-24  Jim Meyering  <meyering@redhat.com>
18409
18410         maint.mk: do not prepend "./" after filtering
18411         * top/maint.mk (_prepend_srcdir_prefix): New variable
18412         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
18413         "./" when $(srcdir) is ".".
18414
18415         define STREQ(a,b) consistently, removing useless parentheses
18416         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
18417         since the only risk is that "a" or "b" contains an unparenthesized
18418         comma, but if either did that, STREQ would have 3 or more arguments.
18419         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
18420         * lib/fts.c (STREQ): Remove unnecessary parentheses.
18421         * lib/hash-triple.c (STREQ): Likewise.
18422         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
18423         * lib/getugroups.c (STREQ): Likewise.
18424
18425 2010-01-23  Jim Meyering  <meyering@redhat.com>
18426
18427         maint.mk: fix syntax-check in a non-srcdir build directory
18428         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
18429         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
18430
18431 2010-01-22  Jim Meyering  <meyering@redhat.com>
18432
18433         userspec: add unit tests
18434         * tests/test-userspec.c: New file.
18435         * modules/userspec-tests: Likewise.
18436
18437 2010-01-21  Jim Meyering  <meyering@redhat.com>
18438
18439         maint.mk: handle source file names containing "." robustly
18440         * top/maint.mk (_dot_escaped_srcdir): Define.
18441         (VC_LIST): Use it in LHS of sed substitution.
18442
18443 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
18444
18445         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
18446         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
18447         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
18448         from a non-srcdir build.
18449
18450 2010-01-20  Eric Blake  <ebb9@byu.net>
18451
18452         warn-on-use: use instead of link-warning
18453         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
18454         * modules/unistd (Depends-on, Makefile.am): Likewise.
18455         * modules/arpa_inet (Depends-on): Replace link-warning with
18456         warn-on-use.
18457         (Makefile.am): Update rules accordingly.
18458         * modules/ctype (Depends-on, Makefile.am): Likewise.
18459         * modules/dirent (Depends-on, Makefile.am): Likewise.
18460         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
18461         * modules/inttypes (Depends-on, Makefile.am): Likewise.
18462         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18463         * modules/locale (Depends-on, Makefile.am): Likewise.
18464         * modules/math (Depends-on, Makefile.am): Likewise.
18465         * modules/search (Depends-on, Makefile.am): Likewise.
18466         * modules/signal (Depends-on, Makefile.am): Likewise.
18467         * modules/spawn (Depends-on, Makefile.am): Likewise.
18468         * modules/stdlib (Depends-on, Makefile.am): Likewise.
18469         * modules/string (Depends-on, Makefile.am): Likewise.
18470         * modules/strings (Depends-on, Makefile.am): Likewise.
18471         * modules/sys_file (Depends-on, Makefile.am): Likewise.
18472         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
18473         * modules/sys_select (Depends-on, Makefile.am): Likewise.
18474         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
18475         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
18476         * modules/sys_times (Depends-on, Makefile.am): Likewise.
18477         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18478         * modules/wchar (Depends-on, Makefile.am): Likewise.
18479         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
18480         should be poisoned.
18481         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
18482         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
18483         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
18484         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18485         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18486         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
18487         * m4/math_h.m4 (gl_MATH_H): Likewise.
18488         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18489         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
18490         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18491         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
18492         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
18493         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
18494         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
18495         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
18496         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18497         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18498         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18499         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
18500         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18501         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18502         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18503         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
18504         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
18505         GL_LINK_WARNING.
18506         * lib/ctype.in.h: Likewise.
18507         * lib/dirent.in.h: Likewise.
18508         * lib/fcntl.in.h: Likewise.
18509         * lib/inttypes.in.h: Likewise.
18510         * lib/langinfo.in.h: Likewise.
18511         * lib/locale.in.h: Likewise.
18512         * lib/math.in.h: Likewise.
18513         * lib/search.in.h: Likewise.
18514         * lib/signal.in.h: Likewise.
18515         * lib/spawn.in.h: Likewise.
18516         * lib/stdio.in.h: Likewise.
18517         * lib/stdlib.in.h: Likewise.
18518         * lib/string.in.h: Likewise.
18519         * lib/strings.in.h: Likewise.
18520         * lib/sys_file.in.h: Likewise.
18521         * lib/sys_ioctl.in.h: Likewise.
18522         * lib/sys_select.in.h: Likewise.
18523         * lib/sys_socket.in.h: Likewise.
18524         * lib/sys_stat.in.h: Likewise.
18525         * lib/sys_times.in.h: Likewise.
18526         * lib/sys_utsname.in.h: Likewise.
18527         * lib/unistd.in.h: Likewise.
18528         * lib/wchar.in.h: Likewise.
18529
18530 2010-01-20  Bruno Haible  <bruno@clisp.org>
18531
18532         Avoid duplicate -lm.
18533         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
18534         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
18535         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
18536         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
18537         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
18538         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
18539         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
18540         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
18541         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
18542         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
18543         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
18544         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
18545         Reported by Paolo Bonzini.
18546
18547 2010-01-19  Bruno Haible  <bruno@clisp.org>
18548
18549         langinfo, nl_langinfo: Relicense under LGPLv2+.
18550         * modules/langinfo (License): Change to LGPLv2+.
18551         * modules/nl_langinfo (License): Likewise.
18552         Patch by David Lutterkort <lutter@redhat.com>.
18553
18554 2010-01-19  Bruno Haible  <bruno@clisp.org>
18555
18556         Avoid compilation error with cc on OSF/1 5.1.
18557         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
18558         statement, not before.
18559         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18560
18561 2010-01-18  Bruno Haible  <bruno@clisp.org>
18562
18563         Avoid a link error due to the __printf__ symbol.
18564         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
18565         and 2.6.x.
18566         (__format__, __printf__): Remove definitions.
18567         * lib/argp-fmtstream.h: Likewise.
18568         * lib/argp.h: Likewise.
18569         * lib/error.h: Likewise.
18570         * lib/vasnprintf.h: Likewise.
18571         * lib/xprintf.h: Likewise.
18572         * lib/xvasprintf.h: Likewise.
18573         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18574
18575 2010-01-18  Bruno Haible  <bruno@clisp.org>
18576
18577         Tests for module 'tanl'.
18578         * modules/tanl-tests: New file.
18579         * tests/test-tanl.c: New file.
18580
18581         Tests for module 'sqrtl'.
18582         * modules/sqrtl-tests: New file.
18583         * tests/test-sqrtl.c: New file.
18584
18585         Tests for module 'sinl'.
18586         * modules/sinl-tests: New file.
18587         * tests/test-sinl.c: New file.
18588
18589         Tests for module 'logl'.
18590         * modules/logl-tests: New file.
18591         * tests/test-logl.c: New file.
18592
18593         Tests for module 'expl'.
18594         * modules/expl-tests: New file.
18595         * tests/test-expl.c: New file.
18596
18597         Tests for module 'cosl'.
18598         * modules/cosl-tests: New file.
18599         * tests/test-cosl.c: New file.
18600
18601         Tests for module 'atanl'.
18602         * modules/atanl-tests: New file.
18603         * tests/test-atanl.c: New file.
18604
18605         Tests for module 'asinl'.
18606         * modules/asinl-tests: New file.
18607         * tests/test-asinl.c: New file.
18608
18609         Tests for module 'acosl'.
18610         * modules/acosl-tests: New file.
18611         * tests/test-acosl.c: New file.
18612
18613         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18614         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
18615         tanl): Use the standard gnulib idiom.
18616         * lib/cosl.c: Don't include trigl.c and sincosl.c.
18617         * lib/sinl.c: Likewise.
18618         * lib/tanl.c: Don't include trigl.c.
18619         (kernel_tanl): Make static.
18620         * lib/sincosl.c: Include trigl.h first.
18621         * lib/trigl.c: Likewise.
18622         * m4/acosl.m4: New file.
18623         * m4/asinl.m4: New file.
18624         * m4/atanl.m4: New file.
18625         * m4/cosl.m4: New file.
18626         * m4/expl.m4: New file.
18627         * m4/logl.m4: New file.
18628         * m4/sinl.m4: New file.
18629         * m4/sqrtl.m4: New file.
18630         * m4/tanl.m4: New file.
18631         * m4/mathl.m4: Remove file.
18632         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
18633         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18634         Don't initialize GNULIB_MATHL.
18635         * modules/acosl: New file.
18636         * modules/asinl: New file.
18637         * modules/atanl: New file.
18638         * modules/cosl: New file.
18639         * modules/expl: New file.
18640         * modules/logl: New file.
18641         * modules/sinl: New file.
18642         * modules/sqrtl: New file.
18643         * modules/tanl: New file.
18644         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
18645         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
18646         substitute GNULIB_MATHL.
18647         * modules/mathl: Rewritten.
18648         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
18649         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
18650         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
18651         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
18652         * doc/posix-functions/expl.texi: Mention the 'expl' module.
18653         * doc/posix-functions/logl.texi: Mention the 'logl' module.
18654         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
18655         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
18656         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
18657
18658 2010-01-18  Bruno Haible  <bruno@clisp.org>
18659
18660         sqrt: Make gl_FUNC_SQRT requirable.
18661         * m4/sqrt.m4: New file.
18662         * modules/sqrt (Files): Add it.
18663         (configure.ac): Invoke gl_FUNC_SQRT.
18664
18665 2010-01-18  Bruno Haible  <bruno@clisp.org>
18666
18667         New modules for common <math.h> functions.
18668         * m4/mathfunc.m4: New file.
18669         * modules/acos: New file.
18670         * modules/asin: New file.
18671         * modules/atan: New file.
18672         * modules/atan2: New file.
18673         * modules/cbrt: New file.
18674         * modules/copysign: New file.
18675         * modules/cos: New file.
18676         * modules/cosh: New file.
18677         * modules/erf: New file.
18678         * modules/erfc: New file.
18679         * modules/exp: New file.
18680         * modules/fabs: New file.
18681         * modules/fmod: New file.
18682         * modules/hypot: New file.
18683         * modules/j0: New file.
18684         * modules/j1: New file.
18685         * modules/jn: New file.
18686         * modules/ldexp: New file.
18687         * modules/lgamma: New file.
18688         * modules/log: New file.
18689         * modules/log10: New file.
18690         * modules/log1p: New file.
18691         * modules/logb: New file.
18692         * modules/modf: New file.
18693         * modules/nextafter: New file.
18694         * modules/pow: New file.
18695         * modules/remainder: New file.
18696         * modules/rint: New file.
18697         * modules/sin: New file.
18698         * modules/sinh: New file.
18699         * modules/sqrt: New file.
18700         * modules/tan: New file.
18701         * modules/tanh: New file.
18702         * modules/y0: New file.
18703         * modules/y1: New file.
18704         * modules/yn: New file.
18705         * doc/posix-functions/acos.texi: Mention the 'acos' module.
18706         * doc/posix-functions/asin.texi: Mention the 'asin' module.
18707         * doc/posix-functions/atan.texi: Mention the 'atan' module.
18708         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
18709         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
18710         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
18711         * doc/posix-functions/cos.texi: Mention the 'cos' module.
18712         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
18713         * doc/posix-functions/erf.texi: Mention the 'erf' module.
18714         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
18715         * doc/posix-functions/exp.texi: Mention the 'exp' module.
18716         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
18717         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
18718         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
18719         * doc/posix-functions/j0.texi: Mention the 'j0' module.
18720         * doc/posix-functions/j1.texi: Mention the 'j1' module.
18721         * doc/posix-functions/jn.texi: Mention the 'jn' module.
18722         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
18723         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
18724         * doc/posix-functions/log.texi: Mention the 'log' module.
18725         * doc/posix-functions/log10.texi: Mention the 'log10' module.
18726         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
18727         * doc/posix-functions/logb.texi: Mention the 'logb' module.
18728         * doc/posix-functions/modf.texi: Mention the 'modf' module.
18729         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
18730         * doc/posix-functions/pow.texi: Mention the 'pow' module.
18731         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
18732         * doc/posix-functions/rint.texi: Mention the 'rint' module.
18733         * doc/posix-functions/sin.texi: Mention the 'sin' module.
18734         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
18735         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
18736         * doc/posix-functions/tan.texi: Mention the 'tan' module.
18737         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
18738         * doc/posix-functions/y0.texi: Mention the 'y0' module.
18739         * doc/posix-functions/y1.texi: Mention the 'y1' module.
18740         * doc/posix-functions/yn.texi: Mention the 'yn' module.
18741
18742 2010-01-18  Jim Meyering  <meyering@redhat.com>
18743
18744         ignore-value: relax license to LGPLv2+
18745         * modules/ignore-value (License): Relax to LGPLv2+.
18746
18747         getdate: don't leak when TZ contains two or more '"'s
18748         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
18749         double quote in TZ after the first one.
18750
18751         readtokens: do not leak internal token_lengths buffer
18752         * lib/readtokens.c (readtokens): Free the local, lengths,
18753         when the supplied "token_lengths" parameter is NULL.
18754
18755 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18756
18757         Fix a couple of missing LIBTHREAD link failures on AIX.
18758         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
18759         $(LIBTHREAD).
18760         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
18761
18762         Link test-poll against INET_PTON_LIB.
18763         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
18764         for inet_pton on Solaris 10.
18765
18766 2010-01-17  Bruno Haible  <bruno@clisp.org>
18767
18768         unistdio/*-sprintf: Fix typo in module description.
18769         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
18770         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
18771         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
18772         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
18773         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
18774         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
18775         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
18776         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18777
18778 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18779
18780         gnulib-tool: fix filelist for AIX, HP-UX ksh.
18781         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
18782         variables in shell case patterns, for AIX and HP-UX ksh.
18783
18784         Split large sed scripts, for HP-UX sed.
18785         * modules/stdio: Split sed scripts around 50 sed commands,
18786         to avoid HP-UX limit of 99 commands, in the near future.
18787         * modules/string: Likewise.
18788         * modules/unistd: Likewise.
18789
18790         gnulib-tool: avoid writing in the current directory.
18791         * gnulib-tool (func_emit_lib_Makefile_am)
18792         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
18793         not in the current directory, so concurrent gnulib-tool
18794         instances do not interfere.
18795
18796 2010-01-16  Jim Meyering  <meyering@redhat.com>
18797
18798         doc: update users.txt
18799         * users.txt: Add grep.
18800         (diffutils, gzip): Update URLs.
18801
18802 2010-01-12  Bruno Haible  <bruno@clisp.org>
18803
18804         posix_spawn: Avoid test failure on Cygwin.
18805         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
18806         characters.
18807         Reported by Simon Josefsson.
18808
18809 2010-01-12  Bruno Haible  <bruno@clisp.org>
18810
18811         * tests/test-cond.c (main): When skipping the test, show the reason.
18812
18813 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18814
18815         * lib/striconv.c (str_cd_iconv): Avoid if before free.
18816
18817 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18818
18819         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
18820         VC_LIST_ALWAYS_EXCLUDE_REGEX.
18821
18822 2010-01-12  Eric Blake  <ebb9@byu.net>
18823
18824         build: guarantee AS_VAR_IF
18825         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
18826         (gl_AS_VAR_IF): Move...
18827         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
18828         Reported by Simon Josefsson.
18829
18830 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18831
18832         * lib/stdio.in.h: Fix typo.
18833
18834 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18835
18836         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
18837         libgpg-error.
18838
18839 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18840
18841         * tests/test-xalloc-die.sh: Use $EXEEXT.
18842
18843 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18844             Bruno Haible  <bruno@clisp.org>
18845
18846         getlogin, getlogin_r: Avoid test failure.
18847         * tests/test-getlogin.c: Include <stdio.h>.
18848         (main): Skip the test when the function fails because stdin is not a
18849         tty.
18850         * tests/test-getlogin_r.c: Include <stdio.h>.
18851         (main): Skip the test when the function fails because stdin is not a
18852         tty.
18853
18854 2010-01-11  Eric Blake  <ebb9@byu.net>
18855
18856         tests: avoid more large file warnings
18857         * tests/test-fflush.c: Avoid warning about ftell use.
18858         * tests/test-fseek.c: Avoid warning about fseek use.
18859
18860 2010-01-10  Bruno Haible  <bruno@clisp.org>
18861
18862         nproc: Work better on Linux when /proc and /sys are not mounted.
18863         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
18864         as lower bound when, on glibc/Linux systems,
18865         sysconf (_SC_NPROCESSORS_CONF) returns 1.
18866         Suggested by Pádraig Brady <P@draigbrady.com>.
18867         Reported by Dmitry V. Levin <ldv@altlinux.org>.
18868
18869         nproc: Refactor.
18870         * lib/nproc.c (num_processors_via_affinity_mask): New function,
18871         extracted from num_processors.
18872         (num_processors): Call it.
18873
18874 2010-01-11  Jim Meyering  <meyering@redhat.com>
18875
18876         utimecmp: avoid new warning from upcoming gcc-4.5.0
18877         * lib/utimecmp.c (BILLION): Define using #define rather than an
18878         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
18879
18880 2010-01-11  Eric Blake  <ebb9@byu.net>
18881
18882         math: add portability warnings for classification macros
18883         * modules/math (Depends-on): Add warn-on-use.
18884         (Makefile.am): Provide new substitutions.
18885         * m4/math_h.m4 (gl_MATH_H): Require inline.
18886         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
18887         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
18888         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
18889         implement warnings.
18890
18891         unistd: warn on use of environ without module
18892         * modules/unistd (Depends-on): Add warn-on-use.
18893         (Makefile.am): Provide new substitutions.
18894         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
18895         * lib/unistd.in.h (environ): Wrap with a warning helper function.
18896
18897         stdio: warn on suspicious uses
18898         * modules/stdio (Depends-on): Add warn-on-use.
18899         (Makefile.am): Provide new substitutions.
18900         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
18901         fseeko.
18902         * lib/stdio.in.h (gets): Always warn on use.
18903         (fseek, ftell): Adjust when warnings are issued, and honor
18904         _GL_NO_LARGE_FILES as a way to silence the warning.
18905         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
18906         any warning about large file offsets.
18907         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
18908         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
18909         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
18910         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
18911         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
18912         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
18913         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
18914         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
18915
18916         warn-on-use: new module
18917         * modules/warn-on-use: New file.
18918         * build-aux/warn-on-use.h: Likewise.
18919         * m4/warn-on-use.m4: Likewise.
18920         * MODULES.html.sh (Support for building): Mention it.
18921
18922 2010-01-10  Bruno Haible  <bruno@clisp.org>
18923
18924         Tests for module 'unistr/u32-strdup'.
18925         * modules/unistr/u32-strdup-tests: New file.
18926         * tests/unistr/test-u32-strdup.c: New file.
18927
18928         Tests for module 'unistr/u16-strdup'.
18929         * modules/unistr/u16-strdup-tests: New file.
18930         * tests/unistr/test-u16-strdup.c: New file.
18931
18932         Tests for module 'unistr/u8-strdup'.
18933         * modules/unistr/u8-strdup-tests: New file.
18934         * tests/unistr/test-u8-strdup.c: New file.
18935         * tests/unistr/test-strdup.h: New file.
18936
18937         Tests for module 'unistr/u32-strncmp'.
18938         * modules/unistr/u32-strncmp-tests: New file.
18939         * tests/unistr/test-u32-strncmp.c: New file.
18940
18941         Tests for module 'unistr/u16-strncmp'.
18942         * modules/unistr/u16-strncmp-tests: New file.
18943         * tests/unistr/test-u16-strncmp.c: New file.
18944
18945         Tests for module 'unistr/u8-strncmp'.
18946         * modules/unistr/u8-strncmp-tests: New file.
18947         * tests/unistr/test-u8-strncmp.c: New file.
18948         * tests/unistr/test-strncmp.h: New file.
18949
18950         Tests for module 'unistr/u32-strcoll'.
18951         * modules/unistr/u32-strcoll-tests: New file.
18952         * tests/unistr/test-u32-strcoll.c: New file.
18953
18954         Tests for module 'unistr/u16-strcoll'.
18955         * modules/unistr/u16-strcoll-tests: New file.
18956         * tests/unistr/test-u16-strcoll.c: New file.
18957
18958         Tests for module 'unistr/u8-strcoll'.
18959         * modules/unistr/u8-strcoll-tests: New file.
18960         * tests/unistr/test-u8-strcoll.c: New file.
18961
18962         Tests for module 'unistr/u32-strcmp'.
18963         * modules/unistr/u32-strcmp-tests: New file.
18964         * tests/unistr/test-u32-strcmp.c: New file.
18965         * tests/unistr/test-u32-strcmp.h: New file.
18966
18967         Tests for module 'unistr/u16-strcmp'.
18968         * modules/unistr/u16-strcmp-tests: New file.
18969         * tests/unistr/test-u16-strcmp.c: New file.
18970         * tests/unistr/test-u16-strcmp.h: New file.
18971
18972         Tests for module 'unistr/u8-strcmp'.
18973         * modules/unistr/u8-strcmp-tests: New file.
18974         * tests/unistr/test-u8-strcmp.c: New file.
18975         * tests/unistr/test-u8-strcmp.h: New file.
18976         * tests/unistr/test-strcmp.h: New file.
18977
18978         Tests for module 'unistr/u32-strncat'.
18979         * modules/unistr/u32-strncat-tests: New file.
18980         * tests/unistr/test-u32-strncat.c: New file.
18981
18982         Tests for module 'unistr/u16-strncat'.
18983         * modules/unistr/u16-strncat-tests: New file.
18984         * tests/unistr/test-u16-strncat.c: New file.
18985
18986         Tests for module 'unistr/u8-strncat'.
18987         * modules/unistr/u8-strncat-tests: New file.
18988         * tests/unistr/test-u8-strncat.c: New file.
18989         * tests/unistr/test-strncat.h: New file.
18990
18991         Tests for module 'unistr/u32-strcat'.
18992         * modules/unistr/u32-strcat-tests: New file.
18993         * tests/unistr/test-u32-strcat.c: New file.
18994
18995         Tests for module 'unistr/u16-strcat'.
18996         * modules/unistr/u16-strcat-tests: New file.
18997         * tests/unistr/test-u16-strcat.c: New file.
18998
18999         Tests for module 'unistr/u8-strcat'.
19000         * modules/unistr/u8-strcat-tests: New file.
19001         * tests/unistr/test-u8-strcat.c: New file.
19002         * tests/unistr/test-strcat.h: New file.
19003
19004         Tests for module 'unistr/u32-stpncpy'.
19005         * modules/unistr/u32-stpncpy-tests: New file.
19006         * tests/unistr/test-u32-stpncpy.c: New file.
19007
19008         Tests for module 'unistr/u16-stpncpy'.
19009         * modules/unistr/u16-stpncpy-tests: New file.
19010         * tests/unistr/test-u16-stpncpy.c: New file.
19011
19012         Tests for module 'unistr/u8-stpncpy'.
19013         * modules/unistr/u8-stpncpy-tests: New file.
19014         * tests/unistr/test-u8-stpncpy.c: New file.
19015         * tests/unistr/test-stpncpy.h: New file.
19016
19017         Tests for module 'unistr/u32-strncpy'.
19018         * modules/unistr/u32-strncpy-tests: New file.
19019         * tests/unistr/test-u32-strncpy.c: New file.
19020
19021         Tests for module 'unistr/u16-strncpy'.
19022         * modules/unistr/u16-strncpy-tests: New file.
19023         * tests/unistr/test-u16-strncpy.c: New file.
19024
19025         Tests for module 'unistr/u8-strncpy'.
19026         * modules/unistr/u8-strncpy-tests: New file.
19027         * tests/unistr/test-u8-strncpy.c: New file.
19028         * tests/unistr/test-strncpy.h: New file.
19029
19030         Tests for module 'unistr/u32-stpcpy'.
19031         * modules/unistr/u32-stpcpy-tests: New file.
19032         * tests/unistr/test-u32-stpcpy.c: New file.
19033
19034         Tests for module 'unistr/u16-stpcpy'.
19035         * modules/unistr/u16-stpcpy-tests: New file.
19036         * tests/unistr/test-u16-stpcpy.c: New file.
19037
19038         Tests for module 'unistr/u8-stpcpy'.
19039         * modules/unistr/u8-stpcpy-tests: New file.
19040         * tests/unistr/test-u8-stpcpy.c: New file.
19041         * tests/unistr/test-stpcpy.h: New file.
19042
19043         Tests for module 'unistr/u32-strcpy'.
19044         * modules/unistr/u32-strcpy-tests: New file.
19045         * tests/unistr/test-u32-strcpy.c: New file.
19046
19047         Tests for module 'unistr/u16-strcpy'.
19048         * modules/unistr/u16-strcpy-tests: New file.
19049         * tests/unistr/test-u16-strcpy.c: New file.
19050
19051         Tests for module 'unistr/u8-strcpy'.
19052         * modules/unistr/u8-strcpy-tests: New file.
19053         * tests/unistr/test-u8-strcpy.c: New file.
19054         * tests/unistr/test-strcpy.h: New file.
19055
19056         Tests for module 'unistr/u32-strnlen'.
19057         * modules/unistr/u32-strnlen-tests: New file.
19058         * tests/unistr/test-u32-strnlen.c: New file.
19059
19060         Tests for module 'unistr/u16-strnlen'.
19061         * modules/unistr/u16-strnlen-tests: New file.
19062         * tests/unistr/test-u16-strnlen.c: New file.
19063
19064         Tests for module 'unistr/u8-strnlen'.
19065         * modules/unistr/u8-strnlen-tests: New file.
19066         * tests/unistr/test-u8-strnlen.c: New file.
19067         * tests/unistr/test-strnlen.h: New file.
19068
19069         Tests for module 'unistr/u32-strlen'.
19070         * modules/unistr/u32-strlen-tests: New file.
19071         * tests/unistr/test-u32-strlen.c: New file.
19072
19073         Tests for module 'unistr/u16-strlen'.
19074         * modules/unistr/u16-strlen-tests: New file.
19075         * tests/unistr/test-u16-strlen.c: New file.
19076
19077         Tests for module 'unistr/u8-strlen'.
19078         * modules/unistr/u8-strlen-tests: New file.
19079         * tests/unistr/test-u8-strlen.c: New file.
19080
19081         Tests for module 'unistr/u32-prev'.
19082         * modules/unistr/u32-prev-tests: New file.
19083         * tests/unistr/test-u32-prev.c: New file.
19084
19085         Tests for module 'unistr/u16-prev'.
19086         * modules/unistr/u16-prev-tests: New file.
19087         * tests/unistr/test-u16-prev.c: New file.
19088
19089         Tests for module 'unistr/u8-prev'.
19090         * modules/unistr/u8-prev-tests: New file.
19091         * tests/unistr/test-u8-prev.c: New file.
19092
19093         Tests for module 'unistr/u32-next'.
19094         * modules/unistr/u32-next-tests: New file.
19095         * tests/unistr/test-u32-next.c: New file.
19096
19097         Tests for module 'unistr/u16-next'.
19098         * modules/unistr/u16-next-tests: New file.
19099         * tests/unistr/test-u16-next.c: New file.
19100
19101         Tests for module 'unistr/u8-next'.
19102         * modules/unistr/u8-next-tests: New file.
19103         * tests/unistr/test-u8-next.c: New file.
19104
19105         Tests for module 'unistr/u32-strmbtouc'.
19106         * modules/unistr/u32-strmbtouc-tests: New file.
19107         * tests/unistr/test-u32-strmbtouc.c: New file.
19108
19109         Tests for module 'unistr/u16-strmbtouc'.
19110         * modules/unistr/u16-strmbtouc-tests: New file.
19111         * tests/unistr/test-u16-strmbtouc.c: New file.
19112
19113         Tests for module 'unistr/u8-strmbtouc'.
19114         * modules/unistr/u8-strmbtouc-tests: New file.
19115         * tests/unistr/test-u8-strmbtouc.c: New file.
19116
19117         Tests for module 'unistr/u32-strmblen'.
19118         * modules/unistr/u32-strmblen-tests: New file.
19119         * tests/unistr/test-u32-strmblen.c: New file.
19120
19121         Tests for module 'unistr/u16-strmblen'.
19122         * modules/unistr/u16-strmblen-tests: New file.
19123         * tests/unistr/test-u16-strmblen.c: New file.
19124
19125         Tests for module 'unistr/u8-strmblen'.
19126         * modules/unistr/u8-strmblen-tests: New file.
19127         * tests/unistr/test-u8-strmblen.c: New file.
19128
19129         Tests for module 'unistr/u32-cpy-alloc'.
19130         * modules/unistr/u32-cpy-alloc-tests: New file.
19131         * tests/unistr/test-u32-cpy-alloc.c: New file.
19132
19133         Tests for module 'unistr/u16-cpy-alloc'.
19134         * modules/unistr/u16-cpy-alloc-tests: New file.
19135         * tests/unistr/test-u16-cpy-alloc.c: New file.
19136
19137         Tests for module 'unistr/u8-cpy-alloc'.
19138         * modules/unistr/u8-cpy-alloc-tests: New file.
19139         * tests/unistr/test-u8-cpy-alloc.c: New file.
19140         * tests/unistr/test-cpy-alloc.h: New file.
19141
19142         Tests for module 'unistr/u32-mbsnlen'.
19143         * modules/unistr/u32-mbsnlen-tests: New file.
19144         * tests/unistr/test-u32-mbsnlen.c: New file.
19145
19146         Tests for module 'unistr/u16-mbsnlen'.
19147         * modules/unistr/u16-mbsnlen-tests: New file.
19148         * tests/unistr/test-u16-mbsnlen.c: New file.
19149
19150         Tests for module 'unistr/u8-mbsnlen'.
19151         * modules/unistr/u8-mbsnlen-tests: New file.
19152         * tests/unistr/test-u8-mbsnlen.c: New file.
19153
19154         Tests for module 'unistr/u32-chr'.
19155         * modules/unistr/u32-chr-tests: New file.
19156         * tests/unistr/test-u32-chr.c: New file.
19157
19158         Tests for module 'unistr/u16-chr'.
19159         * modules/unistr/u16-chr-tests: New file.
19160         * tests/unistr/test-u16-chr.c: New file.
19161
19162         Tests for module 'unistr/u8-chr'.
19163         * modules/unistr/u8-chr-tests: New file.
19164         * tests/unistr/test-u8-chr.c: New file.
19165         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
19166
19167         Tests for module 'unistr/u32-cmp2'.
19168         * modules/unistr/u32-cmp2-tests: New file.
19169         * tests/unistr/test-u32-cmp2.c: New file.
19170
19171         Tests for module 'unistr/u16-cmp2'.
19172         * modules/unistr/u16-cmp2-tests: New file.
19173         * tests/unistr/test-u16-cmp2.c: New file.
19174
19175         Tests for module 'unistr/u8-cmp2'.
19176         * modules/unistr/u8-cmp2-tests: New file.
19177         * tests/unistr/test-u8-cmp2.c: New file.
19178         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
19179
19180         Tests for module 'unistr/u32-cmp'.
19181         * modules/unistr/u32-cmp-tests: New file.
19182         * tests/unistr/test-u32-cmp.c: New file.
19183
19184         Tests for module 'unistr/u16-cmp'.
19185         * modules/unistr/u16-cmp-tests: New file.
19186         * tests/unistr/test-u16-cmp.c: New file.
19187
19188         Tests for module 'unistr/u8-cmp'.
19189         * modules/unistr/u8-cmp-tests: New file.
19190         * tests/unistr/test-u8-cmp.c: New file.
19191         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
19192
19193         Tests for module 'unistr/u32-set'.
19194         * modules/unistr/u32-set-tests: New file.
19195         * tests/unistr/test-u32-set.c: New file.
19196
19197         Tests for module 'unistr/u16-set'.
19198         * modules/unistr/u16-set-tests: New file.
19199         * tests/unistr/test-u16-set.c: New file.
19200
19201         Tests for module 'unistr/u8-set'.
19202         * modules/unistr/u8-set-tests: New file.
19203         * tests/unistr/test-u8-set.c: New file.
19204         * tests/unistr/test-set.h: New file.
19205
19206         Tests for module 'unistr/u32-move'.
19207         * modules/unistr/u32-move-tests: New file.
19208         * tests/unistr/test-u32-move.c: New file.
19209
19210         Tests for module 'unistr/u16-move'.
19211         * modules/unistr/u16-move-tests: New file.
19212         * tests/unistr/test-u16-move.c: New file.
19213
19214         Tests for module 'unistr/u8-move'.
19215         * modules/unistr/u8-move-tests: New file.
19216         * tests/unistr/test-u8-move.c: New file.
19217         * tests/unistr/test-move.h: New file.
19218
19219         Tests for module 'unistr/u32-cpy'.
19220         * modules/unistr/u32-cpy-tests: New file.
19221         * tests/unistr/test-u32-cpy.c: New file.
19222
19223         Tests for module 'unistr/u16-cpy'.
19224         * modules/unistr/u16-cpy-tests: New file.
19225         * tests/unistr/test-u16-cpy.c: New file.
19226
19227         Tests for module 'unistr/u8-cpy'.
19228         * modules/unistr/u8-cpy-tests: New file.
19229         * tests/unistr/test-u8-cpy.c: New file.
19230         * tests/unistr/test-cpy.h: New file.
19231
19232 2010-01-09  Bruno Haible  <bruno@clisp.org>
19233
19234         Tests for module 'unistr/u32-uctomb'.
19235         * modules/unistr/u32-uctomb-tests: New file.
19236         * tests/unistr/test-u32-uctomb.c: New file.
19237
19238         Tests for module 'unistr/u16-uctomb'.
19239         * modules/unistr/u16-uctomb-tests: New file.
19240         * tests/unistr/test-u16-uctomb.c: New file.
19241
19242         Tests for module 'unistr/u8-uctomb'.
19243         * modules/unistr/u8-uctomb-tests: New file.
19244         * tests/unistr/test-u8-uctomb.c: New file.
19245
19246         Tests for module 'unistr/u32-mbtoucr'.
19247         * modules/unistr/u32-mbtoucr-tests: New file.
19248         * tests/unistr/test-u32-mbtoucr.c: New file.
19249
19250         Tests for module 'unistr/u16-mbtoucr'.
19251         * modules/unistr/u16-mbtoucr-tests: New file.
19252         * tests/unistr/test-u16-mbtoucr.c: New file.
19253
19254         Tests for module 'unistr/u8-mbtoucr'.
19255         * modules/unistr/u8-mbtoucr-tests: New file.
19256         * tests/unistr/test-u8-mbtoucr.c: New file.
19257
19258         Tests for module 'unistr/u32-mbtouc'.
19259         * modules/unistr/u32-mbtouc-tests: New file.
19260         * tests/unistr/test-u32-mbtouc.c: New file.
19261
19262         Tests for module 'unistr/u16-mbtouc'.
19263         * modules/unistr/u16-mbtouc-tests: New file.
19264         * tests/unistr/test-u16-mbtouc.c: New file.
19265
19266         Tests for module 'unistr/u8-mbtouc'.
19267         * modules/unistr/u8-mbtouc-tests: New file.
19268         * tests/unistr/test-u8-mbtouc.c: New file.
19269
19270         Tests for module 'unistr/u32-mbtouc-unsafe'.
19271         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
19272         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
19273         * tests/unistr/test-u32-mbtouc.h: New file.
19274
19275         Tests for module 'unistr/u16-mbtouc-unsafe'.
19276         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
19277         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
19278         * tests/unistr/test-u16-mbtouc.h: New file.
19279
19280         Tests for module 'unistr/u8-mbtouc-unsafe'.
19281         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
19282         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
19283         * tests/unistr/test-u8-mbtouc.h: New file.
19284
19285         Tests for module 'unistr/u32-mblen'.
19286         * modules/unistr/u32-mblen-tests: New file.
19287         * tests/unistr/test-u32-mblen.c: New file.
19288
19289         Tests for module 'unistr/u16-mblen'.
19290         * modules/unistr/u16-mblen-tests: New file.
19291         * tests/unistr/test-u16-mblen.c: New file.
19292
19293         Tests for module 'unistr/u8-mblen'.
19294         * modules/unistr/u8-mblen-tests: New file.
19295         * tests/unistr/test-u8-mblen.c: New file.
19296
19297         Tests for module 'unistr/u32-to-u16'.
19298         * modules/unistr/u32-to-u16-tests: New file.
19299         * tests/unistr/test-u32-to-u16.c: New file.
19300
19301         Tests for module 'unistr/u32-to-u8'.
19302         * modules/unistr/u32-to-u8-tests: New file.
19303         * tests/unistr/test-u32-to-u8.c: New file.
19304
19305         Tests for module 'unistr/u16-to-u32'.
19306         * modules/unistr/u16-to-u32-tests: New file.
19307         * tests/unistr/test-u16-to-u32.c: New file.
19308
19309         Tests for module 'unistr/u16-to-u8'.
19310         * modules/unistr/u16-to-u8-tests: New file.
19311         * tests/unistr/test-u16-to-u8.c: New file.
19312
19313         Tests for module 'unistr/u8-to-u32'.
19314         * modules/unistr/u8-to-u32-tests: New file.
19315         * tests/unistr/test-u8-to-u32.c: New file.
19316
19317         Tests for module 'unistr/u8-to-u16'.
19318         * modules/unistr/u8-to-u16-tests: New file.
19319         * tests/unistr/test-u8-to-u16.c: New file.
19320
19321         Tests for module 'unistr/u32-check'.
19322         * modules/unistr/u32-check-tests: New file.
19323         * tests/unistr/test-u32-check.c: New file.
19324
19325         Tests for module 'unistr/u16-check'.
19326         * modules/unistr/u16-check-tests: New file.
19327         * tests/unistr/test-u16-check.c: New file.
19328
19329         Tests for module 'unistr/u8-check'.
19330         * modules/unistr/u8-check-tests: New file.
19331         * tests/unistr/test-u8-check.c: New file.
19332
19333         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
19334         (category_equals): New function.
19335         (main): Add more tests.
19336         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
19337
19338         * tests/unictype/test-bidi_byname.c (main): Add more tests.
19339
19340 2010-01-10  Bruno Haible  <bruno@clisp.org>
19341
19342         unistr/u*-strcoll: Try harder to distinguish different strings.
19343         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
19344         compare s1 and s2 to see if they are different.
19345
19346 2010-01-10  Bruno Haible  <bruno@clisp.org>
19347
19348         unistr/u*-stpncpy: Fix the return value.
19349         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
19350         description of the return value consistent with stpncpy in glibc.
19351         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
19352         written non-NUL unit.
19353
19354 2010-01-10  Bruno Haible  <bruno@clisp.org>
19355
19356         unistr/u*-next: Add missing dependencies.
19357         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
19358         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
19359         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
19360
19361 2010-01-10  Bruno Haible  <bruno@clisp.org>
19362
19363         unistr/u8-mbsnlen: Fix return value for incomplete character.
19364         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
19365         u8_mblen.
19366         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
19367         Remove unistr/u8-mblen.
19368         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
19369         u16_mblen.
19370         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
19371         Remove unistr/u16-mblen.
19372
19373 2010-01-10  Bruno Haible  <bruno@clisp.org>
19374
19375         wchar: Fix compilation error when <wchar.h> is used from coreutils.
19376         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
19377         Reported by Brian Gough <bjg@gnu.org> and
19378         Chris Clayton <chris2553@googlemail.com> via
19379         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
19380
19381 2010-01-09  Bruno Haible  <bruno@clisp.org>
19382
19383         unistr/u16-to-u32: Reject invalid input.
19384         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
19385         u16_mbtouc.
19386         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
19387         Remove unistr/u16-mbtouc.
19388
19389         unistr/u16-to-u8: Reject invalid input.
19390         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
19391         u16_mbtouc.
19392         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
19393         Remove unistr/u16-mbtouc.
19394
19395         unistr/u8-to-u32: Reject invalid input.
19396         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
19397         u8_mbtouc.
19398         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
19399         Remove unistr/u8-mbtouc.
19400
19401         unistr/u8-to-u16: Reject invalid input.
19402         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
19403         u8_mbtouc.
19404         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
19405         Remove unistr/u8-mbtouc.
19406
19407 2010-01-09  Bruno Haible  <bruno@clisp.org>
19408
19409         Tests for module 'getlogin'.
19410         * modules/getlogin-tests: New file.
19411         * tests/test-getlogin.c: New file.
19412
19413         New module 'getlogin'.
19414         * lib/unistd.in.h (getlogin): New declaration.
19415         * lib/getlogin.c: New file.
19416         * m4/getlogin.m4: New file.
19417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
19418         HAVE_GETLOGIN.
19419         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
19420         HAVE_GETLOGIN.
19421         * modules/getlogin: New file.
19422         * doc/posix-functions/getlogin.texi: Mention the new module.
19423         Reported by John W. Eaton <jwe@gnu.org>.
19424
19425 2010-01-09  Bruno Haible  <bruno@clisp.org>
19426
19427         getlogin_r: Support for native Windows.
19428         * lib/getlogin_r.c: Include <windows.h>
19429         (getlogin_r): Implement for native Windows.
19430         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
19431         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
19432         via John W. Eaton <jwe@gnu.org>.
19433
19434 2010-01-09  Bruno Haible  <bruno@clisp.org>
19435
19436         getlogin_r: Small fixes.
19437         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
19438         succeeds.
19439         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
19440         before testing whether getlogin_r is declared. No need to set
19441         HAVE_DECL_GETLOGIN_R to 1.
19442         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
19443
19444 2010-01-09  Bruno Haible  <bruno@clisp.org>
19445
19446         * lib/unistd.in.h (getlogin_r): Add comment.
19447
19448 2010-01-09  Bruno Haible  <bruno@clisp.org>
19449
19450         Tests for module 'getlogin_r'.
19451         * modules/getlogin_r-tests: New file.
19452         * tests/test-getlogin_r.c: New file.
19453
19454 2010-01-09  Jim Meyering  <meyering@redhat.com>
19455
19456         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
19457         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
19458         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
19459
19460 2010-01-08  Simon Josefsson  <simon@josefsson.org>
19461
19462         * lib/dup2.c (rpl_dup2): Improve comment.
19463
19464 2010-01-08  Eric Blake  <ebb9@byu.net>
19465
19466         maint.mk: allow packages to add makefile @@ exceptions
19467         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
19468         (sc_makefile_check): Rename...
19469         (sc_makefile_at_at_check): ...to this, and use hook.
19470
19471         dup2: work around mingw bug
19472         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
19473         Reported by Simon Josefsson.
19474
19475 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
19476
19477         glob: Fix C++ compilation.
19478         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
19479         C++.
19480
19481 2010-01-07  Bruno Haible  <bruno@clisp.org>
19482
19483         Fix indentation of wctype.in.h, broken since 2007-01-06.
19484         * lib/wctype.in.h: Fix indentation of preprocessor directives.
19485
19486 2010-01-07  Bruno Haible  <bruno@clisp.org>
19487
19488         mbslen: Avoid collision with system function.
19489         * lib/string.in.h [MirBSD]: Include <wchar.h>.
19490         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
19491         * m4/mbslen.m4: New file.
19492         * modules/mbslen (Files): Add it.
19493         (configure.ac): Invoke gl_MBSLEN.
19494         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
19495         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
19496         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
19497         via Ian Beckwith <ianb@erislabs.net>.
19498
19499 2010-01-07  Bruno Haible  <bruno@clisp.org>
19500
19501         dirent: Document the last fix.
19502         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
19503
19504 2010-01-07  Bruno Haible  <bruno@clisp.org>
19505
19506         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
19507         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
19508         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
19509         va_list are defined.
19510         * doc/posix-headers/stdio.texi: Document the bug of missing types.
19511         Reported by Eric Blake.
19512
19513 2010-01-07  Bruno Haible  <bruno@clisp.org>
19514
19515         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
19516         * modules/xlist (Depends-on): Add 'list',
19517         * modules/xoset (Depends-on): Add 'oset'.
19518         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19519
19520 2010-01-07  Bruno Haible  <bruno@clisp.org>
19521
19522         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
19523         * doc/posix-functions/strncasecmp.texi: Likewise.
19524
19525 2010-01-07  Bruno Haible  <bruno@clisp.org>
19526
19527         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
19528
19529 2010-01-07  John W. Eaton  <jwe@octave.org>
19530
19531         wctype: allow C++ use
19532         * lib/wctype.in.h: Add extern "C" block for C++.
19533
19534 2010-01-06  Eric Blake  <ebb9@byu.net>
19535
19536         maint.mk: detect incorrect GFDL usage
19537         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
19538
19539 2010-01-06  Jim Meyering  <meyering@redhat.com>
19540         and Eric Blake  <ebb9@byu.net>
19541
19542         maint.mk: ignore multi-line copyright in NEWS
19543         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
19544
19545 2010-01-06  Eric Blake  <ebb9@byu.net>
19546
19547         select: add missing dependency
19548         * modules/select-tests (Depends-on): Move sockets dependency...
19549         * modules/select (Depends-on): ...here.
19550         Reported by Ian Beckwith.
19551
19552         doc: regenerate INSTALL
19553         * doc/INSTALL: Reflect recent autoconf update.
19554         * doc/INSTALL.ISO: Likewise.
19555         * doc/INSTALL.UTF-8: Likewise.
19556
19557         pread: fix compilation on glibc
19558         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
19559         Reported by Ralf Wildenhues.
19560
19561         dirent: fix test failure
19562         * lib/dirent.in.h (includes): Guarantee ino_t.
19563         Reported by Ralf Wildenhues.
19564
19565 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
19566
19567         linkat, renameat: avoid bad free
19568         * lib/at-func2.c (at_func2): Fix typo.
19569         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
19570
19571 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19572
19573         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
19574         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
19575         to avoid failure of symlink test later.
19576
19577 2010-01-06  Eric Blake  <ebb9@byu.net>
19578
19579         stdio, unistd: guarantee ssize_t
19580         * lib/unistd.in.h (includes): Ensure that types required by POSIX
19581         2008 are exposed when needed.
19582         * lib/stdio.in.h (includes): Likewise.
19583         Reported by Ralf Wildenhues.
19584
19585 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
19586
19587         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
19588         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
19589         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
19590
19591 2010-01-06  Jim Meyering  <meyering@redhat.com>
19592
19593         readtokens: this module *does* require xalloc.h
19594         It uses only functions that were omitted by the old syntax-check rule.
19595         * lib/readtokens.c: Include "xalloc.h" once again.
19596         * modules/readtokens (Depends-on): Add xalloc.
19597         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
19598
19599 2010-01-05  Eric Blake  <ebb9@byu.net>
19600
19601         maint: support 'make announcement' from a VPATH build
19602         * top/maint.mk (announcement): Look for correct NEWS file.
19603
19604 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
19605
19606         utimens (fdutimens): ignore a negative FD, per contract
19607         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
19608         when we have a valid file descriptor.  Otherwise, using a brand
19609         new glibc (with just-patched futimens that now fails with EBADF)
19610         would cause this function to fail with ENOSYS.
19611         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
19612         See also http://bugzilla.redhat.com/552320.
19613
19614 2010-01-05  Eric Blake  <ebb9@byu.net>
19615
19616         strcase: document what it provides
19617         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
19618         gnulib module.
19619         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
19620         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
19621
19622 2010-01-05  Jim Meyering  <meyering@redhat.com>
19623
19624         maint: remove useless inclusions of "xalloc.h"
19625         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
19626         * lib/readtokens.c: Likewise.
19627         * lib/same.c: Likewise.
19628         * modules/getloadavg (Depends-on): Remove xalloc.
19629         * modules/readtokens: Likewise.
19630         * modules/same: Likewise.
19631
19632         maint.mk: include 4 more function names in alloca.h-checking regexp
19633         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
19634         regexp.  Before, we would give a false-positive (saying alloca.h
19635         is included unnecessarily) when the only uses involved omitted symbols.
19636
19637         xalloc.h: use consistent formatting
19638         * lib/xalloc.h: Move declarations to start in the first column.
19639
19640 2010-01-05  Eric Blake  <ebb9@byu.net>
19641
19642         mkdir: avoid xalloc
19643         * lib/mkdir.c (includes): Drop unused header.
19644         Reported by John W. Eaton.
19645
19646 2010-01-04  Jim Meyering  <meyering@redhat.com>
19647
19648         nl_langinfo: avoid configure-time syntax error
19649         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
19650         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
19651         the empty string.  Don't let that provoke a shell syntax error.
19652
19653         regcomp, regexec, fnmatch: avoid array bounds read error
19654         * lib/regcomp.c (build_equiv_class): From glibc:
19655         Use only the low 24 bits of a findidx return value as an index
19656         into the weights array.  Patch by Ulrich Drepper:
19657         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
19658         * lib/regexec.c (check_node_accept_bytes): Likewise.
19659         * lib/fnmatch_loop.c (FCT): Likewise.
19660
19661         regcomp: skip collseq lookup when there are no rules
19662         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
19663         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
19664
19665         regcomp: recognize ill-formed { } expressions
19666         * lib/regcomp.c (parse_dup_op): From glibc:
19667         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
19668
19669         regcomp: fix typo in comment
19670         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
19671         s/satisfy/satisfies/.
19672
19673         regcomp: sync from glibc: remove dead store
19674         * lib/regcomp.c (duplicate_node_closure): Remove useless
19675         search_duplicated_node call and dead store.
19676
19677         regcomp: sync from glibc; always use nl_langinfo
19678         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
19679         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
19680         * modules/regex (Depends-on): Add nl_langinfo.
19681
19682 2010-01-04  Eric Blake  <ebb9@byu.net>
19683
19684         fdopendir: fix configure test
19685         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
19686
19687 2010-01-01  Bruno Haible  <bruno@clisp.org>
19688
19689         wchar: Remove unused configure check.
19690         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
19691
19692 2010-01-01  Eric Blake  <ebb9@byu.net>
19693
19694         headers: make check of system header explicit
19695         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
19696         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
19697         ourselves.
19698         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19699         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19700         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
19701         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
19702         internals.
19703         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
19704         missing.
19705         Suggested by Bruno Haible.
19706
19707 2010-01-01  Jim Meyering  <meyering@redhat.com>
19708
19709         ChangeLog: tweak to eliminate unnecessary copyright line
19710         * ChangeLog: Remove a copyright line that was mistakenly updated
19711         by today's update-copyright run.  Reported by Eric Blake.
19712
19713         test-update-copyright: don't let envvar setting cause test failure
19714         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19715
19716 2010-01-01  Bruno Haible  <bruno@clisp.org>
19717
19718         localename: Avoid gcc warning.
19719         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
19720         function if it is not used.
19721
19722 2010-01-01  Jim Meyering  <meyering@redhat.com>
19723
19724         update nearly all FSF copyright year lists to include 2010
19725         Use the same procedure as for 2009, outlined in
19726         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
19727
19728         version-etc: set COPYRIGHT_YEAR to 2010
19729         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
19730
19731 2009-12-31  Eric Blake  <ebb9@byu.net>
19732
19733         doc: correct availability of cygwin 1.5.x getopt
19734         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
19735         variables.
19736         * doc/posix-functions/opterr.texi (opterr): Likewise.
19737         * doc/posix-functions/optind.texi (optind): Likewise.
19738         * doc/posix-functions/optopt.texi (optopt): Likewise.
19739         * doc/posix-functions/tzname.texi (tzname): Likewise.
19740
19741         openat: update maintainer
19742         * modules/openat (Maintainer): Add myself.
19743
19744         utimens: avoid shadowing warning
19745         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
19746         buffers into one, to avoid shadowing, as well as avoiding a
19747         redundant stat.
19748         Reported by Jim Meyering.
19749
19750         test-dup2: avoid compiler warning
19751         * tests/test-dup2.c (is_inheritable): Only define if used.
19752
19753 2010-01-01  Bruno Haible  <bruno@clisp.org>
19754
19755         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
19756         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
19757         defined, use wctomb instead of wcrtomb.
19758
19759 2010-01-01  Bruno Haible  <bruno@clisp.org>
19760
19761         iconv: Reject native Solaris iconv.
19762         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
19763         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
19764
19765 2009-12-31  Bruno Haible  <bruno@clisp.org>
19766
19767         * tests/test-signal.c (main): Remove test of 'SIG'.
19768
19769 2009-12-31  Bruno Haible  <bruno@clisp.org>
19770
19771         spawn: Fix incomplete fix.
19772         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
19773         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
19774         warnings for GNULIB_POSIXCHECK again.
19775         Reported by Eric Blake.
19776
19777 2009-12-31  Bruno Haible  <bruno@clisp.org>
19778
19779         Avoid namespace pollution on glibc systems.
19780         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
19781         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
19782         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
19783         glibc systems.
19784
19785 2009-12-31  Bruno Haible  <bruno@clisp.org>
19786
19787         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
19788         (gl_REPLACE_WCHAR_H): Turn into a no-op.
19789         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
19790         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
19791         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
19792         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
19793         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
19794
19795 2009-12-31  Bruno Haible  <bruno@clisp.org>
19796
19797         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
19798         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
19799         afterwards.
19800
19801 2009-12-31  Bruno Haible  <bruno@clisp.org>
19802
19803         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
19804         SYS_UTSNAME_H.
19805
19806 2009-12-31  Bruno Haible  <bruno@clisp.org>
19807
19808         spawn: Fix misapplied patch.
19809         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
19810         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
19811         warnings for GNULIB_POSIXCHECK.
19812
19813 2009-12-31  Bruno Haible  <bruno@clisp.org>
19814
19815         times: Update after sys_times changed.
19816         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
19817         * modules/times (Files): Add it.
19818         (configure.ac): Invoke gl_FUNC_TIMES.
19819
19820 2009-12-31  Bruno Haible  <bruno@clisp.org>
19821
19822         Use AC_C_INLINE where necessary.
19823         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
19824         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
19825         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
19826         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
19827         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19828         * m4/mbiter.m4 (gl_MBITER): Likewise.
19829         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
19830         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19831         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
19832         * modules/u64 (configure.ac): Likewise.
19833
19834 2009-12-31  Bruno Haible  <bruno@clisp.org>
19835
19836         Use AC_C_INLINE instead of module 'inline' where possible.
19837         * modules/inline (Description): Clarify purpose.
19838         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
19839         * modules/count-one-bits (Depends-on): Remove inline.
19840         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
19841         * modules/openat (Depends-on): Remove inline.
19842         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
19843         instead of depending on module 'inline'.
19844         * modules/filevercmp (Depends-on, configure.ac): Likewise.
19845         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
19846         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
19847         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
19848         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
19849         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
19850         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
19851         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
19852         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
19853         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
19854         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
19855         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
19856         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
19857         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
19858         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
19859         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
19860         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
19861         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
19862         Likewise.
19863         * modules/unictype/property-ascii-hex-digit (Depends-on,
19864         configure.ac): Likewise.
19865         * modules/unictype/property-bidi-arabic-digit (Depends-on,
19866         configure.ac): Likewise.
19867         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
19868         configure.ac): Likewise.
19869         * modules/unictype/property-bidi-block-separator (Depends-on,
19870         configure.ac): Likewise.
19871         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
19872         configure.ac): Likewise.
19873         * modules/unictype/property-bidi-common-separator (Depends-on,
19874         configure.ac): Likewise.
19875         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
19876         Likewise.
19877         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
19878         configure.ac): Likewise.
19879         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
19880         configure.ac): Likewise.
19881         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
19882         configure.ac): Likewise.
19883         * modules/unictype/property-bidi-european-digit (Depends-on,
19884         configure.ac): Likewise.
19885         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
19886         configure.ac): Likewise.
19887         * modules/unictype/property-bidi-left-to-right (Depends-on,
19888         configure.ac): Likewise.
19889         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
19890         configure.ac): Likewise.
19891         * modules/unictype/property-bidi-other-neutral (Depends-on,
19892         configure.ac): Likewise.
19893         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
19894         Likewise.
19895         * modules/unictype/property-bidi-segment-separator (Depends-on,
19896         configure.ac): Likewise.
19897         * modules/unictype/property-bidi-whitespace (Depends-on,
19898         configure.ac): Likewise.
19899         * modules/unictype/property-combining (Depends-on, configure.ac):
19900         Likewise.
19901         * modules/unictype/property-composite (Depends-on, configure.ac):
19902         Likewise.
19903         * modules/unictype/property-currency-symbol (Depends-on,
19904         configure.ac): Likewise.
19905         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
19906         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
19907         Likewise.
19908         * modules/unictype/property-default-ignorable-code-point (Depends-on,
19909         configure.ac): Likewise.
19910         * modules/unictype/property-deprecated (Depends-on, configure.ac):
19911         Likewise.
19912         * modules/unictype/property-diacritic (Depends-on, configure.ac):
19913         Likewise.
19914         * modules/unictype/property-extender (Depends-on, configure.ac):
19915         Likewise.
19916         * modules/unictype/property-format-control (Depends-on, configure.ac):
19917         Likewise.
19918         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
19919         Likewise.
19920         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
19921         Likewise.
19922         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
19923         Likewise.
19924         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
19925         Likewise.
19926         * modules/unictype/property-hyphen (Depends-on, configure.ac):
19927         Likewise.
19928         * modules/unictype/property-id-continue (Depends-on, configure.ac):
19929         Likewise.
19930         * modules/unictype/property-id-start (Depends-on, configure.ac):
19931         Likewise.
19932         * modules/unictype/property-ideographic (Depends-on, configure.ac):
19933         Likewise.
19934         * modules/unictype/property-ids-binary-operator (Depends-on,
19935         configure.ac): Likewise.
19936         * modules/unictype/property-ids-trinary-operator (Depends-on,
19937         configure.ac): Likewise.
19938         * modules/unictype/property-ignorable-control (Depends-on,
19939         configure.ac): Likewise.
19940         * modules/unictype/property-iso-control (Depends-on, configure.ac):
19941         Likewise.
19942         * modules/unictype/property-join-control (Depends-on, configure.ac):
19943         Likewise.
19944         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
19945         Likewise.
19946         * modules/unictype/property-line-separator (Depends-on, configure.ac):
19947         Likewise.
19948         * modules/unictype/property-logical-order-exception (Depends-on,
19949         configure.ac): Likewise.
19950         * modules/unictype/property-lowercase (Depends-on, configure.ac):
19951         Likewise.
19952         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
19953         * modules/unictype/property-non-break (Depends-on, configure.ac):
19954         Likewise.
19955         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
19956         Likewise.
19957         * modules/unictype/property-numeric (Depends-on, configure.ac):
19958         Likewise.
19959         * modules/unictype/property-other-alphabetic (Depends-on,
19960         configure.ac): Likewise.
19961         * modules/unictype/property-other-default-ignorable-code-point
19962         (Depends-on, configure.ac): Likewise.
19963         * modules/unictype/property-other-grapheme-extend (Depends-on,
19964         configure.ac): Likewise.
19965         * modules/unictype/property-other-id-continue (Depends-on,
19966         configure.ac): Likewise.
19967         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
19968         Likewise.
19969         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
19970         Likewise.
19971         * modules/unictype/property-other-math (Depends-on, configure.ac):
19972         Likewise.
19973         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
19974         Likewise.
19975         * modules/unictype/property-paired-punctuation (Depends-on,
19976         configure.ac): Likewise.
19977         * modules/unictype/property-paragraph-separator (Depends-on,
19978         configure.ac): Likewise.
19979         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
19980         Likewise.
19981         * modules/unictype/property-pattern-white-space (Depends-on,
19982         configure.ac): Likewise.
19983         * modules/unictype/property-private-use (Depends-on, configure.ac):
19984         Likewise.
19985         * modules/unictype/property-punctuation (Depends-on, configure.ac):
19986         Likewise.
19987         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
19988         Likewise.
19989         * modules/unictype/property-radical (Depends-on, configure.ac):
19990         Likewise.
19991         * modules/unictype/property-sentence-terminal (Depends-on,
19992         configure.ac): Likewise.
19993         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
19994         Likewise.
19995         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
19996         * modules/unictype/property-terminal-punctuation (Depends-on,
19997         configure.ac): Likewise.
19998         * modules/unictype/property-titlecase (Depends-on, configure.ac):
19999         Likewise.
20000         * modules/unictype/property-unassigned-code-value (Depends-on,
20001         configure.ac): Likewise.
20002         * modules/unictype/property-unified-ideograph (Depends-on,
20003         configure.ac): Likewise.
20004         * modules/unictype/property-uppercase (Depends-on, configure.ac):
20005         Likewise.
20006         * modules/unictype/property-variation-selector (Depends-on,
20007         configure.ac): Likewise.
20008         * modules/unictype/property-white-space (Depends-on, configure.ac):
20009         Likewise.
20010         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
20011         Likewise.
20012         * modules/unictype/property-xid-start (Depends-on, configure.ac):
20013         Likewise.
20014         * modules/unictype/property-zero-width (Depends-on, configure.ac):
20015         Likewise.
20016         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
20017         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
20018         Likewise.
20019
20020 2009-12-31  Bruno Haible  <bruno@clisp.org>
20021
20022         Remove unnecessary AC_C_INLINE invocation.
20023         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
20024         since 2009-08-21.
20025
20026 2009-12-31  Jim Meyering  <meyering@redhat.com>
20027
20028         maint.mk: don't require explicit gpg_key_ID in cfg.mk
20029         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
20030         With this change, we can all remove the gpg_key_ID = ... definition
20031         from our respective cfg.mk files.
20032
20033         maint.mk: create announcement template in ~/, not in /tmp
20034         * top/maint.mk (emit_upload_commands): Adjust.
20035         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
20036         Remove temporary file, .ci-msg.
20037
20038 2009-12-31  Eric Blake  <ebb9@byu.net>
20039
20040         link-warning: always build headers with link warnings
20041         * modules/arpa_inet (Makefile.am): Always build replacement
20042         header.
20043         * modules/ctype (Makefile.am): Likewise.
20044         * modules/dirent (Makefile.am): Likewise.
20045         * modules/inttypes (Makefile.am): Likewise.
20046         * modules/langinfo (Makefile.am): Likewise.
20047         * modules/locale (Makefile.am): Likewise.
20048         * modules/spawn (Makefile.am): Likewise.
20049         * modules/sys_file (Makefile.am): Likewise.
20050         * modules/sys_ioctl (Makefile.am): Likewise.
20051         * modules/sys_select (Makefile.am): Likewise.
20052         * modules/sys_socket (Makefile.am): Likewise.
20053         * modules/sys_times (Makefile.am): Likewise.
20054         * modules/sys_utsname (Makefile.am): Likewise.
20055         * modules/sys_wait (Makefile.am): Likewise.
20056         * modules/wchar (Makefile.am): Likewise.
20057         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
20058         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
20059         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
20060         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
20061         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
20062         Likewise.
20063         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20064         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
20065         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
20066         Likewise.
20067         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
20068         Likewise.
20069         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
20070         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
20071         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
20072         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20073         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20074         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20075         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20076         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
20077         (gl_WCHAR_H_DEFAULTS): Likewise.
20078
20079 2009-12-31  Eric Blake  <ebb9@byu.net>
20080
20081         signal, spawn: use link warnings
20082         * lib/signal.in.h (sigset_t): Make unconditional.
20083         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
20084         (sigpending, sigprocmask, sigaction): Add link warnings.
20085         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
20086         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
20087         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
20088         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
20089         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
20090         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
20091         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
20092         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
20093         (posix_spawn_file_actions_destroy)
20094         (posix_spawn_file_actions_addopen)
20095         (posix_spawn_file_actions_addclose)
20096         (posix_spawn_file_actions_adddup2): Likewise.
20097         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
20098         * tests/test-signal.c (main): Enhance test.
20099
20100         spawn: improve wrapper support
20101         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
20102         (gl_SPAWN_H_DEFAULTS): New defaults.
20103         * modules/spawn (Makefile.am): Substitute them.
20104         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
20105         Only declare if missing or broken.
20106
20107         sys_times, sys_utsname: use include_next
20108         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
20109         header.
20110         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
20111         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20112         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20113         * modules/sys_times (Depends-on): Add include_next.
20114         (Makefile.am): Substitute additional values.
20115         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
20116         * lib/sys_times.in.h (includes): Include native header, if
20117         available.
20118         * lib/sys_utsname.in.h (includes): Likewise.
20119         * tests/test-sys_times.c (main): Enhance test.
20120
20121         fdutimensat: revert prior patch
20122         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
20123         utimens.h.
20124         Reported by Bruno Haible.
20125
20126 2009-12-30  Eric Blake  <ebb9@byu.net>
20127
20128         sys_wait: drop link-warning dependency
20129         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
20130         link-warning efforts.
20131         * lib/sys_wait.in.h: Likewise.
20132
20133         fdutimensat: remove bogus dependency
20134         * modules/fdutimensat (Depends-on): Drop inline.
20135
20136         unistd: fix typo
20137         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
20138
20139 2009-12-30  Bruno Haible  <bruno@clisp.org>
20140
20141         Fix compilation error with Solaris cc.
20142         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
20143         * lib/unicase/u16-is-invariant.c: Likewise.
20144         * lib/unicase/u32-is-invariant.c: Likewise.
20145         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
20146
20147 2009-12-30  Bruno Haible  <bruno@clisp.org>
20148
20149         Fix test crash.
20150         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
20151         locales.
20152         Reported by Simon Josefsson <simon@josefsson.org>.
20153
20154 2009-12-30  Bruno Haible  <bruno@clisp.org>
20155
20156         Fix compilation error on most platforms.
20157         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
20158         Reported by Simon Josefsson <simon@josefsson.org>
20159         and Nelson H. F. Beebe <beebe@math.utah.edu>.
20160
20161 2009-12-30  Eric Blake  <ebb9@byu.net>
20162
20163         futimens, utimensat: work around ntfs-3g bug
20164         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
20165         a ctime bug is present, and expand workaround to cover ntfs-3g.
20166         * lib/utimens.c (fdutimens, lutimens): Likewise.
20167         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
20168         (validate_timespec): Adjust return value.
20169         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
20170         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20171         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
20172
20173 2009-12-29  Eric Blake  <ebb9@byu.net>
20174
20175         link-warning: make usage consistent
20176         * modules/ctype (Depends-on): Add link-warning.
20177         (Makefile.am): Update rules accordingly.
20178         * modules/langinfo (Depends-on, Makefile.am): Likewise.
20179         * modules/locale (Depends-on, Makefile.am): Likewise.
20180         * modules/sys_file (Makefile.am): Likewise.
20181         * modules/getopt-posix (Makefile.am): Delete unused link warning
20182         efforts.
20183         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
20184         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
20185         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
20186         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
20187
20188         stdio: remove unused variables
20189         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
20190         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
20191         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20192
20193         tests: test more substitute headers
20194         * modules/ctype-tests: New file.
20195         * modules/dirent-tests: Likewise.
20196         * modules/spawn-tests: Likewise.
20197         * modules/sys_file-tests: Likewise.
20198         * modules/sys_ioctl-tests: Likewise.
20199         * modules/sys_wait-tests: Likewise.
20200         * tests/test-ctype.c: Likewise.
20201         * tests/test-dirent.c: Likewise.
20202         * tests/test-spawn.c: Likewise.
20203         * tests/test-sys_file.c: Likewise.
20204         * tests/test-sys_ioctl.c: Likewise.
20205         * tests/test-sys_wait.c: Likewise.
20206         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
20207         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
20208         whether or not flock is in use.
20209
20210         tests: remove License section from module
20211         * modules/arpa_inet-tests: Remove unneeded section.
20212         * modules/byteswap-tests: Likewise.
20213         * modules/ceilf-tests: Likewise.
20214         * modules/ceill-tests: Likewise.
20215         * modules/crypto/des-tests: Likewise.
20216         * modules/crypto/gc-arcfour-tests: Likewise.
20217         * modules/crypto/gc-arctwo-tests: Likewise.
20218         * modules/crypto/gc-des-tests: Likewise.
20219         * modules/crypto/gc-hmac-md5-tests: Likewise.
20220         * modules/crypto/gc-hmac-sha1-tests: Likewise.
20221         * modules/crypto/gc-md2-tests: Likewise.
20222         * modules/crypto/gc-md4-tests: Likewise.
20223         * modules/crypto/gc-md5-tests: Likewise.
20224         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
20225         * modules/crypto/gc-rijndael-tests: Likewise.
20226         * modules/crypto/gc-sha1-tests: Likewise.
20227         * modules/crypto/gc-tests: Likewise.
20228         * modules/crypto/md2-tests: Likewise.
20229         * modules/crypto/md4-tests: Likewise.
20230         * modules/fcntl-h-tests: Likewise.
20231         * modules/floorf-tests: Likewise.
20232         * modules/floorl-tests: Likewise.
20233         * modules/frexp-nolibm-tests: Likewise.
20234         * modules/frexp-tests: Likewise.
20235         * modules/frexpl-nolibm-tests: Likewise.
20236         * modules/frexpl-tests: Likewise.
20237         * modules/getaddrinfo-tests: Likewise.
20238         * modules/inttypes-tests: Likewise.
20239         * modules/isfinite-tests: Likewise.
20240         * modules/isinf-tests: Likewise.
20241         * modules/ldexpl-tests: Likewise.
20242         * modules/locale-tests: Likewise.
20243         * modules/math-tests: Likewise.
20244         * modules/netdb-tests: Likewise.
20245         * modules/netinet_in-tests: Likewise.
20246         * modules/printf-frexp-tests: Likewise.
20247         * modules/printf-frexpl-tests: Likewise.
20248         * modules/priv-set-tests: Likewise.
20249         * modules/random_r-tests: Likewise.
20250         * modules/round-tests: Likewise.
20251         * modules/roundf-tests: Likewise.
20252         * modules/roundl-tests: Likewise.
20253         * modules/search-tests: Likewise.
20254         * modules/select-tests: Likewise.
20255         * modules/signal-tests: Likewise.
20256         * modules/stdbool-tests: Likewise.
20257         * modules/stddef-tests: Likewise.
20258         * modules/stdint-tests: Likewise.
20259         * modules/stdio-tests: Likewise.
20260         * modules/stdlib-tests: Likewise.
20261         * modules/string-tests: Likewise.
20262         * modules/strings-tests: Likewise.
20263         * modules/sys_select-tests: Likewise.
20264         * modules/sys_socket-tests: Likewise.
20265         * modules/sys_stat-tests: Likewise.
20266         * modules/sys_time-tests: Likewise.
20267         * modules/sys_utsname-tests: Likewise.
20268         * modules/sysexits-tests: Likewise.
20269         * modules/time-tests: Likewise.
20270         * modules/trunc-tests: Likewise.
20271         * modules/truncf-tests: Likewise.
20272         * modules/truncl-tests: Likewise.
20273         * modules/tsearch-tests: Likewise.
20274         * modules/unistd-tests: Likewise.
20275         * modules/wchar-tests: Likewise.
20276         * modules/wctype-tests: Likewise.
20277
20278         tests: fix license on several tests
20279         * tests/test-des.c: Update to GPLv3+.
20280         * tests/test-flock.c: Likewise.
20281         * tests/test-fsync.c: Likewise.
20282         * tests/test-futimens.h: Likewise.
20283         * tests/test-gc-arcfour.c: Likewise.
20284         * tests/test-gc-arctwo.c: Likewise.
20285         * tests/test-gc-des.c: Likewise.
20286         * tests/test-gc-hmac-md5.c: Likewise.
20287         * tests/test-gc-hmac-sha1.c: Likewise.
20288         * tests/test-gc-md2.c: Likewise.
20289         * tests/test-gc-md4.c: Likewise.
20290         * tests/test-gc-md5.c: Likewise.
20291         * tests/test-gc-pbkdf2-sha1.c: Likewise.
20292         * tests/test-gc-rijndael.c: Likewise.
20293         * tests/test-gc-sha1.c: Likewise.
20294         * tests/test-gc.c: Likewise.
20295         * tests/test-getcwd.c: Likewise.
20296         * tests/test-link.c: Likewise.
20297         * tests/test-link.h: Likewise.
20298         * tests/test-lutimens.h: Likewise.
20299         * tests/test-md2.c: Likewise.
20300         * tests/test-md4.c: Likewise.
20301         * tests/test-mkdir.h: Likewise.
20302         * tests/test-rename.c: Likewise.
20303         * tests/test-rename.h: Likewise.
20304         * tests/test-safe-alloc.c: Likewise.
20305         * tests/test-utimens-common.h: Likewise.
20306         * tests/test-utimens.h: Likewise.
20307
20308         maint: sync license texts
20309         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
20310         * doc/gpl-3.0.texi: Revert copyright year update.
20311         * doc/lgpl-3.0.texi: Likewise.
20312
20313 2009-12-29  Jim Meyering  <meyering@redhat.com>
20314
20315         update nearly all FSF copyright year lists to include 2009
20316         The files named by the following are exempted:
20317             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
20318               test -f "$dst" && { echo "$dst"; continue; }
20319               test -d "$dst" || continue
20320               echo "$dst"/$(basename "$src")
20321             done > exempt
20322             git ls-files tests/unictype >> exempt
20323         In the remaining files, convert to all-interval notation if
20324         - there is already at least one year interval like 2000-2003
20325         - the file is maintained by me
20326         - the file is in lib/uni*/, where that style already prevails
20327         Otherwise, use update-copyright's default.
20328
20329 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20330         and Eric Blake  <ebb9@byu.net>
20331
20332         tests: don't require debug system() to pass
20333         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
20334         * tests/test-rmdir.h (test_rmdir_func): Likewise.
20335         * tests/test-unlink.h (test_unlink_func): Likewise.
20336         * tests/test-fstatat.c (main): ...into callers.
20337         * tests/test-lstat.c (main): Likewise.
20338         * tests/test-rmdir.c (main): Likewise.
20339         * tests/test-unlink.c (main): Likewise.
20340         * tests/test-unlinkat.c (main): Likewise.
20341         * tests/test-areadlink-with-size.c (main): Don't require a
20342         debug-only system call to pass, aiding cross-testing to mingw.
20343         * tests/test-areadlink.c (main): Likewise.
20344         * tests/test-areadlinkat-with-size.c (main): Likewise.
20345         * tests/test-areadlinkat.c (main): Likewise.
20346         * tests/test-canonicalize-lgpl.c (main): Likewise.
20347         * tests/test-canonicalize.c (main): Likewise.
20348         * tests/test-chown.c (main): Likewise.
20349         * tests/test-fchownat.c (main): Likewise.
20350         * tests/test-lchown.c (main): Likewise.
20351         * tests/test-fdutimensat.c (main): Likewise.
20352         * tests/test-futimens.c (main): Likewise.
20353         * tests/test-link.c (main): Likewise.
20354         * tests/test-linkat.c (main): Likewise.
20355         * tests/test-mkdir.c (main): Likewise.
20356         * tests/test-mkdirat.c (main): Likewise.
20357         * tests/test-mkfifo.c (main): Likewise.
20358         * tests/test-mkfifoat.c (main): Likewise.
20359         * tests/test-mknod.c (main): Likewise.
20360         * tests/test-readlink.c (main): Likewise.
20361         * tests/test-remove.c (main): Likewise.
20362         * tests/test-rename.c (main): Likewise.
20363         * tests/test-renameat.c (main): Likewise.
20364         * tests/test-symlink.c (main): Likewise.
20365         * tests/test-symlinkat.c (main): Likewise.
20366         * tests/test-utimens.c (main): Likewise.
20367         * tests/test-utimensat.c (main): Likewise.
20368
20369 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20370
20371         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
20372         on $(UNUSED_PARAMETER_H) to avoid build failure.
20373
20374 2009-12-28  Jim Meyering  <meyering@redhat.com>
20375
20376         update-copyright: you may specify a max. line length other than 72
20377         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
20378
20379         maint: use consistent FSF copyright line syntax
20380         * lib/posixtm.c: Add missing comma in FSF copyright line.
20381         * lib/posixtm.h: Likewise.
20382         * lib/getugroups.c: Add missing ", Inc.".
20383
20384         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
20385         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
20386         FSF copyright line.  Remove trailing blanks.
20387
20388 2009-12-28  Eric Blake  <ebb9@byu.net>
20389
20390         test-dup2: reduce dependencies
20391         * modules/cloexec (Configure.ac): Set witness.
20392         * modules/dup2-tests (Depends-on): Drop cloexec.
20393         * tests/test-dup2.c (main): Skip portion of test if cloexec module
20394         not present.
20395         Suggested by Bruno Haible.
20396
20397 2009-12-26  Bruno Haible  <bruno@clisp.org>
20398
20399         Remove an unneeded dependency.
20400         * modules/fseterr (Depends-on): Remove dup2.
20401
20402 2009-12-26  Eric Blake  <ebb9@byu.net>
20403
20404         tests: use macros.h in more places
20405         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
20406         (ASSERT_STREAM): Provide default of stderr.
20407         * tests/test-dirent-safer.c: Include macros.h, using alternate
20408         stream for assertions.
20409         * tests/test-dup-safer.c: Likewise.
20410         * tests/test-freopen-safer.c: Likewise.
20411         * tests/test-getopt.c: Likewise.
20412         * tests/test-openat-safer.c: Likewise.
20413         * tests/test-pipe.c: Likewise.
20414         * tests/test-popen-safer.c: Likewise.
20415         * modules/dirent-safer-tests (Files): Include macros.h.
20416         * modules/unistd-safer-tests (Files): Likewise.
20417         * modules/freopen-safer-tests (Files): Likewise.
20418         * modules/getopt-posix-tests (Files): Likewise.
20419         * modules/openat-safer-tests (Files): Likewise.
20420         * modules/pipe-tests (Files): Likewise.
20421
20422 2009-12-26  Bruno Haible  <bruno@clisp.org>
20423
20424         javacomp: Portability fix.
20425         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
20426         that it also works on Solaris.
20427
20428 2009-12-26  Bruno Haible  <bruno@clisp.org>
20429
20430         localename: Fix storage allocation of gl_locale_name_thread's result.
20431         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
20432         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
20433         all platforms that have 'uselocale'.
20434         (gl_locale_name_thread_unsafe): New function, extracted from
20435         gl_locale_name_thread.
20436         (gl_locale_name_thread): Call struniq on all platforms that have
20437         'uselocale'.
20438         * tests/test-localename.c (test_locale_name_thread): Check that the
20439         resulting strings are permanently allocated.
20440         * modules/localename-tests (Depends-on): Add strdup.
20441
20442 2009-12-26  Bruno Haible  <bruno@clisp.org>
20443
20444         * tests/test-localename.c (categories): Fill in the strings.
20445
20446 2009-12-26  Jim Meyering  <meyering@redhat.com>
20447
20448         isdir: complete the removal of m4/isdir.m4
20449         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
20450
20451         isdir: clean up, since at least grep still uses it
20452         * lib/isdir.c: Include "isdir.h".
20453         (S_ISDIR): Remove now-unneeded definition.
20454         * modules/isdir (Files): Add lib/isdir.h.
20455         * lib/isdir.h: New file, with declaration.
20456         * m4/isdir.m4: Remove file -- unneeded.
20457
20458 2009-12-25  Bruno Haible  <bruno@clisp.org>
20459
20460         selinux-h: Make generated .h files standalone.
20461         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
20462         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
20463         * lib/se-selinux.in.h: Likewise.
20464         * modules/selinux-h (Depends-on): Add unused-parameter.
20465         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
20466         selinux/selinux.h and selinux/context.h.
20467         Suggested by Eric Blake.
20468
20469 2009-12-25  Bruno Haible  <bruno@clisp.org>
20470
20471         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
20472         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
20473         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
20474         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
20475         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
20476
20477 2009-12-24  Bruno Haible  <bruno@clisp.org>
20478
20479         openat: Fix warning.
20480         * lib/openat-proc.c: Include <unistd.h>.
20481
20482 2009-12-24  Bruno Haible  <bruno@clisp.org>
20483
20484         New module 'unused-parameter'.
20485         * build-aux/unused-parameter.h: New file, extracted from earlier
20486         gnulib-common.m4.
20487         * modules/unused-parameter: New file.
20488         * lib/unistr.h: Include unused-parameter.h.
20489         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
20490         _GL_UNUSED.
20491         * modules/unistr/base (Depends-on): Add unused-parameter.
20492
20493 2009-12-24  Bruno Haible  <bruno@clisp.org>
20494
20495         Add missing dependencies to 'extensions' module.
20496         * m4/extensions.m4: Add comment.
20497         * modules/accept4 (Depends-on): Add extensions.
20498         * modules/dup3 (Depends-on): Likewise.
20499         * modules/fcntl (Depends-on): Likewise.
20500         * modules/futimens (Depends-on): Likewise.
20501         * modules/mknod (Depends-on): Likewise.
20502         * modules/pipe2 (Depends-on): Likewise.
20503         * modules/stat-time (Depends-on): Likewise.
20504         * modules/strcasestr-simple (Depends-on): Likewise.
20505         * modules/strsignal (Depends-on): Likewise.
20506         * modules/utimensat (Depends-on): Likewise.
20507         * modules/localcharset (Depends-on): Likewise. Needed because of
20508         gl_FCNTL_O_FLAGS.
20509         * modules/wcrtomb (Depends-on): Likewise. Needed because of
20510         AC_TYPE_MBSTATE_T.
20511         * modules/wcsnrtombs (Depends-on): Likewise.
20512         * modules/wcsrtombs (Depends-on): Likewise.
20513
20514 2009-12-24  Bruno Haible  <bruno@clisp.org>
20515
20516         binary-io: Avoid gcc warning due to SET_BINARY.
20517         * lib/binary-io.h (SET_BINARY): Cast the result to void.
20518         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
20519
20520 2009-12-24  Bruno Haible  <bruno@clisp.org>
20521
20522         Avoid future namespace pollution on glibc systems.
20523         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
20524         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
20525         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
20526         glibc systems.
20527
20528 2009-12-24  Bruno Haible  <bruno@clisp.org>
20529
20530         Refactor common macros used in tests.
20531         * tests/macros.h: New file.
20532         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
20533         and/or <stdlib.h>, if appropriate.
20534         (ASSERT, SIZEOF): Remove macros.
20535         * tests/test-areadlink-with-size.c: Likewise.
20536         * tests/test-areadlinkat.c: Likewise.
20537         * tests/test-areadlinkat-with-size.c: Likewise.
20538         * tests/test-argmatch.c: Likewise.
20539         * tests/test-argv-iter.c: Likewise.
20540         * tests/test-array-mergesort.c: Likewise.
20541         * tests/test-array_list.c: Likewise.
20542         * tests/test-array_oset.c: Likewise.
20543         * tests/test-avltree_list.c: Likewise.
20544         * tests/test-avltree_oset.c: Likewise.
20545         * tests/test-avltreehash_list.c: Likewise.
20546         * tests/test-base64.c: Likewise.
20547         * tests/test-binary-io.c: Likewise.
20548         * tests/test-bitrotate.c: Likewise.
20549         * tests/test-btowc.c: Likewise.
20550         * tests/test-byteswap.c: Likewise.
20551         * tests/test-c-ctype.c: Likewise.
20552         * tests/test-c-stack.c: Likewise.
20553         * tests/test-c-strcasecmp.c: Likewise.
20554         * tests/test-c-strcasestr.c: Likewise.
20555         * tests/test-c-strncasecmp.c: Likewise.
20556         * tests/test-c-strstr.c: Likewise.
20557         * tests/test-canonicalize-lgpl.c: Likewise.
20558         * tests/test-canonicalize.c: Likewise.
20559         * tests/test-carray_list.c: Likewise.
20560         * tests/test-ceilf1.c: Likewise.
20561         * tests/test-ceilf2.c: Likewise.
20562         * tests/test-ceill.c: Likewise.
20563         * tests/test-chown.c: Likewise.
20564         * tests/test-cloexec.c: Likewise.
20565         * tests/test-copy-acl.c: Likewise.
20566         * tests/test-copy-file.c: Likewise.
20567         * tests/test-count-one-bits.c: Likewise.
20568         * tests/test-dprintf-posix.c: Likewise.
20569         * tests/test-dup2.c: Likewise.
20570         * tests/test-dup3.c: Likewise.
20571         * tests/test-duplocale.c: Likewise.
20572         * tests/test-fbufmode.c: Likewise.
20573         * tests/test-fchdir.c: Likewise.
20574         * tests/test-fchownat.c: Likewise.
20575         * tests/test-fcntl-safer.c: Likewise.
20576         * tests/test-fcntl.c: Likewise.
20577         * tests/test-fdopendir.c: Likewise.
20578         * tests/test-fdutimensat.c: Likewise.
20579         * tests/test-fflush2.c: Likewise.
20580         * tests/test-file-has-acl.c: Likewise.
20581         * tests/test-filevercmp.c: Likewise.
20582         * tests/test-flock.c: Likewise.
20583         * tests/test-floorf1.c: Likewise.
20584         * tests/test-floorf2.c: Likewise.
20585         * tests/test-floorl.c: Likewise.
20586         * tests/test-fnmatch.c: Likewise.
20587         * tests/test-fopen.h: Likewise.
20588         * tests/test-fpending.c: Likewise.
20589         * tests/test-fprintf-posix.c: Likewise.
20590         * tests/test-fpurge.c: Likewise.
20591         * tests/test-freadable.c: Likewise.
20592         * tests/test-freadahead.c: Likewise.
20593         * tests/test-freading.c: Likewise.
20594         * tests/test-freadptr.c: Likewise.
20595         * tests/test-freadptr2.c: Likewise.
20596         * tests/test-freadseek.c: Likewise.
20597         * tests/test-freopen.c: Likewise.
20598         * tests/test-frexp.c: Likewise.
20599         * tests/test-frexpl.c: Likewise.
20600         * tests/test-fseek.c: Likewise.
20601         * tests/test-fseeko.c: Likewise.
20602         * tests/test-fstatat.c: Likewise.
20603         * tests/test-fstrcmp.c: Likewise.
20604         * tests/test-fsync.c: Likewise.
20605         * tests/test-ftell.c: Likewise.
20606         * tests/test-ftello.c: Likewise.
20607         * tests/test-func.c: Likewise.
20608         * tests/test-futimens.c: Likewise.
20609         * tests/test-fwritable.c: Likewise.
20610         * tests/test-fwriting.c: Likewise.
20611         * tests/test-getcwd.c: Likewise.
20612         * tests/test-getdate.c: Likewise.
20613         * tests/test-getdelim.c: Likewise.
20614         * tests/test-getdtablesize.c: Likewise.
20615         * tests/test-getgroups.c: Likewise.
20616         * tests/test-getline.c: Likewise.
20617         * tests/test-getndelim2.c: Likewise.
20618         * tests/test-glob.c: Likewise.
20619         * tests/test-hash.c: Likewise.
20620         * tests/test-i-ring.c: Likewise.
20621         * tests/test-iconv-utf.c: Likewise.
20622         * tests/test-iconv.c: Likewise.
20623         * tests/test-idpriv-drop.c: Likewise.
20624         * tests/test-idpriv-droptemp.c: Likewise.
20625         * tests/test-inet_ntop.c: Likewise.
20626         * tests/test-inet_pton.c: Likewise.
20627         * tests/test-isblank.c: Likewise.
20628         * tests/test-isfinite.c: Likewise.
20629         * tests/test-isinf.c: Likewise.
20630         * tests/test-isnan.c: Likewise.
20631         * tests/test-isnand.h: Likewise.
20632         * tests/test-isnanf.h: Likewise.
20633         * tests/test-isnanl.h: Likewise.
20634         * tests/test-lchown.c: Likewise.
20635         * tests/test-ldexpl.c: Likewise.
20636         * tests/test-link.c: Likewise.
20637         * tests/test-linkat.c: Likewise.
20638         * tests/test-linked_list.c: Likewise.
20639         * tests/test-linkedhash_list.c: Likewise.
20640         * tests/test-localename.c: Likewise.
20641         * tests/test-lseek.c: Likewise.
20642         * tests/test-lstat.c: Likewise.
20643         * tests/test-mbmemcasecmp.c: Likewise.
20644         * tests/test-mbmemcasecoll.c: Likewise.
20645         * tests/test-mbrtowc.c: Likewise.
20646         * tests/test-mbscasecmp.c: Likewise.
20647         * tests/test-mbscasestr1.c: Likewise.
20648         * tests/test-mbscasestr2.c: Likewise.
20649         * tests/test-mbscasestr3.c: Likewise.
20650         * tests/test-mbscasestr4.c: Likewise.
20651         * tests/test-mbschr.c: Likewise.
20652         * tests/test-mbscspn.c: Likewise.
20653         * tests/test-mbsinit.c: Likewise.
20654         * tests/test-mbsncasecmp.c: Likewise.
20655         * tests/test-mbsnrtowcs.c: Likewise.
20656         * tests/test-mbspbrk.c: Likewise.
20657         * tests/test-mbspcasecmp.c: Likewise.
20658         * tests/test-mbsrchr.c: Likewise.
20659         * tests/test-mbsrtowcs.c: Likewise.
20660         * tests/test-mbsspn.c: Likewise.
20661         * tests/test-mbsstr1.c: Likewise.
20662         * tests/test-mbsstr2.c: Likewise.
20663         * tests/test-mbsstr3.c: Likewise.
20664         * tests/test-memchr.c: Likewise.
20665         * tests/test-memchr2.c: Likewise.
20666         * tests/test-memcmp.c: Likewise.
20667         * tests/test-memmem.c: Likewise.
20668         * tests/test-memrchr.c: Likewise.
20669         * tests/test-mkdir.c: Likewise.
20670         * tests/test-mkdirat.c: Likewise.
20671         * tests/test-mkfifo.c: Likewise.
20672         * tests/test-mkfifoat.c: Likewise.
20673         * tests/test-mknod.c: Likewise.
20674         * tests/test-nanosleep.c: Likewise.
20675         * tests/test-nl_langinfo.c: Likewise.
20676         * tests/test-obstack-printf.c: Likewise.
20677         * tests/test-open.c: Likewise.
20678         * tests/test-openat.c: Likewise.
20679         * tests/test-pipe-filter-gi1.c: Likewise.
20680         * tests/test-pipe-filter-gi2-main.c: Likewise.
20681         * tests/test-pipe-filter-ii1.c: Likewise.
20682         * tests/test-pipe-filter-ii2-main.c: Likewise.
20683         * tests/test-pipe2.c: Likewise.
20684         * tests/test-popen.h: Likewise.
20685         * tests/test-posixtm.c: Likewise.
20686         * tests/test-pread.c: Likewise.
20687         * tests/test-printf-frexp.c: Likewise.
20688         * tests/test-printf-frexpl.c: Likewise.
20689         * tests/test-printf-posix.c: Likewise.
20690         * tests/test-priv-set.c: Likewise.
20691         * tests/test-quotearg.c: Likewise.
20692         * tests/test-random_r.c: Likewise.
20693         * tests/test-rawmemchr.c: Likewise.
20694         * tests/test-rbtree_list.c: Likewise.
20695         * tests/test-rbtree_oset.c: Likewise.
20696         * tests/test-rbtreehash_list.c: Likewise.
20697         * tests/test-readlink.c: Likewise.
20698         * tests/test-remove.c: Likewise.
20699         * tests/test-rename.c: Likewise.
20700         * tests/test-renameat.c: Likewise.
20701         * tests/test-rmdir.c: Likewise.
20702         * tests/test-round1.c: Likewise.
20703         * tests/test-roundf1.c: Likewise.
20704         * tests/test-roundl.c: Likewise.
20705         * tests/test-safe-alloc.c: Likewise.
20706         * tests/test-sameacls.c: Likewise.
20707         * tests/test-set-mode-acl.c: Likewise.
20708         * tests/test-setenv.c: Likewise.
20709         * tests/test-sigaction.c: Likewise.
20710         * tests/test-signbit.c: Likewise.
20711         * tests/test-sleep.c: Likewise.
20712         * tests/test-snprintf-posix.c: Likewise.
20713         * tests/test-snprintf.c: Likewise.
20714         * tests/test-sprintf-posix.c: Likewise.
20715         * tests/test-stat-time.c: Likewise.
20716         * tests/test-stat.c: Likewise.
20717         * tests/test-strcasestr.c: Likewise.
20718         * tests/test-strchrnul.c: Likewise.
20719         * tests/test-strerror.c: Likewise.
20720         * tests/test-striconv.c: Likewise.
20721         * tests/test-striconveh.c: Likewise.
20722         * tests/test-striconveha.c: Likewise.
20723         * tests/test-strsignal.c: Likewise.
20724         * tests/test-strstr.c: Likewise.
20725         * tests/test-strtod.c: Likewise.
20726         * tests/test-strverscmp.c: Likewise.
20727         * tests/test-symlink.c: Likewise.
20728         * tests/test-symlinkat.c: Likewise.
20729         * tests/test-trunc1.c: Likewise.
20730         * tests/test-trunc2.c: Likewise.
20731         * tests/test-truncf1.c: Likewise.
20732         * tests/test-truncf2.c: Likewise.
20733         * tests/test-truncl.c: Likewise.
20734         * tests/test-uname.c: Likewise.
20735         * tests/test-unlink.c: Likewise.
20736         * tests/test-unlinkat.c: Likewise.
20737         * tests/test-unsetenv.c: Likewise.
20738         * tests/test-usleep.c: Likewise.
20739         * tests/test-utimens.c: Likewise.
20740         * tests/test-utimensat.c: Likewise.
20741         * tests/test-vasnprintf-posix.c: Likewise.
20742         * tests/test-vasnprintf-posix2.c: Likewise.
20743         * tests/test-vasnprintf.c: Likewise.
20744         * tests/test-vasprintf-posix.c: Likewise.
20745         * tests/test-vasprintf.c: Likewise.
20746         * tests/test-vdprintf-posix.c: Likewise.
20747         * tests/test-vfprintf-posix.c: Likewise.
20748         * tests/test-vprintf-posix.c: Likewise.
20749         * tests/test-vsnprintf-posix.c: Likewise.
20750         * tests/test-vsnprintf.c: Likewise.
20751         * tests/test-vsprintf-posix.c: Likewise.
20752         * tests/test-wcrtomb.c: Likewise.
20753         * tests/test-wcsnrtombs.c: Likewise.
20754         * tests/test-wcsrtombs.c: Likewise.
20755         * tests/test-wctype.c: Likewise.
20756         * tests/test-wcwidth.c: Likewise.
20757         * tests/test-xfprintf-posix.c: Likewise.
20758         * tests/test-xmemdup0.c: Likewise.
20759         * tests/test-xprintf-posix.c: Likewise.
20760         * tests/test-xvasprintf.c: Likewise.
20761         * tests/unicase/test-locale-language.c: Likewise.
20762         * tests/unicase/test-mapping-part1.h: Likewise.
20763         * tests/unicase/test-predicate-part1.h: Likewise.
20764         * tests/unicase/test-u8-casecmp.c: Likewise.
20765         * tests/unicase/test-u8-casecoll.c: Likewise.
20766         * tests/unicase/test-u8-casefold.c: Likewise.
20767         * tests/unicase/test-u8-is-cased.c: Likewise.
20768         * tests/unicase/test-u8-is-casefolded.c: Likewise.
20769         * tests/unicase/test-u8-is-lowercase.c: Likewise.
20770         * tests/unicase/test-u8-is-titlecase.c: Likewise.
20771         * tests/unicase/test-u8-is-uppercase.c: Likewise.
20772         * tests/unicase/test-u8-tolower.c: Likewise.
20773         * tests/unicase/test-u8-totitle.c: Likewise.
20774         * tests/unicase/test-u8-toupper.c: Likewise.
20775         * tests/unicase/test-u16-casecmp.c: Likewise.
20776         * tests/unicase/test-u16-casecoll.c: Likewise.
20777         * tests/unicase/test-u16-casefold.c: Likewise.
20778         * tests/unicase/test-u16-is-cased.c: Likewise.
20779         * tests/unicase/test-u16-is-casefolded.c: Likewise.
20780         * tests/unicase/test-u16-is-lowercase.c: Likewise.
20781         * tests/unicase/test-u16-is-titlecase.c: Likewise.
20782         * tests/unicase/test-u16-is-uppercase.c: Likewise.
20783         * tests/unicase/test-u16-tolower.c: Likewise.
20784         * tests/unicase/test-u16-totitle.c: Likewise.
20785         * tests/unicase/test-u16-toupper.c: Likewise.
20786         * tests/unicase/test-u32-casecmp.c: Likewise.
20787         * tests/unicase/test-u32-casecoll.c: Likewise.
20788         * tests/unicase/test-u32-casefold.c: Likewise.
20789         * tests/unicase/test-u32-is-cased.c: Likewise.
20790         * tests/unicase/test-u32-is-casefolded.c: Likewise.
20791         * tests/unicase/test-u32-is-lowercase.c: Likewise.
20792         * tests/unicase/test-u32-is-titlecase.c: Likewise.
20793         * tests/unicase/test-u32-is-uppercase.c: Likewise.
20794         * tests/unicase/test-u32-tolower.c: Likewise.
20795         * tests/unicase/test-u32-totitle.c: Likewise.
20796         * tests/unicase/test-u32-toupper.c: Likewise.
20797         * tests/unicase/test-ulc-casecmp.c: Likewise.
20798         * tests/unicase/test-ulc-casecoll.c: Likewise.
20799         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
20800         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
20801         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
20802         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
20803         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
20804         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
20805         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
20806         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
20807         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
20808         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
20809         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
20810         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
20811         * tests/unictype/test-bidi_byname.c: Likewise.
20812         * tests/unictype/test-bidi_name.c: Likewise.
20813         * tests/unictype/test-bidi_of.c: Likewise.
20814         * tests/unictype/test-bidi_test.c: Likewise.
20815         * tests/unictype/test-block_list.c: Likewise.
20816         * tests/unictype/test-block_of.c: Likewise.
20817         * tests/unictype/test-block_test.c: Likewise.
20818         * tests/unictype/test-categ_and.c: Likewise.
20819         * tests/unictype/test-categ_and_not.c: Likewise.
20820         * tests/unictype/test-categ_byname.c: Likewise.
20821         * tests/unictype/test-categ_name.c: Likewise.
20822         * tests/unictype/test-categ_none.c: Likewise.
20823         * tests/unictype/test-categ_of.c: Likewise.
20824         * tests/unictype/test-categ_or.c: Likewise.
20825         * tests/unictype/test-categ_test_withtable.c: Likewise.
20826         * tests/unictype/test-combining.c: Likewise.
20827         * tests/unictype/test-decdigit.c: Likewise.
20828         * tests/unictype/test-digit.c: Likewise.
20829         * tests/unictype/test-mirror.c: Likewise.
20830         * tests/unictype/test-numeric.c: Likewise.
20831         * tests/unictype/test-pr_byname.c: Likewise.
20832         * tests/unictype/test-pr_test.c: Likewise.
20833         * tests/unictype/test-predicate-part1.h: Likewise.
20834         * tests/unictype/test-scripts.c: Likewise.
20835         * tests/unictype/test-sy_c_ident.c: Likewise.
20836         * tests/unictype/test-sy_java_ident.c: Likewise.
20837         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
20838         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
20839         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
20840         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
20841         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
20842         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
20843         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
20844         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
20845         * tests/uninorm/test-canonical-decomposition.c: Likewise.
20846         * tests/uninorm/test-compat-decomposition.c: Likewise.
20847         * tests/uninorm/test-composition.c: Likewise.
20848         * tests/uninorm/test-decomposing-form.c: Likewise.
20849         * tests/uninorm/test-decomposition.c: Likewise.
20850         * tests/uninorm/test-u8-nfc.c: Likewise.
20851         * tests/uninorm/test-u8-nfd.c: Likewise.
20852         * tests/uninorm/test-u8-nfkc.c: Likewise.
20853         * tests/uninorm/test-u8-nfkd.c: Likewise.
20854         * tests/uninorm/test-u8-normcmp.c: Likewise.
20855         * tests/uninorm/test-u8-normcoll.c: Likewise.
20856         * tests/uninorm/test-u16-nfc.c: Likewise.
20857         * tests/uninorm/test-u16-nfd.c: Likewise.
20858         * tests/uninorm/test-u16-nfkc.c: Likewise.
20859         * tests/uninorm/test-u16-nfkd.c: Likewise.
20860         * tests/uninorm/test-u16-normcmp.c: Likewise.
20861         * tests/uninorm/test-u16-normcoll.c: Likewise.
20862         * tests/uninorm/test-u32-nfc.c: Likewise.
20863         * tests/uninorm/test-u32-nfd.c: Likewise.
20864         * tests/uninorm/test-u32-nfkc.c: Likewise.
20865         * tests/uninorm/test-u32-nfkd.c: Likewise.
20866         * tests/uninorm/test-u32-normalize-big.c: Likewise.
20867         * tests/uninorm/test-u32-normcmp.c: Likewise.
20868         * tests/uninorm/test-u32-normcoll.c: Likewise.
20869         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
20870         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
20871         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
20872         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
20873         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
20874         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
20875         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
20876         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
20877         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
20878         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
20879         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
20880         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
20881         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
20882         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
20883         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
20884         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
20885         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
20886         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
20887         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
20888         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
20889         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
20890         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
20891         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
20892         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
20893         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
20894         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
20895         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
20896         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
20897         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
20898         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
20899         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
20900         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
20901         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
20902         * tests/uniwidth/test-u8-strwidth.c: Likewise.
20903         * tests/uniwidth/test-u8-width.c: Likewise.
20904         * tests/uniwidth/test-u16-strwidth.c: Likewise.
20905         * tests/uniwidth/test-u16-width.c: Likewise.
20906         * tests/uniwidth/test-u32-strwidth.c: Likewise.
20907         * tests/uniwidth/test-u32-width.c: Likewise.
20908         * tests/uniwidth/test-uc_width.c: Likewise.
20909         * tests/uniwidth/test-uc_width2.c: Likewise.
20910         * modules/acl-tests (Files): Add tests/macros.h.
20911         * modules/areadlink-tests (Files): Likewise.
20912         * modules/areadlink-with-size-tests (Files): Likewise.
20913         * modules/areadlinkat-tests (Files): Likewise.
20914         * modules/areadlinkat-with-size-tests (Files): Likewise.
20915         * modules/argmatch-tests (Files): Likewise.
20916         * modules/argv-iter-tests (Files): Likewise.
20917         * modules/array-list-tests (Files): Likewise.
20918         * modules/array-mergesort-tests (Files): Likewise.
20919         * modules/array-oset-tests (Files): Likewise.
20920         * modules/avltree-list-tests (Files): Likewise.
20921         * modules/avltree-oset-tests (Files): Likewise.
20922         * modules/avltreehash-list-tests (Files): Likewise.
20923         * modules/base64-tests (Files): Likewise.
20924         * modules/binary-io-tests (Files): Likewise.
20925         * modules/bitrotate-tests (Files): Likewise.
20926         * modules/btowc-tests (Files): Likewise.
20927         * modules/byteswap-tests (Files): Likewise.
20928         * modules/c-ctype-tests (Files): Likewise.
20929         * modules/c-stack-tests (Files): Likewise.
20930         * modules/c-strcase-tests (Files): Likewise.
20931         * modules/c-strcasestr-tests (Files): Likewise.
20932         * modules/c-strstr-tests (Files): Likewise.
20933         * modules/canonicalize-lgpl-tests (Files): Likewise.
20934         * modules/canonicalize-tests (Files): Likewise.
20935         * modules/carray-list-tests (Files): Likewise.
20936         * modules/ceilf-tests (Files): Likewise.
20937         * modules/ceill-tests (Files): Likewise.
20938         * modules/chown-tests (Files): Likewise.
20939         * modules/cloexec-tests (Files): Likewise.
20940         * modules/copy-file-tests (Files): Likewise.
20941         * modules/count-one-bits-tests (Files): Likewise.
20942         * modules/dprintf-posix-tests (Files): Likewise.
20943         * modules/dup2-tests (Files): Likewise.
20944         * modules/dup3-tests (Files): Likewise.
20945         * modules/duplocale-tests (Files): Likewise.
20946         * modules/fbufmode-tests (Files): Likewise.
20947         * modules/fchdir-tests (Files): Likewise.
20948         * modules/fcntl-safer-tests (Files): Likewise.
20949         * modules/fcntl-tests (Files): Likewise.
20950         * modules/fdopendir-tests (Files): Likewise.
20951         * modules/fdutimensat-tests (Files): Likewise.
20952         * modules/fflush-tests (Files): Likewise.
20953         * modules/filevercmp-tests (Files): Likewise.
20954         * modules/flock-tests (Files): Likewise.
20955         * modules/floorf-tests (Files): Likewise.
20956         * modules/floorl-tests (Files): Likewise.
20957         * modules/fnmatch-tests (Files): Likewise.
20958         * modules/fopen-safer-tests (Files): Likewise.
20959         * modules/fopen-tests (Files): Likewise.
20960         * modules/fpending-tests (Files): Likewise.
20961         * modules/fprintf-posix-tests (Files): Likewise.
20962         * modules/fpurge-tests (Files): Likewise.
20963         * modules/freadable-tests (Files): Likewise.
20964         * modules/freadahead-tests (Files): Likewise.
20965         * modules/freading-tests (Files): Likewise.
20966         * modules/freadptr-tests (Files): Likewise.
20967         * modules/freadseek-tests (Files): Likewise.
20968         * modules/freopen-tests (Files): Likewise.
20969         * modules/frexp-nolibm-tests (Files): Likewise.
20970         * modules/frexp-tests (Files): Likewise.
20971         * modules/frexpl-nolibm-tests (Files): Likewise.
20972         * modules/frexpl-tests (Files): Likewise.
20973         * modules/fseek-tests (Files): Likewise.
20974         * modules/fseeko-tests (Files): Likewise.
20975         * modules/fstrcmp-tests (Files): Likewise.
20976         * modules/fsync-tests (Files): Likewise.
20977         * modules/ftell-tests (Files): Likewise.
20978         * modules/ftello-tests (Files): Likewise.
20979         * modules/func-tests (Files): Likewise.
20980         * modules/futimens-tests (Files): Likewise.
20981         * modules/fwritable-tests (Files): Likewise.
20982         * modules/fwriting-tests (Files): Likewise.
20983         * modules/getcwd-tests (Files): Likewise.
20984         * modules/getdate-tests (Files): Likewise.
20985         * modules/getdelim-tests (Files): Likewise.
20986         * modules/getdtablesize-tests (Files): Likewise.
20987         * modules/getgroups-tests (Files): Likewise.
20988         * modules/getline-tests (Files): Likewise.
20989         * modules/getndelim2-tests (Files): Likewise.
20990         * modules/glob-tests (Files): Likewise.
20991         * modules/hash-tests (Files): Likewise.
20992         * modules/i-ring-tests (Files): Likewise.
20993         * modules/iconv-tests (Files): Likewise.
20994         * modules/iconv_open-utf-tests (Files): Likewise.
20995         * modules/idpriv-drop-tests (Files): Likewise.
20996         * modules/idpriv-droptemp-tests (Files): Likewise.
20997         * modules/inet_ntop-tests (Files): Likewise.
20998         * modules/inet_pton-tests (Files): Likewise.
20999         * modules/isblank-tests (Files): Likewise.
21000         * modules/isfinite-tests (Files): Likewise.
21001         * modules/isinf-tests (Files): Likewise.
21002         * modules/isnan-tests (Files): Likewise.
21003         * modules/isnand-nolibm-tests (Files): Likewise.
21004         * modules/isnand-tests (Files): Likewise.
21005         * modules/isnanf-nolibm-tests (Files): Likewise.
21006         * modules/isnanf-tests (Files): Likewise.
21007         * modules/isnanl-nolibm-tests (Files): Likewise.
21008         * modules/isnanl-tests (Files): Likewise.
21009         * modules/lchown-tests (Files): Likewise.
21010         * modules/ldexpl-tests (Files): Likewise.
21011         * modules/link-tests (Files): Likewise.
21012         * modules/linkat-tests (Files): Likewise.
21013         * modules/linked-list-tests (Files): Likewise.
21014         * modules/linkedhash-list-tests (Files): Likewise.
21015         * modules/localename-tests (Files): Likewise.
21016         * modules/lseek-tests (Files): Likewise.
21017         * modules/lstat-tests (Files): Likewise.
21018         * modules/mbmemcasecmp-tests (Files): Likewise.
21019         * modules/mbmemcasecoll-tests (Files): Likewise.
21020         * modules/mbrtowc-tests (Files): Likewise.
21021         * modules/mbscasecmp-tests (Files): Likewise.
21022         * modules/mbscasestr-tests (Files): Likewise.
21023         * modules/mbschr-tests (Files): Likewise.
21024         * modules/mbscspn-tests (Files): Likewise.
21025         * modules/mbsinit-tests (Files): Likewise.
21026         * modules/mbsncasecmp-tests (Files): Likewise.
21027         * modules/mbsnrtowcs-tests (Files): Likewise.
21028         * modules/mbspbrk-tests (Files): Likewise.
21029         * modules/mbspcasecmp-tests (Files): Likewise.
21030         * modules/mbsrchr-tests (Files): Likewise.
21031         * modules/mbsrtowcs-tests (Files): Likewise.
21032         * modules/mbsspn-tests (Files): Likewise.
21033         * modules/mbsstr-tests (Files): Likewise.
21034         * modules/memchr-tests (Files): Likewise.
21035         * modules/memchr2-tests (Files): Likewise.
21036         * modules/memcmp-tests (Files): Likewise.
21037         * modules/memmem-tests (Files): Likewise.
21038         * modules/memrchr-tests (Files): Likewise.
21039         * modules/mkdir-tests (Files): Likewise.
21040         * modules/mkfifo-tests (Files): Likewise.
21041         * modules/mkfifoat-tests (Files): Likewise.
21042         * modules/mknod-tests (Files): Likewise.
21043         * modules/nanosleep-tests (Files): Likewise.
21044         * modules/nl_langinfo-tests (Files): Likewise.
21045         * modules/obstack-printf-tests (Files): Likewise.
21046         * modules/open-tests (Files): Likewise.
21047         * modules/openat-tests (Files): Likewise.
21048         * modules/pipe-filter-gi-tests (Files): Likewise.
21049         * modules/pipe-filter-ii-tests (Files): Likewise.
21050         * modules/pipe2-tests (Files): Likewise.
21051         * modules/popen-safer-tests (Files): Likewise.
21052         * modules/popen-tests (Files): Likewise.
21053         * modules/posixtm-tests (Files): Likewise.
21054         * modules/pread-tests (Files): Likewise.
21055         * modules/printf-frexp-tests (Files): Likewise.
21056         * modules/printf-frexpl-tests (Files): Likewise.
21057         * modules/printf-posix-tests (Files): Likewise.
21058         * modules/priv-set-tests (Files): Likewise.
21059         * modules/quotearg-tests (Files): Likewise.
21060         * modules/random_r-tests (Files): Likewise.
21061         * modules/rawmemchr-tests (Files): Likewise.
21062         * modules/rbtree-list-tests (Files): Likewise.
21063         * modules/rbtree-oset-tests (Files): Likewise.
21064         * modules/rbtreehash-list-tests (Files): Likewise.
21065         * modules/readlink-tests (Files): Likewise.
21066         * modules/remove-tests (Files): Likewise.
21067         * modules/rename-tests (Files): Likewise.
21068         * modules/renameat-tests (Files): Likewise.
21069         * modules/rmdir-tests (Files): Likewise.
21070         * modules/round-tests (Files): Likewise.
21071         * modules/roundf-tests (Files): Likewise.
21072         * modules/roundl-tests (Files): Likewise.
21073         * modules/safe-alloc-tests (Files): Likewise.
21074         * modules/setenv-tests (Files): Likewise.
21075         * modules/sigaction-tests (Files): Likewise.
21076         * modules/signbit-tests (Files): Likewise.
21077         * modules/sleep-tests (Files): Likewise.
21078         * modules/snprintf-posix-tests (Files): Likewise.
21079         * modules/snprintf-tests (Files): Likewise.
21080         * modules/sprintf-posix-tests (Files): Likewise.
21081         * modules/stat-tests (Files): Likewise.
21082         * modules/stat-time-tests (Files): Likewise.
21083         * modules/strcasestr-tests (Files): Likewise.
21084         * modules/strchrnul-tests (Files): Likewise.
21085         * modules/strerror-tests (Files): Likewise.
21086         * modules/striconv-tests (Files): Likewise.
21087         * modules/striconveh-tests (Files): Likewise.
21088         * modules/striconveha-tests (Files): Likewise.
21089         * modules/strsignal-tests (Files): Likewise.
21090         * modules/strstr-tests (Files): Likewise.
21091         * modules/strtod-tests (Files): Likewise.
21092         * modules/strverscmp-tests (Files): Likewise.
21093         * modules/symlink-tests (Files): Likewise.
21094         * modules/symlinkat-tests (Files): Likewise.
21095         * modules/trunc-tests (Files): Likewise.
21096         * modules/truncf-tests (Files): Likewise.
21097         * modules/truncl-tests (Files): Likewise.
21098         * modules/uname-tests (Files): Likewise.
21099         * modules/unicase/cased-tests (Files): Likewise.
21100         * modules/unicase/ignorable-tests (Files): Likewise.
21101         * modules/unicase/locale-language-tests (Files): Likewise.
21102         * modules/unicase/tolower-tests (Files): Likewise.
21103         * modules/unicase/totitle-tests (Files): Likewise.
21104         * modules/unicase/toupper-tests (Files): Likewise.
21105         * modules/unicase/u8-casecmp-tests (Files): Likewise.
21106         * modules/unicase/u8-casecoll-tests (Files): Likewise.
21107         * modules/unicase/u8-casefold-tests (Files): Likewise.
21108         * modules/unicase/u8-is-cased-tests (Files): Likewise.
21109         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
21110         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
21111         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
21112         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
21113         * modules/unicase/u8-tolower-tests (Files): Likewise.
21114         * modules/unicase/u8-totitle-tests (Files): Likewise.
21115         * modules/unicase/u8-toupper-tests (Files): Likewise.
21116         * modules/unicase/u16-casecmp-tests (Files): Likewise.
21117         * modules/unicase/u16-casecoll-tests (Files): Likewise.
21118         * modules/unicase/u16-casefold-tests (Files): Likewise.
21119         * modules/unicase/u16-is-cased-tests (Files): Likewise.
21120         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
21121         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
21122         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
21123         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
21124         * modules/unicase/u16-tolower-tests (Files): Likewise.
21125         * modules/unicase/u16-totitle-tests (Files): Likewise.
21126         * modules/unicase/u16-toupper-tests (Files): Likewise.
21127         * modules/unicase/u32-casecmp-tests (Files): Likewise.
21128         * modules/unicase/u32-casecoll-tests (Files): Likewise.
21129         * modules/unicase/u32-casefold-tests (Files): Likewise.
21130         * modules/unicase/u32-is-cased-tests (Files): Likewise.
21131         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
21132         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
21133         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
21134         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
21135         * modules/unicase/u32-tolower-tests (Files): Likewise.
21136         * modules/unicase/u32-totitle-tests (Files): Likewise.
21137         * modules/unicase/u32-toupper-tests (Files): Likewise.
21138         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
21139         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
21140         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
21141         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
21142         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
21143         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
21144         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
21145         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
21146         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
21147         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
21148         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
21149         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
21150         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
21151         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
21152         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
21153         * modules/unictype/bidicategory-name-tests (Files): Likewise.
21154         * modules/unictype/bidicategory-of-tests (Files): Likewise.
21155         * modules/unictype/bidicategory-test-tests (Files): Likewise.
21156         * modules/unictype/block-list-tests (Files): Likewise.
21157         * modules/unictype/block-of-tests (Files): Likewise.
21158         * modules/unictype/block-test-tests (Files): Likewise.
21159         * modules/unictype/category-C-tests (Files): Likewise.
21160         * modules/unictype/category-Cc-tests (Files): Likewise.
21161         * modules/unictype/category-Cf-tests (Files): Likewise.
21162         * modules/unictype/category-Cn-tests (Files): Likewise.
21163         * modules/unictype/category-Co-tests (Files): Likewise.
21164         * modules/unictype/category-Cs-tests (Files): Likewise.
21165         * modules/unictype/category-L-tests (Files): Likewise.
21166         * modules/unictype/category-Ll-tests (Files): Likewise.
21167         * modules/unictype/category-Lm-tests (Files): Likewise.
21168         * modules/unictype/category-Lo-tests (Files): Likewise.
21169         * modules/unictype/category-Lt-tests (Files): Likewise.
21170         * modules/unictype/category-Lu-tests (Files): Likewise.
21171         * modules/unictype/category-M-tests (Files): Likewise.
21172         * modules/unictype/category-Mc-tests (Files): Likewise.
21173         * modules/unictype/category-Me-tests (Files): Likewise.
21174         * modules/unictype/category-Mn-tests (Files): Likewise.
21175         * modules/unictype/category-N-tests (Files): Likewise.
21176         * modules/unictype/category-Nd-tests (Files): Likewise.
21177         * modules/unictype/category-Nl-tests (Files): Likewise.
21178         * modules/unictype/category-No-tests (Files): Likewise.
21179         * modules/unictype/category-P-tests (Files): Likewise.
21180         * modules/unictype/category-Pc-tests (Files): Likewise.
21181         * modules/unictype/category-Pd-tests (Files): Likewise.
21182         * modules/unictype/category-Pe-tests (Files): Likewise.
21183         * modules/unictype/category-Pf-tests (Files): Likewise.
21184         * modules/unictype/category-Pi-tests (Files): Likewise.
21185         * modules/unictype/category-Po-tests (Files): Likewise.
21186         * modules/unictype/category-Ps-tests (Files): Likewise.
21187         * modules/unictype/category-S-tests (Files): Likewise.
21188         * modules/unictype/category-Sc-tests (Files): Likewise.
21189         * modules/unictype/category-Sk-tests (Files): Likewise.
21190         * modules/unictype/category-Sm-tests (Files): Likewise.
21191         * modules/unictype/category-So-tests (Files): Likewise.
21192         * modules/unictype/category-Z-tests (Files): Likewise.
21193         * modules/unictype/category-Zl-tests (Files): Likewise.
21194         * modules/unictype/category-Zp-tests (Files): Likewise.
21195         * modules/unictype/category-Zs-tests (Files): Likewise.
21196         * modules/unictype/category-and-not-tests (Files): Likewise.
21197         * modules/unictype/category-and-tests (Files): Likewise.
21198         * modules/unictype/category-byname-tests (Files): Likewise.
21199         * modules/unictype/category-name-tests (Files): Likewise.
21200         * modules/unictype/category-none-tests (Files): Likewise.
21201         * modules/unictype/category-of-tests (Files): Likewise.
21202         * modules/unictype/category-or-tests (Files): Likewise.
21203         * modules/unictype/category-test-withtable-tests (Files): Likewise.
21204         * modules/unictype/combining-class-tests (Files): Likewise.
21205         * modules/unictype/ctype-alnum-tests (Files): Likewise.
21206         * modules/unictype/ctype-alpha-tests (Files): Likewise.
21207         * modules/unictype/ctype-blank-tests (Files): Likewise.
21208         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
21209         * modules/unictype/ctype-digit-tests (Files): Likewise.
21210         * modules/unictype/ctype-graph-tests (Files): Likewise.
21211         * modules/unictype/ctype-lower-tests (Files): Likewise.
21212         * modules/unictype/ctype-print-tests (Files): Likewise.
21213         * modules/unictype/ctype-punct-tests (Files): Likewise.
21214         * modules/unictype/ctype-space-tests (Files): Likewise.
21215         * modules/unictype/ctype-upper-tests (Files): Likewise.
21216         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
21217         * modules/unictype/decimal-digit-tests (Files): Likewise.
21218         * modules/unictype/digit-tests (Files): Likewise.
21219         * modules/unictype/mirror-tests (Files): Likewise.
21220         * modules/unictype/numeric-tests (Files): Likewise.
21221         * modules/unictype/property-alphabetic-tests (Files): Likewise.
21222         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
21223         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
21224         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
21225         Likewise.
21226         * modules/unictype/property-bidi-block-separator-tests (Files):
21227         Likewise.
21228         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
21229         Likewise.
21230         * modules/unictype/property-bidi-common-separator-tests (Files):
21231         Likewise.
21232         * modules/unictype/property-bidi-control-tests (Files): Likewise.
21233         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
21234         Likewise.
21235         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
21236         Likewise.
21237         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
21238         Likewise.
21239         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
21240         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
21241         Likewise.
21242         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
21243         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
21244         Likewise.
21245         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
21246         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
21247         * modules/unictype/property-bidi-segment-separator-tests (Files):
21248         Likewise.
21249         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
21250         * modules/unictype/property-byname-tests (Files): Likewise.
21251         * modules/unictype/property-combining-tests (Files): Likewise.
21252         * modules/unictype/property-composite-tests (Files): Likewise.
21253         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
21254         * modules/unictype/property-dash-tests (Files): Likewise.
21255         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
21256         * modules/unictype/property-default-ignorable-code-point-tests (Files):
21257         Likewise.
21258         * modules/unictype/property-deprecated-tests (Files): Likewise.
21259         * modules/unictype/property-diacritic-tests (Files): Likewise.
21260         * modules/unictype/property-extender-tests (Files): Likewise.
21261         * modules/unictype/property-format-control-tests (Files): Likewise.
21262         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
21263         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
21264         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
21265         * modules/unictype/property-hex-digit-tests (Files): Likewise.
21266         * modules/unictype/property-hyphen-tests (Files): Likewise.
21267         * modules/unictype/property-id-continue-tests (Files): Likewise.
21268         * modules/unictype/property-id-start-tests (Files): Likewise.
21269         * modules/unictype/property-ideographic-tests (Files): Likewise.
21270         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
21271         * modules/unictype/property-ids-trinary-operator-tests (Files):
21272         Likewise.
21273         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
21274         * modules/unictype/property-iso-control-tests (Files): Likewise.
21275         * modules/unictype/property-join-control-tests (Files): Likewise.
21276         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
21277         * modules/unictype/property-line-separator-tests (Files): Likewise.
21278         * modules/unictype/property-logical-order-exception-tests (Files):
21279         Likewise.
21280         * modules/unictype/property-lowercase-tests (Files): Likewise.
21281         * modules/unictype/property-math-tests (Files): Likewise.
21282         * modules/unictype/property-non-break-tests (Files): Likewise.
21283         * modules/unictype/property-not-a-character-tests (Files): Likewise.
21284         * modules/unictype/property-numeric-tests (Files): Likewise.
21285         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
21286         * modules/unictype/property-other-default-ignorable-code-point-tests
21287         (Files): Likewise.
21288         * modules/unictype/property-other-grapheme-extend-tests (Files):
21289         Likewise.
21290         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
21291         * modules/unictype/property-other-id-start-tests (Files): Likewise.
21292         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
21293         * modules/unictype/property-other-math-tests (Files): Likewise.
21294         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
21295         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
21296         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
21297         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
21298         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
21299         * modules/unictype/property-private-use-tests (Files): Likewise.
21300         * modules/unictype/property-punctuation-tests (Files): Likewise.
21301         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
21302         * modules/unictype/property-radical-tests (Files): Likewise.
21303         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
21304         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
21305         * modules/unictype/property-space-tests (Files): Likewise.
21306         * modules/unictype/property-terminal-punctuation-tests (Files):
21307         Likewise.
21308         * modules/unictype/property-test-tests (Files): Likewise.
21309         * modules/unictype/property-titlecase-tests (Files): Likewise.
21310         * modules/unictype/property-unassigned-code-value-tests (Files):
21311         Likewise.
21312         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
21313         * modules/unictype/property-uppercase-tests (Files): Likewise.
21314         * modules/unictype/property-variation-selector-tests (Files): Likewise.
21315         * modules/unictype/property-white-space-tests (Files): Likewise.
21316         * modules/unictype/property-xid-continue-tests (Files): Likewise.
21317         * modules/unictype/property-xid-start-tests (Files): Likewise.
21318         * modules/unictype/property-zero-width-tests (Files): Likewise.
21319         * modules/unictype/scripts-tests (Files): Likewise.
21320         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
21321         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
21322         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
21323         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
21324         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
21325         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
21326         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
21327         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
21328         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
21329         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
21330         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
21331         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
21332         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
21333         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
21334         * modules/uninorm/composition-tests (Files): Likewise.
21335         * modules/uninorm/decomposing-form-tests (Files): Likewise.
21336         * modules/uninorm/decomposition-tests (Files): Likewise.
21337         * modules/uninorm/filter-tests (Files): Likewise.
21338         * modules/uninorm/nfc-tests (Files): Likewise.
21339         * modules/uninorm/nfd-tests (Files): Likewise.
21340         * modules/uninorm/nfkc-tests (Files): Likewise.
21341         * modules/uninorm/nfkd-tests (Files): Likewise.
21342         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
21343         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
21344         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
21345         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
21346         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
21347         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
21348         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
21349         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
21350         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
21351         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
21352         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
21353         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
21354         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
21355         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
21356         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
21357         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
21358         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
21359         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
21360         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
21361         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
21362         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
21363         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
21364         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
21365         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
21366         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
21367         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
21368         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
21369         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
21370         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
21371         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
21372         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
21373         * modules/uniwidth/u8-width-tests (Files): Likewise.
21374         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
21375         * modules/uniwidth/u16-width-tests (Files): Likewise.
21376         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
21377         * modules/uniwidth/u32-width-tests (Files): Likewise.
21378         * modules/uniwidth/width-tests (Files): Likewise.
21379         * modules/unlink-tests (Files): Likewise.
21380         * modules/unsetenv-tests (Files): Likewise.
21381         * modules/usleep-tests (Files): Likewise.
21382         * modules/utimens-tests (Files): Likewise.
21383         * modules/utimensat-tests (Files): Likewise.
21384         * modules/vasnprintf-posix-tests (Files): Likewise.
21385         * modules/vasnprintf-tests (Files): Likewise.
21386         * modules/vasprintf-posix-tests (Files): Likewise.
21387         * modules/vasprintf-tests (Files): Likewise.
21388         * modules/vdprintf-posix-tests (Files): Likewise.
21389         * modules/vfprintf-posix-tests (Files): Likewise.
21390         * modules/vprintf-posix-tests (Files): Likewise.
21391         * modules/vsnprintf-posix-tests (Files): Likewise.
21392         * modules/vsnprintf-tests (Files): Likewise.
21393         * modules/vsprintf-posix-tests (Files): Likewise.
21394         * modules/wcrtomb-tests (Files): Likewise.
21395         * modules/wcsnrtombs-tests (Files): Likewise.
21396         * modules/wcsrtombs-tests (Files): Likewise.
21397         * modules/wctype-tests (Files): Likewise.
21398         * modules/wcwidth-tests (Files): Likewise.
21399         * modules/xmemdup0-tests (Files): Likewise.
21400         * modules/xprintf-posix-tests (Files): Likewise.
21401         * modules/xvasprintf-tests (Files): Likewise.
21402
21403 2009-12-24  Eric Blake  <ebb9@byu.net>
21404
21405         test-nanosleep: fix typo
21406         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
21407         patch.
21408         Reported by Bruno Haible.
21409
21410 2009-12-24  Bruno Haible  <bruno@clisp.org>
21411
21412         Reduce namespace pollution on glibc systems.
21413         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
21414         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
21415         systems.
21416         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
21417         <getopt.h> on glibc systems.
21418         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
21419         systems.
21420         * lib/fcntl.c: Include <unistd.h> here instead.
21421
21422 2009-12-24  Bruno Haible  <bruno@clisp.org>
21423
21424         * lib/stdlib.in.h (includes): Fix typo in today's commit.
21425
21426 2009-12-24  Eric Blake  <ebb9@byu.net>
21427
21428         tests: add signature checks
21429         * tests/signature.h (SIGNATURE_CHECK): New file.
21430         * modules/atexit-tests (Files): Use it.
21431         * modules/btowc-tests (Files): Likewise.
21432         * modules/canonicalize-lgpl-tests (Files): Likewise.
21433         * modules/ceilf-tests (Files): Likewise.
21434         * modules/ceill-tests (Files): Likewise.
21435         * modules/chown-tests (Files): Likewise.
21436         * modules/dprintf-posix-tests (Files): Likewise.
21437         * modules/dup2-tests (Files): Likewise.
21438         * modules/dup3-tests (Files): Likewise.
21439         * modules/duplocale-tests (Files): Likewise.
21440         * modules/fchdir-tests (Files): Likewise.
21441         * modules/fcntl-tests (Files): Likewise.
21442         * modules/fdopendir-tests (Files): Likewise.
21443         * modules/fflush-tests (Files): Likewise.
21444         * modules/flock-tests (Files): Likewise.
21445         * modules/floorf-tests (Files): Likewise.
21446         * modules/floorl-tests (Files): Likewise.
21447         * modules/fnmatch-tests (Files): Likewise.
21448         * modules/fopen-tests (Files): Likewise.
21449         * modules/fprintf-posix-tests (Files): Likewise.
21450         * modules/freopen-tests (Files): Likewise.
21451         * modules/frexp-nolibm-tests (Files): Likewise.
21452         * modules/frexp-tests (Files): Likewise.
21453         * modules/frexpl-nolibm-tests (Files): Likewise.
21454         * modules/frexpl-tests (Files): Likewise.
21455         * modules/fseek-tests (Files): Likewise.
21456         * modules/fseeko-tests (Files): Likewise.
21457         * modules/fsync-tests (Files): Likewise.
21458         * modules/ftell-tests (Files): Likewise.
21459         * modules/ftello-tests (Files): Likewise.
21460         * modules/futimens-tests (Files): Likewise.
21461         * modules/getaddrinfo-tests (Files): Likewise.
21462         * modules/getcwd-tests (Files): Likewise.
21463         * modules/getdelim-tests (Files): Likewise.
21464         * modules/getdtablesize-tests (Files): Likewise.
21465         * modules/getgroups-tests (Files): Likewise.
21466         * modules/gethostname-tests (Files): Likewise.
21467         * modules/getline-tests (Files): Likewise.
21468         * modules/getopt-posix-tests (Files): Likewise.
21469         * modules/gettimeofday-tests (Files): Likewise.
21470         * modules/glob-tests (Files): Likewise.
21471         * modules/iconv-tests (Files): Likewise.
21472         * modules/inet_ntop-tests (Files): Likewise.
21473         * modules/inet_pton-tests (Files): Likewise.
21474         * modules/isblank-tests (Files): Likewise.
21475         * modules/lchown-tests (Files): Likewise.
21476         * modules/ldexpl-tests (Files): Likewise.
21477         * modules/link-tests (Files): Likewise.
21478         * modules/linkat-tests (Files): Likewise.
21479         * modules/lseek-tests (Files): Likewise.
21480         * modules/lstat-tests (Files): Likewise.
21481         * modules/mbrtowc-tests (Files): Likewise.
21482         * modules/mbsinit-tests (Files): Likewise.
21483         * modules/mbsnrtowcs-tests (Files): Likewise.
21484         * modules/mbsrtowcs-tests (Files): Likewise.
21485         * modules/memchr-tests (Files): Likewise.
21486         * modules/memcmp-tests (Files): Likewise.
21487         * modules/memmem-tests (Files): Likewise.
21488         * modules/memrchr-tests (Files): Likewise.
21489         * modules/mkdir-tests (Files): Likewise.
21490         * modules/mkfifo-tests (Files): Likewise.
21491         * modules/mkfifoat-tests (Files): Likewise.
21492         * modules/mknod-tests (Files): Likewise.
21493         * modules/nanosleep-tests (Files): Likewise.
21494         * modules/nl_langinfo-tests (Files): Likewise.
21495         * modules/obstack-printf-tests (Files): Likewise.
21496         * modules/open-tests (Files): Likewise.
21497         * modules/openat-tests (Files): Likewise.
21498         * modules/perror-tests (Files): Likewise.
21499         * modules/pipe2-tests (Files): Likewise.
21500         * modules/poll-tests (Files): Likewise.
21501         * modules/popen-tests (Files): Likewise.
21502         * modules/posix_spawn-tests (Files): Likewise.
21503         * modules/posix_spawnp-tests (Files): Likewise.
21504         * modules/pread-tests (Files): Likewise.
21505         * modules/printf-posix-tests (Files): Likewise.
21506         * modules/pty-tests (Files): Likewise.
21507         * modules/random_r-tests (Files): Likewise.
21508         * modules/rawmemchr-tests (Files): Likewise.
21509         * modules/readlink-tests (Files): Likewise.
21510         * modules/remove-tests (Files): Likewise.
21511         * modules/rename-tests (Files): Likewise.
21512         * modules/renameat-tests (Files): Likewise.
21513         * modules/rmdir-tests (Files): Likewise.
21514         * modules/round-tests (Files): Likewise.
21515         * modules/roundf-tests (Files): Likewise.
21516         * modules/roundl-tests (Files): Likewise.
21517         * modules/select-tests (Files): Likewise.
21518         * modules/setenv-tests (Files): Likewise.
21519         * modules/sigaction-tests (Files): Likewise.
21520         * modules/sleep-tests (Files): Likewise.
21521         * modules/snprintf-posix-tests (Files): Likewise.
21522         * modules/snprintf-tests (Files): Likewise.
21523         * modules/sprintf-posix-tests (Files): Likewise.
21524         * modules/stat-tests (Files): Likewise.
21525         * modules/strcasestr-tests (Files): Likewise.
21526         * modules/strchrnul-tests (Files): Likewise.
21527         * modules/strerror-tests (Files): Likewise.
21528         * modules/strsignal-tests (Files): Likewise.
21529         * modules/strstr-tests (Files): Likewise.
21530         * modules/strtod-tests (Files): Likewise.
21531         * modules/strverscmp-tests (Files): Likewise.
21532         * modules/symlink-tests (Files): Likewise.
21533         * modules/symlinkat-tests (Files): Likewise.
21534         * modules/times-tests (Files): Likewise.
21535         * modules/trunc-tests (Files): Likewise.
21536         * modules/truncf-tests (Files): Likewise.
21537         * modules/truncl-tests (Files): Likewise.
21538         * modules/tsearch-tests (Files): Likewise.
21539         * modules/uname-tests (Files): Likewise.
21540         * modules/unlink-tests (Files): Likewise.
21541         * modules/unsetenv-tests (Files): Likewise.
21542         * modules/usleep-tests (Files): Likewise.
21543         * modules/utimensat-tests (Files): Likewise.
21544         * modules/vasprintf-tests (Files): Likewise.
21545         * modules/vdprintf-posix-tests (Files): Likewise.
21546         * modules/vfprintf-posix-tests (Files): Likewise.
21547         * modules/vprintf-posix-tests (Files): Likewise.
21548         * modules/vsnprintf-posix-tests (Files): Likewise.
21549         * modules/vsnprintf-tests (Files): Likewise.
21550         * modules/vsprintf-posix-tests (Files): Likewise.
21551         * modules/wcrtomb-tests (Files): Likewise.
21552         * modules/wcsnrtombs-tests (Files): Likewise.
21553         * modules/wcsrtombs-tests (Files): Likewise.
21554         * modules/wcwidth-tests (Files): Likewise.
21555         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
21556         * tests/test-isinf.c (isinf): Likewise.
21557         * tests/test-isnan.c (isnan): Likewise.
21558         * tests/test-signbit.c (signbit): Likewise.
21559         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
21560         declaration, either as macro or with correct signature.
21561         (select): Ensure function under test is declared with correct
21562         signature in correct header.
21563         * tests/test-atexit.c (atexit): Likewise.
21564         * tests/test-btowc.c (btowc): Likewise.
21565         * tests/test-canonicalize-lgpl.c (realpath)
21566         (canonicalize_file_name): Likewise.
21567         * tests/test-ceilf1.c (ceilf): Likewise.
21568         * tests/test-ceill.c (ceill): Likewise.
21569         * tests/test-chown.c (chown): Likewise.
21570         * tests/test-dprintf-posix.c (dprintf): Likewise.
21571         * tests/test-dup2.c (dup2): Likewise.
21572         * tests/test-dup3.c (dup3): Likewise.
21573         * tests/test-duplocale.c (duplocale): Likewise.
21574         * tests/test-fchdir.c (fchdir): Likewise.
21575         * tests/test-fchownat.c (fchownat): Likewise.
21576         * tests/test-fcntl.c (fcntl): Likewise.
21577         * tests/test-fdopendir.c (fdopendir): Likewise.
21578         * tests/test-fflush.c (fflush): Likewise.
21579         * tests/test-flock.c (flock): Likewise.
21580         * tests/test-floorf1.c (floorf): Likewise.
21581         * tests/test-floorl.c (floorl): Likewise.
21582         * tests/test-fnmatch.c (fnmatch): Likewise.
21583         * tests/test-fopen.c (fopen): Likewise.
21584         * tests/test-fprintf-posix.c (fprintf): Likewise.
21585         * tests/test-freopen.c (freopen): Likewise.
21586         * tests/test-frexp.c (frexp): Likewise.
21587         * tests/test-frexpl.c (frexpl): Likewise.
21588         * tests/test-fseek.c (fseek): Likewise.
21589         * tests/test-fseeko.c (fseeko): Likewise.
21590         * tests/test-fstatat.c (fstatat): Likewise.
21591         * tests/test-fsync.c (fsync): Likewise.
21592         * tests/test-ftell.c (ftell): Likewise.
21593         * tests/test-ftello.c (ftello): Likewise.
21594         * tests/test-futimens.c (futimens): Likewise.
21595         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
21596         (gai_strerror): Likewise.
21597         * tests/test-getcwd.c (getcwd): Likewise.
21598         * tests/test-getdelim.c (getdelim): Likewise.
21599         * tests/test-getdtablesize.c (getdtablesize): Likewise.
21600         * tests/test-getgroups.c (getgroups): Likewise.
21601         * tests/test-gethostname.c (gethostname): Likewise.
21602         * tests/test-getline.c (getline): Likewise.
21603         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
21604         Likewise.
21605         * tests/test-gettimeofday.c (gettimeofday): Likewise.
21606         * tests/test-glob.c (glob, globfree): Likewise.
21607         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
21608         * tests/test-inet_ntop.c (inet_ntop): Likewise.
21609         * tests/test-inet_pton.c (inet_pton): Likewise.
21610         * tests/test-isblank.c (isblank): Likewise.
21611         * tests/test-lchown.c (lchown): Likewise.
21612         * tests/test-ldexpl.c (ldexpl): Likewise.
21613         * tests/test-link.c (link): Likewise.
21614         * tests/test-linkat.c (linkat): Likewise.
21615         * tests/test-lseek.c (lseek): Likewise.
21616         * tests/test-lstat.c (lstat): Likewise.
21617         * tests/test-mbrtowc.c (mbrtowc): Likewise.
21618         * tests/test-mbsinit.c (mbsinit): Likewise.
21619         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
21620         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
21621         * tests/test-memchr.c (memchr): Likewise.
21622         * tests/test-memcmp.c (memcmp): Likewise.
21623         * tests/test-memmem.c (memmem): Likewise.
21624         * tests/test-memrchr.c (memrchr): Likewise.
21625         * tests/test-mkdir.c (mkdir): Likewise.
21626         * tests/test-mkdirat.c (mkdirat): Likewise.
21627         * tests/test-mkfifo.c (mkfifo): Likewise.
21628         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
21629         * tests/test-mknod.c (mknod): Likewise.
21630         * tests/test-nanosleep.c (nanosleep): Likewise.
21631         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
21632         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
21633         Likewise.
21634         * tests/test-open.c (open): Likewise.
21635         * tests/test-openat.c (openat): Likewise.
21636         * tests/test-perror.c (perror): Likewise.
21637         * tests/test-pipe2.c (pipe2): Likewise.
21638         * tests/test-poll.c (poll): Likewise.
21639         * tests/test-popen.c (popen, pclose): Likewise.
21640         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
21641         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
21642         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
21643         (posix_spawn_file_actions_destroy)
21644         (posix_spawn_file_actions_addclose)
21645         (posix_spawn_file_actions_addopen)
21646         (posix_spawn_file_actions_adddup2): Likewise.
21647         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
21648         * tests/test-pread.c (pread): Likewise.
21649         * tests/test-printf-posix.c (printf): Likewise.
21650         * tests/test-pty.c (openpty, forkpty): Likewise.
21651         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
21652         (random_r): Likewise.
21653         * tests/test-rawmemchr.c (rawmemchr): Likewise.
21654         * tests/test-readlink.c (readlink): Likewise.
21655         * tests/test-remove.c (remove): Likewise.
21656         * tests/test-rename.c (rename): Likewise.
21657         * tests/test-renameat.c (renameat): Likewise.
21658         * tests/test-rmdir.c (rmdir): Likewise.
21659         * tests/test-round1.c (round): Likewise.
21660         * tests/test-roundf1.c (roundf): Likewise.
21661         * tests/test-roundl.c (roundl): Likewise.
21662         * tests/test-setenv.c (setenv): Likewise.
21663         * tests/test-sigaction.c (sigaction): Likewise.
21664         * tests/test-sleep.c (sleep): Likewise.
21665         * tests/test-snprintf.c (snprintf): Likewise.
21666         * tests/test-sprintf-posix.c (sprintf): Likewise.
21667         * tests/test-stat.c (stat): Likewise.
21668         * tests/test-stpncpy.c (stpncpy): Likewise.
21669         * tests/test-strcasestr.c (strcasestr): Likewise.
21670         * tests/test-strchrnul.c (strchrnul): Likewise.
21671         * tests/test-strerror.c (strerror): Likewise.
21672         * tests/test-strsignal.c (strsignal): Likewise.
21673         * tests/test-strstr.c (strstr): Likewise.
21674         * tests/test-strtod.c (strtod): Likewise.
21675         * tests/test-strverscmp.c (strverscmp): Likewise.
21676         * tests/test-symlink.c (symlink): Likewise.
21677         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
21678         * tests/test-times.c (times): Likewise.
21679         * tests/test-trunc1.c (trunc): Likewise.
21680         * tests/test-truncf1.c (truncf): Likewise.
21681         * tests/test-truncl.c (truncl): Likewise.
21682         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
21683         Likewise.
21684         * tests/test-uname.c (uname): Likewise.
21685         * tests/test-unlink.c (unlink): Likewise.
21686         * tests/test-unlinkat.c (unlinkat): Likewise.
21687         * tests/test-unsetenv.c (unsetenv): Likewise.
21688         * tests/test-usleep.c (usleep): Likewise.
21689         * tests/test-utimensat.c (utimensat): Likewise.
21690         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
21691         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
21692         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
21693         * tests/test-vprintf-posix.c (vprintf): Likewise.
21694         * tests/test-vsnprintf.c (vsnprintf): Likewise.
21695         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
21696         * tests/test-wcrtomb.c (wcrtomb): Likewise.
21697         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
21698         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
21699         * tests/test-wcwidth.c (wcwidth): Likewise.
21700
21701         build: pull in conditional headers during GNULIB_POSIXCHECK
21702         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
21703         definitions from any conditionally-included headers.
21704         * lib/stdlib.in.h (includes): Likewise.
21705         * lib/unistd.in.h (includes): Likewise.
21706
21707 2009-12-24  Bruno Haible  <bruno@clisp.org>
21708
21709         * tests/test-argv-iter.c: Include header file being tested immediately
21710         after config.h.
21711         * tests/test-base64.c: Likewise.
21712         * tests/test-flock.c: Likewise.
21713         * tests/test-fsync.c: Likewise.
21714         * tests/test-getdate.c: Likewise.
21715         * tests/test-getndelim2.c: Likewise.
21716         * tests/test-isfinite.c: Likewise.
21717         * tests/test-isinf.c: Likewise.
21718         * tests/test-strerror.c: Likewise.
21719         * tests/test-strsignal.c: Likewise.
21720
21721 2009-12-23  Eric Blake  <ebb9@byu.net>
21722
21723         unistd: work around cygwin bug
21724         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
21725         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
21726         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
21727
21728 2009-12-23  Bruno Haible  <bruno@clisp.org>
21729
21730         localename: More tests.
21731         * tests/test-localename.c (SIZEOF): New macro.
21732         (categories): New variable.
21733         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
21734         test_locale_name_default): Add test w.r.t. thread locale.
21735         (test_locale_name_thread): New function.
21736         (main): Invoke it.
21737
21738         localename: Make aware of thread locale.
21739         * lib/localename.h (gl_locale_name_thread): New declaration.
21740         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
21741         behaviour with respect to thread locale.
21742         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
21743         <langinfo.h>, glthread/lock.h.
21744         (SIZE_BITS): New macro.
21745         (string_hash): New function.
21746         (struct hash_node): New type.
21747         (HASH_TABLE_SIZE): New macro.
21748         (struniq_hash_table, struniq_lock): New variables.
21749         (struniq): New function.
21750         (gl_locale_name_thread): New function.
21751         (gl_locale_name): Invoke it.
21752         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
21753         * modules/localename (Depends-on): Add lock.
21754         Reported by Mike Gran <spk121@yahoo.com>.
21755
21756 2009-12-23  Eric Blake  <ebb9@byu.net>
21757
21758         va-args: new module
21759         * modules/va-args: New file.
21760         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
21761         * MODULES.html.sh (Core language properties): Mention it.
21762
21763         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
21764         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
21765         named alias for __attribute__((__unused__)).
21766         * lib/chown.c: Update client.
21767         * lib/fchmodat.c: Likewise.
21768         * lib/fts.c: Likewise.
21769         * lib/getdate.y: Likewise.
21770         * lib/getgroups.c: Likewise.
21771         * lib/getopt.c: Likewise.
21772         * lib/getugroups.c: Likewise.
21773         * lib/mkdir.c: Likewise.
21774         * lib/mkfifo.c: Likewise.
21775         * lib/mkfifoat.c: Likewise.
21776         * lib/mknod.c: Likewise.
21777         * lib/mknodat.c: Likewise.
21778         * lib/readlink.c: Likewise.
21779         * lib/se-context.in.h: Likewise.
21780         * lib/se-selinux.in.h: Likewise.
21781         * lib/sockets.c: Likewise.
21782         * lib/symlink.c: Likewise.
21783         * lib/symlinkat.c: Likewise.
21784         * lib/unicodeio.c: Likewise.
21785         * lib/unistr.h: Likewise.
21786         * tests/test-areadlink.c: Likewise.
21787         * tests/test-areadlinkat.c: Likewise.
21788         * tests/test-filenamecat.c: Likewise.
21789         * tests/test-fseeko.c: Likewise.
21790         * tests/test-ftello.c: Likewise.
21791         * tests/test-getdate.c: Likewise.
21792         * tests/test-getgroups.c: Likewise.
21793         * tests/test-gethostname.c: Likewise.
21794         * tests/test-quotearg.c: Likewise.
21795         * tests/test-version-etc.c: Likewise.
21796         * tests/test-xalloc-die.c: Likewise.
21797         * tests/test-xfprintf-posix.c: Likewise.
21798         * tests/test-xprintf-posix.c: Likewise.
21799         * tests/test-xvasprintf.c: Likewise.
21800
21801         tests: avoid compiler warnings
21802         * tests/test-fcntl.c (main): Delete unused parameters.
21803         * tests/test-freopen-safer.c (main): Likewise.
21804         * tests/test-xalloc-die.c (main): Mark unused parameters.
21805         * tests/test-fseeko.c (main): Likewise.
21806         * tests/test-ftello.c (main): Likewise.
21807         * tests/test-nanosleep.c (main): Avoid declaration warning.
21808         * tests/test-sleep.c (main): Likewise.
21809         * tests/test-unsetenv.c (main): Silence warning about string
21810         literal.
21811         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
21812
21813 2009-12-23  Bruno Haible  <bruno@clisp.org>
21814
21815         * tests/test-localename.c (test_locale_name): New function, extracted
21816         from main. Also test mixed situations.
21817         (test_locale_name_posix, test_locale_name_environ,
21818         test_locale_name_default): New functions.
21819         (main): Invoke them all.
21820         * modules/localename-tests (configure.ac): Test for newlocale.
21821
21822 2009-12-23  Bruno Haible  <bruno@clisp.org>
21823
21824         unistd: Ensure getcwd gets declared before being overridden.
21825         * lib/unistd.in.h: Conditionally include <io.h>.
21826
21827 2009-12-22  Bruno Haible  <bruno@clisp.org>
21828
21829         wchar: Diagnose broken combination of glibc and gcc versions and flags.
21830         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
21831         (gl_WCHAR_H): Invoke it.
21832         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
21833         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
21834         Reported by Karl Berry <karl@freefriends.org>.
21835
21836 2009-12-22  Eric Blake  <ebb9@byu.net>
21837
21838         math, unistd: avoid redundant includes
21839         * lib/math.in.h (isnan): No need to re-include <math.h>.
21840         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
21841
21842         getsubopt: work around cygwin bug
21843         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
21844         avoid conflicting with system getsubopt.
21845         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
21846         bug.
21847
21848         getopt: synchronize from glibc
21849         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
21850         parameter order.  Adjust all callers.
21851         (_getopt_internal_r, main): Adjust quoting in error messages.
21852         Drop considerations for outdated POSIX 1003.2 error message.
21853         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
21854         callers.
21855         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
21856
21857         test-getopt: test stderr behavior
21858         * modules/getopt-posix-tests (Depends-on): Add dup2.
21859         * tests/test-getopt.c (ASSERT): Avoid stderr.
21860         (main): Move stderr to a temporary file.
21861         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
21862         Instead, add parameter to inform caller if output occurred.
21863         (test_getopt): Adjust all existing tests to expect silence, and
21864         add new tests of leading ":".
21865         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
21866         glibc shortcomings with leading "-:" or "+:" in optstring.
21867         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21868         Likewise.
21869         * doc/posix-functions/getopt.texi (getopt): Likewise.
21870
21871         test-getopt: enhance test
21872         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
21873         supports optind=0.
21874         * tests/test-getopt.c (OPTIND_MIN): Move...
21875         * tests/test-getopt.h (OPTIND_MIN): ...here.
21876         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
21877         Require that optind=0 works, since modern BSD supports it in
21878         addition to optreset, and since coreutils expects it.
21879         (test_getopt_long_only): New test.
21880         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
21881         glibc shortcomings with 'W;', and enforcement of optind=0.
21882         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21883         Likewise.
21884
21885 2009-12-21  Bruno Haible  <bruno@clisp.org>
21886
21887         localename: Improvements for MacOS X and Cygwin.
21888         * lib/localename.h (gl_locale_name_environ): New declaration.
21889         * lib/localename.c (gl_locale_name_environ): New function, extracted from
21890         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
21891         (gl_locale_name_posix): Invoke it.
21892         (gl_locale_name_default): Add comments. Use Windows native API also on
21893         Cygwin.
21894
21895 2009-12-21  Bruno Haible  <bruno@clisp.org>
21896
21897         Update list of Win32 locale ids.
21898         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
21899         (LANG_SAMI): Renamed from LANG_SAAMI.
21900         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
21901         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
21902         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
21903         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
21904         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
21905         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
21906         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
21907         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
21908         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
21909         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
21910         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
21911         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
21912         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
21913         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
21914         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
21915         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
21916         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
21917         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
21918         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
21919         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
21920         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
21921         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
21922         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
21923         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
21924         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
21925         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
21926         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
21927         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
21928         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
21929         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
21930         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
21931         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
21932         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
21933         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
21934         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
21935         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
21936         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
21937         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
21938         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
21939         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
21940         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
21941         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
21942         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
21943         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
21944         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
21945         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
21946         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
21947         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
21948         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
21949         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
21950         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
21951         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
21952         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
21953         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
21954         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
21955         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
21956         Add more languages and countries for Sami, Sorbian. Add more countries
21957         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
21958         for Pashto. Change country for Syriac, Tswana.
21959
21960 2009-12-21  Eric Blake  <ebb9@byu.net>
21961
21962         test-utimens: avoid spurious failure
21963         * tests/test-chown.h (nap): Factor...
21964         * tests/nap.h: ...into new file.
21965         * tests/test-lchown.h (nap): Avoid duplication.
21966         * tests/test-utimens-common.h (nap): Use shared implementation,
21967         necessary on file systems with 1-second resolution.
21968         * modules/chown-tests (Files): Include new file.
21969         * modules/fdutimensat-tests (Files): Likewise.
21970         * modules/futimens-tests (Files): Likewise.
21971         * modules/lchown-tests (Files): Likewise.
21972         * modules/openat-tests (Files): Likewise.
21973         * modules/utimens-tests (Files): Likewise.
21974         * modules/utimensat-tests (Files): Likewise.
21975
21976 2009-12-19  Eric Blake  <ebb9@byu.net>
21977
21978         futimens, utimensat: work around Linux bug
21979         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
21980         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21981         * lib/utimensat.c (rpl_utimensat): Work around it.
21982         * lib/futimens.c (rpl_futimens): Adjust comment.
21983
21984         utimens: work around Linux ctime bug
21985         * lib/utimens.c (detect_ctime_bug): New helper function.
21986         (update_timespec): Differentiate between workaround needed for
21987         this bug vs. what is needed for systems that lack utimensat.
21988         (fdutimens, lutimens): Work around bug.
21989
21990         utimens: check for ctime update
21991         * tests/test-utimens-common.h (check_ctime): Define.
21992         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
21993         * tests/test-futimens.h (test_futimens): Likewise.
21994         * tests/test-lutimens.h (test_lutimens): Likewise.
21995         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21996         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21997
21998 2009-12-19  Bruno Haible  <bruno@clisp.org>
21999
22000         dprintf-posix: Check against memory leak fixed on 2009-12-15.
22001         * tests/test-dprintf-posix2.sh: New file.
22002         * tests/test-dprintf-posix2.c: New file.
22003         * modules/dprintf-posix-tests (Files): Add them.
22004         (configure.ac): Check for getrlimit and setrlimit.
22005         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22006
22007 2009-12-19  Bruno Haible  <bruno@clisp.org>
22008
22009         fprintf-posix: Check against memory leak fixed on 2009-12-15.
22010         * tests/test-fprintf-posix3.sh: New file.
22011         * tests/test-fprintf-posix3.c: New file.
22012         * modules/fprintf-posix-tests (Files): Add them.
22013         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22014
22015 2009-12-19  Eric Blake  <ebb9@byu.net>
22016
22017         dirfd: fix prototype
22018         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
22019         * lib/dirfd.c (dirfd): Likewise.
22020
22021         canonicalize: reduce memory usage
22022         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
22023         allocation to size.
22024         Reported by Solar Designer <solar@openwall.com>.
22025
22026 2009-12-19  Bruno Haible  <bruno@clisp.org>
22027
22028         New module attribute 'Applicability'.
22029         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
22030         * gnulib-tool: New option --extract-applicability.
22031         (func_usage): Document it.
22032         (sed_extract_prog): Recognize it.
22033         (func_get_applicability): New function.
22034         (func_import): Generalize handling of 'link-warning' module.
22035         * modules/link-warning (Applicability): New section.
22036         * modules/arg-nonnull (Applicability): New section.
22037         Repoted by Simon Josefsson <simon@josefsson.org>.
22038
22039 2009-12-19  Bruno Haible  <bruno@clisp.org>
22040
22041         fflush: tweak
22042         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
22043         * lib/fseeko.c (rpl_fseeko): Likewise.
22044
22045 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
22046
22047         * lib/gl_list.h: Fix typo in comment.
22048
22049 2009-12-16  Eric Blake  <ebb9@byu.net>
22050
22051         fcntl: use to simplify other modules
22052         * modules/cloexec (Depends-on): Add fcntl.
22053         * modules/fchdir (Depends-on): Likewise.
22054         * modules/fd-safer-flag (Depends-on): Likewise.
22055         * modules/unistd-safer (Depends-on): Likewise.
22056         * modules/dup3 (configure.ac): Set module indicator.
22057         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
22058         missing.
22059         * lib/fchdir.c (_gl_register_dup): Fix comment.
22060         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
22061         * lib/dup-safer.c (dup_safer): Likewise.
22062         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
22063         * lib/dup3.c (dup3): Likewise.
22064         * tests/test-fchdir.c (main): Enhance test.
22065         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
22066
22067         fcntl: port portions of fcntl to mingw
22068         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
22069         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
22070         replacement for mingw.
22071         * modules/fcntl (Description): Update.
22072         (Depends-on): Add dup2.
22073         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
22074         * modules/fcntl-h (Makefile.am): Substitute it.
22075         * lib/fcntl.in.h (fcntl): Update declaration.
22076         (F_DUPFD, F_GETFD): New macros, when needed.
22077         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
22078         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
22079         * tests/test-fcntl.c (check_flags, main): Enhance test for items
22080         we now guarantee.
22081
22082         fcntl: work around cygwin bug in F_DUPFD
22083         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
22084         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
22085         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
22086         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
22087         * doc/posix-functions/fcntl.texi (fcntl): Document it.
22088
22089         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
22090         * modules/fcntl (Files): List new files.
22091         (configure.ac): Run a test.
22092         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
22093         * lib/fcntl.c (rpl_fcntl): Likewise.
22094         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
22095         (gl_FCNTL_H): Always replace fcntl.h.
22096         * modules/fcntl-h (Makefile.am): Substitute witnesses.
22097         * lib/fcntl.in.h (fcntl): Declare replacement.
22098         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
22099         needed, plus a witness.
22100         * doc/posix-functions/fcntl.texi (fcntl): Document this.
22101         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
22102         * tests/test-fcntl.c: New file.
22103         * modules/fcntl-tests: Likewise.
22104
22105         binary-io: avoid potential compilation warning
22106         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
22107         directives.
22108
22109         fflush: avoid compilation error on NetBSD
22110         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
22111         between off_t and fpos_t, since the latter is sometimes a struct.
22112         * lib/fseeko.c (rpl_fseeko): Likewise.
22113         Reported by Alexander Nasonov <alnsn@yandex.ru>.
22114
22115 2009-12-15  Eric Blake  <ebb9@byu.net>
22116
22117         fcntl-h, stdio, sys_ioctl: fix declarations
22118         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
22119         function must not take arguments.
22120         * lib/sys_ioctl.in.h (ioctl): Likewise.
22121         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
22122         (open): Add a link warning.
22123
22124 2009-12-15  Jim Meyering  <meyering@redhat.com>
22125
22126         areadlink, areadlink-with-size: relax license to LGPLv2+
22127         * modules/areadlink (License): Relax to LGPLv2+.
22128         * modules/areadlink-with-size (License): Likewise.
22129
22130 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
22131             Bruno Haible  <bruno@clisp.org>
22132
22133         *printf: Fix memory leak.
22134         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
22135         * lib/vfprintf.c (vfprintf): Likewise.
22136         * lib/dprintf.c (dprintf): Likewise.
22137         * lib/vdprintf.c (vdprintf): Likewise.
22138
22139 2009-12-14  Eric Blake  <ebb9@byu.net>
22140
22141         accept4: adjust module dependencies
22142         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
22143
22144         utimens: one more try at avoiding compiler warning
22145         * lib/utimens.c (lutimens): Lower scope of result.
22146
22147 2009-12-13  Bruno Haible  <bruno@clisp.org>
22148
22149         Move the malloc checking from module 'list' to new module 'xlist'.
22150         * modules/xlist: New file.
22151         * lib/gl_xlist.h: New file.
22152         * lib/gl_xlist.c: New file.
22153         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
22154         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
22155         gl_list_add_last, gl_list_add_before, gl_list_add_after,
22156         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
22157         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
22158         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
22159         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
22160         gl_sortedlist_nx_add): New declarations.
22161         (struct gl_list_implementation): Rename and change methods accordingly.
22162         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
22163         (gl_list_nx_create): Renamed from gl_list_create.
22164         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22165         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22166         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22167         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22168         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22169         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22170         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22171         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22172         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
22173         gl_list_create_empty.
22174         (gl_list_nx_create): Renamed from gl_list_create.
22175         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22176         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22177         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22178         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22179         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22180         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22181         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22182         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22183         * lib/gl_array_list.c: Don't include xalloc.h.
22184         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
22185         NULL upon out-of-memory.
22186         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
22187         out-of-memory.
22188         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
22189         Change return type to 'int'.
22190         (gl_array_nx_set_at): Renamed from gl_array_set_at.
22191         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22192         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
22193         upon out-of-memory.
22194         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
22195         upon out-of-memory.
22196         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
22197         upon out-of-memory.
22198         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
22199         upon out-of-memory.
22200         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
22201         out-of-memory.
22202         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
22203         Update.
22204         (gl_array_list_implementation): Update.
22205         * lib/gl_carray_list.c: Don't include xalloc.h.
22206         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
22207         Return NULL upon out-of-memory.
22208         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
22209         out-of-memory.
22210         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
22211         Change return type to 'int'.
22212         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
22213         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22214         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
22215         upon out-of-memory.
22216         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
22217         upon out-of-memory.
22218         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
22219         out-of-memory.
22220         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
22221         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
22222         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
22223         Update.
22224         (gl_carray_list_implementation): Update.
22225         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
22226         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
22227         gl_linked_create_empty. Return NULL upon out-of-memory.
22228         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
22229         out-of-memory.
22230         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
22231         Change return type to 'int'. Return -1 upon out-of-memory.
22232         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
22233         out-of-memory.
22234         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
22235         upon out-of-memory.
22236         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
22237         upon out-of-memory.
22238         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
22239         NULL upon out-of-memory.
22240         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
22241         upon out-of-memory.
22242         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
22243         out-of-memory.
22244         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
22245         Update.
22246         * lib/gl_linked_list.c: Don't include xalloc.h.
22247         (gl_linked_list_implementation): Update.
22248         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
22249         (add_to_bucket): Change return type to 'int'.
22250         (gl_linkedhash_list_implementation): Update.
22251         * lib/gl_anytree_list1.h (free_subtree): New function.
22252         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
22253         gl_tree_create_empty. Return NULL upon out-of-memory.
22254         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
22255         Change return type to 'int'. Return -1 upon out-of-memory.
22256         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
22257         out-of-memory.
22258         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
22259         (gl_tree_remove_node): New function, moved here from
22260         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
22261         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
22262         Update.
22263         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
22264         malloc, not xmalloc. Return NULL upon out-of-memory.
22265         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22266         out-of-memory.
22267         (gl_tree_remove_node_from_tree): New function, extracted from
22268         gl_tree_remove_node.
22269         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22270         upon out-of-memory.
22271         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22272         out-of-memory.
22273         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22274         upon out-of-memory.
22275         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22276         upon out-of-memory.
22277         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22278         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
22279         not xmalloc. Return NULL upon out-of-memory.
22280         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22281         out-of-memory.
22282         (gl_tree_remove_node_from_tree): New function, extracted from
22283         gl_tree_remove_node.
22284         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22285         upon out-of-memory.
22286         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22287         out-of-memory.
22288         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22289         upon out-of-memory.
22290         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22291         upon out-of-memory.
22292         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22293         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
22294         gl_anytree_list1.h before gl_anyavltree_list2.h.
22295         (gl_avltree_list_implementation): Update.
22296         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
22297         gl_anytree_list1.h before gl_anyavltree_list2.h.
22298         (gl_rbtree_list_implementation): Update.
22299         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
22300         Change return type to 'int'. Return -1 upon out-of-memory. Use
22301         __builtin_expect.
22302         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
22303         (gl_avltreehash_list_implementation): Update.
22304         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
22305         (gl_rbtreehash_list_implementation): Update.
22306         * modules/array-list (Depends-on): Remove xalloc.
22307         * modules/carray-list (Depends-on): Likewise.
22308         * modules/linked-list (Depends-on): Likewise.
22309         * modules/linkedhash-list (Depends-on): Likewise.
22310         * modules/avltree-list (Depends-on): Likewise.
22311         * modules/rbtree-list (Depends-on): Likewise.
22312         * modules/avltreehash-list (Depends-on): Likewise.
22313         * modules/rbtreehash-list (Depends-on): Likewise.
22314
22315         * modules/xsublist: New file.
22316         * lib/gl_xsublist.h: New file.
22317         * lib/gl_xsublist.c: New file.
22318         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
22319         (gl_sublist_nx_create): New declaration.
22320         * lib/gl_sublist.c: Don't include xalloc.h.
22321         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
22322         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
22323         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
22324         Change return type to 'int'. Return -1 upon out-of-memory.
22325         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
22326         upon out-of-memory.
22327         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
22328         NULL upon out-of-memory.
22329         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
22330         upon out-of-memory.
22331         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
22332         NULL upon out-of-memory.
22333         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
22334         NULL upon out-of-memory.
22335         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
22336         upon out-of-memory.
22337         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
22338         (gl_sublist_list_implementation): Update.
22339         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
22340         upon out-of-memory.
22341         * modules/sublist (Depends-on): Remove xalloc.
22342
22343         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
22344         * tests/test-carray_list.c: Likewise.
22345         * tests/test-linked_list.c: Likewise.
22346         * tests/test-linkedhash_list.c: Likewise.
22347         * tests/test-avltree_list.c: Likewise.
22348         * tests/test-rbtree_list.c: Likewise.
22349         * tests/test-avltreehash_list.c: Likewise.
22350         * tests/test-rbtreehash_list.c: Likewise.
22351         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
22352         * modules/carray-list-tests (Makefile.am): Likewise.
22353         * modules/linked-list-tests (Makefile.am): Likewise.
22354         * modules/linkedhash-list-tests (Makefile.am): Likewise.
22355         * modules/avltree-list-tests (Makefile.am): Likewise.
22356         * modules/rbtree-list-tests (Makefile.am): Likewise.
22357         * modules/avltreehash-list-tests (Makefile.am): Likewise.
22358         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
22359
22360         * NEWS: Mention the changes.
22361
22362         * lib/clean-temp.c: Include gl_xlist.h.
22363         * modules/clean-temp (Depends-on): Add xlist.
22364
22365         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
22366         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
22367
22368         * tests/test-array_oset.c: Include gl_xlist.h.
22369         * modules/array-oset-tests (Depends-on): Add xlist.
22370
22371         Reported by José E. Marchesi <jemarch@gnu.org>.
22372
22373 2009-12-13  Bruno Haible  <bruno@clisp.org>
22374
22375         Move the malloc checking from module 'oset' to new module 'xoset'.
22376         * modules/xoset: New file.
22377         * lib/gl_xoset.h: New file.
22378         * lib/gl_xoset.c: New file.
22379         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
22380         declarations.
22381         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
22382         (struct gl_oset_implementation): Rename and change methods accordingly.
22383         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
22384         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22385         'int'. Mark as __warn_unused_result__.
22386         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
22387         gl_oset_create_empty.
22388         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22389         'int'.
22390         * lib/gl_array_oset.c: Don't include xalloc.h.
22391         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
22392         malloc, not xmalloc.
22393         (grow): Change return type to 'int'. Don't call xalloc_die.
22394         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
22395         to 'int'.
22396         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
22397         'int'.
22398         (gl_array_oset_implementation): Update.
22399         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
22400         gl_tree_create_empty.
22401         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
22402         'int'.
22403         * lib/gl_avltree_oset.c: Don't include xalloc.h.
22404         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22405         xmalloc.
22406         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22407         not xmalloc.
22408         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22409         xmalloc.
22410         (gl_avltree_oset_implementation): Update.
22411         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
22412         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22413         xmalloc.
22414         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22415         not xmalloc.
22416         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22417         xmalloc.
22418         (gl_rbtree_oset_implementation): Update.
22419         * modules/array-oset (Depends-on): Remove xalloc.
22420         * modules/avltree-oset (Depends-on): Likewise.
22421         * modules/rbtree-oset (Depends-on): Likewise.
22422         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
22423         * tests/test-avltree_oset.c: Likewise.
22424         * tests/test-rbtree_oset.c: Likewise.
22425         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
22426         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
22427         * modules/rbtree-oset-tests (Makefile.am): Likewise.
22428         * NEWS: Mention the change.
22429
22430 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
22431
22432         maint.mk: allow a project to override release-prep commands
22433         * top/maint.mk (alpha, beta, stable): Move release-preparatory
22434         commands into a new rule.
22435         (release-prep): New rule.
22436         (release-prep-hook): New overridable variable.
22437
22438 2009-12-13  Bruno Haible  <bruno@clisp.org>
22439
22440         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
22441
22442 2009-12-13  Jim Meyering  <meyering@redhat.com>
22443
22444         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
22445         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
22446
22447 2009-12-12  Bruno Haible  <bruno@clisp.org>
22448
22449         duplocale: Tweak.
22450         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
22451
22452 2009-12-12  Karl Berry  <karl@gnu.org>
22453
22454         * config/srclist.txt (strtoll.c): tab changes, no more sync.
22455
22456 2009-12-12  Bruno Haible  <bruno@clisp.org>
22457
22458         * m4/po.m4: Undo incorrect untabification.
22459
22460 2009-12-12  Bruno Haible  <bruno@clisp.org>
22461
22462         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
22463         * modules/c-strtod (Depends-on): Add locale.
22464         * modules/c-strtold (Depends-on): Likewise.
22465
22466 2009-12-12  Bruno Haible  <bruno@clisp.org>
22467
22468         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
22469
22470 2009-12-11  Eric Blake  <ebb9@byu.net>
22471
22472         setenv: relax requirement in light of POSIX ruling
22473         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
22474         not NULL.
22475         * tests/test-setenv.c (main): Relax test.
22476         * tests/test-unsetenv.c (main): Likewise.
22477         * doc/posix-functions/setenv.texi (setenv): Document this.
22478         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22479
22480 2009-12-11  Bruno Haible  <bruno@clisp.org>
22481
22482         New module 'fd-safer-flag'.
22483         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
22484         * lib/dup-safer.c (dup_safer_flag): Remove function.
22485         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
22486         * lib/fd-safer.c (fd_safer_flag): Remove function.
22487         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
22488         * modules/cloexec (configure.ac): Drop indicator macro.
22489         * modules/fd-safer-flag: New file.
22490         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
22491         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
22492         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
22493
22494 2009-12-11  Bruno Haible  <bruno@clisp.org>
22495
22496         Tests for module 'nl_langinfo'.
22497         * modules/nl_langinfo-tests: New file.
22498         * tests/test-nl_langinfo.sh: New file.
22499         * tests/test-nl_langinfo.c: New file.
22500
22501         New module 'nl_langinfo'.
22502         * lib/nl_langinfo.c: New file.
22503         * m4/nl_langinfo.m4: New file.
22504         * modules/nl_langinfo: New file.
22505         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
22506
22507 2009-12-11  Bruno Haible  <bruno@clisp.org>
22508
22509         Tests for module 'langinfo'.
22510         * modules/langinfo-tests: New file.
22511         * tests/test-langinfo.c: New file.
22512
22513         New module 'langinfo'.
22514         * lib/langinfo.in.h: New file.
22515         * m4/langinfo_h.m4: New file.
22516         * modules/langinfo: New file.
22517         * doc/posix-headers/langinfo.texi: Mention the new module.
22518
22519 2009-12-11  Bruno Haible  <bruno@clisp.org>
22520
22521         * lib/config.charset: Untabify.
22522
22523 2009-12-11  Bruno Haible  <bruno@clisp.org>
22524
22525         * modules/unistd-safer (configure.ac): Drop indicator macro.
22526
22527 2009-12-11  Bruno Haible  <bruno@clisp.org>
22528
22529         Move pipe2-safer code to its own file.
22530         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
22531         * lib/pipe-safer.c (pipe2_safer): Remove function.
22532         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
22533         (Makefile.am): Add it to lib_SOURCES.
22534
22535 2009-12-10  Bruno Haible  <bruno@clisp.org>
22536
22537         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
22538
22539 2009-12-10  Bruno Haible  <bruno@clisp.org>
22540
22541         Declare which arguments expect non-NULL values, for GCC and clang.
22542         * build-aux/arg-nonnull.h: New file.
22543         * modules/arg-nonnull: New file.
22544         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
22545         (inet_ntop, inet_pton): Use it.
22546         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
22547         (closedir, dirfd, opendir, scandir, alphasort): Use it.
22548         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
22549         (open, openat): Use it.
22550         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
22551         (fnmatch): Use it.
22552         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
22553         (getopt, getopt_long, getopt_long_only): Use it.
22554         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
22555         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
22556         Use it.
22557         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
22558         (iconv_open): Use it.
22559         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
22560         (strtoimax, strtoumax): Use it.
22561         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
22562         (duplocale): Use it.
22563         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
22564         (frexp, frexpl): Use it.
22565         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
22566         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
22567         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
22568         (tsearch, tfind, tdelete, twalk): Use it.
22569         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
22570         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
22571         sigpending): Use it.
22572         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
22573         (posix_spawn, posix_spawnp, posix_spawnattr_init,
22574         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
22575         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
22576         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
22577         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
22578         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
22579         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
22580         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
22581         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
22582         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
22583         Use it.
22584         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
22585         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
22586         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
22587         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
22588         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
22589         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
22590         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
22591         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
22592         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
22593         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
22594         strtoull, unsetenv): Use it.
22595         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
22596         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
22597         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
22598         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
22599         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
22600         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
22601         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
22602         (strcasecmp, strncasecmp): Use it.
22603         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
22604         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
22605         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
22606         rpl_setsockopt): Use it.
22607         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
22608         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
22609         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
22610         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
22611         (gettimeofday): Use it.
22612         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
22613         (times): Use it.
22614         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
22615         (uname): Use it.
22616         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
22617         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
22618         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
22619         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
22620         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
22621         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
22622         unlinkat, write): Use it.
22623         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
22624         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
22625         * lib/argv-iter.h: Include arg-nonnull.h.
22626         (_ATTRIBUTE_NONNULL_): Remove macro.
22627         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
22628         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
22629         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
22630         optimization.
22631         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
22632         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
22633         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
22634         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
22635         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
22636         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
22637         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
22638         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
22639         * modules/arpa_inet (Depends-on): Add arg-nonnull.
22640         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
22641         * modules/dirent (Depends-on): Add arg-nonnull.
22642         (Makefile.am): Insert arg-nonnull.h into dirent.h.
22643         * modules/fcntl-h (Depends-on): Add arg-nonnull.
22644         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
22645         * modules/fnmatch (Depends-on): Add arg-nonnull.
22646         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
22647         * modules/getopt-posix (Depends-on): Add arg-nonnull.
22648         (Makefile.am): Insert arg-nonnull.h into getopt.h.
22649         * modules/glob (Depends-on): Add arg-nonnull.
22650         (Makefile.am): Insert arg-nonnull.h into glob.h.
22651         * modules/iconv_open (Depends-on): Add arg-nonnull.
22652         (Makefile.am): Insert arg-nonnull.h into iconv.h.
22653         * modules/inttypes (Depends-on): Add arg-nonnull.
22654         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
22655         * modules/locale (Depends-on): Add arg-nonnull.
22656         (Makefile.am): Insert arg-nonnull.h into locale.h.
22657         * modules/math (Depends-on): Add arg-nonnull.
22658         (Makefile.am): Insert arg-nonnull.h into math.h.
22659         * modules/netdb (Depends-on): Add arg-nonnull.
22660         (Makefile.am): Insert arg-nonnull.h into netdb.h.
22661         * modules/search (Depends-on): Add arg-nonnull.
22662         (Makefile.am): Insert arg-nonnull.h into search.h.
22663         * modules/signal (Depends-on): Add arg-nonnull.
22664         (Makefile.am): Insert arg-nonnull.h into signal.h.
22665         * modules/spawn (Depends-on): Add arg-nonnull.
22666         (Makefile.am): Insert arg-nonnull.h into spawn.h.
22667         * modules/stdio (Depends-on): Add arg-nonnull.
22668         (Makefile.am): Insert arg-nonnull.h into stdio.h.
22669         * modules/stdlib (Depends-on): Add arg-nonnull.
22670         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
22671         * modules/string (Depends-on): Add arg-nonnull.
22672         (Makefile.am): Insert arg-nonnull.h into string.h.
22673         * modules/strings (Depends-on): Add arg-nonnull.
22674         (Makefile.am): Insert arg-nonnull.h into strings.h.
22675         * modules/sys_socket (Depends-on): Add arg-nonnull.
22676         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
22677         * modules/sys_stat (Depends-on): Add arg-nonnull.
22678         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
22679         * modules/sys_time (Depends-on): Add arg-nonnull.
22680         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
22681         * modules/sys_times (Depends-on): Add arg-nonnull.
22682         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
22683         * modules/sys_utsname (Depends-on): Add arg-nonnull.
22684         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
22685         * modules/time (Depends-on): Add arg-nonnull.
22686         (Makefile.am): Insert arg-nonnull.h into time.h.
22687         * modules/unistd (Depends-on): Add arg-nonnull.
22688         (Makefile.am): Insert arg-nonnull.h into unistd.h.
22689         * modules/wchar (Depends-on): Add arg-nonnull.
22690         (Makefile.am): Insert arg-nonnull.h into wchar.h.
22691         * modules/argv-iter (Depends-on): Add arg-nonnull.
22692         * tests/test-canonicalize.c (null_ptr): New function.
22693         (main): Use it.
22694         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
22695         (main): Use it.
22696         * tests/test-memmem.c (null_ptr): New function.
22697         (main): Use it.
22698         Reported by Jim Meyering.
22699
22700 2009-12-10  Bruno Haible  <bruno@clisp.org>
22701
22702         Use spaces for indentation, not tabs.
22703         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
22704         * m4/*.m4: Untabify.
22705         * build-aux/*.h: Untabify.
22706         * tests/**/*.[hc]: Untabify.
22707         * README: New section "Indent with spaces, not TABs", based on
22708         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
22709         * NEWS: Mention the change.
22710
22711 2009-12-10  Bruno Haible  <bruno@clisp.org>
22712
22713         pty test: Fix link error.
22714         * modules/pty-tests (Makefile.am): Add the default LDADD value to
22715         test_pty_LDADD.
22716
22717 2009-12-07  Simon Josefsson  <simon@josefsson.org>
22718
22719         * modules/pty: New file.
22720         * modules/pty-tests: New file.
22721         * m4/pty.m4: New file.
22722         * tests/test-pty.c: New file.
22723         * doc/glibc-headers/pty.texi: Modified.
22724         * doc/glibc-functions/forkpty.texi: Modified.
22725         * doc/glibc-functions/openpty.texi: Modified.
22726
22727 2009-12-10  Bruno Haible  <bruno@clisp.org>
22728
22729         Avoid syntax error in C++ mode.
22730         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
22731
22732 2009-12-10  Bruno Haible  <bruno@clisp.org>
22733
22734         Use sed with option -e.
22735         * gnulib-tool (func_version, func_emit_copyright_notice,
22736         func_emit_initmacro_end, func_import, func_create_testdir): Pass
22737         option -e to sed.
22738         * modules/link-warning (Makefile.am): Likewise.
22739
22740 2009-12-10  Jim Meyering  <meyering@redhat.com>
22741
22742         mgetgroups: do not write bytes beyond end of malloc'd buffer
22743         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
22744         username, we call getgroups with a one-element-shorter buffer,
22745         but still told it the length was original, max_n_groups.
22746
22747 2009-12-09  Eric Blake  <ebb9@byu.net>
22748
22749         cloexec: relax license
22750         * modules/cloexec (Maintainer): Add myself.
22751         (License): Use LGPL, not GPL.
22752
22753         link-warning: optimize generation
22754         * modules/link-warning (Makefile.am): Reduce process usage.
22755
22756 2009-12-09  Bruno Haible  <bruno@clisp.org>
22757
22758         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
22759         workaround was added on 2009-11-17.
22760
22761 2009-12-09  Jim Meyering  <meyering@redhat.com>
22762             Bruno Haible  <bruno@clisp.org>
22763
22764         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
22765         * modules/link-warning (Makefile.am): Make the comment-removing sed
22766         command more robust in the face of bootstrap-prepended comment lines.
22767
22768 2009-12-09  Bruno Haible  <bruno@clisp.org>
22769
22770         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
22771         most one group.
22772
22773 2009-12-09  Simon Josefsson <simon@josefsson.org>
22774             Bruno Haible  <bruno@clisp.org>
22775
22776         * build-aux/link-warning.h: Add copyright notice.
22777         * modules/link-warning (Makefile.am): Generate link-warning.h from
22778         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
22779         * NEWS: Mention change in link-warning module.
22780         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
22781         * modules/dirent (Makefile.am): Add dependency to dirent.h.
22782         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
22783         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
22784         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
22785         * modules/math (Makefile.am): Add dependency to math.h.
22786         * modules/search (Makefile.am): Add dependency to search.h.
22787         * modules/signal (Makefile.am): Add dependency to signal.h.
22788         * modules/spawn (Makefile.am): Add dependency to spawn.h.
22789         * modules/stdio (Makefile.am): Add dependency to stdio.h.
22790         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
22791         * modules/string (Makefile.am): Add dependency to string.h.
22792         * modules/strings (Makefile.am): Add dependency to strings.h.
22793         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
22794         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
22795         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
22796         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
22797         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
22798         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
22799         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
22800         * modules/unistd (Makefile.am): Add dependency to unistd.h.
22801         * modules/wchar (Makefile.am): Add dependency to wchar.h.
22802
22803 2009-12-09  Bruno Haible  <bruno@clisp.org>
22804
22805         fchdir: Optimize away rpl_fstat when possible.
22806         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
22807         REPLACE_OPEN_DIRECTORY.
22808         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
22809
22810 2009-12-09  Bruno Haible  <bruno@clisp.org>
22811
22812         * lib/fchdir.c: Update comment.
22813
22814 2009-12-09  Bruno Haible  <bruno@clisp.org>
22815
22816         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
22817
22818 2009-12-08  Eric Blake  <ebb9@byu.net>
22819
22820         fchdir: avoid memory leak on re-registration.
22821         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
22822
22823 2009-12-08  Jim Meyering  <meyering@redhat.com>
22824
22825         init.sh: avoid Solaris 10 /bin/sh portability problem
22826         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
22827         sourced script:
22828           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
22829           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
22830           bar
22831         tests/init.sh relied on that, accepting a --set-path=DIR argument,
22832         and two tests used that idiom.
22833         * tests/init.sh: Update suggested usage comments.
22834         (path_prepend_): New function, to be used in place
22835         of the --src-path=DIR option.
22836         (setup_): Move PATH-prepending code into path_prepend_.
22837         * tests/test-pread.sh: Adapt to new usage.
22838         * tests/test-xalloc-die.sh: Likewise.
22839
22840 2009-12-08  Simon Josefsson  <simon@josefsson.org>
22841
22842         * doc/gnulib.texi (Glibc pty.h): Add.
22843         * doc/glibc-functions/forkpty.texi: Add.
22844         * doc/glibc-functions/openpty.texi: Add.
22845         Suggested by Bruno Haible.
22846
22847 2009-12-08  Eric Blake  <ebb9@byu.net>
22848
22849         fchdir: fix logic bugs
22850         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
22851         * tests/test-fchdir.c (main): Enhance test.
22852         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
22853         is in use.
22854
22855         dup2: fix logic bugs
22856         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
22857         REPLACE_DUP2 to decide when rpl_dup2 is needed.
22858         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
22859         exists.
22860         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
22861
22862 2009-12-07  Eric Blake  <ebb9@byu.net>
22863
22864         unlink: fix m4 detection
22865         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
22866
22867         unistd-safer: add unit test
22868         * modules/unistd-safer-tests: New file.
22869         * tests/test-dup-safer.c: Likewise.
22870         * tests/test-cloexec.c (setmode): Avoid compiler warning.
22871         * tests/test-dup2.c (setmode): Likewise.
22872         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
22873
22874         cloexec: preserve text vs. binary across dup_cloexec
22875         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
22876         mode.
22877         * modules/dup2-tests (Depends-on): Add binary-io.
22878         * modules/cloexec-tests (Depends-on): Likewise.
22879         * tests/test-dup2.c (setmode, is_mode): New helpers.
22880         (main): Add tests that translation mode is preserved.
22881         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
22882         Reported by Bruno Haible.
22883
22884         mgetgroups: reduce duplicate listings
22885         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
22886         resulting array.
22887         * tests/test-chown.h (test_chown): Simplify client.
22888         * tests/test-lchown.h (test_lchown): Likewise.
22889
22890 2009-12-06  Bruno Haible  <bruno@clisp.org>
22891
22892         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
22893         value.
22894
22895 2009-12-06  Bruno Haible  <bruno@clisp.org>
22896
22897         * lib/progname.c: Include stdio.h, stdlib.h.
22898         (set_program_name): Reject a NULL argument.
22899
22900 2009-12-05  Eric Blake  <ebb9@byu.net>
22901
22902         pipe2-safer: new module
22903         * modules/pipe2-safer: New file.
22904         * lib/unistd-safer.h (pipe2_safer): New prototype.
22905         * lib/unistd--.h (pipe2): New wrapper.
22906         * lib/pipe-safer.c (pipe2_safer): New function.
22907         * modules/pipe (Depends-on): Add pipe2-safer.
22908         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
22909
22910         stdlib-safer: preserve cloexec flag for mkostemp[s]
22911         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
22912         fd_safer_flag.
22913
22914         unistd-safer: allow preservation of cloexec status via flag
22915         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
22916         prototypes.
22917         * lib/dup-safer.c (dup_safer_flag): New function.
22918         * lib/fd-safer.c (fd_safer_flag): Likewise.
22919         * modules/cloexec (configure.ac): Set witness.
22920
22921         test-dup2: enhance test
22922         * modules/dup2-tests (Depends-on): Add cloexec.
22923         * tests/test-dup2.c (main): Enhance test.
22924
22925         cloexec: add dup_cloexec
22926         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
22927         header and comments.
22928         * lib/cloexec.c (set_cloexec_flag): Add comments.
22929         (dup_cloexec): New function, with mingw implementation borrowed
22930         from...
22931         * lib/w32spawn.h (dup_noinherit): ...here.
22932         * modules/execute (Depends-on): Add cloexec.
22933         * modules/pipe (Depends-on): Likewise.
22934         * modules/cloexec (Depends-on): Add dup2.
22935         * modules/cloexec-tests (Files): New file.
22936         * tests/test-cloexec.c: Likewise.
22937
22938         test-xalloc-die: fix test for mingw
22939         * modules/xalloc-die-tests (Files): Add tests/init.sh.
22940         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
22941         directory and .exe suffix off argv[0] output.
22942
22943         test-fseeko: fix test for mingw
22944         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
22945         than undefining fseek, so test will pass on mingw.
22946
22947 2009-12-05  Bruno Haible  <bruno@clisp.org>
22948
22949         * lib/progname.h (set_program_name): Clarify specification.
22950         * lib/progname.c (set_program_name): Likewise.
22951         Reported by Jim Meyering.
22952
22953 2009-12-05  Jim Meyering  <meyering@redhat.com>
22954
22955         maint.mk: backslash-escape parens in default regexp
22956         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
22957         backslash-escape the literal parentheses.
22958
22959         maint.mk: news-date-check: use grep -E
22960         * top/maint.mk (today): Define a Make variable, not a...
22961         (news-date-check): ...shell variable.
22962         (news-date-regexp): Use the Make variable.
22963         Use grep's -E option.  Change the failing diagnostic to mention
22964         the variable, $(news-date-regexp).
22965
22966 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
22967
22968         maintainer-makefile: allow customization of NEWS entry format
22969         * top/maint.mk (news-date-regexp): New overridable variable.
22970         (news-date-check): Use it.
22971
22972 2009-12-04  Eric Blake  <ebb9@byu.net>
22973
22974         mgetgroups: add xgetgroups, and avoid ENOSYS failures
22975         * lib/mgetgroups.h (xgetgroups): New prototype.
22976         * lib/mgetgroups.c (xgetgroups): New wrapper.
22977         (mgetgroups): Handle ENOSYS.
22978         * modules/mgetgroups (Depends-on): Add realloc.
22979         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
22980
22981         mgetgroups: avoid argument promotion issues with -1
22982         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
22983         for invalid gid_t.
22984         * tests/test-chown.h (getegid, test_chown): Likewise.
22985         * tests/test-lchown.h (getegid, test_lchown): Likewise.
22986
22987 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
22988
22989         exclude: Fix header file problems.
22990         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
22991
22992 2009-12-01  Jim Meyering  <meyering@redhat.com>
22993
22994         fts: fts_open: do not let an empty string cause immediate failure
22995         This is required in support of GNU rm, for which the command
22996         "rm A '' B" must process and remove both A and B, in spite of
22997         the empty string argument.
22998         * lib/fts.c (fts_open): Do not let the presence of an empty string
22999         cause fts_open to fail immediately.  Most fts-using tools must be
23000         able to process all arguments, in order, and can be expected to
23001         diagnose such arguments themselves.
23002
23003 2009-11-30  Eric Blake  <ebb9@byu.net>
23004
23005         utimens: fix compilation error
23006         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
23007         Declare variable at right scope.
23008
23009 2009-11-29  Jim Meyering  <meyering@redhat.com>
23010
23011         bootstrap: handle perl-5.11's changed --version output
23012         * build-aux/bootstrap (get_version): Handle perl separately,
23013         since perl-5.11's --version output is different.
23014
23015 2009-11-28  Jim Meyering  <meyering@redhat.com>
23016
23017         userspec: depend on the inttostr module, too
23018         * modules/userspec (Depends-on): Add inttostr.
23019
23020         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
23021         * lib/userspec.c (parse_with_separator): Do not accept a user ID
23022         number of MAXUID when it evaluates to (uid_t) -1.
23023         Likewise for group ID.  Reported by Matt McCutchen in
23024         <http://savannah.gnu.org/bugs/?28113>
23025
23026         userspec: reformat to use spaces, not TABs
23027         * lib/userspec.c: Expand TABs to spaces.
23028         Add Emacs' "indent-tabs-mode: nil" hint.
23029
23030 2009-11-27  Eric Blake  <ebb9@byu.net>
23031
23032         getopt-gnu: flush out another BSD bug
23033         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
23034         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
23035         flush out BSD bug.
23036         * tests/test-getopt.h (test_getopt): End lists with NULL.
23037         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23038         (test_getopt_long_posix): Enhance test.
23039         * modules/getopt-posix-tests (Depends-on): Add stdbool.
23040         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
23041         getopt-gnu.
23042         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23043         Likewise.
23044
23045 2009-11-27  Simon Josefsson  <simon@josefsson.org>
23046
23047         * modules/idpriv-droptemp-tests (Notice): Fix text.
23048
23049 2009-11-27  Jim Meyering  <meyering@redhat.com>
23050
23051         test-xalloc-die: avoid spurious failure due to libtool argv difference
23052         In a libtool-enabled project, this test would fail due to a difference
23053         in the emitted program name, e.g.,
23054         -test-xalloc-die: memory exhausted
23055         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
23056         Use program to avoid that.
23057         * modules/xalloc-die-tests (Depends-on): Add progname.
23058         * tests/test-xalloc-die.c: Include progname.h".
23059         (program_name): Remove decl.
23060         (main): Call set_program_name.
23061         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
23062
23063 2009-11-26  Richard Jones  <rjones@redhat.com>
23064
23065         w32sock: leave win32 error in place.
23066         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
23067
23068 2009-11-26  Eric Blake  <ebb9@byu.net>
23069
23070         init.sh: suggest to use skip_ and fail_ functions in comments
23071         * tests/init.sh: Add a sentence.
23072
23073 2009-11-25  Bruno Haible  <bruno@clisp.org>
23074
23075         init.sh: add documentation in comments
23076         * tests/init.sh: Add some developer and user documentation.
23077
23078 2009-11-26  Jim Meyering  <meyering@redhat.com>
23079
23080         init.sh: accommodate even those who specify bogus srcdir manually
23081         * tests/init.sh: Normally, srcdir is guaranteed by automake and
23082         configure-time tests to be sanitized, so that there is no need to
23083         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
23084         (with no double quotes) suffices.  However, since tests may be
23085         invoked manually, and since you may explicitly set srcdir to the
23086         name of a directory containing spaces, do quote its uses here.
23087         * tests/test-pread.sh: Likewise.
23088         Suggested by Bruno Haible.
23089
23090         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
23091         * tests/test-pread.sh: Write no data into the pipe, because
23092         test-pread actually reads none.  This avoids a diagnostic,
23093         "bash: echo: write error: Broken pipe", that arises in the unusual
23094         event something is ignoring SIGPIPE, and might be interpreted
23095         as some sort of failure.  Reported by Bruno Haible.
23096
23097 2009-11-25  Jim Meyering  <meyering@redhat.com>
23098
23099         test-pread: cover failure with ESPIPE and EINVAL
23100         * tests/test-pread.c (main): Test for failure, too.
23101         * tests/test-pread.sh: Invoke with stdin on a pipe.
23102         Suggested by Eric Blake.
23103
23104         pread: improvement and fix
23105         * modules/pread (Depends-on): Depend on lseek, for portability to
23106         e.g., mingw.  Suggested by Eric Blake.
23107         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
23108
23109         unistd.in.h: correct declaration of pread
23110         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
23111         Reported by Richard W.M. Jones.
23112
23113         test-pread.sh: distribute the test script
23114         * modules/pread-tests (Files): Include test-pread.sh.
23115
23116         test-pread.sh: clean up
23117         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
23118         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
23119         That is unnecessary, since it's always ".".
23120         Suggestion from Eric Blake.
23121
23122         test-pread.sh: make executable
23123         * tests/test-pread.sh: Set executable bit.
23124         Reported by Eric Blake.
23125
23126         correct typo in test-pread.sh
23127         * tests/test-pread.sh: Add #! line.
23128
23129         test pread
23130         * tests/test-pread.c: New file.
23131         * tests/test-pread.sh: Likewise.
23132         * modules/pread-tests: Likewise.
23133
23134         pread: new module
23135         * modules/pread: New file.
23136         * lib/unistd.in.h (pread): Define/declare.
23137         * lib/pread.c (pread): New file.
23138         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
23139         * modules/unistd (Makefile.am): Substitute witnesses.
23140         * doc/posix-functions/pread.texi (pread): Update.
23141         * MODULES.html.sh: Add pread.
23142
23143 2009-11-25  Jim Meyering  <meyering@redhat.com>
23144
23145         tests/init.sh: new file to be used via most *.sh tests
23146         * tests/init.sh: New file.
23147
23148 2009-11-25  Eric Blake  <ebb9@byu.net>
23149
23150         utimens: work around older Linux failure with symlinks
23151         * lib/utimens.c (lutimensat_works_really): New variable.
23152         (fdutimens, lutimens): Use it to manage kernels that support
23153         nanosecond times on files, but not on symlinks.
23154         Reported by OndÅ™ej Vašík.
23155
23156         utimes: fix configure grammar
23157         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
23158
23159 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
23160
23161         regex: Fix fastmap for multibyte character ranges.
23162         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
23163         characters when a multibyte character range is included.
23164
23165 2009-11-22  Andy Wingo  <wingo@pobox.com>
23166
23167         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
23168         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
23169
23170 2009-11-24  Bruno Haible  <bruno@clisp.org>
23171
23172         doc: Most *_l functions exist in MacOS X 10.5.
23173         * doc/posix-functions/duplocale.texi: Update platforms list.
23174         * doc/posix-functions/freelocale.texi: Likewise.
23175         * doc/posix-functions/newlocale.texi: Likewise.
23176         * doc/posix-functions/uselocale.texi: Likewise.
23177         * doc/posix-functions/isalnum_l.texi: Likewise.
23178         * doc/posix-functions/isalpha_l.texi: Likewise.
23179         * doc/posix-functions/isblank_l.texi: Likewise.
23180         * doc/posix-functions/iscntrl_l.texi: Likewise.
23181         * doc/posix-functions/isdigit_l.texi: Likewise.
23182         * doc/posix-functions/isgraph_l.texi: Likewise.
23183         * doc/posix-functions/islower_l.texi: Likewise.
23184         * doc/posix-functions/isprint_l.texi: Likewise.
23185         * doc/posix-functions/ispunct_l.texi: Likewise.
23186         * doc/posix-functions/isspace_l.texi: Likewise.
23187         * doc/posix-functions/isupper_l.texi: Likewise.
23188         * doc/posix-functions/iswalnum_l.texi: Likewise.
23189         * doc/posix-functions/iswalpha_l.texi: Likewise.
23190         * doc/posix-functions/iswblank_l.texi: Likewise.
23191         * doc/posix-functions/iswcntrl_l.texi: Likewise.
23192         * doc/posix-functions/iswctype_l.texi: Likewise.
23193         * doc/posix-functions/iswdigit_l.texi: Likewise.
23194         * doc/posix-functions/iswgraph_l.texi: Likewise.
23195         * doc/posix-functions/iswlower_l.texi: Likewise.
23196         * doc/posix-functions/iswprint_l.texi: Likewise.
23197         * doc/posix-functions/iswpunct_l.texi: Likewise.
23198         * doc/posix-functions/iswspace_l.texi: Likewise.
23199         * doc/posix-functions/iswupper_l.texi: Likewise.
23200         * doc/posix-functions/iswxdigit_l.texi: Likewise.
23201         * doc/posix-functions/isxdigit_l.texi: Likewise.
23202         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
23203         * doc/posix-functions/strcasecmp_l.texi: Likewise.
23204         * doc/posix-functions/strcoll_l.texi: Likewise.
23205         * doc/posix-functions/strfmon_l.texi: Likewise.
23206         * doc/posix-functions/strftime_l.texi: Likewise.
23207         * doc/posix-functions/strncasecmp_l.texi: Likewise.
23208         * doc/posix-functions/strxfrm_l.texi: Likewise.
23209         * doc/posix-functions/tolower_l.texi: Likewise.
23210         * doc/posix-functions/toupper_l.texi: Likewise.
23211         * doc/posix-functions/towctrans_l.texi: Likewise.
23212         * doc/posix-functions/towlower_l.texi: Likewise.
23213         * doc/posix-functions/towupper_l.texi: Likewise.
23214         * doc/posix-functions/wcscoll_l.texi: Likewise.
23215         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
23216         * doc/posix-functions/wctrans_l.texi: Likewise.
23217         * doc/posix-functions/wctype_l.texi: Likewise.
23218         * doc/glibc-functions/strptime_l.texi: Likewise.
23219         * doc/glibc-functions/strtod_l.texi: Likewise.
23220         * doc/glibc-functions/strtof_l.texi: Likewise.
23221         * doc/glibc-functions/strtol_l.texi: Likewise.
23222         * doc/glibc-functions/strtold_l.texi: Likewise.
23223         * doc/glibc-functions/strtoll_l.texi: Likewise.
23224         * doc/glibc-functions/strtoul_l.texi: Likewise.
23225         * doc/glibc-functions/strtoull_l.texi: Likewise.
23226         * doc/glibc-functions/wcsftime_l.texi: Likewise.
23227         * doc/glibc-functions/wcstod_l.texi: Likewise.
23228         * doc/glibc-functions/wcstof_l.texi: Likewise.
23229         * doc/glibc-functions/wcstol_l.texi: Likewise.
23230         * doc/glibc-functions/wcstold_l.texi: Likewise.
23231         * doc/glibc-functions/wcstoll_l.texi: Likewise.
23232         * doc/glibc-functions/wcstoul_l.texi: Likewise.
23233         * doc/glibc-functions/wcstoull_l.texi: Likewise.
23234
23235 2009-11-24  Bruno Haible  <bruno@clisp.org>
23236
23237         duplocale: Fix logic bug.
23238         * lib/duplocale.c: Don't include <langinfo.h>.
23239         (_NL_LOCALE_NAME): Remove macro.
23240         (rpl_duplocale): Use setlocale instead of nl_langinfo.
23241         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
23242
23243 2009-11-23  Jim Meyering  <meyering@redhat.com>
23244
23245         test-update-copyright: don't hard-code /usr/bin/perl
23246         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
23247         perl to print the current year.  Gilles Espinasse reported that
23248         the replaced use of perl was hard-coded as /usr/bin/perl.
23249
23250 2009-11-23  Bruno Haible  <bruno@clisp.org>
23251
23252         duplocale: Add support for glibc 2.3.x.
23253         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
23254
23255 2009-11-22  Bruno Haible  <bruno@clisp.org>
23256
23257         vasnprintf: Tiny optimization.
23258         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
23259         MacOS X.
23260
23261 2009-11-22  Bruno Haible  <bruno@clisp.org>
23262
23263         Tests for module 'duplocale'.
23264         * modules/duplocale-tests: New file.
23265         * tests/test-duplocale.c: New file.
23266
23267         New module 'duplocale'.
23268         * m4/duplocale.m4: New file.
23269         * lib/locale.in.h (duplocale): New declaration.
23270         * lib/duplocale.c: New file.
23271         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
23272         gl_LOCALE_H_DEFAULTS): New macros.
23273         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
23274         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
23275         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
23276         REPLACE_DUPLOCALE.
23277         * modules/duplocale: New file.
23278         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
23279
23280 2009-11-22  Bruno Haible  <bruno@clisp.org>
23281
23282         * modules/locale-tests (configure.ac): Test for newlocale function.
23283         * tests/test-locale.c: When the system has extended locale functions,
23284         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
23285
23286         locale: Make locale_t available when possible.
23287         * lib/locale.in.h: Include <xlocale.h> when it exists.
23288         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
23289         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
23290         * modules/locale (Depends-on): Add extensions.
23291         (Makefile.am): Also substitute HAVE_XLOCALE_H.
23292         * doc/posix-headers/locale.texi: Document the problem with locale_t.
23293
23294 2009-11-22  Bruno Haible  <bruno@clisp.org>
23295
23296         Add comments.
23297         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
23298         invocation.
23299         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
23300         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23301         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
23302
23303 2009-11-22  Bruno Haible  <bruno@clisp.org>
23304
23305         error: account for the possibility of freopen (stdout).
23306         * lib/error.c: Include <unistd.h>.
23307         (flush_stdout): New function, extracted from error and error_at_line.
23308         Determine stdout's fd dynamically.
23309         (error, error_at_line): Invoke flush_stdout.
23310         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
23311         * modules/error (Depends-on): Add unistd.
23312
23313 2009-11-22  Bruno Haible  <bruno@clisp.org>
23314
23315         diffseq: Add comment.
23316         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
23317
23318 2009-11-22  Jim Meyering  <meyering@redhat.com>
23319
23320         c-stack: avoid defining an unused static function
23321         * lib/c-stack.c (find_stack_direction): Do not define this function
23322         when it will not be used.
23323
23324         diffseq: avoid spurious gcc warnings
23325         * lib/diffseq.h (IF_LINT2): Define.
23326         (compareseq): Use it to initialize two members of "part".
23327         This avoids two used-uninitialized warnings.
23328
23329 2009-11-21  Jim Meyering  <meyering@redhat.com>
23330
23331         c-stack: avoid "ignoring return value of `write'" warning
23332         * lib/c-stack.c: Include "ignore-value.h".
23333         (die): Explicitly ignore each write return value.
23334         * modules/c-stack (Depends-on): Add ignore-value.
23335
23336 2009-11-21  Bruno Haible  <bruno@clisp.org>
23337
23338         diffseq: reduce scope of variable 'best'.
23339         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
23340         variable, earlier used for two different purposes.
23341
23342 2009-11-21  Jim Meyering  <meyering@redhat.com>
23343
23344         diffseq: remove useless assignment to "best"
23345         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
23346         assignment.  At that point "best" is already guaranteed to be zero.
23347
23348 2009-11-20  Eric Blake  <ebb9@byu.net>
23349
23350         build: mention ftp redirector in release announcements
23351         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
23352         values that used to come from cfg.mk; mention FTP redirect URL.
23353         * build-aux/announce-gen: Mention the mirror list.
23354         Suggested by Karl Berry.
23355
23356         nanosleep: improve port to mingw
23357         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
23358         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
23359         LIB_NANOSLEEP, but only when needed.
23360         * modules/select (Link): Document LIBSOCKET.
23361         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
23362         enough.
23363
23364         nanosleep: work around cygwin bug
23365         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
23366         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
23367         bug.
23368         (getnow): Delete, not needed.
23369         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
23370         LIB_CLOCK_GETTIME.
23371         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
23372         clock-time, gettime.
23373         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
23374         bug.
23375         * modules/nanosleep-tests: New test.
23376         * tests/test-nanosleep.c: New file.
23377
23378         sleep: work around cygwin bug
23379         * lib/sleep.c (rpl_sleep): Work around the bug.
23380         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
23381         (gl_PREREQ_SLEEP): Delete unused macro.
23382         * modules/sleep (Depends-on): Add verify.
23383         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23384         * modules/unistd (Makefile.am): Substitute witness.
23385         * lib/unistd.in.h (sleep): Update prototype.
23386         * doc/posix-functions/sleep.texi (sleep): Document the bug.
23387         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
23388         * modules/sleep-tests (Depends-on): Check for alarm.
23389
23390 2009-11-20  Jim Meyering  <meyering@redhat.com>
23391
23392         maint.mk: improve sc_prohibit_magic_number_exit
23393         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
23394         so it does not match uses like System.exit(1).
23395         Add comments showing how to correct all offenders.
23396
23397 2009-11-19  Eric Blake  <ebb9@byu.net>
23398
23399         xalloc-die-tests: add missing library
23400         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
23401
23402         test-xvasprintf: silence compiler warnings
23403         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
23404         empty string from gcc.
23405
23406 2009-11-19  Jim Meyering  <meyering@redhat.com>
23407
23408         xfreopen: new module, from coreutils
23409         * modules/xfreopen: New module.
23410         * lib/xfreopen.c: New file.
23411         * lib/xfreopen.h: New file.
23412         * MODULES.html.sh (File stream based Input/Output"): Add it.
23413
23414 2009-11-19  Eric Blake  <ebb9@byu.net>
23415
23416         manywarnings: depend on warnings
23417         * modules/manywarnings (Depends-on): Add warnings.
23418
23419         build: avoid compiler warnings
23420         * lib/select.c (rpl_select): Delete unused variable.
23421         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
23422
23423 2009-11-18  Eric Blake  <ebb9@byu.net>
23424
23425         tests: avoid false negative with --with-packager
23426         * tests/test-version-etc.sh: Discard packager information.
23427         * tests/test-argp-version-etc-1.sh: Likewise.
23428         Reported by Mike Frysinger.
23429
23430         utimens: fix regression on Solaris
23431         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
23432         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
23433         can only change fd timestamps via futimesat.  Instead, use an
23434         additional witness macro to avoid BSD bug.
23435         Reported by Jim Meyering.
23436
23437 2009-11-17  Eric Blake  <ebb9@byu.net>
23438
23439         usleep: use it to simplify tests
23440         * modules/stat-time-tests (Depends-on): Add usleep.
23441         (configure.ac): Drop usleep check.
23442         * modules/chown-tests (Depends-on, configure.ac): Likewise.
23443         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
23444         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
23445         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
23446         * modules/openat-tests (Depends-on, configure.ac): Likewise.
23447         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
23448         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
23449         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
23450         Likewise.
23451         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
23452         * tests/test-lchown.h (nap): Likewise.
23453         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
23454         * tests/test-stat-time.c (nap): Likewise.
23455         * tests/test-utimens-common.h (nap): Update comments.
23456
23457         usleep: new module
23458         * modules/usleep: New file.
23459         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23460         * lib/usleep.c (usleep): Likewise.
23461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
23462         * modules/unistd (Makefile.am): Substitute witnesses.
23463         * lib/unistd.in.h (usleep): Add declaration.
23464         * doc/pastposix-functions/usleep.texi (usleep): Document this.
23465         * MODULES.html.sh (Date and time): Likewise.
23466         * modules/usleep-tests (Depends-on): New test.
23467         * tests/test-usleep.c: New file.
23468
23469         chown: work around OpenBSD bug
23470         * lib/chown.c (rpl_chown): Work around the bug.
23471         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
23472         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
23473         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
23474         * modules/chown (Depends-on): Add stdbool.
23475         * modules/lchown (Depends-on): Likewise.
23476         * doc/posix-functions/chown.texi (chown): Document the bug.
23477         * doc/posix-functions/lchown.texi (lchown): Likewise.
23478         * tests/test-lchown.h (test_chown): Relax test.
23479
23480         mkstemp: avoid conflict with C++ keyword template
23481         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
23482         * lib/mkostemp.c (mkostemp): Likewise.
23483         * lib/mkostemps.c (mkostemps): Likewise.
23484         * lib/mkstemp.c (mkstemp): Likewise.
23485         * lib/mkstemps.c (mkstemps): Likewise.
23486
23487         xalloc-die-tests: optimize
23488         * tests/test-xalloc-die.sh: Reduce number of processes.
23489
23490 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23491
23492         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
23493         patch from ludo@gnu.org (Ludovic Courtès).
23494
23495 2009-11-17  Jim Meyering  <meyering@redhat.com>
23496
23497         version-etc: use proper license string
23498         * modules/version-etc (License): Use LGPL, not LGPLv3+.
23499         * modules/version-etc-fsf: Likewise.
23500
23501 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23502
23503         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
23504         printed to stdout.  Deal with EOL differences.
23505
23506 2009-11-17  Eric Blake  <ebb9@byu.net>
23507
23508         unsetenv: work around Solaris bug
23509         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
23510         * lib/unsetenv.c (rpl_unsetenv): Work around it.
23511         Reported by Jim Meyering.
23512
23513         vasnprintf: avoid compiler warnings
23514         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
23515         variables.
23516         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
23517
23518 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23519
23520         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
23521         settings since xalloc-die is no longer the self test,
23522         xalloc-die.sh is.
23523
23524 2009-11-17  Jim Meyering  <meyering@redhat.com>
23525
23526         test-xalloc-die.sh: make the code agree with the commit log
23527         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
23528         at the end, just in case you happen to have a test-xalloc-die
23529         program in some other PATH directory.
23530
23531         test-xalloc-die.sh: fix a portability bug
23532         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
23533         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
23534         Otherwise, argv[0] (as often seen in diagnostics) would be too
23535         system-dependent, sometimes with, and sometimes without the leading "./".
23536
23537         version-etc-fsf: relax license to LGPLv3+
23538         * modules/version-etc-fsf (License): Relax license.
23539
23540 2009-11-16  Eric Blake  <ebb9@byu.net>
23541
23542         xalloc-die-tests: avoid printing null pointer
23543         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
23544         shell script.
23545         * tests/test-xalloc-die.c (program_name): Declare.
23546         * tests/test-xalloc-die.sh (tmpfiles): New file.
23547
23548         setenv, unsetenv: work around various bugs
23549         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
23550         (setenv) [HAVE_SETENV]: Work around bugs.
23551         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
23552         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
23553         for bugs.
23554         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
23555         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
23556         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
23557         * modules/stdlib (Makefile.am): Update substitutions.
23558         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
23559         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
23560         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
23561         * modules/setenv-tests: New test.
23562         * modules/unsetenv-tests: Likewise.
23563         * tests/test-setenv.c: New file.
23564         * tests/test-unsetenv.c: Likewise.
23565
23566 2009-11-16  Jim Meyering  <meyering@redhat.com>
23567
23568         version-etc: relax license to LGPLv3+
23569         * modules/version-etc (License): Relax license.
23570
23571         better AC_REQUIRE expanded-before-required-warning avoidance
23572         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
23573         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
23574         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
23575         which is no longer needed.
23576
23577 2009-11-16  Eric Blake  <ebb9@byu.net>
23578
23579         test-freading: clean up temporary file
23580         * tests/test-freading.c (main): Remove file on success, and use
23581         ASSERT more liberally.
23582         Reported by Jim Meyering.
23583
23584 2009-11-16  Jim Meyering  <meyering@redhat.com>
23585
23586         avoid new AC_REQUIRE expanded-before-required warnings
23587         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
23588         merely using it.
23589         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
23590         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
23591
23592 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23593
23594         * tests/test-xalloc-die.c: New file.
23595         * modules/xalloc-die-tests: New file.
23596         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
23597         XFAIL_TESTS so it can be appended by modules.
23598
23599 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23600
23601         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
23602         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
23603
23604 2009-11-14  Eric Blake  <ebb9@byu.net>
23605
23606         fnmatch: avoid compiler warning
23607         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
23608         to silence compiler warning about mismatch signedness in ?:.
23609         Reported by Robert Millan.
23610
23611         intprops: add double-inclusion guard
23612         * lib/intprops.h: Allow idempotent includes.
23613         Suggested by Bruce Korb.
23614
23615         openat: detect Solaris fchownat bug
23616         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
23617         penalizing glibc chownat when only lchownat is broken.
23618         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
23619         trailing slash bugs.
23620         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
23621         * modules/openat-tests (Files): Include more files.
23622         (Depends-on): Add mgetgroups, sleep, stat-time.
23623         (configure.ac): Add additional checks.
23624         (Makefile.am): Build new test.
23625         * tests/test-fchownat.c: New file.
23626
23627         lchown: detect Solaris and FreeBSD bug
23628         * lib/lchown.c (rpl_lchown): Work around bug.
23629         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
23630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23631         * modules/unistd (Makefile.am): Populate it.
23632         * lib/unistd.in.h (lchown): Update declaration.
23633         * doc/posix-functions/lchown.texi (lchown): Document the bug.
23634         * modules/lchown-tests: New file.
23635         * tests/test-lchown.h (test_lchown): Likewise.
23636         * tests/test-lchown.c (main): Likewise.
23637
23638         chown: detect Solaris and FreeBSD bug
23639         * lib/chown.c (rpl_chown): Work around bug.
23640         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
23641         (gl_PREREQ_CHOWN): Delete.
23642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23643         * modules/unistd (Makefile.am): Populate it.
23644         * lib/unistd.in.h (chown): Update declaration.
23645         * lib/lchown.c (chown): Update client.
23646         * modules/lchown (Depends-on): Add lstat.
23647         * doc/posix-functions/chown.texi (chown): Document the bug.
23648         * doc/posix-functions/getgroups.texi (getgroups): Document
23649         getgroups pitfall.
23650         * modules/chown-tests: New file.
23651         * tests/test-chown.h (test_chown): Likewise.
23652         * tests/test-chown.c (main): Likewise.
23653
23654 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
23655
23656         gnulib-tool: correctly detect absence of m4 directories
23657         * gnulib-tool: Avoid extra newline on data passed to wc -l.
23658
23659 2009-11-14  Jim Meyering  <meyering@redhat.com>
23660
23661         maint.mk: Prohibit inclusion of "xalloc.h" without use.
23662         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
23663
23664 2009-11-14  John W. Eaton  <jwe@gnu.org>
23665
23666         strftime.h: wrap funtion declaration in extern "C" block
23667         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
23668
23669 2009-11-13  Eric Blake  <ebb9@byu.net>
23670
23671         getgroups: avoid compiler warning
23672         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
23673
23674         getgroups: work around FreeBSD bug
23675         * lib/getgroups.c (rpl_getgroups): Work around the bug.
23676         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
23677         * doc/posix-functions/getgroups.texi (getgroups): Document it.
23678         * tests/test-getgroups.c (main): Fix buffer overrun.
23679
23680         getgroups: avoid compilation failure
23681         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
23682         * modules/getgroups (Depends-on): Add stdint.
23683
23684 2009-11-13  Jim Meyering  <meyering@redhat.com>
23685
23686         test-getgroups: avoid compilation failure
23687         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
23688
23689 2009-11-13  Eric Blake  <ebb9@byu.net>
23690
23691         mgetgroups: new module, taken from coreutils
23692         * modules/mgetgroups: New file.
23693         * lib/mgetgroups.h: Likewise.
23694         * lib/mgetgroups.c (mgetgroups): Likewise.
23695         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
23696         * MODULES.html.sh (Users and groups): Mention it.
23697
23698         getgroups: don't expose GETGROUPS_T to user
23699         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
23700         an element at a time if GETGROUPS_T is wrong size.
23701         * lib/getugroups.h (getugroups): Change signature.
23702         * lib/unistd.in.h (getgroups): Likewise.
23703         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
23704         signature needs fixing.
23705         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
23706         AC_TYPE_GETGROUPS.
23707         * modules/group-member (Depends-on): Add getgroups.
23708         * lib/group-member.c (group_info, get_group_info): Use gid_t.
23709         (group_member): Rely on getgroups replacement.
23710         * lib/getugroups.c (getugroups): Use gid_t.
23711         * tests/test-getgroups.c (main): Likewise.
23712         * NEWS: Mention the signature change.
23713         * doc/posix-functions/getgroups.texi (getgroups): Mention the
23714         problem with signature.
23715         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
23716         GETGROUPS_T is still useful for setgroups.
23717
23718         getgroups, getugroups: provide stubs for mingw
23719         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
23720         * lib/getugroups.c (getugroups): Likewise.
23721         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
23722         function.  Modernize replacement scheme.
23723         (gl_PREREQ_GETGROUPS): Delete.
23724         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
23725         * modules/getgroups (configure.ac): Declare witness.
23726         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23727         * modules/unistd (Depends-on): Substitute witness.
23728         * lib/unistd.in.h (getgroups): Declare replacement.
23729
23730         getgroups: avoid calling exit
23731         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
23732         drop xalloc.
23733         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
23734         dependencies.
23735         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
23736         exiting, in the rare case of malloc failure.
23737
23738         getgroups: fix logic error
23739         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
23740         has more than 20 groups.
23741         * modules/getgroups-tests: New test.
23742         * tests/test-getgroups.c: New file.
23743
23744 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23745
23746         * tests/test-base64.c: Improve.
23747
23748 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23749
23750         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
23751         Blake <ebb9@byu.net>.
23752
23753 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23754
23755         * tests/test-xvasprintf.c: Add %s%s related checks.
23756
23757 2009-11-12  Eric Blake  <ebb9@byu.net>
23758
23759         version-etc: match standards.texi style
23760         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
23761         and use <> only for URLs.
23762
23763 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
23764
23765         fts: do not fail on a submount during traversal
23766         * lib/fts.c (fts_build): Read the stat info again after opening
23767         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
23768         Original report at http://bugzilla.redhat.com/501848.
23769
23770 2009-11-12  Jim Meyering  <meyering@redhat.com>
23771
23772         bootstrap: sync from coreutils
23773         * build-aux/bootstrap (bootstrap_epilogue): New function.
23774         Use git_modules_config in one more place.  This make bootstrap's
23775         --gnulib-srcdir option more useful for testing.
23776
23777         bootstrap: generalize autoheader check
23778         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
23779         AC_CONFIG_HEADERS.
23780
23781 2009-11-11  Eric Blake  <ebb9@byu.net>
23782
23783         mkfifoat: use new modules for Solaris and BSD bugs
23784         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
23785         * lib/mkfifoat.c (mknodat): Split...
23786         * lib/mknodat.c (mknodat): ...into new file.
23787         * modules/mkfifoat (Files): Ship new file.
23788         (Depends-on): Add mkfifo, mknod.
23789         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
23790         (Depends-on): Add symlink.
23791         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
23792         redundant with test_mkfifo.h.
23793         (do_mkfifoat, do_mknodat): New helpers.
23794
23795         mknod: new module
23796         * modules/mknod: New file.
23797         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
23798         * lib/mknod.c (mknod): Likewise.
23799         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23800         defaults.
23801         * modules/sys_stat (Makefile.am): Substitute them.
23802         * lib/sys_stat.in.h (mknod): Declare replacement.
23803         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23804         Document it.
23805         * doc/posix-functions/mknod.texi (mknod): Likewise.
23806         * modules/mknod-tests: New test.
23807         * tests/test-mknod.c: Likewise.
23808
23809         mkfifo: new module
23810         * modules/mkfifo: New file.
23811         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23812         * lib/mkfifo.c (mkfifo): Likewise.
23813         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23814         defaults.
23815         * modules/sys_stat (Makefile.am): Substitute them.
23816         * lib/sys_stat.in.h (mkfifo): Declare replacement.
23817         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23818         Document it.
23819         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
23820         * modules/mkfifo-tests: New test.
23821         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
23822         from test-mkfifoat.c.
23823         * tests/test-mkfifo.c: New file.
23824
23825         readlink: detect FreeBSD bug
23826         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
23827         slash on symlink.
23828         * doc/posix-functions/readlink.texi (readlink): Document the bug.
23829         * tests/test-readlink.h (test_readlink): Enhance test.
23830
23831         symlink: detect FreeBSD bug
23832         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
23833         slash on symlink.
23834         * doc/posix-functions/symlink.texi (symlink): Document the bug.
23835         * tests/test-symlink.h (test_symlink): Enhance test.
23836
23837 2009-11-10  Eric Blake  <ebb9@byu.net>
23838
23839         link: detect FreeBSD bug
23840         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
23841         symlink.
23842         * doc/posix-functions/link.texi (link): Document the bug.
23843         * tests/test-link.h (test_link): Enhance test.
23844         * tests/test-linkat.c (main): Update caller.
23845
23846         unlink, remove: detect FreeBSD bug
23847         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
23848         slash on symlink.
23849         * doc/posix-functions/unlink.texi (unlink): Document the bug.
23850         * doc/posix-functions/remove.texi (remove): Likewise.
23851         * tests/test-unlink.h (test_unlink): Enhance test.
23852         * tests/test-remove.c (main): Likewise.
23853
23854 2009-11-09  Eric Blake  <ebb9@byu.net>
23855
23856         rename: detect FreeBSD bug
23857         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
23858         slash on symlink.
23859         * modules/renameat-tests (Depends-on): Add filenamecat.
23860         * tests/test-rename.h (test_rename): Allow one more errno.
23861         * tests/test-renameat.c (main): Likewise.
23862         * doc/posix-functions/rename.texi (rename): Document the bug.
23863
23864         open: detect FreeBSD bug
23865         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
23866         symlink.
23867         * doc/posix-functions/open.texi (open): Document the bug.
23868         * doc/posix-functions/utimes.texi (utimes): Likewise.
23869         * tests/test-open.h (test_open): Add parameters, and test symlink
23870         handling.
23871         * tests/test-open.c (main): Adjust caller.
23872         * tests/test-fcntl-safer.c (main): Likewise.
23873         * modules/open-tests (Depends-on): Add stdbool, symlink.
23874         * modules/fcntl-safer-tests (Depends-on): Likewise.
23875         * tests/test-openat.c (main): Add test-open tests.
23876
23877         stat: detect FreeBSD bug
23878         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
23879         symlink.
23880         * doc/posix-functions/stat.texi (stat): Document the bug.
23881         * tests/test-stat.h (test_stat_func): Add argument.
23882         * tests/test-stat.c (main): Adjust caller.
23883         * tests/test-fstatat.c (main): Likewise.
23884         * modules/stat-tests (Depends-on): Add stdbool, symlink.
23885         Reported by Jim Meyering.
23886
23887 2009-11-09  James Youngman  <jay@gnu.org>
23888
23889         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
23890         * lib/strftime.c: Correct placement of #include "ignore-value.h".
23891
23892 2009-11-08  Jim Meyering  <meyering@redhat.com>
23893
23894         utimens: remove invalid futimesat call
23895         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
23896         It used the file descriptor of the target file as the DIR_FD
23897         parameter and NULL as the file name.  That caused failure with
23898         errno == EFAULT on FreeBSD-8.0-rc2
23899
23900 2009-11-07  Eric Blake  <ebb9@byu.net>
23901
23902         fflush, freadseek: use fseeko, not fseek
23903         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
23904         (clear_ungetc_buffer): Avoid potential problems on large files.
23905         * lib/freadseek.c (freadseek): Likewise.
23906         * modules/freadseek (Depends-on): Add fseeko.
23907         * modules/fseek (configure.ac): Set a witness.
23908         * tests/test-fflush.c (main): Use fseeko.
23909         * tests/test-fpurge.c (fseek): Disable link warning.
23910         * tests/test-freadable.c (fseek): Likewise.
23911         * tests/test-freading.c (fseek): Likewise.
23912         * tests/test-fseeko.c (fseek): Likewise.
23913         * tests/test-ftell.c (fseek): Likewise.
23914         * tests/test-ftello.c (fseek): Likewise.
23915         * tests/test-fwritable.c (fseek): Likewise.
23916         * tests/test-fwriting.c (fseek): Likewise.
23917
23918 2009-11-06  Simon Josefsson  <simon@josefsson.org>
23919
23920         * modules/memchr (Depends-on): Drop getpagesize dependency.
23921
23922 2009-11-06  Simon Josefsson  <simon@josefsson.org>
23923
23924         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
23925         Reported by Ludovic Courtès.
23926         * build-aux/pmccabe2html: Improve example usage.
23927         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
23928
23929 2009-11-06  Jim Meyering  <meyering@redhat.com>
23930
23931         do-release-commit-and-tag: New module.
23932         Automate the release-commit and tag process.
23933         * build-aux/do-release-commit-and-tag: New script, from coreutils.
23934         * modules/do-release-commit-and-tag: New file.
23935         * MODULES.html.sh (Support for maintaining and releasing): Add it.
23936
23937 2009-11-06  Simon Josefsson  <simon@josefsson.org>
23938
23939         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
23940         because test-select.c uses inet_pton.
23941
23942 2009-11-06  Simon Josefsson  <simon@josefsson.org>
23943
23944         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
23945         GETADDRINFO_LIB.  Bump serial number.
23946         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
23947         Suggested by Eric Blake <ebb9@byu.net>.
23948
23949 2009-11-05  Eric Blake  <ebb9@byu.net>
23950
23951         strtod: detect darwin bug
23952         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
23953         Reported by Leo Davis.
23954
23955         freopen-safer: new module
23956         * modules/freopen-safer: New module.
23957         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
23958         * lib/freopen-safer.c (freopen_safer): New file.
23959         * lib/stdio-safer.h (freopen_safer): New declaration.
23960         * lib/stdio--.h (freopen): New override.
23961         * MODULES.html.sh (File stream based Input/Output): Mention it.
23962         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
23963         freopen-safer module.
23964         * doc/posix-functions/stderr.texi (stderr): Likewise.
23965         * doc/posix-functions/stdin.texi (stdin): Likewise.
23966         * doc/posix-functions/stdout.texi (stdout): Likewise.
23967         * modules/freopen-safer-tests: New test.
23968         * tests/test-reopen-safer.c: New file.
23969
23970 2009-11-05  Jim Meyering  <meyering@redhat.com>
23971
23972         maint.mk: Prohibit inclusion of "close-stream.h" without use.
23973         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
23974
23975 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23976
23977         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
23978
23979 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23980
23981         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
23982
23983 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23984
23985         Fix link error.
23986         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
23987         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23988
23989 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23990
23991         * tests/test-func.c: Also test value of __func__.
23992
23993 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23994
23995         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
23996         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
23997
23998 2009-11-05  Bruno Haible  <bruno@clisp.org>
23999
24000         Fix link error.
24001         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
24002         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24003         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
24004
24005 2009-11-05  Bruno Haible  <bruno@clisp.org>
24006
24007         Tests for module 'inet_pton'.
24008         * modules/inet_pton-tests: New file.
24009         * tests/test-inet_pton.c: New file.
24010
24011 2009-11-05  Bruno Haible  <bruno@clisp.org>
24012
24013         Tests for module 'inet_ntop'.
24014         * modules/inet_ntop-tests: New file.
24015         * tests/test-inet_ntop.c: New file.
24016
24017 2009-11-04  Eric Blake  <ebb9@byu.net>
24018
24019         stdlib-safer: wrap all mkstemp variants
24020         * modules/mkostemp (configure.ac): Set witness.
24021         * modules/mkostemps (configure.ac): Likewise.
24022         * modules/mkstemps (configure.ac): Likewise.
24023         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
24024         (mkstemps_safer): Wrap more functions.
24025         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
24026         wrapping.
24027         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
24028         (mkstemps_safer): Implement the wrappers.
24029
24030         mkstemps, mkostemps: new modules
24031         * modules/mkostemps: New module.
24032         * modules/mkstemps: Likewise.
24033         * lib/mkostemps.c (mkostemps): New file.
24034         * lib/mkstemps.c (mkstemps): Likewise.
24035         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
24036         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
24037         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
24038         * modules/stdlib (Makefile.am): Substitute them.
24039         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
24040         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
24041         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
24042         * doc/gnulib.texi (Glibc stdlib.h): Include them.
24043         * MODULES.html.sh (File system functions): Mention them.
24044
24045         tempname: resync from glibc
24046         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
24047         same values for __GT_FILE as glibc.  Abort even when assertions
24048         are disabled.
24049         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
24050         match its value otherwise.  Allow idempotent inclusion.
24051         * lib/mkdtemp.c (mkdtemp): Adjust caller.
24052         * lib/mkostemp.c (mkostemp): Likewise.
24053         * lib/mkstemp.c (mkstemp): Likewise.
24054         * lib/tmpfile.c (tmpfile): Likewise.
24055         * NEWS: Document this.
24056
24057         utimens: fix use of futimens on older Linux
24058         * lib/utimens.c (fdutimens): Use updated, rather than original,
24059         timespec to avoid bug in older Linux kernel.
24060         Reported by Simon Josefsson.
24061
24062 2009-11-04  Bruno Haible  <bruno@clisp.org>
24063
24064         Make num_processors more flexible and consistent.
24065         * lib/nproc.h (enum nproc_query): New type.
24066         (num_processors): Add a 'query' argument.
24067         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
24068         (num_processors): Add a 'query' argument. Test the value of the
24069         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
24070         mingw, count the number of CPUs available for the current process.
24071         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
24072         Check for sched_getaffinity and sched_getaffinity_np.
24073         * modules/nproc (Depends-on): Add c-ctype, extensions.
24074         * NEWS: Mention the change.
24075
24076 2009-11-03  Bruno Haible  <bruno@clisp.org>
24077
24078         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
24079
24080 2009-11-03  Jim Meyering  <meyering@redhat.com>
24081
24082         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
24083         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
24084         if it is defined.
24085
24086 2009-11-02  Eric Blake  <ebb9@byu.net>
24087
24088         mktime, timegm: share common declaration
24089         * lib/mktime-internal.h: New file.
24090         * lib/mktime.c: Use it rather than open-coding a declaration.
24091         * lib/timegm.c: Likewise.
24092         * modules/mktime (Files): Ship it.
24093         * modules/timegm (Files): Likewise.
24094         Suggested by Bruno Haible.
24095
24096         test-update-copyright: update test to match script changes
24097         * tests/test-update-copyright.sh: Avoid hard-coding perl
24098         location.  Don't update *.bak created by earlier runs.
24099
24100 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24101             Simon Josefsson  <simon@josefsson.org>
24102             Bruno Haible  <bruno@clisp.org>
24103
24104         Fix link error on Solaris 8.
24105         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
24106         also in libnsl. Define also INET_PTON_LIB.
24107         * modules/inet_pton (Link): New section.
24108
24109 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24110             Bruno Haible  <bruno@clisp.org>
24111
24112         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
24113         * modules/inet_ntop (Link): New section.
24114         Reported by Boyan Kasarov <bkasarov@gmail.com>.
24115
24116 2009-11-02  Eric Blake  <ebb9@byu.net>
24117
24118         maint: avoid compiler warnings in m4 macros
24119         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
24120         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
24121
24122 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24123
24124         * m4/pmccabe2html.m4: Remove file.
24125         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
24126         function.  Change maintainer.
24127         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
24128         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
24129         Courtès).
24130
24131 2009-10-31  Eric Blake  <ebb9@byu.net>
24132
24133         fseeko: fix m4 regression
24134         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
24135         regression from 2009-10-27.
24136         Reported by Ralf Wildenhues.
24137
24138 2009-10-31  Jim Meyering  <meyering@redhat.com>
24139
24140         inttostr: aesthetics and improved (compile-time) safety
24141         Define inttype_is_signed rather than inttype_is_unsigned,
24142         since the sole use is via "#if inttype_is_signed".
24143         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
24144         inttype_is_unsigned.
24145         * lib/offtostr.c (inttype_is_signed): Likewise.
24146         * lib/uinttostr.c (inttype_is_signed): Likewise.
24147         * lib/umaxtostr.c (inttype_is_signed): Likewise.
24148         * lib/inttostr.c (inttostr): Use verify to cross-check the
24149         inttype_is_signed value and the signedness of the actual type.
24150         * modules/inttostr (Depends-on): Add verify.
24151
24152 2009-10-30  Eric Blake  <ebb9@byu.net>
24153
24154         build: avoid compiler warnings
24155         * lib/fchmodat.c (lchmod): Mark unused variables.
24156         * lib/getopt.c (_getopt_initialize): Likewise.
24157         * lib/mktime.c (__mktime_internal): Provide prototype.
24158         * lib/inttostr.c (inttostr): Avoid compiler warning even with
24159         older gcc that do not understand #pragma GCC diagnostic.
24160         * lib/uinttostr.c (inttype_is_unsigned): Define.
24161         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
24162
24163 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
24164
24165         stat: fix compilation on AIX
24166         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
24167         only see struct stat64.
24168
24169 2009-10-30  Eric Blake  <ebb9@byu.net>
24170
24171         exclude: make more robust
24172         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
24173         rather than masking a coding bug.
24174         Suggested by Bruno Haible.
24175
24176 2009-10-30  Jim Meyering  <meyering@redhat.com>
24177
24178         perl scripts: remove #!/usr/bin/perl in favor of more portable...
24179         Rather than putting #!/usr/bin/perl on the first line,
24180         start with a variant of what's recommended by "man perlrun" that
24181         invokes the first "perl" program from your shell's search path.
24182         * build-aux/gitlog-to-changelog: Replace #!... as above.
24183         Add a "Local Variables" perl mode setting.
24184         Prompted by a patch from Ludovic Courtès.
24185         Improved by Eric Blake.
24186         * build-aux/useless-if-before-free: Likewise.
24187         * build-aux/announce-gen: Likewise.
24188         * build-aux/update-copyright: Likewise.
24189
24190 2009-10-29  Eric Blake  <ebb9@byu.net>
24191
24192         filenamecat-lgpl: adjust clients
24193         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
24194         filenamecat.
24195         * modules/renameat (Depends-on): Likewise.
24196
24197         filenamecat: split into filenamecat-lgpl
24198         * modules/filenamecat-lgpl: New module.
24199         * modules/filenamecat (Files): Move library-safe files into
24200         filenamecat-lgpl.
24201         (Depends-on): Add filenamecat-lgpl.
24202         (configure.ac): Declare witness.
24203         * lib/filenamecat.h (file_name_concat): Only declare when using
24204         GPL module.
24205         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
24206         Move...
24207         * lib/filenamecat-lgpl.c: ...into new file.
24208         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
24209         (gl_FILE_NAME_CONCAT): Use it.
24210         * MODULES.html.sh (File system functions): Mention new module.
24211
24212         argp: avoid memory leak
24213         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
24214         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
24215         base_name, since the latter malloc()s and can call exit().
24216         Leak introduced 2006-07-03.
24217
24218         dirname-lgpl: adjust clients that don't need full dirname
24219         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
24220         * modules/filenamecat (Depends-on): Likewise.
24221         * modules/linkat (Depends-on): Likewise.
24222         * modules/mkancesdirs (Depends-on): Likewise.
24223         * modules/mkdir (Depends-on): Likewise.
24224         * modules/openat (Depends-on): Likewise.
24225         * modules/savewd (Depends-on): Likewise.
24226         * modules/rename (Depends-on): Likewise.
24227         (License): Relax license.
24228         * modules/mkdir-tests (Depends-on): Drop progname.
24229         (Makefile.am): Delete unneeded LDADD.
24230         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
24231
24232         dirname: split into dirname-lgpl
24233         * modules/dirname-lgpl: New module.
24234         * modules/dirname (Files): Move library-safe files into
24235         dirname-lgpl.
24236         (Depends-on): Add dirname-lgpl.
24237         (configure.ac): Declare witness.
24238         * modules/double-slash-root (License): Relax license.
24239         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
24240         module.
24241         * lib/dirname.c (dir_len, mdir_name): Move...
24242         * lib/dirname-lgpl.c: ...into new file.
24243         * lib/basename.c (last_component, base_len): Move...
24244         * lib/basename-lgpl.c: ...into new file.
24245         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
24246         (gl_DIRNAME): Use it.
24247         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
24248         Mention new module.
24249         * modules/dirname-tests (Depends-on): Add progname.
24250         * tests/test-dirname.c (program_name): Delete.
24251
24252         mkdir: make safe for libraries
24253         * modules/mkdir (Depends-on): Drop xalloc.
24254         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
24255         exit.
24256
24257         tests: avoid some compiler warnings
24258         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
24259         literals.
24260         * tests/test-memchr.c (main): Avoid type mismatch.
24261         * tests/test-arpa_inet.c (main): Avoid unused parameters.
24262         * tests/test-base64.c (main): Likewise.
24263         * tests/test-getdelim.c (main): Likewise.
24264         * tests/test-gethostname.c (main): Likewise.
24265         * tests/test-getline.c (main): Likewise.
24266         * tests/test-netinet_in.c (main): Likewise.
24267         * tests/test-select.c (open_server_socket, main): Likewise.
24268         * tests/test-select-stdin.c (main): Likewise.
24269         * tests/test-sockets.c (main): Likewise.
24270         * tests/test-strsignal.c (main): Likewise.
24271         * tests/test-sys_select.c (main): Likewise.
24272         * tests/test-sys_socket.c (main): Likewise.
24273         * tests/test-u64.c (main): Likewise.
24274         * tests/test-xfprintf-posix.c (main): Likewise.
24275         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
24276
24277         sockets: avoid compiler warning
24278         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
24279
24280         maint: detect usage(1) and other suspicious exits
24281         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
24282
24283 2009-10-29  Jim Meyering  <meyering@redhat.com>
24284
24285         timespec: long-to-int truncation could make timespec_cmp malfunction
24286         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
24287         a multiple of 2^32 nanoseconds as no difference.
24288
24289 2009-10-28  Jim Meyering  <meyering@redhat.com>
24290
24291         fprintftime: wrap macro code argument in "do {...} while(0)"
24292         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
24293         cpy macro must be a statement that can be followed by a semicolon.
24294         Now that the else clause contains a comment and is hence longer
24295         than one line, I require curly braces.  That in turn requires
24296         that we wrap this code block in the standard do...while(0).
24297
24298         fprintftime: remove stray semicolon from previous change
24299         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
24300
24301         fprintftime: avoid a warning about ignored fwrite return value
24302         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
24303         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
24304         that is unsafe.
24305         * modules/fprintftime (Depends-on): Add ignore-value.
24306
24307         exclude: avoid an unwarranted warning
24308         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
24309
24310 2009-10-27  Eric Blake  <ebb9@byu.net>
24311
24312         fseek: avoid compilation failure when fflush is replaced
24313         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
24314         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
24315         module is in use.
24316         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
24317         module is not in use; since REPLACE_FSEEK worked otherwise.
24318         (GNULIB_FTELLO): Likewise for ftell.
24319         Reported by Ian Beckwith and others.
24320
24321 2009-10-27  Bruno Haible  <bruno@clisp.org>
24322
24323         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
24324         Reported by Jim Meyering.
24325
24326 2009-10-27  Jim Meyering  <jim@meyering.net>
24327             Bruno Haible  <bruno@clisp.org>
24328
24329         Avoid warning despite dropping the return value of fwrite.
24330         * lib/unicodeio.c: Include ignore-value.h.
24331         (fwrite_success_callback): Explicitly ignore fwrite's return value.
24332         * modules/unicodeio (Depends-on): Add ignore-value.
24333
24334 2009-10-26  Eric Blake  <ebb9@byu.net>
24335
24336         areadlinkat: fix fallback path
24337         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
24338         pointer and zero.
24339
24340 2009-10-22  Pádraig Brady  <P@draigBrady.com>
24341
24342         Use a better IO block size for modern systems
24343         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
24344         * lib/md2.c: Likewise.
24345         * lib/md4.c: Likewise.
24346         * lib/md5.c: Likewise.
24347         * lib/sha1.c: Likewise.
24348         * lib/sha256.c: Likewise.
24349         * lib/sha512.c: Likewise.
24350
24351 2009-10-22  Eric Blake  <ebb9@byu.net>
24352
24353         tests: avoid several compiler warnings
24354         * tests/test-getcwd.c (main): Avoid buffer underflow.
24355         * tests/test-getdate.c (main): String literals are not safe with
24356         putenv, so use setenv.  Declare unused argument.
24357         * modules/getdate-tests (Depends-on): Add setenv.
24358         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
24359         problems with string literals in char *.
24360         * tests/test-hash.c (main): Avoid shadowing declaration.
24361         (insert_new): Treat string literals as char const *.
24362         * tests/test-getopt.h (test_getopt): Likewise.
24363         (getopt_loop): Alter types to minimize casting elsewhere.
24364         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
24365         (test_getopt_long_posix): Likewise.
24366         (do_getopt_long): Add wrapper to minimize casting.
24367         * tests/test-atexit.c (clear_temp_file): Use void.
24368         * tests/test-areadlink-with-size.c (main): Declare unused
24369         arguments.
24370         * tests/test-areadlink.c (main): Likewise.
24371         * tests/test-areadlinkat-with-size.c (main): Likewise.
24372         * tests/test-areadlinkat.c (main): Likewise.
24373         * tests/test-canonicalize-lgpl.c (main): Likewise.
24374         * tests/test-canonicalize.c (main): Likewise.
24375         * tests/test-dirent-safer.c (main): Likewise.
24376         * tests/test-dirname.c (main): Likewise.
24377         * tests/test-dup2.c (main): Likewise.
24378         * tests/test-fchdir.c (main): Likewise.
24379         * tests/test-fcntl-h.c (main): Likewise.
24380         * tests/test-fcntl-safer.c (main): Likewise.
24381         * tests/test-fdopendir.c (main): Likewise.
24382         * tests/test-fdutimensat.c (main): Likewise.
24383         * tests/test-fflush.c (main): Likewise.
24384         * tests/test-filenamecat.c (main): Likewise.
24385         * tests/test-filevercmp.c (main): Likewise.
24386         * tests/test-fopen-safer.c (main): Likewise.
24387         * tests/test-fopen.c (main): Likewise.
24388         * tests/test-fpending.c (main): Likewise.
24389         * tests/test-fpurge.c (main): Likewise.
24390         * tests/test-freading.c (main): Likewise.
24391         * tests/test-fstatat.c (main): Likewise.
24392         * tests/test-fsync.c (main): Likewise.
24393         * tests/test-futimens.c (main): Likewise.
24394         * tests/test-getndelim2.c (main): Likewise.
24395         * tests/test-gettimeofday.c (main): Likewise.
24396         * tests/test-getopt.c (main): Likewise.
24397         * tests/test-i-ring.c (main): Likewise.
24398         * tests/test-inttypes.c (main): Likewise.
24399         * tests/test-link.c (main): Likewise.
24400         * tests/test-lstat.c (main): Likewise.
24401         * tests/test-math.c (main): Likewise.
24402         * tests/test-md5.c (main): Likewise.
24403         * tests/test-memchr2.c (main): Likewise.
24404         * tests/test-memrchr.c (main): Likewise.
24405         * tests/test-mkdir.c (main): Likewise.
24406         * tests/test-mkdirat.c (main): Likewise.
24407         * tests/test-mkfifoat.c (main): Likewise.
24408         * tests/test-open.c (main): Likewise.
24409         * tests/test-openat-safer.c (main): Likewise.
24410         * tests/test-openat.c (main): Likewise.
24411         * tests/test-quotearg.c (main): Likewise.
24412         * tests/test-rawmemchr.c (main): Likewise.
24413         * tests/test-readlink.c (main): Likewise.
24414         * tests/test-remove.c (main): Likewise.
24415         * tests/test-rename.c (main): Likewise.
24416         * tests/test-renameat.c (main): Likewise.
24417         * tests/test-rmdir.c (main): Likewise.
24418         * tests/test-sha1.c (main): Likewise.
24419         * tests/test-signal.c (main): Likewise.
24420         * tests/test-sigaction.c (main): Likewise.
24421         * tests/test-stat.c (main): Likewise.
24422         * tests/test-stat-time.c (main): Likewise.
24423         * tests/test-stddef.c (main): Likewise.
24424         * tests/test-stdint.c (main): Likewise.
24425         * tests/test-stdio.c (main): Likewise.
24426         * tests/test-stdlib.c (main): Likewise.
24427         * tests/test-strchrnul.c (main): Likewise.
24428         * tests/test-strerror.c (main): Likewise.
24429         * tests/test-string.c (main): Likewise.
24430         * tests/test-strtod.c (main): Likewise.
24431         * tests/test-strverscmp.c (main): Likewise.
24432         * tests/test-symlink.c (main): Likewise.
24433         * tests/test-symlinkat.c (main): Likewise.
24434         * tests/test-sys_stat.c (main): Likewise.
24435         * tests/test-sys_time.c (main): Likewise.
24436         * tests/test-time.c (main): Likewise.
24437         * tests/test-unistd.c (main): Likewise.
24438         * tests/test-unlink.c (main): Likewise.
24439         * tests/test-unlinkat.c (main): Likewise.
24440         * tests/test-utimens.c (main): Likewise.
24441         * tests/test-utimensat.c (main): Likewise.
24442         * tests/test-version-etc.c (main): Likewise.
24443         * tests/test-wchar.c (main): Likewise.
24444         * tests/test-wctype.c (main): Likewise.
24445         * tests/test-xprintf-posix.c (main): Likewise.
24446         * tests/test-posixtm.c (main): Likewise.
24447         (STREQ): Delete unused macro.
24448         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
24449         shadowed variables.
24450         * tests/test-memchr.c (main): Likewise.
24451
24452 2009-10-21  Eric Blake  <ebb9@byu.net>
24453
24454         areadlinkat: avoid failure on older glibc
24455         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
24456         rather than mis-comparing 0 against FUNC_RESULT of char*.
24457
24458 2009-10-21  Bruno Haible  <bruno@clisp.org>
24459
24460         * modules/stpncpy (License): Relicense under LGPLv2+.
24461         Reported by David Lutterkort <lutter@redhat.com>.
24462
24463 2009-10-20  Eric Blake  <ebb9@byu.net>
24464
24465         utimensat: work around Solaris 9 bug
24466         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
24467         has trailing slash bugs.
24468         * tests/test-lutimens.h (test_lutimens): Enhance test.
24469         * tests/test-utimens.h (test_utimens): Likewise.
24470         * doc/posix-functions/utime.texi (utime): Enhance documentation.
24471         * doc/posix-functions/utimes.texi (utimes): Likewise.
24472         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24473         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
24474         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
24475         * doc/posix-functions/futimens.texi (futimens): Likewise.
24476
24477         fdutimensat: new module
24478         * modules/fdutimensat: New file.
24479         * lib/fdutimensat.c (fdutimensat): Likewise.
24480         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
24481         * MODULES.html.sh (File system functions): Mention module.
24482         * modules/fdutimensat-tests: New test.
24483         * tests/test-fdutimensat.c: Likewise.
24484
24485         doc: regenerate INSTALL
24486         * doc/INSTALL: Reflect recent autoconf update.
24487         * doc/INSTALL.ISO: Likewise.
24488         * doc/INSTALL.UTF-8: Likewise.
24489
24490 2009-10-20  Pádraig Brady  <P@draigBrady.com>
24491
24492         acl: warn if ACL support is not detected
24493         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
24494
24495 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
24496
24497         * lib/nproc.h: Add extern "C" block for C++.
24498
24499 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
24500             Bruno Haible  <bruno@clisp.org>
24501
24502         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
24503         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
24504         * doc/posix-functions/isalpha.texi: Likewise.
24505         * doc/posix-functions/isblank.texi: Likewise.
24506         * doc/posix-functions/iscntrl.texi: Likewise.
24507         * doc/posix-functions/isdigit.texi: Likewise.
24508         * doc/posix-functions/isgraph.texi: Likewise.
24509         * doc/posix-functions/islower.texi: Likewise.
24510         * doc/posix-functions/isprint.texi: Likewise.
24511         * doc/posix-functions/ispunct.texi: Likewise.
24512         * doc/posix-functions/isspace.texi: Likewise.
24513         * doc/posix-functions/isupper.texi: Likewise.
24514         * doc/posix-functions/isxdigit.texi: Likewise.
24515
24516 2009-10-18  Bruno Haible  <bruno@clisp.org>
24517
24518         Tests for module 'isblank'.
24519         * modules/isblank-tests: New file.
24520         * tests/test-isblank.c: New file.
24521
24522         New module 'isblank'.
24523         * lib/isblank.c: New file.
24524         * m4/isblank.m4: New file.
24525         * modules/isblank: New file.
24526         * doc/posix-functions/isblank.texi: Mention the new module.
24527
24528 2009-10-18  Bruno Haible  <bruno@clisp.org>
24529
24530         New module 'ctype'.
24531         * lib/ctype.in.h: New file.
24532         * m4/ctype.m4: New file.
24533         * modules/ctype: New file.
24534         * doc/posix-headers/ctype.texi: Mention the new module.
24535
24536 2009-10-18  Jim Meyering  <meyering@redhat.com>
24537
24538         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
24539         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
24540         right after its initialization, rather than farther down.
24541         Keeping these in close proximity makes it easier to ensure
24542         that each such variable is initialized.  E.g.,
24543
24544             LIB_CLOCK_GETTIME=
24545             AC_SUBST([LIB_CLOCK_GETTIME])
24546
24547         This change also increments these serial numbers.
24548         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
24549         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24550         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24551
24552 2009-10-18  Bruno Haible  <bruno@clisp.org>
24553
24554         Don't let environment variables perturb build.
24555         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
24556         (gl_PREREQ_GETHRXTIME): ... not here.
24557
24558 2009-10-18  Bruno Haible  <bruno@clisp.org>
24559
24560         Avoid symlink attack in localcharset module.
24561         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
24562         (O_NOFOLLOW): Define fallback.
24563         (get_charset_aliases): Don't open the file if it is a symbolic link.
24564         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
24565         gl_FCNTL_H.
24566         (gl_FCNTL_H): Require it.
24567         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
24568         * modules/localcharset (Files): Add m4/fcntl_h.m4.
24569         Reported by Fergal Glynn <fglynn@veracode.com>.
24570
24571 2009-10-18  Bruno Haible  <bruno@clisp.org>
24572
24573         Implement nproc for mingw.
24574         * lib/nproc.c: Include <windows.h>
24575         (num_processors): On native Windows platforms, try GetSystemInfo.
24576
24577 2009-10-18  Bruno Haible  <bruno@clisp.org>
24578
24579         Implement nproc for IRIX.
24580         * lib/nproc.c: Include <sys/sysmp.h>.
24581         (num_processors): On IRIX systems, try sysmp.
24582         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
24583
24584 2009-10-18  Bruno Haible  <bruno@clisp.org>
24585
24586         Implement nproc for HP-UX.
24587         * lib/nproc.c: Include <sys/pstat.h>
24588         (num_processors): On HP-UX systems, try pstat_getdynamic.
24589         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
24590         pstat_getdynamic.
24591
24592 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
24593             Bruno Haible  <bruno@clisp.org>
24594
24595         Implement nproc for NetBSD, OpenBSD.
24596         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
24597         (ARRAY_SIZE): New macro.
24598         (num_processors): On BSD systems, try sysctl of HW_NCPU.
24599         * m4/nproc.m4: New file.
24600         * modules/nproc (Files): Add m4/nproc.m4.
24601         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
24602         (Makefile.am): Instead, augment lib_SOURCES.
24603
24604 2009-10-18  Bruno Haible  <bruno@clisp.org>
24605
24606         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
24607         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
24608         sys/param.h.
24609
24610 2009-10-16  Eric Blake  <ebb9@byu.net>
24611
24612         utimensat: new module
24613         * modules/utimensat: New file.
24614         * lib/utimensat.c (utimensat): Likewise.
24615         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24616         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
24617         so we can work around Linux bugs.
24618         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24619         * modules/sys_stat (Makefile.am): Substitute them.
24620         * lib/sys_stat.in.h (utimensat): Declare it.
24621         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24622         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24623         * modules/utimensat-tests: New test.
24624         * tests/test-utimensat.c: Likewise.
24625
24626         utimens: let lutimens work on non-symlinks
24627         * lib/utimens.c (lutimens): Fall back to utimens rather than
24628         failing with ENOSYS, when file is not a symlink.
24629         (utimens): Reduce redirection.
24630         * tests/test-lutimens.h (test_lutimens): Update test to cover
24631         non-symlinks.
24632         * tests/test-utimens.h (test_utimens): Update test to cover
24633         symlinks.
24634         * tests/test-utimens.c (main): Update caller.
24635
24636         utimens: cache whether utimensat syscall works
24637         * lib/utimens.c (utimensat_works_really): New cache variable.
24638         (fdutimens, lutimens): Use it to avoid failing syscall.
24639
24640         test-stat-time, test-utimens: improve portability
24641         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
24642         ext4 on alpha, and for cygwin.
24643         * tests/test-utimens-common.h: New file.
24644         (nap): Factor delays into single function.
24645         * tests/test-lutimens.h (test_lutimens): Use new header.
24646         * tests/test-futimens.h (test_futimens): Likewise.
24647         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
24648         timestamps to occur from same machine, as was done previously for
24649         test_utimens.
24650         * modules/utimens-tests (Files): Ship new file.
24651         * modules/futimens-tests (Files): Likewise.
24652         Reported in part by Jim Meyering.
24653
24654         sys_stat: sort replacement declarations
24655         * lib/sys_stat.in.h: Sort declarations.
24656         * lib/futimens.c (futimens): Fix typo.
24657
24658 2009-10-15  Jim Meyering  <meyering@redhat.com>
24659
24660         don't let environment settings perturb build
24661         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
24662         could cause a configure-time and/or build-time malfunction.
24663         Typically, a configure-time function-in-library test is performed
24664         via code like this:
24665
24666           LIB_VAR=
24667           AC_SUBST([LIB_VAR])
24668           prefix_saved_LIBS=$LIBS
24669             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
24670                        [test "$ac_cv_search_FUNC" = "none required" ||
24671                         LIB_VAR=$ac_cv_search_FUNC])
24672           LIBS=$prefix_saved_LIBS
24673
24674         However, in each of the files affected by this change, the LIB_VAR=
24675         initialization was omitted.  Thus, when set in the environment, its
24676         value would propagate into generated Makefiles when FUNC is not found
24677         in LIB_NAME.
24678         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
24679         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24680         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24681
24682 2009-10-14  Eric Blake  <ebb9@byu.net>
24683
24684         fchdir: avoid infinite recursion in mingw
24685         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
24686         recursing.
24687
24688         test-stat-time: port to mingw
24689         * tests/test-stat-time.c (force_unlink): Return a value.
24690         (test_ctime) [W32]: Fix compilation error.
24691         (nap): Don't call usleep with too large an argument.  Use
24692         force_unlink.
24693         * doc/pastposix-functions/usleep.texi (usleep): Document the
24694         portability issue.
24695
24696 2009-10-13  Jim Meyering  <meyering@redhat.com>
24697
24698         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
24699         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
24700         * modules/pipe-filter-ii: Likewise.
24701         * modules/sys_socket-tests: Likewise.
24702         * modules/tsearch-tests: Likewise.
24703         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
24704         (check): Depend on it.
24705
24706 2009-10-12  Eric Blake  <ebb9@byu.net>
24707
24708         utimens-tests: port to NFS file systems
24709         * tests/test-utimens.h (test_utimens): Refactor utimecmp
24710         comparisons to avoid spurious failures from timestamp drift
24711         between NFS machines.
24712
24713 2009-10-12  Eric Blake  <ebb9@byu.net>
24714
24715         stat-time-tests: minor cleanups
24716         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
24717         * tests/test-stat-time.c (nap): Separate assignment from call.
24718         Suggested by Paolo Bonzini and Bruno Haible.
24719
24720         sys_stat: guarantee struct timespec
24721         * lib/sys_stat.in.h (includes): Always include <time.h>
24722         * modules/sys_stat (Depends-on): Add time.
24723         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
24724         mode_t permission values.
24725         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
24726         get at subsecond timestamps.
24727
24728 2009-10-10  Eric Blake  <ebb9@byu.net>
24729
24730         futimens: new module
24731         * modules/futimens: New file.
24732         * lib/futimens.c (futimens): Likewise.
24733         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
24734         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
24735         we can work around Linux bugs.
24736         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24737         * modules/sys_stat (Makefile.am): Substitute them.
24738         * lib/sys_stat.in.h (futimens): Declare it.
24739         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24740         * doc/posix-functions/futimens.texi (futimens): Likewise.
24741         * modules/futimens-tests: New test.
24742         * tests/test-futimens.c: Likewise.
24743
24744         utimens: introduce fdutimens
24745         * lib/utimens.h (fdutimens): New prototype.
24746         * lib/utimens.c (gl_futimens): Move guts...
24747         (fdutimens): ...to new interface.
24748         * tests/test-utimens.c (do_fdutimens): Use it.
24749
24750         utimens: add UTIME_NOW and UTIME_OMIT support
24751         * lib/utimens.c (validate_timespec, update_timespec): New helper
24752         functions.
24753         (gl_futimens, lutimens): Use them.
24754         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
24755         stdbool, sys_stat.
24756         (Link): Mention resulting library dependency.
24757         * modules/utimecmp (Link): Likewise.
24758         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
24759         (Makefile.am): Pick up library dependency.
24760         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
24761         definition.
24762         * tests/test-sys_stat.c: Test the definitions.
24763         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
24764         * NEWS: Document library dependency.
24765
24766         utimecmp: support symlink timestamps
24767         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
24768         hashing when possible.  Use pathconf when available.
24769         (SYSCALL_RESOLUTION): Recognize tighter resolution.
24770         * modules/utimecmp (Depends-on): Add lstat.
24771
24772         utimens: add lutimens interface
24773         * lib/utimens.c (lutimens): New function.
24774         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
24775         * lib/utimens.h (lutimens): Declare new interface.
24776         * tests/test-utimens.c (main): Enhance test.
24777         * tests/test-lutimens.h (test_lutimens): New file.
24778         * modules/utimens-tests (Files): Distribute it.
24779         (Depends-on): Add symlink.
24780         (configure.ac): Check for usleep.
24781
24782         utimens: validate futimens usage
24783         * lib/utimens.c (gl_futimens): Require valid fd up front, using
24784         fewer syscalls on failure later on.  Avoid compiler warning on
24785         mingw.
24786         * modules/utimens (Depends-on): Add dup2.
24787
24788         utimens: add test
24789         * modules/utimens-tests: New test.
24790         * tests/test-utimens.h: New file.
24791         * tests/test-futimens.h: Likewise.
24792         * tests/test-utimens.c: Likewise.
24793
24794         doc: mention timestamp portability issues
24795         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
24796         instead.
24797         * doc/posix-functions/utime.texi (utime): Likewise.
24798         * doc/posix-functions/utimes.texi (utimes): Likewise.
24799         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
24800         instead.
24801         * doc/posix-functions/futimens.texi (futimens): Mention utimens
24802         module.
24803         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24804         Mention weakness with symlink timestamps.
24805         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
24806         to utimensat/futimens instead.
24807         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
24808
24809         test-dup2: enhance test
24810         * tests/test-dup2.c (main): Also check AT_FDCWD.
24811
24812         test-stat-time: avoid more spurious failures
24813         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
24814         xfs; and avoid race if the two timestamps cross quantization edge.
24815
24816         relocatable: prefer 'file system' over 'filesystem'
24817         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
24818         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
24819         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
24820         * doc/relocatable.texi (Enabling Relocatability): Likewise.
24821         * lib/relocatable.c (compute_curr_prefix): Likewise.
24822
24823 2009-10-10  Jim Meyering  <meyering@redhat.com>
24824
24825         stat-time-tests: check for the usleep function
24826         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
24827
24828 2009-10-10  Bruno Haible  <bruno@clisp.org>
24829
24830         * modules/xnanosleep: Put the Link section after the Include section.
24831
24832 2009-10-09  Eric Blake  <ebb9@byu.net>
24833
24834         dup2: work around FreeBSD 6.1 bug
24835         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
24836         * doc/posix-functions/dup2.texi (dup2): Document it.
24837         Reported by Nelson H. F. Beebe and Jim Meyering.
24838
24839         test-stat-time: port to buggy NFS clients
24840         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
24841         (test_ctime): Also skip test if mtime and ctime are skewed.
24842
24843         maint: prefer 'file system' over 'filesystem'
24844         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24845         * doc/posix-functions/lstat.texi (lstat): Likewise.
24846         * lib/file-has-acl.c (file_has_acl): Likewise.
24847         * lib/fwriteerror.c [TEST]: Likewise.
24848         * tests/test-areadlink.h (test_areadlink): Likewise.
24849         * tests/test-areadlinkat-with-size.c (main): Likewise.
24850         * tests/test-areadlinkat.c (main): Likewise.
24851         * tests/test-canonicalize-lgpl.c (main): Likewise.
24852         * tests/test-canonicalize.c (main): Likewise.
24853         * tests/test-fstatat.c (main): Likewise.
24854         * tests/test-linkat.c (main): Likewise.
24855         * tests/test-lstat.h (test_lstat_func): Likewise.
24856         * tests/test-mkdir.h (test_mkdir): Likewise.
24857         * tests/test-readlink.h (test_readlink): Likewise.
24858         * tests/test-remove.c (main): Likewise.
24859         * tests/test-rename.h (test_rename): Likewise.
24860         * tests/test-renameat.c (main): Likewise.
24861         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24862         * tests/test-symlink.h (test_symlink): Likewise.
24863         * tests/test-symlinkat.c (main): Likewise.
24864         * tests/test-unlink.h (test_unlink_func): Likewise.
24865         * tests/test-unlinkat.c (main): Likewise.
24866
24867         maint: make realtime library usage explicit
24868         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
24869         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
24870         * modules/settime (Link): Likewise.
24871         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
24872
24873         test-stat-time: speed up execution
24874         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
24875         warning on mingw.
24876         (nap): New helper function.
24877         (prepare_test): Use it to reduce sleep time.
24878         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
24879         execution.
24880         * modules/stat-time-tests (configure.ac): Check for usleep.
24881
24882 2009-10-09  Jim Meyering  <meyering@redhat.com>
24883
24884         selinux-h: always use getfilecon wrappers
24885         * lib/getfilecon.c: New file.
24886         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
24887         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
24888         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
24889         (fgetfilecon): Provide a stub.
24890         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
24891         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
24892         file unconditionally.
24893         When <selinux/selinux.h> is found, arrange to use wrappers.
24894         * modules/selinux-h (Files): Add getfilecon.c.
24895         (Makefile.am): Substitute include-next-related bits
24896         into the now-always-generated selinux/selinux.h file.
24897         * doc/glibc-functions/lgetfilecon.texi: New file.
24898         * doc/glibc-functions/fgetfilecon.texi: New file.
24899         * doc/glibc-functions/getfilecon.texi: New file.
24900         * doc/glibc-functions/getfilecon-desc.texi: New file.
24901         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
24902         which to pull in the new files.
24903         * MODULES.html.sh (Misc): Add selinux-h.
24904
24905 2009-10-08  Jim Meyering  <meyering@redhat.com>
24906
24907         unistd: fix comment typo
24908         * lib/unistd.in.h (euidaccess): Fix a comment typo.
24909
24910 2009-10-08  Eric Blake  <ebb9@byu.net>
24911
24912         areadlink: use SIZE_MAX consistently
24913         * modules/areadlink (Depends-on): Add stdint.
24914         * modules/areadlink-with-size (Depends-on): Likewise.
24915         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
24916         gives NULL; drop sys/types, since unistd gives size_t; and add
24917         stdint for SIZE_MAX.
24918         (SIZE_MAX): Rely on headers.
24919         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
24920         and add stdint.
24921         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
24922         (SIZE_MAX): Likewise.
24923         (INITIAL_BUF_SIZE): Turn into enum.
24924         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
24925
24926 2009-10-08  Jim Meyering  <meyering@redhat.com>
24927
24928         areadlinkat: avoid compilation failure
24929         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
24930         Fix typo in comment.
24931
24932 2009-10-07  Eric Blake  <ebb9@byu.net>
24933
24934         areadlinkat-with-size: new module
24935         * modules/areadlinkat-with-size: New module.
24936         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
24937         * lib/areadlink.h (areadlinkat): Declare it.
24938         * MODULES.html.sh (File system functions): Mention it.
24939         * modules/areadlinkat-with-size-tests: New test.
24940         * tests/test-areadlinkat-with-size.c: New file.
24941
24942         xreadlinkat: new module
24943         * modules/xreadlinkat: New module.
24944         * lib/xreadlinkat.c (xreadlinkat): New file.
24945         * lib/xreadlink.h (xreadlinkat): Declare it.
24946         * MODULES.html.sh (File system functions): Mention it.
24947
24948         areadlinkat: new module
24949         * lib/at-func.c (FUNC_FAIL): New define.
24950         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
24951         * modules/areadlinkat: New module.
24952         * lib/linkat.c (areadlinkat): Move...
24953         * lib/areadlinkat.c (areadlinkat): ...to new file.
24954         * lib/areadlink.h (areadlinkat): Declare it.
24955         * modules/linkat (Depends-on): Add areadlinkat.
24956         * MODULES.html.sh (File system functions): Mention it.
24957         * modules/areadlinkat-tests: New test.
24958         * tests/test-areadlinkat.c: New file.
24959
24960         areadlink, areadlink-with-size: add tests
24961         * modules/areadlink-tests: New test.
24962         * modules/areadlink-with-size-tests: Likewise.
24963         * tests/test-areadlink.h: New file.
24964         * tests/test-areadlink.c: Likewise.
24965         * tests/test-areadlink-with-size.c: Likewise.
24966
24967         maint: minor cleanups
24968         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
24969         _UNUSED_PARAMETER_ instead.
24970         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
24971         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
24972         * modules/linkat-tests (Files): Distribute test-link.h.
24973
24974         openat, utimens: whitespace cleanup
24975         * lib/openat.c: Prefer space throughout, rather than mix of 8
24976         spaces vs. tabs.
24977         * lib/at-func.c: Likewise.
24978         * lib/utimens.c: Likewise.
24979
24980         openat: avoid using wrong fd
24981         * lib/openat.c (openat_permissive): Reject user's fd if saving the
24982         working directory chooses same fd.
24983         * lib/at-func.c (AT_FUNC_NAME): Likewise.
24984
24985         mkdir, mkdirat: fix cygwin 1.5.x bug
24986         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
24987         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
24988         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
24989         bug.
24990         (gl_PREREQ_MKDIR): Delete unused macro.
24991         * modules/mkdir (Files): Track file rename.
24992         (configure.ac): Update macro name.
24993         * modules/openat (Depends-on): Add mkdir.
24994         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
24995
24996         mkdir, mkdirat: add tests
24997         * modules/mkdir-tests: New test.
24998         * tests/test-mkdir.h: New file.
24999         * tests/test-mkdir.c: Likewise.
25000         * tests/test-mkdirat.c: Likewise.
25001         * modules/openat-tests (Files): Add new files.
25002         (Makefile.am): Run new test.
25003
25004 2009-10-06  Eric Blake  <ebb9@byu.net>
25005
25006         doc: tweak *at function documentation
25007         * doc/posix-functions/faccessat.texi (faccessat): Mention
25008         known issue with replacement.
25009         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
25010         * doc/posix-functions/linkat.texi (linkat): Likewise.
25011         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
25012         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
25013         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25014         * doc/posix-functions/renameat.texi (renameat): Likewise.
25015         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25016
25017         openat: fix GNU/Hurd bug in unlinkat
25018         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
25019         broken.
25020         * doc/posix-functions/unlink.texi (unlink): Document this.
25021         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
25022
25023         fdopendir: fix GNU/Hurd bug
25024         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
25025         allowing non-directory fds.
25026         * lib/fdopendir.c (rpl_fdopendir): Work around it.
25027         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
25028         * modules/dirent (Makefile.am): Substitute it.
25029         * lib/dirent.in.h (fdopendir): Declare replacement.
25030         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
25031         * tests/test-fdopendir.c (main): Test something other than
25032         /dev/null, since on Hurd that behaves like a directory.
25033
25034         test-symlink: port to GNU/Hurd
25035         * tests/test-symlink.h (test_symlink): Relax expected errno.
25036
25037         doc: tweak more cygwin information
25038         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
25039         now compatible with glibc.
25040         * doc/posix-functions/getopt.texi (getopt): Likewise.
25041
25042         getopt-gnu: add another test
25043         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
25044         guarantee behavior relied on by m4.
25045         * tests/test-getopt.c (main): Use it.
25046         * modules/getopt-posix-tests (Depends-on): Add setenv.
25047         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
25048
25049         getopt: fix compilation on darwin
25050         * lib/getopt.in.h (includes): Leave breadcrumbs during system
25051         include.
25052         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
25053         Reported by Ludovic Courtès.
25054
25055 2009-10-06  Bruno Haible  <bruno@clisp.org>
25056
25057         * modules/size_max (Description): Discourage its use.
25058         Reported by Simon Josefsson.
25059
25060 2009-10-06  Jim Meyering  <meyering@redhat.com>
25061
25062         linkat: avoid compilation failure
25063         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
25064
25065 2009-10-05  Eric Blake  <ebb9@byu.net>
25066
25067         linkat: support Linux 2.6.17
25068         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
25069         linkat on Linux, but allow cache variable override.
25070         * lib/linkat.c (rpl_linkat): Define override.
25071         * modules/linkat (Depends-on): Add symlinkat.
25072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
25073         * modules/unistd (Makefile.am): Substitute it.
25074         * lib/unistd.in.h (linkat): Declare replacement.
25075         Reported by Pádraig Brady.
25076
25077         quotearg: port test to systems with C.UTF-8 locale
25078         * tests/test-quotearg.c (struct result_strings): Add another
25079         member, differentiating between C.ASCII and C.UTF-8 handling.
25080         (compare_strings): Add parameter.
25081         (main): Adjust all callers.
25082
25083         getopt: avoid clash with FreeBSD _getopt_internal
25084         * lib/getopt.in.h (_getopt_internal): Override the name.
25085         * lib/getopt_int.h (includes): Pick up any overrides.
25086         Reported by Reuben Thomas.
25087
25088         hash: allow C89 compilation
25089         * lib/hash.c (check_tuning): Move declaration before statement.
25090         Reported by Reuben Thomas.
25091
25092 2009-10-05  Karl Berry  <karl@gnu.org>
25093
25094         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
25095
25096 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
25097             Bruno Haible  <bruno@clisp.org>
25098
25099         * lib/uname.c (uname): Use a table-driven algorithm to compute
25100         Windows NT versions.
25101
25102 2009-10-04  Bruno Haible  <bruno@clisp.org>
25103
25104         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
25105         program_invocation_short_name.
25106         * modules/progname (configure.ac): Test for presence of
25107         program_invocation_short_name.
25108         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
25109
25110 2009-10-04  Bruno Haible  <bruno@clisp.org>
25111
25112         * lib/progname.c (set_program_name): Fix comment.
25113         Reported by Jim Meyering.
25114
25115 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25116             Bruno Haible  <bruno@clisp.org>
25117
25118         * lib/uname.c: Include <string.h>.
25119         (uname): Do only one call to GetVersionEx in the common case.
25120
25121 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25122             Bruno Haible  <bruno@clisp.org>
25123
25124         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
25125         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
25126         (uname): Add support for Windows CE and various non-x86 CPU types.
25127
25128 2009-10-03  Bruno Haible  <bruno@clisp.org>
25129
25130         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
25131         invocation to tests/configure.ac.
25132         Reported by Ian Beckwith <ianb@erislabs.net>.
25133
25134 2009-10-02  Eric Blake  <ebb9@byu.net>
25135
25136         fchdir: avoid compiler warning
25137         * lib/fchdir.c (canonicalize_file_name)
25138         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
25139
25140         test-open: support mingw errno values
25141         * tests/test-open.h (test_open): Relax test.
25142         * tests/test-fopen.h (test_fopen): Likewise.
25143         * tests/test-openat-safer.c (main): Likewise.
25144
25145         open: fix opening directory on mingw
25146         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
25147
25148         test-open: on GNU/Hurd, /dev/null is a directory
25149         * tests/test-fopen.h (main): Rename...
25150         (test_fopen): ...to this.  Use a guaranteed non-directory when
25151         confirming open behavior on trailing slash.
25152         * tests/test-openat-safer.c (main): Likewise.
25153         * tests/test-open.h (main): Likewise....
25154         (test_open): ...to this.
25155         * tests/test-fopen.c (main): Adjust caller.
25156         * tests/test-fopen-safer.c (main): Likewise.
25157         * tests/test-open.c (main): Likewise.
25158         * tests/test-fcntl-safer.c (main): Likewise.
25159         Reported by Samuel Thibault.
25160
25161         rename, fchdir: don't ignore chdir failure
25162         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
25163         * lib/rename.c (rpl_rename) [W32]: Likewise.
25164         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
25165         an empty destination directory if source cannot be renamed,
25166         although there is still possibility for failure.
25167         * doc/posix-functions/rename.texi (rename): Document the race.
25168         Reported by Jim Meyering.
25169
25170         maint: cleanup whitespace in recent commits
25171         * lib/rename.c (rpl_rename): Remove tabs.
25172         * tests/test-link.h (test_link): Likewise.
25173         * lib/fchdir.c (get_name): Likewise.
25174         Reported by Jim Meyering.
25175
25176 2009-10-02  Ben Pfaff  <blp@gnu.org>
25177
25178         relocatable-prog-wrapper: Add missing dependency on
25179         double-slash-root.
25180         * modules/relocatable-prog-wrapper: Add dependency.
25181         Reported by Ian Beckwith <ianb@erislabs.net>.
25182
25183 2009-10-02  Eric Blake  <ebb9@byu.net>
25184
25185         renameat: fix Solaris bugs
25186         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
25187         needed fixing.
25188         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
25189         * modules/stdio (Makefile.am): Substitute it.
25190         * lib/stdio.in.h (renameat): Declare replacement.
25191         * lib/renameat.c (rpl_renameat): Implement fix.
25192
25193         renameat: new module
25194         * modules/renameat: New file.
25195         * lib/renameat.c (renameat): Likewise.
25196         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
25197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25198         * modules/stdio (Makefile.am): Substitute them.
25199         * lib/stdio.in.h (renameat): Declare it.
25200         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25201         * doc/posix-functions/renameat.texi (renameat): Likewise.
25202         * modules/renameat-tests: New test.
25203         * tests/test-renameat.c: Likewise.
25204
25205         rename: fix mingw bugs
25206         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
25207         directory overwrite bugs.
25208
25209         rename: fix another cygwin 1.5 bug
25210         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
25211         checks.
25212         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
25213         unnecessary cygwin workarounds.  Also work around bug with moving
25214         full directory onto an empty one.
25215         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
25216
25217         rename-dest-slash: merge into rename module
25218         * modules/rename-dest-slash (Status): Mark obsolete.
25219         (Depends-on): Add rename.
25220         (Files): Let rename do it all.
25221         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
25222         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
25223         * m4/rename-dest-slash.m4: ...so this file can be deleted.
25224         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
25225         * lib/rename.c (rpl_rename): Update comments.
25226
25227         rename: fix cygwin 1.5.x bugs
25228         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
25229         * lib/rename.c (rpl_rename): Work around them.
25230         * modules/rename (Depends-on): Add same-inode.
25231
25232         rename: fix Solaris 10 bug
25233         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25234         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
25235         was the only bug.
25236
25237         rename: fix Solaris 9 bug
25238         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
25239         on non-directory.  Avoid calling exit.
25240         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
25241         strdup.
25242         * modules/rename-tests (Depends-on): Drop lstat.
25243         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25244         (gl_PREREQ_RENAME): Delete unused macro.
25245
25246         rename-dest-slash: fix NetBSD bug
25247         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
25248         links.
25249         * modules/rename-dest-slash (Depends-on): Add same-inode.
25250
25251         rename-tests: new test, exposes several platform bugs
25252         * modules/rename-tests: New file.
25253         * tests/test-rename.h: Likewise.
25254         * tests/test-rename.c: Likewise.
25255         * doc/posix-functions/rename.texi (rename): Improve documentation,
25256         including bugs that will eventually be fixed in gnulib.
25257
25258 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
25259
25260         * lib/uname.c: Include <stdlib.h>
25261         (uname): Assume version info is available.
25262
25263 2009-10-02  Jim Meyering  <meyering@redhat.com>
25264
25265         gnu-web-doc-update: correct --help output
25266         * build-aux/gnu-web-doc-update: Make --help output relevant.
25267
25268         gnu-web-doc-update: add standard options
25269         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
25270
25271         gnu-web-doc-update: New module.
25272         Use this script to automatically update the on-line web documentation
25273         for your GNU project at http://www.gnu.org/software/$pkg/manual/
25274         * modules/gnu-web-doc-update: New file, from coreutils.
25275         * build-aux/gnu-web-doc-update: New script.
25276
25277 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
25278
25279         link: LoadLibrary is not needed.
25280         * lib/link.c: Use GetModuleHandle.
25281
25282 2009-10-01  Eric Blake  <ebb9@byu.net>
25283
25284         getopt: bump serial number
25285         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
25286         change.
25287
25288         tests: tighten link, rmdir, and remove tests
25289         * tests/test-link.h (includes): No need to use <config.h> here.
25290         Clean up if directory hard link was created, otherwise test for
25291         trailing '.'.
25292         * tests/test-linkat.c (main): Simplify.
25293         * tests/test-remove.c (main): Enhance test for trailing '.'.
25294         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25295
25296 2009-10-01  Jim Meyering  <meyering@redhat.com>
25297
25298         maint.mk: requiring "make major" was annoying, for a "minor" release.
25299         What is intended is "stable", to contrast with alpha and beta,
25300         so require "make stable", not "make major".
25301         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
25302         (get_tool_versions): Likewise.
25303         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
25304
25305 2009-09-30  Ben Pfaff  <blp@gnu.org>
25306
25307         Fix broken build of replacement for Windows tmpfile().
25308         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
25309         flags argument added along with the 'mkostemp' module.
25310
25311 2009-09-28  Bruno Haible  <bruno@clisp.org>
25312
25313         Avoid identifier clash with POSIX function 'remove' defined as a macro.
25314         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
25315         to 'remove_elt'.
25316         (gl_list_remove): Update.
25317         * lib/gl_list.c (gl_list_remove): Update.
25318         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
25319         to 'remove_elt'.
25320         (gl_oset_remove): Update.
25321         * lib/gl_list.c (gl_oset_remove): Update.
25322         Reported by Eric Blake.
25323
25324 2009-09-28  Eric Blake  <ebb9@byu.net>
25325
25326         doc: mention yet more cygwin 1.7 status
25327         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
25328         cygwin.
25329         * doc/glibc-functions/execvpe.texi (execvpe): New file.
25330         * doc/gnulib.texi (Glibc unistd.h): Mention it.
25331
25332         argp: fix test failure
25333         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
25334         that are not upper-case.  Pass correct range to tolower.
25335
25336 2009-09-27  Jim Meyering  <meyering@redhat.com>
25337
25338         test-yesno: work around sparc-dash here-document infelicity
25339         Without this change, the literal \177 byte in a here document
25340         would make dash 0.5.5.1-3 access uninitialized memory.
25341         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
25342         Instead, use a marker, "@", and filter through tr to create the desired
25343         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
25344
25345 2009-09-27  Bruno Haible  <bruno@clisp.org>
25346
25347         Disable untested support for new flavours of ACLs on AIX.
25348         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
25349         progress.
25350         * lib/set-mode-acl.c (qset_acl): Likewise.
25351
25352 2008-12-07  Bruno Haible  <bruno@clisp.org>
25353
25354         Add support for new flavours of ACLs on AIX. (Untested.)
25355         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
25356         (file_has_acl): Add support for newer AIX.
25357         * lib/set-mode-acl.c (qset_acl): Likewise.
25358         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
25359         Rainer Tammer <tammer@tammer.net>.
25360
25361 2009-09-26  Eric Blake  <ebb9@byu.net>
25362
25363         argp: fix compilation of getopt
25364         * lib/getopt.in.h (includes): Use different guard than glibc.
25365         Reported by Sergey Poznyakoff.
25366
25367         doc: mention more cygwin 1.7 status
25368         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
25369         bug.
25370         * doc/posix-functions/execl.texi (execl): Likewise.
25371         * doc/posix-functions/execle.texi (execle): Likewise.
25372         * doc/posix-functions/execlp.texi (execlp): Likewise.
25373         * doc/posix-functions/execv.texi (execv): Likewise.
25374         * doc/posix-functions/execve.texi (execve): Likewise.
25375         * doc/posix-functions/execvp.texi (execvp): Likewise.
25376         * doc/glibc-functions/canonicalize_file_name.texi
25377         (canonicalize_file_name): Cygwin 1.7 now provides this.
25378         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
25379         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
25380         on AT_SYMLINK_NOFOLLOW.
25381
25382 2009-09-24  Eric Blake  <ebb9@byu.net>
25383
25384         test-linkat: make test more robust
25385         * tests/test-linkat.c (main): Avoid collision with EEXIST.
25386
25387         getopt: fix inclusion guards for cygwin
25388         * modules/getopt-posix (Depends-on): Add include-next.
25389         (Makefile.am): Substitute more items in replacement header.
25390         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
25391         <getopt.h>.
25392         * lib/getopt.in.h (includes): Use split inclusion guard, and
25393         prefer <getopt.h> over include <unistd.h> when one is present.
25394         (option): Also override name of 'struct option'.
25395
25396         same-inode: revert prior change; it is not yet ready
25397         * NEWS: Undo mention of this change.
25398         * lib/same-inode.h (same-inode.h): Undo tri-state change.
25399         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25400         * lib/cycle-check.c (cycle_check): Likewise.
25401         * lib/same.c (same_name): Likewise.
25402         * lib/at-func2.c (at_func2): Likewise.
25403
25404 2009-09-23  Eric Blake  <ebb9@byu.net>
25405
25406         linkat: new module
25407         * modules/linkat: New file.
25408         * lib/at-func2.c (at_func2): Likewise.
25409         * lib/linkat.c (linkat): Likewise.
25410         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25411         * lib/openat-priv.h (at_func2): Add declaration.
25412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25413         * modules/unistd (Makefile.am): Substitute them.
25414         * lib/unistd.in.h (linkat): Declare it.
25415         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25416         * doc/posix-functions/linkat.texi (linkat): Likewise.
25417         * doc/posix-functions/link.texi (link): Tweak wording.
25418         * tests/test-link.c (main): Move guts...
25419         * tests/test-link.h (test_link): ...into new file.
25420         * modules/linkat-tests: New test.
25421         * tests/test-linkat.c: Likewise.
25422         * modules/link-tests (Files): Ship new file.
25423         (Depends-on): Add stdbool.
25424
25425         dirname: add library-safe mdir_name
25426         * lib/dirname.h (mdir_name): New prototype.
25427         * lib/dirname.c (dir_name): Move guts...
25428         (mdir_name): ...to new function that avoids xalloc_die.
25429
25430         fchdir: another mingw fix
25431         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
25432         * lib/fchdir.c (get_name): New helper method; skips canonicalize
25433         on mingw (where it has not yet been ported), and make it optional
25434         elsewhere.
25435         (_gl_register_fd): Use it.
25436
25437         same-inode: make SAME_INODE tri-state, to port to mingw
25438         * NEWS: Mention this change.
25439         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
25440         st_ino always being 0.
25441         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25442         * lib/cycle-check.c (cycle_check): Likewise.
25443         * lib/same.c (same_name): Likewise.
25444
25445         lstat: avoid mingw compilation error
25446         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
25447         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
25448         lstat ourselves.
25449         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
25450         was adequate.
25451         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
25452         the checks for lstat.
25453         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
25454
25455         link: fix test failure on Solaris 9
25456         * lib/link.c (rpl_link): Don't assume link will catch bogus
25457         trailing slash on source.
25458
25459         test-symlinkat: enhance test
25460         * tests/test-readlink.c (main): Move guts...
25461         * tests/test-readlink.h (test_readlink): ...into new file.
25462         * tests/test-symlink.c (main): Move guts...
25463         * tests/test-symlink.h (test_symlink): ...into new file.
25464         * tests/test-symlinkat.c (main): Use new files for further
25465         coverage.
25466         (do_symlink, do_readlink): New helper functions.
25467         * modules/symlink-tests (Files): Ship new file.
25468         (Depends-on): Add stdbool.
25469         * modules/readlink-tests (Files): Ship new file.
25470         (Depends-on): Add stdbool.
25471         * modules/symlinkat-tests (Files): Use new files.
25472
25473 2009-09-23  Eric Blake  <ebb9@byu.net>
25474
25475         readlink: document portability issue with symlink length
25476         * doc/posix-functions/lstat.texi (lstat): Mention that some file
25477         systems have bogus st_size on symlinks, and mention the
25478         areadlink-with-size module.
25479         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
25480         * doc/posix-functions/readlink.texi (readlink): Mention the
25481         areadlink module, and ERANGE failure.
25482         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25483         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
25484
25485         readlink: fix Solaris 9 bug with trailing slash
25486         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
25487         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
25488         * doc/posix-functions/readlink.texi (readlink): Document this.
25489         * modules/readlink-tests: New test.
25490         * tests/test-readlink.c: Likewise.
25491
25492         readlink: fix cygwin 1.5.x bug with return type
25493         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
25494         * lib/unistd.in.h (readlink): Use ssize_t.
25495         * lib/readlink.c (readlink): Likewise.
25496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25497         * modules/unistd (Makefile.am): Substitute it.
25498         * lib/unistd.in.h (readlink): Declare replacement.
25499         * doc/posix-functions/readlink.texi (readlink): Document this.
25500
25501         symlink: use throughout gnulib
25502         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
25503         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
25504         symlink is not used.
25505         * modules/symlinkat (Depends-on): Add symlink.
25506         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25507         * modules/canonicalize-tests (Depends-on): Likewise.
25508         * modules/lstat-tests (Depends-on): Likewise.
25509         * modules/openat-tests (Depends-on): Likewise.
25510         * modules/remove-tests (Depends-on): Likewise.
25511         * modules/rmdir-tests (Depends-on): Likewise.
25512         * modules/unlink-tests (Depends-on): Likewise.
25513         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
25514         * tests/test-canonicalize.c (symlink): Likewise.
25515         * tests/test-fstatat.c (symlink): Likewise.
25516         * tests/test-lstat.c (symlink): Likewise.
25517         * tests/test-remove.c (symlink): Likewise.
25518         * tests/test-rmdir.c (symlink): Likewise.
25519         * tests/test-unlink.c (symlink): Likewise.
25520         * tests/test-unlinkat.c (symlink): Likewise.
25521
25522         symlink: new module, for Solaris 9 bug
25523         * modules/symlink: New file.
25524         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25525         * lib/symlink.c: Likewise.
25526         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
25527         * modules/unistd (Makefile.am): Substitute them.
25528         * lib/unistd.in.h (symlink): Declare replacement.
25529         * MODULES.html.sh (File system functions): Mention it.
25530         * doc/posix-functions/symlink.texi (symlink): Likewise.
25531         * modules/symlink-tests: New test.
25532         * tests/test-symlink.c: Likewise.
25533
25534 2009-09-23  Bruno Haible  <bruno@clisp.org>
25535
25536         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
25537         when needed.
25538         Test case: gnulib-tool --import --with-tests atexit inttypes.
25539         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
25540
25541 2009-09-23  Bruno Haible  <bruno@clisp.org>
25542
25543         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
25544         subcommand, not in a subshell.
25545
25546 2009-09-22  Eric Blake  <ebb9@byu.net>
25547
25548         unistd: sort replacement declarations
25549         * lib/unistd.in.h: Sort declarations.
25550
25551         open, openat: minor optimization
25552         * lib/open.c (open): If open succeeded, len is non-zero.
25553         * lib/openat.c (rpl_openat): Likewise.
25554
25555         link-follow: ensure correct result
25556         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
25557         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
25558         distinguish between possible failures.
25559
25560 2009-09-21  Eric Blake  <ebb9@byu.net>
25561
25562         fts: avoid compiler warning
25563         * lib/fts.c (dirent_inode_sort_may_be_useful)
25564         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
25565
25566 2009-09-19  Bruno Haible  <bruno@clisp.org>
25567
25568         * lib/progreloc.c (canonicalize_file_name): New declaration.
25569
25570 2009-09-19  Eric Blake  <ebb9@byu.net>
25571
25572         link: fix quoting
25573         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
25574
25575         openat: fix openat bugs on Solaris 9
25576         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
25577         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
25578         * modules/openat (Depends-on): Add open.
25579         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
25580         * modules/fcntl-h (Makefile.am): Substitute it.
25581         * lib/fcntl.in.h (openat): Declare replacement.
25582         * doc/posix-functions/openat.texi (openat): Document this.
25583
25584         openat: move fstatat and unlinkat into correct files
25585         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
25586         compiled.
25587         * lib/openat.c (fstatat, unlinkat): Move...
25588         * lib/fstatat.c (fstatat): ...into correct files.
25589         * lib/unlinkat.c (unlinkat): Likewise.
25590
25591         openat: fix unlinkat bugs on Solaris 9
25592         * lib/unlinkat.c (unlinkat): New file.
25593         * modules/openat (Depends-on): Add unlink.
25594         (Files): Distribute it.
25595         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
25596         trailing slash behavior is broken.
25597         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25598         * modules/unistd (Makefile.am): Substitute it.
25599         * lib/unistd.in.h (unlinkat): Declare replacement.
25600         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
25601
25602         openat: fix fstatat bugs on Solaris 9
25603         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
25604         stat.
25605         * doc/posix-functions/fstatat.texi (fstatat): Document this.
25606
25607         test-unlinkat: enhance test, to expose Solaris 9 bug
25608         * tests/test-unlink.c (main): Factor guts...
25609         * tests/test-unlink.h (test_rmdir_func): ...into new file.
25610         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
25611         * tests/test-rmdir.c (main): Adjust caller.
25612         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
25613         (unlinker): New helper function.
25614         (rmdirat): Enhance check.
25615         * modules/rmdir-tests (Depends-on): Add stdbool.
25616         * modules/unlink-tests (Depends-on): Likewise.
25617         (Files): Add test-unlink.h.
25618         * modules/openat-tests (Files): Likewise.
25619         (Depends-on): Add unlinkdir.
25620
25621         test-fstatat: new test, to expose Solaris 9 bugs
25622         * tests/test-stat.c (main): Factor guts...
25623         * tests/test-stat.h (test_stat_func): ...into new file.
25624         * tests/test-lstat.c (main): Factor guts...
25625         * tests/test-lstat.h (test_lstat_func): ...into new file.
25626         * tests/test-fstatat.c: New file.
25627         * modules/stat-tests (Files): Add test-stat.h.
25628         * modules/lstat-tests (Files): Add test-lstat.h.
25629         (Depends-on): Add stdbool.
25630         * modules/openat-tests (Depends-on): Add pathmax.
25631         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
25632         (Makefile.am): Run new test.
25633
25634         remove: new module, for mingw and Solaris 9 bugs
25635         * modules/remove: New file.
25636         * lib/remove.c: Likewise.
25637         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
25638         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25639         * modules/stdio (Makefile.am): Use them.
25640         * lib/stdio.in.h (remove): Declare replacement.
25641         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25642         * doc/posix-functions/remove.texi (remove): Likewise.
25643         * modules/remove-tests: New test.
25644         * tests/test-remove.c: Likewise.
25645
25646         unlink: new module, for Solaris 9 bug
25647         * modules/unlink: New file.
25648         * lib/unlink.c: Likewise.
25649         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25651         * modules/unistd (Makefile.am): Use them.
25652         * lib/unistd.in.h (stat): Declare replacement.
25653         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25654         * doc/posix-functions/unlink.texi (unlink): Likewise.
25655         * modules/unlink-tests: New test.
25656         * tests/test-unlink.c: Likewise.
25657
25658         lstat: fix Solaris 9 bug
25659         * lib/lstat.c (lstat): Also check for trailing slash on
25660         non-symlink, non-directories.  Use stat module to simplify logic.
25661         * doc/posix-functions/lstat.texi (lstat): Document it.
25662         * modules/lstat-tests (Depends-on): Add errno, same-inode.
25663         (configure.ac): Check for symlink.
25664         * tests/test-lstat.c (main): Add more tests.
25665
25666         stat: add as dependency to other modules
25667         * modules/chown (Depends-on): Add stat.
25668         * modules/euidaccess (Depends-on): Likewise.
25669         * modules/fchdir (Depends-on): Likewise.
25670         * modules/isdir (Depends-on): Likewise.
25671         * modules/link (Depends-on): Likewise.
25672         * modules/lstat (Depends-on): Likewise.
25673         * modules/mkdir-p (Depends-on): Likewise.
25674         * modules/modechange (Depends-on): Likewise.
25675         * modules/open (Depends-on): Likewise.
25676         * modules/readlink (Depends-on): Likewise.
25677         * modules/same (Depends-on): Likewise.
25678
25679         stat: fix Solaris 9 bug
25680         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
25681         slash.
25682         * lib/stat.c (rpl_stat): Work around it.
25683         * doc/posix-functions/stat.texi (stat): Update documentation.
25684
25685         stat: new module, for mingw bug
25686         * modules/stat: New file.
25687         * lib/stat.c: Likewise.
25688         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25690         * modules/sys_stat (Makefile.am): Use them.
25691         * lib/sys_stat.in.h (stat): Declare replacement.
25692         * lib/openat.c (fstatat): Deal with lstat and stat being function
25693         macros.
25694         * modules/openat (Depends-on): Add inline.
25695         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25696         * doc/posix-functions/stat.texi (stat): Likewise.
25697         * modules/stat-tests: New test.
25698         * tests/test-stat.c: Likewise.
25699
25700 2009-09-19  Jim Meyering  <meyering@redhat.com>
25701
25702         syntax-check: detect unnecessary inclusion of canonicalize.h
25703         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
25704
25705 2009-09-19  Eric Blake  <ebb9@byu.net>
25706
25707         canonicalize-lgpl: adjust clients to use correct header
25708         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25709         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
25710         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
25711         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
25712         * lib/progreloc.c (includes): Likewise.
25713
25714 2009-09-19  Jim Meyering  <meyering@redhat.com>
25715
25716         test-posixtm.c: correct a comment
25717         * tests/test-posixtm.c: Correct first-line comment.
25718         Spotted by Eric Blake.
25719
25720 2009-09-16  Jim Meyering  <meyering@redhat.com>
25721
25722         posixtm-tests: make T const-correct; add a test case
25723         * tests/test-posixtm.c (T): Declare const.
25724         Add a test for -(2^31+1).
25725         Remove useless can-succeed-only-in-2002 test.
25726
25727         posixtm-tests: adjust the sole failing test
25728         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
25729         expected output matches what mktime now produces.  Cross-checked via
25730         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
25731
25732         posixtm: move #ifdef'd tests into a new module
25733         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
25734         * tests/test-posixtm.c: ... this new file.
25735         * modules/posixtm-tests: New module.
25736
25737 2009-09-19  Eric Blake  <ebb9@byu.net>
25738
25739         openat: simplify use of at-func.c
25740         * lib/at-func.c (includes): Include prerequisites here, to
25741         simplify requirements on client files.
25742         * lib/openat-priv.h: Add double-inclusion guard.
25743         * lib/faccessat.c (includes): Simplify.
25744         * lib/fchmodat.c (includes): Likewise.
25745         * lib/fchownat.c (includes): Likewise.
25746         * lib/mkdirat.c (includes): Likewise.
25747         * lib/mkfifoat.c (includes): Likewise.
25748         * lib/symlinkat.c (includes): Likewise.
25749
25750         openat: allow return of fd 0
25751         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
25752         * modules/save-cwd (Depends-on): Replace fcntl-safer with
25753         unistd-safer.
25754         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
25755         <fcntl.h>; this module does not leak fds.
25756         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
25757         must be allowed to return 0, leaving openat_safer to add the
25758         safety.
25759         (openat_permissive): Avoid writing to just-opened fd 2 if
25760         restoring the current directory fails.
25761         * lib/openat-die.c (openat_restore_fail): Add comment.
25762         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
25763         (save_cwd): Guarantee safe fd, but without use of open_safer.
25764         * tests/test-openat.c: New test.
25765         * modules/openat-tests (Files, Makefile.am): Distribute and build
25766         new file.
25767
25768         relocatable-prog-wrapper: fix build
25769         * modules/relocatable-prog-wrapper (Files): Update name of
25770         canonicalize m4 file, broken on 2009-09-17.
25771         Reported by emad hajjar <aleppos@hotmail.com>.
25772
25773 2009-09-19  Bruno Haible  <bruno@clisp.org>
25774
25775         * lib/safe-alloc.h: Use the standard header with GPL copyright.
25776         * lib/safe-alloc.c: Likewise.
25777         Reported by Ian Beckwith <ianb@erislabs.net>.
25778
25779 2009-09-18  Bruno Haible  <bruno@clisp.org>
25780
25781         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
25782         Reported by <erobles@sensacd.com.mx>.
25783
25784 2009-09-17  Eric Blake  <ebb9@byu.net>
25785
25786         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
25787         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
25788         slashes when checking if last component is missing.
25789         * tests/test-canonicalize.c (main): Test this.
25790
25791         canonicalize, canonicalize-lgpl: honor // if distinct from /
25792         * modules/canonicalize (Files): Add double-slash-root.m4.
25793         * modules/canonicalize-lgpl (Files): Likewise.
25794         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25795         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
25796         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
25797         fallback definition.
25798         (canonicalize_filename_mode): Use it to protect //.
25799         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
25800         (__realpath): Likewise.
25801         * tests/test-canonicalize.c (main): Test this.
25802         * tests/test-canonicalize-lgpl.c (main): Likewise.
25803         * modules/canonicalize-tests (Depends-on): Add same-inode.
25804         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25805
25806         canonicalize-lgpl: fix glibc bug with trailing slash
25807         * m4/canonicalize-lgpl.m4: Move contents...
25808         * m4/canonicalize.m4: ...here.
25809         (gl_CANONICALIZE_LGPL): Factor realpath check...
25810         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
25811         glibc 2.3.5 bug, fixed 2005-04-27.
25812         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
25813         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
25814         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
25815         * modules/canonicalize-lgpl (Files): Manage file rename.
25816         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25817         * modules/stdlib (Makefile.am): Substitute witness.
25818         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
25819         is needed.
25820         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
25821         replacement is required.
25822         * lib/canonicalize.c (canonicalize_file_name): Likewise.
25823         * doc/glibc-functions/canonicalize_file_name.texi
25824         (canonicalize_file_name): Document this.
25825         * doc/posix-functions/realpath.texi (realpath): Likewise.
25826
25827         canonicalize-lgpl: reject non-directory with trailing slash
25828         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
25829         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
25830         catches failures in glibc 2.3.5.
25831         * tests/test-canonicalize.c (main): Likewise.
25832
25833         canonicalize-lgpl: use native realpath if it works
25834         * lib/canonicalize-lgpl.c (realpath): Guard with
25835         FUNC_REALPATH_WORKS.
25836         * lib/stdlib.in.h (realpath): Make declaration optional based on
25837         HAVE_REALPATH.
25838         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
25839         native realpath works.
25840         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25841         * modules/stdlib (Makefile.am): Substitute witness.
25842
25843         canonicalize, canonicalize-lgpl: use <stdlib.h>
25844         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
25845         (Include): Mention <stdlib.h>.
25846         (configure.ac): Mention functions we provide.
25847         * modules/canonicalize (configure.ac): Likewise.
25848         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
25849         realpath if canonicalize_file_name is missing.
25850         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
25851         * modules/stdlib (Makefile.am): Substitute witnesses.
25852         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
25853         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
25854         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
25855         * NEWS: Document this.
25856         * doc/glibc-functions/canonicalize_file_name.texi
25857         (canonicalize_file_name): Likewise.
25858         * doc/posix-functions/realpath.texi (realpath): Likewise.
25859         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
25860
25861         test-canonicalize: consolidate into single C program
25862         * tests/test-canonicalize.sh: Delete; move setup into...
25863         * tests/test-canonicalize.c (main): ...the program, making it
25864         easier to run in debugger.  Add some tests.
25865         * modules/canonicalize-tests (Files): Remove unused file.
25866         (Depends-on): Add progname.
25867         (configure.ac, Makefile.am): Simplify.
25868
25869         test-canonicalize-lgpl: consolidate into single C program
25870         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
25871         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
25872         easier to run in debugger.  Add some tests.
25873         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
25874         (configure.ac, Makefile.am): Simplify.
25875
25876         canonicalize: avoid resolvepath
25877         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
25878         unnecessary checks.
25879         * lib/canonicalize.c (includes): Simplify.
25880         (canonicalize_file_name): Drop resolvepath implementation.
25881         * modules/canonicalize (Depends-on): Drop filenamecat.
25882
25883         canonicalize: don't lose errno
25884         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
25885         over calls to free.
25886
25887         canonicalize: simplify errno handling
25888         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
25889         assignment.
25890
25891         canonicalize, canonicalize-lgpl: update module dependencies
25892         * modules/canonicalize (Depends-on): Add extensions, lstat,
25893         pathmax, stdlib.
25894         (Files): Drop pathmax.h.
25895         (configure.ac): Adjust macro name.
25896         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
25897         lstat, stdlib, sys_stat.
25898         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
25899         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
25900         extensions.
25901         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
25902         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
25903         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
25904         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
25905         declaration, if available.
25906         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
25907         we can rely on the readlink module.
25908         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
25909         (includes): Use <unistd.h> unconditionally.
25910
25911 2009-09-17  Eric Blake  <ebb9@byu.net>
25912
25913         maint: make Include sections of modules consistent
25914         * modules/alloca: Use only header name; no need to list #include.
25915         * modules/alloca-opt: Likewise.
25916         * modules/arpa_inet: Likewise.
25917         * modules/canon-host: Likewise.
25918         * modules/configmake: Likewise.
25919         * modules/dirent: Likewise.
25920         * modules/eealloc: Likewise.
25921         * modules/environ: Likewise.
25922         * modules/fchdir: Likewise.
25923         * modules/fcntl: Likewise.
25924         * modules/fcntl-h: Likewise.
25925         * modules/gethrxtime: Likewise.
25926         * modules/gettime: Likewise.
25927         * modules/ignore-value: Likewise.
25928         * modules/inet_ntop: Likewise.
25929         * modules/inet_pton: Likewise.
25930         * modules/inttypes: Likewise.
25931         * modules/isnand-nolibm: Likewise.
25932         * modules/isnanf-nolibm: Likewise.
25933         * modules/mbchar: Likewise.
25934         * modules/mbfile: Likewise.
25935         * modules/mbiter: Likewise.
25936         * modules/mbuiter: Likewise.
25937         * modules/netdb: Likewise.
25938         * modules/netinet_in: Likewise.
25939         * modules/nproc: Likewise.
25940         * modules/pagealign_alloc: Likewise.
25941         * modules/poll: Likewise.
25942         * modules/printf-frexp: Likewise.
25943         * modules/pthread: Likewise.
25944         * modules/putenv: Likewise.
25945         * modules/random_r: Likewise.
25946         * modules/relocatable-prog: Likewise.
25947         * modules/search: Likewise.
25948         * modules/select: Likewise.
25949         * modules/selinux-h: Likewise.
25950         * modules/settime: Likewise.
25951         * modules/signal: Likewise.
25952         * modules/size_max: Likewise.
25953         * modules/socklen: Likewise.
25954         * modules/ssize_t: Likewise.
25955         * modules/stdarg: Likewise.
25956         * modules/stdbool: Likewise.
25957         * modules/stddef: Likewise.
25958         * modules/stdint: Likewise.
25959         * modules/stdio: Likewise.
25960         * modules/stdlib: Likewise.
25961         * modules/string: Likewise.
25962         * modules/strings: Likewise.
25963         * modules/sys_file: Likewise.
25964         * modules/sys_ioctl: Likewise.
25965         * modules/sys_select: Likewise.
25966         * modules/sys_socket: Likewise.
25967         * modules/sys_stat: Likewise.
25968         * modules/sys_time: Likewise.
25969         * modules/sys_times: Likewise.
25970         * modules/sys_utsname: Likewise.
25971         * modules/sys_wait: Likewise.
25972         * modules/sysexits: Likewise.
25973         * modules/time: Likewise.
25974         * modules/times: Likewise.
25975         * modules/tmpfile: Likewise.
25976         * modules/trim: Likewise.
25977         * modules/unistd: Likewise.
25978         * modules/wchar: Likewise.
25979         * modules/wctype: Likewise.
25980
25981 2009-09-17  Bruno Haible  <bruno@clisp.org>
25982
25983         Make getdate.y compile on QNX and NetBSD 5 / i386.
25984         * m4/getdate.m4 (gl_GETDATE): Conditionally define
25985         TIME_T_FITS_IN_LONG_INT.
25986         * lib/getdate.y (long_time_t): New type.
25987         (relative_time): Change type of 'seconds' field to long_time_t.
25988         (get_date): Update types of local variables. Check against overflow
25989         during conversion from long_time_t to time_t.
25990         Reported by Matt Kraai <kraai@ftbfs.org>
25991         and Hasso Tepper <hasso@netbsd.org>.
25992
25993 2009-09-17  Bruno Haible  <bruno@clisp.org>
25994
25995         * modules/COPYING: Update copyright years.
25996         * modules/README: Likeiwse.
25997         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
25998         Reported by Ian Beckwith <ianb@erislabs.net>.
25999
26000 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26001
26002         * users.txt: Update references for gnuit package.
26003
26004 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26005
26006         * m4/getdelim.m4: Fix typo in copyright line.
26007
26008 2009-09-17  Bruno Haible  <bruno@clisp.org>
26009
26010         * lib/atoll.c: Use the standard header with GPL copyright.
26011         * lib/argz.in.h: Likewise.
26012         * lib/glob.c: Likewise.
26013         * lib/glob-libc.h: Likewise.
26014         * lib/random_r.c: Likewise.
26015         * lib/siglist.h: Likewise.
26016         * lib/strsignal.c: Likewise.
26017         Reported by Ian Beckwith <ianb@erislabs.net>.
26018
26019 2009-09-17  Eric Blake  <ebb9@byu.net>
26020
26021         rmdir: ensure correct dependency order
26022         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
26023
26024 2009-09-17  Bruno Haible  <bruno@clisp.org>
26025
26026         Disable assertion that fails on NetBSD 5 / i386.
26027         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
26028         Reported by Sam Steingold <sds@gnu.org>
26029         and Hasso Tepper <hasso@netbsd.org>.
26030
26031 2009-09-16  Eric Blake  <ebb9@byu.net>
26032
26033         unlinkdir: port to mingw
26034         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
26035         on which no one can unlink a directory.
26036
26037         stdlib: sort witness names
26038         * modules/stdlib (Makefile.am): Sort replacements.
26039         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
26040         * lib/stdlib.in.h: Likewise.
26041
26042         parse-duration-tests: avoid link failure
26043         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
26044         LIBINTL.
26045         Reported by Tom G. Christensen.
26046
26047         openat-tests: ensure unlinkat behaves like rmdir
26048         * tests/test-rmdir.c (main): Factor guts...
26049         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
26050         * modules/rmdir-tests (Files): Ship new file.
26051         * modules/openat-tests: New test.
26052         * tests/test-unlinkat.c: Likewise.
26053
26054         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
26055         * modules/rmdir-errno (Status, Notice): Now obsolete.
26056
26057         rmdir: work around cygwin 1.5.x and mingw bugs
26058         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
26059         * lib/rmdir.c (rmdir): Work around it.
26060         * modules/rmdir (Status, Notice): No longer obsolete.
26061         (Files): Add dos.m4.
26062         (Depends-on): Add unistd.
26063         (configure.ac): Set witnesses.
26064         (License): Relax to LGPLv2+.
26065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
26066         * modules/unistd (Makefile.am): Substitute witnesses.
26067         * lib/unistd.in.h (rmdir): Declare replacement.
26068         * doc/posix-functions/rmdir.texi (rmdir): Document this.
26069         * modules/rmdir-tests: New tests.
26070         * tests/test-rmdir.c: Likewise.
26071
26072 2009-09-15  Eric Blake  <ebb9@byu.net>
26073
26074         fchdir: improve use of replacement functions
26075         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
26076         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
26077         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
26078         REPLACE_CLOSEDIR.
26079         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
26080         * modules/sys_stat (Makefile.am): Substitute correct witness.
26081         * modules/dirent (Makefile.am): Likewise.
26082         * modules/unistd (Makefile.am): Likewise.
26083         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
26084         * lib/unistd.in.h (dup): Likewise.
26085         * lib/sys_stat.in.h (fstat): Likewise.
26086
26087         maint: ignore gnulib-tool temp files
26088         * .gitignore: Ignore files created during gnulib-tool --test.
26089
26090 2009-09-13  Jim Meyering  <meyering@redhat.com>
26091
26092         posixtm: don't reject a time that specify "60" as the number of seconds
26093         * lib/posixtm.c (posixtime): The code to reject invalid dates
26094         would also reject a time specified with the .60 suffix.
26095         But POSIX allows that, in order to accommodate leap seconds.
26096         So don't reject it.
26097         (main): Adjust tests accordingly.
26098         * modules/posixtm (Depends-on): Add stpcpy.
26099
26100 2009-09-11  Jim Meyering  <meyering@redhat.com>
26101
26102         announce-gen: include [$release_type] in emitted Subject:
26103         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
26104         e.g., [stable] in the emitted Subject: line.
26105
26106 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26107
26108         Remove obsolete macros from several modules.
26109         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
26110         obsolete Autoconf macros with their modern counterparts.
26111         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
26112         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
26113         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
26114         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
26115         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
26116         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26117         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26118         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
26119         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
26120         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
26121         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
26122         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
26123         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
26124         * m4/sockets.m4 (gl_SOCKETS): Likewise.
26125         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
26126         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
26127         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
26128         * m4/time_r.m4 (gl_TIME_R): Likewise.
26129         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
26130         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
26131         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
26132
26133         Fix copyright header in build-aux scripts.
26134         * build-aux/git-version-gen: Fix copyright header to match GPLv3
26135         recommendation.
26136         * build-aux/ncftpput-ftp: Likewise.
26137         * build-aux/update-copyright: Likewise.
26138
26139 2009-09-09  Eric Blake  <ebb9@byu.net>
26140
26141         test-link: allow Linux choice of errno
26142         * tests/test-link.c (main): Relax test for alternate error.
26143
26144         strndup: fix improper m4 caching
26145         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
26146         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
26147         (gl_PREREQ_STRNDUP): Delete.
26148         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
26149         * modules/string (Makefile.am): Substitute it.
26150         * lib/string.in.h (strndup): Modernize prototype.
26151
26152         getcwd: port to mingw
26153         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
26154         different from the POSIX assumptions made throughout the getcwd
26155         module; fortunately, the mingw getcwd does not need replacement.
26156         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
26157         * modules/getcwd-tests: New test.
26158         * tests/test-getcwd.c: Likewise.
26159
26160         link: fix platform bugs
26161         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
26162         * lib/link.c (link): Work around them.  Fix related mingw bug.
26163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
26164         * modules/unistd (Makefile.am): Substitute it.
26165         * lib/unistd.in.h (link): Declare replacement.
26166         * doc/posix-functions/link.texi (link): Document this.
26167         * modules/link (Depends-on): Add strdup-posix, sys_stat.
26168
26169         test-link: consolidate into single C program, test more cases
26170         * tests/test-link.sh: Delete.
26171         * tests/test-link.c: Test more error conditions.  Exposes bugs on
26172         at least Cygwin and Solaris.
26173         * modules/link-tests (Files): Remove unused file.
26174         (Depends-on): Add errno, sys_stat.
26175         (Makefile.am): Simplify.
26176
26177 2009-09-08  Bruno Haible  <bruno@clisp.org>
26178
26179         Work around towlower, towupper bug on mingw.
26180         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
26181         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
26182         * doc/posix-functions/towlower.texi: Mention the mingw bug.
26183         * doc/posix-functions/towupper.texi: Likewise.
26184         Reported by Eric Blake.
26185
26186 2009-09-08  Jim Meyering  <meyering@redhat.com>
26187
26188         build: don't try to run autoheader if we don't use it
26189         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
26190         is not used in configure.ac.
26191
26192 2009-09-08  Eric Blake  <ebb9@byu.net>
26193
26194         euidaccess: fix compilation error
26195         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
26196
26197         rawmemchr: relax license
26198         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
26199         okay.
26200         Reported by Jim Meyering.
26201
26202         mkfifoat: new module
26203         * modules/mkfifoat: New file.
26204         * lib/mkfifoat.c: Likewise.
26205         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
26206         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26207         * modules/sys_stat (Makefile.am): Use them.
26208         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
26209         * MODULES.html.sh (File system functions): Mention module.
26210         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
26211         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
26212         * modules/mkfifoat-tests: New test.
26213         * tests/test-mkfifoat.c: Likewise.
26214
26215         strchrnul: relax license
26216         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
26217         okay.
26218         Reported by Jim Meyering.
26219
26220 2009-09-08  Eric Blake  <ebb9@byu.net>
26221
26222         fstatat: fix compilation on Solaris
26223         * lib/fstatat.c (includes): Add fcntl.h.
26224         Reported by Pádraig Brady.
26225
26226 2009-09-07  Eric Blake  <ebb9@byu.net>
26227
26228         rename: modernize replacement
26229         * modules/rename (Depends-on): Add stdio.
26230         (configure.ac): Declare witness.
26231         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
26232         stdio take care of replacement.
26233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
26234         * modules/stdio (Makefile.am): Substitute them.
26235         * lib/stdio.in.h (rename): Declare replacement.
26236         * lib/rename.c (includes): Allow cross-compilation to non-windows
26237         machines.
26238         * doc/posix-functions/rename.texi (rename): Improve
26239         documentation.
26240
26241         stdio: sort witness names
26242         * modules/stdio (Makefile.am): Sort replacements.
26243         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26244         * lib/stdio.in.h: Likewise.
26245
26246         getcwd: minor cleanups
26247         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
26248         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
26249
26250         openat: provide more convenience names
26251         * modules/faccessat (configure.ac): Add C witness.
26252         * lib/unistd.in.h (readlinkat): Fix typo.
26253         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
26254         convenience wrappers.
26255         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
26256         wrappers in syntax checks.
26257
26258 2009-09-06  Eric Blake  <ebb9@byu.net>
26259
26260         doc: fix comments in recent patches
26261         * lib/faccessat.c: Mention correct function.
26262         * lib/fchmodat.c: Likewise.
26263         * lib/fchownat.c: Likewise.
26264         * lib/symlinkat.c: Likewise.
26265         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
26266         constants.
26267
26268         faccessat, symlinkat: continue cleanup of previous patch
26269         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
26270         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26271         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
26272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
26273         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
26274         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
26275         set.
26276
26277 2009-09-06  Bruno Haible  <bruno@clisp.org>
26278
26279         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
26280         (fstatat): Declare if GNULIB_FSTATAT is set.
26281         (mkdirat): Declare if GNULIB_MKDIRAT is set.
26282         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
26283         (unlinkat): Declare if GNULIB_UNLINKAT is set.
26284         * modules/fcntl-h (Files): Remove m4/openat.m4.
26285         * modules/sys_stat (Files): Remove m4/openat.m4.
26286         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
26287         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
26288         * modules/unistd (Files): Remove m4/openat.m4.
26289         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
26290         GNULIB_OPENAT.
26291         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
26292         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
26293         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
26294         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
26295         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
26296         gl_OPENAT_DEFAULTS.
26297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
26298         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
26299         Don't require gl_OPENAT_DEFAULTS.
26300         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
26301         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
26302         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
26303         (gl_OPENAT_DEFAULTS): Remove macro.
26304
26305 2009-09-06  Bruno Haible  <bruno@clisp.org>
26306
26307         * modules/openat (configure.ac): Remove unneeded witness.
26308
26309 2009-09-06  Bruno Haible  <bruno@clisp.org>
26310
26311         Set errno to ENOSYS when a function is entirely unsupported.
26312         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
26313         EOPNOTSUPP.
26314         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26315         * modules/chown (Depends-on): Remove errno.
26316
26317 2009-09-06  Bruno Haible  <bruno@clisp.org>
26318
26319         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
26320
26321 2009-09-06  Bruno Haible  <bruno@clisp.org>
26322
26323         * lib/sys_stat.in.h: Fix preprocessor command indentation.
26324
26325 2009-09-06  Ben Pfaff  <blp@gnu.org>
26326             Bruno Haible  <bruno@clisp.org>
26327
26328         Work around a glibc bug in strtok_r.
26329         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
26330         Undefine if UNDEFINE_STRTOK_R is set.
26331         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
26332         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26333         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
26334         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
26335         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
26336         UNDEFINE_STRTOK_R.
26337         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
26338
26339 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26340
26341         exclude: minor fix
26342         * lib/exclude.c: Include wctype.h
26343
26344 2009-09-06  Akim Demaille  <demaille@gostai.com>
26345
26346         bootstrap: improve error message
26347         * build-aux/bootstrap (find_tool): Upon failure, report the list
26348         of candidates.
26349         Honor the initial value of the envvar.
26350
26351 2009-09-05  Eric Blake  <ebb9@byu.net>
26352
26353         symlinkat: new module
26354         * modules/symlinkat: New file.
26355         * lib/symlinkat.c: Likewise.
26356         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
26357         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26358         * modules/unistd (Makefile.am): Use them.
26359         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
26360         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
26361         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
26362         * MODULES.html.sh (File system functions): Mention module.
26363         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26364         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26365         * modules/symlinkat-tests: New test.
26366         * tests/test-symlinkat.c: Likewise.
26367
26368         test-openat-safer: add more checks
26369         * tests/test-openat-safer.c (main): Check more code paths.
26370
26371 2009-09-05  Jim Meyering  <meyering@redhat.com>
26372
26373         syntax-check: detect unnecessary inclusion of openat.h
26374         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
26375
26376 2009-09-05  Bruno Haible  <bruno@clisp.org>
26377
26378         Support towlower, towupper.
26379         * doc/posix-functions/towlower.texi: Mention module wctype.
26380         * doc/posix-functions/towupper.texi: Likewise.
26381         * lib/wctype.in.h (towlower, towupper): New functions.
26382         * tests/test-wctype.c: Include stdio.h, stdlib.h.
26383         (ASSERT): New macro.
26384         (e): New variable.
26385         (main): Test also towlower, towupper. Test WEOF argument.
26386         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26387
26388 2009-09-05  Bruno Haible  <bruno@clisp.org>
26389
26390         Fix conversion behaviour when the input is invalid.
26391         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
26392         mark occurring in first pass of indirect conversion.
26393         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
26394         input.
26395         Found by clang's static analyzer.
26396
26397 2009-09-05  Bruno Haible  <bruno@clisp.org>
26398
26399         * tests/test-striconveh.c (main): Test indirect conversion on platforms
26400         where direct conversion is possible.
26401
26402 2009-09-04  Eric Blake  <ebb9@byu.net>
26403
26404         openat: fail with ENOENT on empty name
26405         * lib/openat-proc.c (openat_proc_name): Special-case the empty
26406         buffer.
26407
26408         link-follow: fix logic bug in prior patch
26409         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
26410         reversed sense of yes and no in prior patch.  Avoid confusing
26411         compilation failure with desired semantics.
26412
26413         link-follow: accomodate mingw and cross-compilation
26414         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
26415         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
26416         cross-compilation results to -1, to make linkat easier to
26417         implement when cross-compiling.  Trivially support mingw.
26418         * modules/link-follow (configure.ac): Call new name.
26419         * NEWS: Mention this.
26420
26421 2009-09-03  Eric Blake  <ebb9@byu.net>
26422
26423         faccessat: compile replacement
26424         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
26425         needed.
26426
26427         fts: fix compilation error
26428         * lib/fts.c (includes): Re-add "openat.h", for
26429         openat_needs_fchdir.
26430
26431         faccessat: new module
26432         * modules/faccessat: New file.
26433         * lib/faccessat.c: Likewise.
26434         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26436         * modules/unistd (Makefile.am): Use it.
26437         * lib/unistd.in.h (faccessat): Declare it.
26438         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
26439         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
26440         * MODULES.html.sh (File system functions): Mention it.
26441         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
26442         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
26443
26444         euidaccess: prefer POSIX over non-standard implementation
26445         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
26446         * lib/euidaccess.c (euidaccess): Use it if available.
26447
26448         openat: make template easier to use
26449         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
26450         AT_FUNC_F2 to be undefined.
26451         (VALIDATE_FLAG): New macro; use it to reject bad flags.
26452         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
26453         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
26454         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
26455         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
26456         Likewise.
26457         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
26458         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
26459         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
26460         Likewise.
26461
26462         openat: declare in POSIX headers
26463         * NEWS: Mention this.
26464         * modules/openat (configure.ac): Declare witnesses.
26465         (Depends-on): Add fcntl-h, sys_stat, unistd.
26466         (Include): Mention correct headers.
26467         * modules/fcntl-h (Depends-on): Add link-warning.
26468         (Files): Add openat.m4.
26469         (Makefile.am): Substitute witnesses.
26470         * modules/sys_stat (Files, Makefile.am): Likewise.
26471         * modules/unistd (Files, Makefile.am): Likewise.
26472         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
26473         (gl_OPENAT_DEFAULTS): New macro.
26474         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
26475         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
26476         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
26477         (SYS_STAT_H): Remove unused variable.
26478         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
26479         * lib/fcntl--.h (includes): Remove unneeded header.
26480         * lib/openat-safer.c (includes): Likewise.
26481         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
26482         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
26483         appropriate headers.
26484         (__OPENAT_PREFIX): Delete.
26485         * lib/fcntl.in.h (openat): Provide declaration.
26486         (AT_FDCWD): Fix Solaris bug.
26487         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
26488         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
26489         * lib/fchmodat.c (includes):  Adjust to find declaration.
26490         * lib/fchownat.c (includes): Likewise.
26491         * lib/mkdirat.c (includes): Likewise.
26492         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
26493         still visible.
26494
26495 2009-09-02  Eric Blake  <ebb9@byu.net>
26496
26497         errno: use consistently
26498         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
26499         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
26500         * lib/canonicalize.c (ELOOP): Likewise.
26501         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
26502         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
26503         * lib/lchown.c (EOPNOTSUPP): Likewise.
26504         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
26505         * lib/savewd.c (ESTALE): Likewise.
26506         * lib/settime.c (ENOSYS): Likewise.
26507         * lib/utimens.c (ENOSYS): Likewise.
26508         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
26509         * lib/chdir-safer.c (ELOOP): Likewise.
26510         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
26511         * modules/c-stack (Depends-on): Add errno.
26512         * modules/canonicalize (Depends-on): Likewise.
26513         * modules/chdir-safer (Depends-on): Likewise.
26514         * modules/fdopendir (Depends-on): Likewise.
26515         * modules/inet_ntop (Depends-on): Likewise.
26516         * modules/inet_pton (Depends-on): Likewise.
26517         * modules/lchown (Depends-on): Likewise.
26518         * modules/openat (Depends-on): Likewise.
26519         * modules/savewd (Depends-on): Likewise.
26520         * modules/settime (Depends-on): Likewise.
26521         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
26522
26523         fts: avoid leaking fds
26524         * modules/fts (Depends-on): Add cloexec.
26525         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
26526         flag.
26527
26528         fts: make directory fds more robust
26529         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
26530         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
26531
26532         backupfile, chdir-long, fts, savedir: make safer
26533         * lib/backupfile.c (includes): Use "dirent--.h", since
26534         numbered_backup can write to stderr during readdir.
26535         * lib/savedir.c (includes): Likewise.
26536         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
26537         emulation can write to stderr on failure.
26538         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
26539         * lib/getcwd.c: Document why opendir_safer is unused.
26540         * lib/glob.c: Likewise.
26541         * lib/scandir.c: Likewise.
26542         * lib/openat-proc.c: Likewise, for open_safer.
26543         * modules/backupfile (Depends-on): Add dirent-safer.
26544         * modules/savedir (Depends-on): Likewise.
26545         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
26546         * modules/chdir-long (Depends-on): Add openat-safer.
26547
26548         openat-safer: new module
26549         * modules/openat-safer: New file.
26550         * lib/openat-safer.c: Likewise.
26551         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
26552         * lib/fcntl-safer.h (openat_safer): Declare.
26553         * lib/fcntl--.h (openat): Override.
26554         * MODULES.html.sh (File descriptor based I/O): Mention it.
26555         * lib/openat.h: Add double-inclusion guards.
26556         * lib/openat.c (includes): Only include "fcntl-safer.h", not
26557         "fcntl--.h", so we can implement openat.
26558         * modules/openat-safer-tests: New test.
26559         * tests/test-openat-safer.c: New file.
26560
26561         dirent-safer: new module
26562         * modules/dirent-safer: New file.
26563         * lib/dirent--.h: Likewise.
26564         * lib/dirent-safer.h: Likewise.
26565         * lib/opendir-safer.c: Likewise.
26566         * m4/dirent-safer.m4: Likewise.
26567         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
26568         * modules/dirent-safer-tests: New test.
26569         * tests/test-dirent-safer.c: New file.
26570         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
26571
26572         fdopendir: optimize on mingw
26573         * lib/unistd.in.h (_gl_directory_name): New prototype.
26574         * lib/fchdir.c (_gl_directory_name): Implement it.
26575         (fchdir): Use it to simplify implementation.
26576         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
26577         fchdir, when available, to avoid calling [f]chdir().
26578
26579         fdopendir: split into its own module
26580         * lib/openat.c (fdopendir): Move...
26581         * lib/fdopendir.c: ...into new file.
26582         * modules/fdopendir: New module.
26583         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
26584         * modules/openat (Depends-on): Add fdopendir.
26585         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
26586         fdopendir here.
26587         * modules/savedir (Depends-on): Only need fdopendir, not full
26588         openat.
26589         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
26590         * lib/openat.h (fdopendir): Drop prototype.
26591         * lib/dirent.in.h (fdopendir): Provide prototype.
26592         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
26593         * modules/dirent (Makefile.am): Substitute them.
26594         * MODULES.html.sh (File system functions): Mention it.
26595         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
26596         * modules/fdopendir-tests: New file.
26597         * tests/test-fdopendir.c: Likewise.
26598
26599         fchdir: use more consistent macro convention
26600         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
26601         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
26602         REPLACE_FCHDIR, rather than relying on config.h macros.
26603         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
26604         inside a single make-time REPLACE_FCHDIR block, rather than using
26605         the config.h FCHDIR_REPLACEMENT.
26606         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
26607         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
26608         Manage fstat replacement.
26609         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
26610         REPLACE_FCHDIR.
26611         * modules/sys_stat (Files): Add m4/unistd_h.m4.
26612         (Makefile.am): Substitute REPLACE_FCHDIR.
26613         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
26614         FCHDIR_REPLACEMENT.
26615         * lib/dup-safer.c (dup_safer): Likewise.
26616         * lib/dup2.c (rpl_dup2): Likewise.
26617         * lib/dup3.c (rpl_dup3): Likewise.
26618         * lib/open.c (rpl_open): Likewise.
26619
26620         fchdir: simplify error handling, and support dup3
26621         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
26622         stdbool, malloc-posix, realloc-posix.
26623         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
26624         (ensure_dirs_slot): Return false on allocation failure.
26625         (rpl_dup2): Delete.
26626         (_gl_register_dup): New function.
26627         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
26628         (_gl_register_fd): Close fd on allocation failure.
26629         * lib/fcntl.in.h (_gl_register_fd): Update signature.
26630         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
26631         prototype.
26632         (rpl_dup2_fchdir): Delete prototype.
26633         * lib/open.c (open): Update caller.
26634         * lib/dup2.c (dup2): Track fchdir metadata.
26635         * lib/dup3.c (dup3): Likewise.
26636         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
26637         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
26638
26639 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26640
26641         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
26642         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
26643         don't pass arguments to AC_OUTPUT.
26644
26645 2009-09-02  Bruno Haible  <bruno@clisp.org>
26646
26647         * modules/mkdtemp (License): Relicense under LGPLv2+.
26648         Reported by Paolo Bonzini.
26649
26650 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26651
26652         Replace uses of obsolete autoconf macros in Jim's modules.
26653         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
26654         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
26655         can evoke a warning from autoconf when run with -Wobsolete
26656         enabled.  They were declared obsolete for good reasons (see
26657         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
26658         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
26659         should not continue using the deprecated macros.
26660         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
26661         obsolete Autoconf macros with modern counterparts.
26662         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
26663         * m4/dos.m4 (gl_AC_DOS): Likewise.
26664         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
26665         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
26666         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
26667         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
26668         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
26669         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
26670         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
26671         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
26672         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
26673         Likewise.
26674         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
26675         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
26676         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
26677         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
26678         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
26679         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
26680
26681 2009-09-01  Eric Blake  <ebb9@byu.net>
26682
26683         fchdir: fix off-by-one bug in previous patch
26684         * lib/fchdir.c (rpl_fstat): Use correct bounds.
26685         (_gl_unregister_fd): Delete useless if.
26686
26687 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
26688
26689         maint.mk: sort the list of syntax-check rules
26690         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
26691         easier to get a sense of progress when the rules are run sequentially
26692         and take a long time.
26693
26694 2009-09-01  Simon Josefsson  <simon@josefsson.org>
26695
26696         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
26697         * modules/netinet_in: Likewise.
26698         * modules/sys_file: Likewise.
26699         * modules/sys_ioctl: Likewise.
26700         * modules/sys_select: Likewise.
26701         * modules/sys_socket: Likewise.
26702         * modules/sys_stat: Likewise.
26703         * modules/sys_time: Likewise.
26704         * modules/sys_times: Likewise.
26705         * modules/sys_utsname: Likewise.
26706         * modules/sys_wait: Likewise.
26707
26708 2009-09-01  Jim Meyering  <meyering@redhat.com>
26709
26710         fts: help ensure that return values are not ignored
26711         * lib/fts_.h (__GNUC_PREREQ): Define.
26712         (__attribute_warn_unused_result__): Define.
26713         (fts_children, fts_close, fts_open, fts_read): Declare with
26714         __attribute_warn_unused_result__.
26715
26716         fts: fts_close now fails also when closing a dir file descriptor fails
26717         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
26718         and propagate to caller, along with errno.
26719
26720         announce-gen: correct formatting in --help output
26721         * build-aux/announce-gen (usage): Move the one-line description in
26722         --help output "up", to where it belongs, just after Usage:.
26723
26724 2009-08-31  Eric Blake  <ebb9@byu.net>
26725
26726         fchdir: port to mingw
26727         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
26728         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
26729         opened, then use a substitute.
26730         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
26731         replacement.
26732         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
26733         (_gl_register_fd): No need to check stat if open already filters
26734         all directories.
26735         (fchdir): Fix error condition to match POSIX.
26736         * modules/fchdir (Depends-on): Add sys_stat.
26737         * doc/posix-functions/open.texi (open): Document the limitation.
26738         * modules/fchdir-tests: New file.
26739         * tests/test-fchdir.c: Likewise.
26740
26741         canonicalize: allow cross-testing from cygwin to mingw
26742         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
26743         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
26744         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
26745         Likewise.
26746         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
26747         target does not support symlinks.
26748         * tests/test-canonicalize-lgpl.sh: Likewise.
26749
26750         chown: avoid compilation warning on mingw
26751         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
26752         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
26753         mingw.
26754         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26755         * modules/chown (Depends-on): Add errno.
26756
26757 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26758
26759         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
26760         command.
26761
26762 2009-08-31  Jim Meyering  <meyering@redhat.com>
26763
26764         canonicalize: remove useless initialization
26765         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
26766         initialization of local, "end".
26767
26768 2009-08-30  Bruno Haible  <bruno@clisp.org>
26769
26770         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
26771         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
26772         ENOSYS.
26773
26774 2009-08-30  Bruno Haible  <bruno@clisp.org>
26775
26776         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
26777         /usr/xpg4/bin/tr when it exists.
26778         * tests/test-pipe-filter-gi1.sh: Likewise.
26779
26780 2009-08-30  Bruno Haible  <bruno@clisp.org>
26781
26782         Work around deficient /usr/bin/id program on Solaris.
26783         * tests/test-file-has-acl.sh (ID): New variable.
26784         * tests/test-set-mode-acl.sh (ID): Likewise.
26785         * tests/test-copy-acl.sh (ID): Likewise.
26786         * tests/test-copy-file.sh (ID): Likewise.
26787
26788 2009-08-30  Bruno Haible  <bruno@clisp.org>
26789
26790         New module 'xstriconveh'.
26791         * lib/xstriconveh.h: New file.
26792         * lib/xstriconveh.c: New file.
26793         * modules/xstriconveh: New file.
26794
26795 2009-08-30  Bruno Haible  <bruno@clisp.org>
26796
26797         Make it easier to use mem_cd_iconveh.
26798         * lib/striconveh.h (iconveh_t): New type.
26799         (iconveh_open, iconveh_close): New declarations.
26800         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26801         with a single 'const iconveh_t *' argument.
26802         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
26803         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26804         with a single 'const iconveh_t *' argument.
26805         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
26806         * tests/test-striconveh.c (main): Update.
26807         * NEWS: Mention the change.
26808
26809 2009-08-30  Bruno Haible  <bruno@clisp.org>
26810
26811         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
26812         problem.
26813
26814 2009-08-30  Bruno Haible  <bruno@clisp.org>
26815
26816         Work around iconv_open problem on Solaris.
26817         * lib/iconv_open-solaris.gperf: New file.
26818         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
26819         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
26820         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
26821         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
26822         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
26823         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
26824
26825 2009-08-29  Jim Meyering  <meyering@redhat.com>
26826
26827         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
26828         * top/maint.mk (cvs-check): Remove target; it was just an alias
26829         to the better-named vc-diff-check.
26830         (maintainer-distcheck): Remove rule.  It was used only from
26831         the (alpha/beta/major) target, and all of its commands but one
26832         were coreutils-specific.
26833         (vc-dist): Remove rule.
26834         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
26835         Run vc-diff-check, not vc-dist.
26836         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
26837
26838 2009-08-27  Bruno Haible  <bruno@clisp.org>
26839
26840         * tests/test-bitrotate.c (main): Remove test that uses a shift count
26841         of 0.
26842
26843 2009-08-27  Bruno Haible  <bruno@clisp.org>
26844
26845         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
26846         compilers.
26847         * doc/func.texi: Document the SunPRO C bug.
26848
26849 2009-08-27  Bruno Haible  <bruno@clisp.org>
26850
26851         Fix link error on Solaris.
26852         * tests/test-parse-duration.c (xstrdup): Remove function.
26853
26854 2009-08-26  Pádraig Brady  <P@draigbrady.com>
26855
26856         ignore-value: handle pointer types, too
26857         * lib/ignore-value.h (__attribute__): Remove definition.
26858         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
26859         of a more concise and more-often effective "(void) i" statement.
26860         (ignore_ptr): New function to suppress warnings from functions that
26861         return pointers, and to make it explicit that one function doesn't
26862         handle all cases.
26863
26864 2009-08-25  Bruno Haible  <bruno@clisp.org>
26865
26866         dup2: work around a Linux bug.
26867         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
26868         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
26869         * doc/posix-functions/dup2.texi: Mention the Linux bug.
26870         Reported by Simon Josefsson.
26871
26872 2009-08-25  Jim Meyering  <meyering@redhat.com>
26873
26874         libguestfs uses gnulib
26875         * users.txt: Add libguestfs.
26876
26877 2009-08-24  Eric Blake  <ebb9@byu.net>
26878
26879         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
26880         * lib/pipe2.c (includes): Add binary-io.h.
26881         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
26882
26883 2009-08-24  Bruno Haible  <bruno@clisp.org>
26884
26885         Tolerate declared but missing accept4 syscall.
26886         * lib/accept4.c (accept4): Invoke original accept4 function first, if
26887         available.
26888         * lib/sys_socket.in.h (accept4): If the function is already present,
26889         override it.
26890         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
26891         * modules/accept4 (Makefile.am): Compile accept4.c always.
26892         Reported by Paolo Bonzini and Eric Blake.
26893
26894 2009-08-23  Bruno Haible  <bruno@clisp.org>
26895
26896         New module 'accept4'.
26897         * lib/sys_socket.in.h (accept4): New declaration.
26898         * lib/accept4.c: New file.
26899         * m4/accept4.m4: New file.
26900         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
26901         GNULIB_ACCEPT4, HAVE_ACCEPT4.
26902         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
26903         HAVE_ACCEPT4.
26904         * modules/accept4: New file.
26905         * doc/glibc-functions/accept4.texi: Mention the new module.
26906
26907 2009-08-24  Jim Meyering  <meyering@redhat.com>
26908
26909         progname: also set global program_invocation_name, when possible
26910         Before this change, a libtool-enabled program that calls glibc's
26911         error function would report the program name as
26912         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
26913         * modules/progname (configure.ac): Check for a declaration of
26914         program_invocation_name.
26915         * lib/progname.c:  Include <errno.h>.
26916         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
26917         Set program_invocation_name.
26918
26919 2009-08-23  Bruno Haible  <bruno@clisp.org>
26920
26921         * lib/dup3.c: Include <string.h>.
26922
26923 2009-08-23  Bruno Haible  <bruno@clisp.org>
26924
26925         * lib/dup3.c (dup3): Test only once whether the system actually exists.
26926         * lib/pipe2.c (pipe2): Likewise.
26927         Suggested by Eric Blake.
26928
26929 2009-08-23  Bruno Haible  <bruno@clisp.org>
26930
26931         Tolerate declared but missing dup3 syscall.
26932         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
26933         * lib/unistd.in.h (dup3): If the function is already present,
26934         override it.
26935         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
26936         * modules/dup3 (Makefile.am): Compile dup3.c always.
26937         Reported by Paolo Bonzini.
26938
26939 2009-08-23  Bruno Haible  <bruno@clisp.org>
26940
26941         Tolerate declared but missing pipe2 syscall.
26942         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
26943         available.
26944         * lib/unistd.in.h (pipe2): If the function is already present,
26945         override it.
26946         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
26947         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
26948         Reported by Paolo Bonzini.
26949
26950 2009-08-23  Bruno Haible  <bruno@clisp.org>
26951
26952         * lib/pipe2.c (pipe2): Move #ifs inside function.
26953
26954 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26955
26956         quotearg: document limitations of quote_these_too
26957         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
26958         those limitations are created.
26959         * lib/quotearg.h (set_char_quoting): Document that digits and
26960         letters that are special after backslash are not permitted.
26961         (quotearg_char): Cross-reference set_char_quoting documentation.
26962
26963 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
26964
26965         quotearg: implement custom_quoting_style
26966         * lib/quotearg.c: (struct quoting_options): Add left_quote and
26967         right_quote fields.
26968         (set_custom_quoting): New public function.
26969         (quotearg_buffer_restyled): Add left_quote and right_quote
26970         arguments, handle them very much like locale quoting, and update
26971         all uses.
26972         (quotearg_n_custom): New public function.
26973         (quotearg_n_custom_mem): New public function.
26974         (quotearg_custom): New public function.
26975         (quotearg_custom_mem): New public function.
26976         * lib/quotearg.h: Prototype and document new public functions.
26977         (enum quoting_style): For escape_quoting_style and
26978         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
26979         ignored even though they're otherwise like c_quoting_style.
26980         Add custom_quoting_style member and document with comparison to
26981         clocale_quoting_style.
26982         * tests/test-quotearg.c (custom_quotes): New array.
26983         (custom_results): New array.
26984         (main): Extend to test custom quoting.
26985
26986 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26987
26988         quotearg: fix right quote escaping when it's in quote_these_too
26989         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
26990         quote, be sure to prepend only one backslash.
26991         * tests/test-quotearg.c (use_quote_double_quotes): New function.
26992         (main): Test it.
26993
26994 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26995
26996         quotearg-tests: test escaping of embedded locale quotes
26997         * tests/test-quotearg.c (struct result_strings): Add member for
26998         new input.
26999         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
27000         (inputs): Add new input.
27001         (results_g): Add expected results.
27002         (flag_results): Likewise.
27003         (locale_results): Likewise.
27004         (compare_strings): Check those.
27005
27006 2009-08-23  Bruno Haible  <bruno@clisp.org>
27007
27008         Tests for module 'dup3'.
27009         * modules/dup3-tests: New file.
27010         * tests/test-dup3.c: New file.
27011
27012         New module 'dup3'.
27013         * lib/unistd.in.h (dup3): New declaration.
27014         * lib/dup3.c: New file.
27015         * m4/dup3.m4: New file.
27016         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
27017         HAVE_DUP3.
27018         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
27019         * modules/dup3: New file.
27020         * doc/glibc-functions/dup3.texi: Mention the new module.
27021
27022 2009-08-23  Bruno Haible  <bruno@clisp.org>
27023
27024         Tweak the dup2 test.
27025         * tests/test-dup2.c (main): Create the test file empty. Verify that an
27026         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
27027         the test file is still empty. Fix argument order of lseek.
27028
27029 2009-08-23  Bruno Haible  <bruno@clisp.org>
27030
27031         Avoid test link errors when the modules getopt-gnu, gettext are used.
27032         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
27033         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27034
27035 2009-08-23  Bruno Haible  <bruno@clisp.org>
27036
27037         Fix getdtablesize() on mingw.
27038         * lib/getdtablesize.c (getdtablesize): Implement differently.
27039         * lib/unistd.in.h (getdtablesize): Improve comment.
27040
27041 2009-08-23  Bruno Haible  <bruno@clisp.org>
27042
27043         New module 'mkostemp'.
27044         Based on Ulrich Drepper's 2007-08-10 change in glibc.
27045         * lib/stdlib.in.h (mksotemp): New declaration.
27046         * lib/mkostemp.c: New file, from glibc with modifications.
27047         * lib/tempname.h (GT_FILE): Remove outdated comment.
27048         (gen_tempname): Add flags argument.
27049         * lib/tempname.c (__GT_BIGFILE): Remove macro.
27050         (__GT_FILE): Map to 1.
27051         (small_open, large_open): Remove macros.
27052         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
27053         * lib/mkstemp.c (mkstemp): Update.
27054         * lib/mkdtemp.c (mkdtemp): Likewise.
27055         * m4/mkostemp.m4: New file.
27056         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
27057         HAVE_MKOSTEMP.
27058         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
27059         HAVE_MKOSTEMP.
27060         * modules/mkostemp: New file, based on modules/mkstemp.
27061         * doc/glibc-functions/mkostemp.texi: Mention the new module.
27062         * NEWS: Mention the change.
27063
27064 2009-08-23  Bruno Haible  <bruno@clisp.org>
27065
27066         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
27067         Reported by Eric Blake.
27068
27069 2009-08-23  Bruno Haible  <bruno@clisp.org>
27070
27071         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
27072         Reported by Eric Blake.
27073
27074 2009-08-23  Bruno Haible  <bruno@clisp.org>
27075
27076         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
27077         * modules/pipe2 (Depends-on): Likewise.
27078
27079 2009-08-23  Eric Blake  <ebb9@byu.net>
27080
27081         fcntl-h: add O_TTY_INIT support
27082         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
27083         * tests/test-fcntl-h.c (o): Test it.
27084         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27085
27086         fcntl-h: rename from fcntl, in preparation for fcntl(2)
27087         * modules/fcntl: Move <fcntl.h> header replacement...
27088         * modules/fcntl-h: ...to new name, so as not to collide with
27089         like-named function.
27090         * tests/test-fcntl.c: Rename...
27091         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
27092         * modules/fcntl-tests: Rename...
27093         * modules/fcntl-h-tests: ...to this.  Update test file name.
27094         * modules/chdir-long (Depends-on): Update clients.
27095         * modules/chdir-safer (Depends-on): Likewise.
27096         * modules/fcntl-safer (Depends-on): Likewise.
27097         * modules/fts (Depends-on): Likewise.
27098         * modules/mkancesdirs (Depends-on): Likewise.
27099         * modules/mkdir-p (Depends-on): Likewise.
27100         * modules/open (Depends-on): Likewise.
27101         * modules/savewd (Depends-on): Likewise.
27102         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
27103         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27104
27105 2009-08-22  Bruno Haible  <bruno@clisp.org>
27106
27107         * modules/binary-io (License): Relicense under LGPL.
27108         * modules/pipe2 (License): Likewise.
27109
27110 2009-08-22  Bruno Haible  <bruno@clisp.org>
27111
27112         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
27113         return value.
27114         * lib/pipe-filter-gi.c (filter_init): Likewise.
27115         Reported by Eric Blake.
27116
27117 2009-08-22  Bruno Haible  <bruno@clisp.org>
27118
27119         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
27120         * modules/pipe (Depends-on): Add pipe2.
27121
27122 2009-08-22  Bruno Haible  <bruno@clisp.org>
27123
27124         Tests for module 'pipe2'.
27125         * modules/pipe2-tests: New file.
27126         * tests/test-pipe2.c: New file.
27127
27128         New module 'pipe2'.
27129         * lib/unistd.in.h (pipe2): New declaration.
27130         * lib/pipe2.c: New file.
27131         * m4/pipe2.m4: New file.
27132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
27133         HAVE_PIPE2.
27134         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
27135         * modules/pipe2: New file.
27136         * doc/glibc-functions/pipe2.texi: Mention the new module.
27137
27138 2009-08-22  Bruno Haible  <bruno@clisp.org>
27139
27140         Reference some new glibc functions.
27141         * doc/glibc-functions/accept4.texi: New file.
27142         * doc/glibc-functions/dup3.texi: New file.
27143         * doc/glibc-functions/mkostemp.texi: New file.
27144         * doc/glibc-functions/pipe2.texi: New file.
27145         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
27146         (Glibc sys/socket.h): Refer to accept4.
27147         (Glibc unistd.h): Refer to dup3, pipe2.
27148         Reported by Eric Blake.
27149
27150 2009-08-22  Jim Meyering  <meyering@redhat.com>
27151             Bruno Haible  <bruno@clisp.org>
27152
27153         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
27154         This makes it so packages using automake-1.11's silent-rules option
27155         can print e.g., a single "GEN    configmake.h" line, rather than
27156         the 30+ statements that perform the job.  If you want to see the
27157         actual commands, you can still run "make V=1".
27158         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
27159         so that make output is abbreviated when those variables are defined
27160         appropriately.
27161         * modules/argz: Likewise.
27162         * modules/arpa_inet: Likewise.
27163         * modules/byteswap: Likewise.
27164         * modules/configmake: Likewise.
27165         * modules/dirent: Likewise.
27166         * modules/errno: Likewise.
27167         * modules/fcntl: Likewise.
27168         * modules/float: Likewise.
27169         * modules/fnmatch: Likewise.
27170         * modules/getopt-posix: Likewise.
27171         * modules/glob: Likewise.
27172         * modules/iconv_open: Likewise.
27173         * modules/inttypes: Likewise.
27174         * modules/localcharset: Likewise.
27175         * modules/locale: Likewise.
27176         * modules/math: Likewise.
27177         * modules/netdb: Likewise.
27178         * modules/netinet_in: Likewise.
27179         * modules/poll: Likewise.
27180         * modules/posix_spawnp-tests: Likewise.
27181         * modules/sched: Likewise.
27182         * modules/search: Likewise.
27183         * modules/selinux-h: Likewise.
27184         * modules/signal: Likewise.
27185         * modules/spawn: Likewise.
27186         * modules/stdarg: Likewise.
27187         * modules/stdbool: Likewise.
27188         * modules/stddef: Likewise.
27189         * modules/stdint: Likewise.
27190         * modules/stdio: Likewise.
27191         * modules/stdlib: Likewise.
27192         * modules/string: Likewise.
27193         * modules/strings: Likewise.
27194         * modules/sys_file: Likewise.
27195         * modules/sys_ioctl: Likewise.
27196         * modules/sys_select: Likewise.
27197         * modules/sys_socket: Likewise.
27198         * modules/sys_stat: Likewise.
27199         * modules/sys_time: Likewise.
27200         * modules/sys_times: Likewise.
27201         * modules/sys_utsname: Likewise.
27202         * modules/sys_wait: Likewise.
27203         * modules/sysexits: Likewise.
27204         * modules/time: Likewise.
27205         * modules/unistd: Likewise.
27206         * modules/wchar: Likewise.
27207         * modules/wctype: Likewise.
27208
27209 2009-08-22  Jim Meyering  <meyering@redhat.com>
27210
27211         announce-gen: detect write failure
27212         * build-aux/announce-gen: Add Coda at end.
27213         Remove equivalent-but-more-verbose block at top.
27214
27215 2009-08-19  Akim Demaille  <demaille@gostai.com>
27216
27217         bootstrap: --help to stdout.
27218         * bootstrap (usage): Don't send --help to stderr.
27219         Use a here doc instead of a long string.
27220
27221 2009-08-21  Eric Blake  <ebb9@byu.net>
27222
27223         test-popen-safer: split from test-popen
27224         * tests/test-popen.c (main): Move...
27225         * tests/test-popen.h: ...into new file.
27226         * tests/test-popen-safer2.c: New file.
27227         * modules/popen-tests (Files): Add test-popen.h.
27228         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
27229         Suggested by Bruno Haible.
27230
27231         test-fcntl-safer: split from test-open
27232         * tests/test-open.c (main): Move...
27233         * tests/test-open.h: ...into new file.
27234         * tests/test-fcntl-safer.c: New file.
27235         * modules/open-tests (Files): Add test-open.h.
27236         * modules/fcntl-safer-tests: New file.
27237         Suggested by Bruno Haible.
27238
27239         test-fopen-safer: split from test-fopen
27240         * tests/test-fopen.c (main): Move...
27241         * tests/test-fopen.h: ...into new file.
27242         * tests/test-fopen-safer.c: New file.
27243         * modules/fopen-tests (Files): Add test-fopen.h.
27244         * modules/fopen-safer-tests: New file.
27245         Suggested by Bruno Haible.
27246
27247 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27248
27249         popen-safer: test O_CLOEXEC at run-time.
27250         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
27251
27252 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27253
27254         fcntl: move more flags to the header
27255         * lib/cloexec.c: Do not define FD_CLOEXEC here.
27256         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
27257         * lib/fcntl.in.h: Do both things here.
27258
27259 2009-08-21  Jim Meyering  <meyering@redhat.com>
27260
27261         consistently remove $@-t before redirecting to it
27262         * modules/argz: Remove $@-t and $@ before redirecting to the former.
27263         * modules/alloca-opt: Likewise.
27264         * modules/byteswap: Likewise.
27265         * modules/fnmatch: Likewise.
27266         * modules/getopt-posix: Likewise.
27267         * modules/glob: Likewise.
27268         * modules/poll: Likewise.
27269         * modules/posix_spawnp-tests: Likewise.
27270         * modules/sys_socket: Likewise.
27271         * modules/sysexits: Likewise.
27272
27273 2009-08-21  Eric Blake  <ebb9@byu.net>
27274
27275         popen: simplify access to original popen
27276         * lib/popen.c (rpl_popen): No need to worry about popen being a
27277         macro.
27278         Reported by Bruno Haible.
27279
27280 2009-08-20  Eric Blake  <ebb9@byu.net>
27281
27282         build: avoid some compiler warnings
27283         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
27284         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
27285         type.
27286         (new_exclude_segment, excluded_file_pattern_p)
27287         (excluded_file_name_p): Reduce scope.
27288         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
27289         old-style declaration.
27290
27291 2009-08-20  Simon Josefsson  <simon@josefsson.org>
27292
27293         * tests/test-exclude1.sh: Handle Windows EOL.
27294         * tests/test-exclude2.sh: Likewise.
27295         * tests/test-exclude3.sh: Likewise.
27296         * tests/test-exclude4.sh: Likewise.
27297         * tests/test-exclude5.sh: Likewise.
27298         * tests/test-exclude6.sh: Likewise.
27299         * tests/test-exclude7.sh: Likewise.
27300
27301 2009-08-19  Akim Demaille  <demaille@gostai.com>
27302
27303         bootstrap: find sha1sum when named gsha1sum.
27304         * bootstrap (find_tool): New.
27305         ($SHA1SUM): New.
27306         Use it.
27307
27308 2009-08-20  Jim Meyering  <meyering@redhat.com>
27309
27310         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
27311         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
27312         expression that converts "." in a file name to "\." in the resulting
27313         regexp.  Start with a dummy statement, so that prior shell variable
27314         definitions are expanded portably.  Reported by Simon Josefsson.
27315
27316 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
27317
27318         Fix polling for writeability of a screen buffer.
27319         * lib/poll.c: Distinguish input and screen buffers for the
27320         Win32 implementation.
27321         * lib/select.c: Likewise.
27322
27323 2009-08-19  Eric Blake  <ebb9@byu.net>
27324
27325         popen-safer: prevent popen from clobbering std descriptors
27326         * modules/popen-safer: New file.
27327         * lib/popen-safer.c: Likewise.
27328         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
27329         * lib/stdio--.h (popen): Provide override.
27330         * lib/stdio-safer.h (popen_safer): Provide declaration.
27331         * tests/test-popen.c (includes): Partially test this.
27332         * modules/popen-safer-tests: New file, for more tests.
27333         * tests/test-popen-safer.c: Likewise.
27334         * MODULES.html.sh (file stream based Input/Output): Mention it.
27335
27336         tests: test some of the *-safer modules
27337         * modules/fopen-safer (Depends-on): Add fopen.
27338         * modules/fcntl-safer (Depends-on): Add fcntl.
27339         * modules/stdlib-safer (Depends-on): Add stdlib.
27340         (configure.ac): Set indicator.
27341         * modules/unistd-safer (configure.ac): Likewise.
27342         * modules/tmpfile-safer (configure.ac): Likewise.
27343         (Depends-on): Add tmpfile.
27344         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
27345         active.
27346         * tests/test-fopen.c (includes): Test safer versions when they are
27347         in use.
27348         * tests/test-open.c (includes): Likewise.
27349
27350         popen: fix cygwin 1.5 bug when stdin closed
27351         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
27352         * modules/popen: New file.
27353         * modules/popen-tests: Likewise.
27354         * tests/test-popen.c: Likewise.
27355         * m4/popen.m4: Likewise.
27356         * lib/popen.c: Likewise.
27357         * lib/stdio.in.h (popen): New declaration.
27358         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
27359         * modules/stdio (Makefile.am): Likewise.
27360         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
27361
27362 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
27363
27364         maint.mk: give full control over update-copyright exclusions
27365         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
27366         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
27367         (update-copyright): Don't force inclusion of top-level
27368         ChangeLog.  Don't force exclusion of all COPYING files, but make
27369         them the default exclusion instead.
27370
27371 2009-08-16  Bruno Haible  <bruno@clisp.org>
27372
27373         Fix test failures on Solaris 10.
27374         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
27375         tests when Solaris iconv() is used.
27376         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
27377         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
27378         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
27379         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
27380         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
27381
27382 2009-08-16  Bruno Haible  <bruno@clisp.org>
27383
27384         Fix test failures on Solaris 10.
27385         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
27386         'tr' program and pass it as first argument.
27387         * tests/test-pipe-filter-gi1.sh: Likewise.
27388         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
27389         program as first argument.
27390         * tests/test-pipe-filter-gi1.c (main): Likewise.
27391
27392 2009-08-16  Eric Blake  <ebb9@byu.net>
27393
27394         fpurge: fix previous commits
27395         * modules/fpurge (Makefile.am): Make replacement conditional,
27396         partially reverting 2007-04-29 change; missed in previous
27397         attempt.
27398         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
27399         is missing.
27400
27401 2009-08-16  Bruno Haible  <bruno@clisp.org>
27402
27403         Clarify fpurge's effect on the file position.
27404         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
27405         * tests/test-fpurge.c (main): Make a second pass for checking the file
27406         position.
27407
27408 2009-08-16  Bruno Haible  <bruno@clisp.org>
27409
27410         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
27411         declaration of fpurge is missing.
27412         * tests/test-fpurge.c (main): Check that the file has not more contents
27413         than expected. Close the file before removing it.
27414
27415 2009-08-15  Eric Blake  <ebb9@byu.net>
27416
27417         fpurge: don't wrap working cygwin implementation
27418         * lib/fpurge.c (fpurge): Fix comment typo.
27419         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
27420         1.7 to avoid replacement.
27421         * tests/test-fpurge.c (main): Enhance test.
27422
27423 2009-08-15  Eric Blake  <ebb9@byu.net>
27424         and Jim Meyering  <meyering@redhat.com>
27425
27426         test-update-copyright: skip if perl is insufficient
27427         * tests/test-update-copyright.sh: Failure to run maintainer tool
27428         should not cause testsuite failure on cygwin 1.5.
27429
27430 2009-08-14  Eric Blake  <ebb9@byu.net>
27431
27432         doc: mention more functions added in cygwin 1.7.0
27433         * doc/posix-headers/limits.texi (limits.h): Update for recent
27434         cygwin additions.
27435         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
27436         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
27437         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
27438         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
27439         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
27440
27441 2009-08-14  Eric Blake  <ebb9@byu.net>
27442
27443         maint.mk: simplify update-copyright rule
27444         * top/maint.mk (update-copyright-local): Delete, and document how
27445         to do it in cfg.mk instead.
27446         (update-copyright-exclude-regexp): Delete, and document how to do
27447         it in .x-update-copyright instead.
27448         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
27449         exclude ChangeLog.
27450
27451 2009-08-14  Bruno Haible  <bruno@clisp.org>
27452
27453         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
27454
27455 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27456
27457         maint.mk: support update-copyright-env
27458         * top/maint.mk (update-copyright-env): Define place-holder.
27459         (update-copyright): Expand $(update-copyright-env) before
27460         invoking update-copyright.
27461
27462 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27463
27464         update-copyright: implement forced reformatting
27465         * build-aux/update-copyright: Implement and document
27466         UPDATE_COPYRIGHT_FORCE.
27467         * tests/test-update-copyright.sh: Test it.
27468
27469 2009-08-14  Eric Blake  <ebb9@byu.net>
27470         and Bruno Haible  <bruno@clisp.org>
27471
27472         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
27473         * tests/test-locale.c: Revert previous patch related to NULL.
27474         * tests/test-stdio.c: Likewise.
27475         * tests/test-stdlib.c: Likewise.
27476         * tests/test-string.c: Likewise.
27477         * tests/test-unistd.c: Likewise.
27478         * modules/time-tests (Depends-on): Add verify.
27479         * modules/wchar-tests (Depends-on): Likewise.
27480         * tests/test-time.c: Test for NULL compliance.
27481         * tests/test-wchar.c: Likewise.
27482         * modules/locale (Depends-on): Add stddef.
27483         * modules/stdio (Depends-on): Likewise.
27484         * modules/stdlib (Depends-on): Likewise.
27485         * modules/string (Depends-on): Likewise.
27486         * modules/time (Depends-on): Likewise.
27487         * modules/unistd (Depends-on): Likewise.
27488         * modules/wchar (Depends-on): Likewise.
27489         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
27490         * lib/stdlib.in.h (includes): Likewise.
27491         * lib/string.in.h (includes): Likewise.
27492         * lib/time.in.h (includes): Likewise.
27493         * lib/unistd.in.h (includes): Likewise.
27494         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
27495         replaced.
27496         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27497         * m4/stddef_h.m4: New file.
27498         * modules/stddef: Likewise.
27499         * lib/stddef.in.h: Likewise.
27500         * modules/stddef-tests: Likewise.
27501         * tests/test-stddef.c: Likewise.
27502         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
27503         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
27504         * doc/posix-headers/locale.texi (locale.h): Likewise.
27505         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
27506         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27507         * doc/posix-headers/string.texi (string.h): Likewise.
27508         * doc/posix-headers/time.texi (time.h): Likewise.
27509         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
27510         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
27511
27512 2009-08-14  Eric Blake  <ebb9@byu.net>
27513
27514         doc: improve git diff of texinfo files
27515         * .gitattributes: Add rule for *.texi files, with hint on how to
27516         use it.
27517         Copied from m4, and based on a report by Bruno Haible.
27518
27519 2009-08-14  Bruno Haible  <bruno@clisp.org>
27520
27521         Disable multithread support by default on Cygwin 1.5.x for real.
27522         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
27523
27524 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27525
27526         update-copyright: much ado about intervals
27527         * build-aux/update-copyright: Implement and document
27528         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
27529         of copyright year intervals.
27530         Also, document UPDATE_COPYRIGHT_YEAR.
27531         * tests/test-update-copyright.sh: Test it.
27532
27533         update-copyright: convert 2-digit to 4-digit years
27534         * build-aux/update-copyright: Implement and document.
27535         * tests/test-update-copyright.sh: Update.
27536
27537 2009-08-14  Jim Meyering  <meyering@redhat.com>
27538
27539         test-exclude: avoid coreutils "make check" failure
27540         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
27541         just as in test-argmatch.c.
27542
27543 2009-08-13  Eric Blake  <ebb9@byu.net>
27544
27545         test-dup2: fix bad assumption
27546         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
27547         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
27548
27549         test-version-etc: fix CRLF portability issue
27550         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
27551         recognize \r.
27552         * tests/test-argp-version-etc-1.sh: Likewise.
27553
27554         getopt: update client modules
27555         * modules/argp (Depends-on): Use getopt-gnu.
27556         * modules/git-merge-changelog (Depends-on): Likewise.
27557         * modules/long-options (Depends-on): Likewise.
27558         * modules/xstrtol (Depends-on): Likewise.
27559
27560 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27561
27562         * tests/test-version-etc.sh: Don't fail on different
27563         project/version.  Don't fail on CRLF differences.  Rewrite to use
27564         multiple -e instead of multiple sed forks, suggested by Eric Blake
27565         <ebb9@byu.net>.
27566         * tests/test-argp-version-etc-1.sh: Likewise.
27567
27568 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27569
27570         * tests/test-version-etc.sh: Don't fail on different
27571         project/version.
27572
27573 2009-08-12  Bruno Haible  <bruno@clisp.org>
27574
27575         Tests for modules 'getopt-posix', 'getopt-gnu'.
27576         * modules/getopt-posix-tests: New file.
27577         * tests/test-getopt.c: New file.
27578         * tests/test-getopt.h: New file.
27579         * tests/test-getopt_long.h: New file.
27580
27581         New modules 'getopt-posix', 'getopt-gnu'.
27582         * modules/getopt-gnu: New file, renamed from modules/getopt.
27583         * modules/getopt-posix: New file.
27584         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
27585         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
27586         (gl_GETOPT): Remove macro.
27587         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
27588         Disable the test against BSD systems that declare optreset. Test
27589         against mingw bug. Test against lack of support of optional arguments
27590         on many platforms.
27591         * doc/glibc-headers/getopt.texi: Update module name and list of
27592         relevant platforms.
27593         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
27594         'getopt-gnu' and more portability problems.
27595         * NEWS: Mention the changes.
27596
27597 2009-08-12  Bruno Haible  <bruno@clisp.org>
27598
27599         Ensure that optarg etc. get declared by <unistd.h>.
27600         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
27601         AC_USE_SYSTEM_EXTENSIONS.
27602         * modules/getopt (Depends-on): Add 'extensions'.
27603
27604 2009-08-12  Bruno Haible  <bruno@clisp.org>
27605
27606         Avoid test link errors.
27607         * modules/pipe-filter-ii-tests (Makefile.am): Define
27608         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
27609         * modules/pipe-filter-gi-tests (Makefile.am): Define
27610         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
27611         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27612
27613 2009-08-12  Bruno Haible  <bruno@clisp.org>
27614
27615         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
27616         gl_GETOPT_SUBSTITUTE before.
27617         (gl_GETOPT): Use it.
27618         * m4/argp.m4 (gl_ARGP): Update.
27619         Reported by Sergey Poznyakoff.
27620
27621         * m4/getopt.m4: Reorder macros.
27622         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
27623         (gl_GETOPT_SUBSTITUTE): Remove macro.
27624
27625 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27626
27627         Minor improvement in gitlog-to-changelog
27628
27629         * build-aux/gitlog-to-changelog: New option `--format' makes
27630         output format string configurable.
27631
27632 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27633
27634         Optimize exclude: use hash tables for non-wildcard patterns.
27635
27636         * lib/exclude.c: Include hash.h and mbuiter.h
27637         (struct exclude_pattern, exclude_segment): New data types.
27638         (struct exclude): Rewrite.
27639         (fnmatch_pattern_has_wildcards): New function.
27640         (new_exclude_segment, free_exclude_segment): New functions.
27641         (excluded_file_pattern_p, excluded_file_name_p): New functions.
27642         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
27643         * lib/exclude.h (is_fnmatch_pattern): New prototype.
27644         * modules/exclude: Depend on hash and mbuiter.
27645
27646         * modules/exclude-tests: New file.
27647         * tests/test-exclude.c: New file.
27648         * tests/test-exclude1.sh: New file.
27649         * tests/test-exclude2.sh: New file.
27650         * tests/test-exclude3.sh: New file.
27651         * tests/test-exclude4.sh: New file.
27652         * tests/test-exclude5.sh: New file.
27653         * tests/test-exclude6.sh: New file.
27654         * tests/test-exclude7.sh: New file.
27655
27656 2009-08-12  Bruno Haible  <bruno@clisp.org>
27657
27658         Ensure that getopt() gets declared by <unistd.h>.
27659         * lib/unistd.in.h: Conditionally include getopt.h.
27660         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
27661         Set GNULIB_UNISTD_H_GETOPT.
27662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27663         GNULIB_UNISTD_H_GETOPT.
27664         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
27665
27666 2009-08-12  Bruno Haible  <bruno@clisp.org>
27667
27668         Clarify logic.
27669         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
27670         gl_replace_getopt instead of GETOPT_H.
27671
27672 2009-08-12  Bruno Haible  <bruno@clisp.org>
27673
27674         * m4/getopt.m4: Add comments.
27675
27676 2009-08-12  Bruno Haible  <bruno@clisp.org>
27677
27678         Disable multithread support by default on Cygwin 1.5.x.
27679         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
27680         set gl_use_threads=no if not specified otherwise.
27681
27682 2009-08-11  Bruno Haible  <bruno@clisp.org>
27683
27684         Avoid compilation error on NetBSD 5.0.
27685         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
27686         * tests/test-stdio.c: Likewise.
27687         * tests/test-stdlib.c: Likewise.
27688         * tests/test-string.c: Likewise.
27689         * tests/test-unistd.c: Likewise.
27690         Reported by Greg Troxel <gdt@ir.bbn.com>
27691         at <https://savannah.gnu.org/support/?106973>.
27692
27693 2009-08-11  Bruno Haible  <bruno@clisp.org>
27694
27695         * modules/dup2-tests (Depends-on): Remove close.
27696
27697         Undo 2009-07-19 commit.
27698         * modules/acl-tests (Depends-on): Remove close.
27699         * modules/binary-io-tests (Depends-on): Likewise.
27700         * modules/closein-tests (Depends-on): Likewise.
27701         * modules/flock-tests (Depends-on): Likewise.
27702         * modules/fsync-tests (Depends-on): Likewise.
27703         * modules/lseek-tests (Depends-on): Likewise.
27704         * modules/pipe-tests (Depends-on): Likewise.
27705         * modules/posix_spawn-tests (Depends-on): Likewise.
27706         * modules/posix_spawnp-tests (Depends-on): Likewise.
27707         * modules/stat-time-tests (Depends-on): Likewise.
27708         * modules/yesno-tests (Depends-on): Likewise.
27709
27710 2009-08-10  Bruno Haible  <bruno@clisp.org>
27711
27712         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
27713
27714 2009-08-10  Bruno Haible  <bruno@clisp.org>
27715
27716         Fix a gcc warning.
27717         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
27718
27719 2009-08-10  Bruno Haible  <bruno@clisp.org>
27720
27721         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
27722         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
27723         not only the first time.
27724         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
27725         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
27726         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
27727         is 1, not only the the first time.
27728
27729 2009-08-10  Bruno Haible  <bruno@clisp.org>
27730
27731         Make it possible to use module 'gethostname' without module 'close'.
27732         * lib/unistd.in.h (close): Evoke a link error only if
27733         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27735         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27736         * modules/unistd (Makefile.am): Substitute
27737         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27738         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
27739         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27740         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27741         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27742         * modules/sys_ioctl (Makefile.am): Substitute
27743         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27744         * modules/socket (configure.ac): On native Windows, set
27745         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
27746         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27747         Reported by Sam Steingold <sds@gnu.org>.
27748
27749 2009-08-10  Bruno Haible  <bruno@clisp.org>
27750
27751         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
27752         * modules/ioctl (configure.ac): Likewise.
27753
27754 2009-08-10  Bruno Haible  <bruno@clisp.org>
27755
27756         Avoid collision between gnulib wrapper and libintl wrapper.
27757         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
27758         already defined in intl/printf.c.
27759         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
27760         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
27761
27762 2009-08-09  Bruno Haible  <bruno@clisp.org>
27763
27764         Make <sys/select.h> really self-contained, also on Solaris 10.
27765         * lib/sys_select.in.h: Include <string.h>.
27766         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
27767         Solaris 10 problem.
27768         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
27769         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
27770         Reported by Jim Meyering.
27771
27772 2009-08-09  Bruno Haible  <bruno@clisp.org>
27773
27774         Avoid warnings from 'aclocal' that are due to a use of macro name
27775         AM_XGETTEXT_OPTION that is not defined in automake.
27776         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
27777         automake.
27778         * modules/error (configure.ac): Likewise.
27779         * modules/propername (configure.ac): Likewise.
27780         * modules/vasprintf (configure.ac): Likewise.
27781         * modules/verror (configure.ac): Likewise.
27782         * modules/xprintf (configure.ac): Likewise.
27783         * modules/xvasprintf (configure.ac): Likewise.
27784
27785 2009-08-08  Bruno Haible  <bruno@clisp.org>
27786
27787         Avoid compilation error in C++ mode.
27788         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
27789         Reported by Sam Steingold <sds@gnu.org>.
27790
27791 2009-08-08  Bruno Haible  <bruno@clisp.org>
27792
27793         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
27794         for the various Unix platforms.
27795         * doc/posix-headers/limits.texi: Update platforms list regarding
27796         HOST_NAME_MAX.
27797         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27798
27799 2009-08-07  Jim Meyering  <meyering@redhat.com>
27800
27801         selinux-at: fix typo in a comment
27802         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
27803         Spotted by Paolo Bonzini.
27804
27805         selinux-at: remove redundant m4 code, add documentation
27806         * modules/selinux-at (configure.ac): Remove redundant code.
27807         LIB_SELINUX is already set via the dependent module, selinux-h.
27808         (Include): Add quotes around selinux-at.h.
27809         * lib/selinux-at.h: Add documentation.
27810         Reported by Bruno Haible in
27811         http://marc.info/?l=gnulib-bug&m=124958988300749
27812
27813 2009-08-07  Bruno Haible  <bruno@clisp.org>
27814
27815         Avoid link error on MacOS X 10.3 and 10.4.
27816         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
27817         on non-ELF systems.
27818         * lib/argp-pv.c (argp_program_version): Likewise.
27819         Reported by Simon Josefsson.
27820
27821 2009-08-07  Simon Josefsson  <simon@josefsson.org>
27822
27823         * tests/test-version-etc.sh: Use $EXEEXT.
27824
27825 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
27826
27827         update-copyright: update documentation to point to maint.mk
27828         * build-aux/update-copyright: Here.
27829
27830 2009-08-06  Jim Meyering  <meyering@redhat.com>
27831
27832         maint.mk: support update-copyright-local
27833         * top/maint.mk (update-copyright-local): Define place-holder.
27834         (update-copyright): Depend on $(update-copyright-local).
27835
27836 2009-08-06  Jim Meyering  <meyering@redhat.com>
27837
27838         selinux-at: new module
27839         Initially written for coreutils, this module will soon be
27840         used by findutils, too.
27841         * MODULES.html.sh [Misc]: Add selinux-at.
27842         * lib/selinux-at.h: New file, from coreutils.
27843         * lib/selinux-at.c: Likewise.
27844         * modules/selinux-at: Likewise.
27845         (License): Change from LGPL to GPL, since it depends
27846         on the GPL'd openat module.
27847
27848         doc: update README
27849         * README: Remove references to cogito.
27850         Remove cvs-repo-updating instructions from 2007.
27851         Don't imply that CVS is better if you have limited disk space.
27852
27853 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27854
27855         update-copyright: support C-style comments
27856         * build-aux/update-copyright: Implement and document.
27857         * tests/test-update-copyright.sh: Test.
27858
27859 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27860
27861         update-copyright: support omitted "(C)"
27862         * build-aux/update-copyright: Implement and document.  Also,
27863         allow variable whitespace before "(C)".
27864         * tests/test-update-copyright.sh: Test.
27865
27866 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27867
27868         update-copyright: don't trip on non-FSF copyright statements
27869         * build-aux/update-copyright: Fix so that the first correctly
27870         formatted FSF copyright statement is recognized no matter what
27871         appears before it.  Update documentation.
27872         * tests/test-update-copyright.sh: Test that.
27873
27874 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27875
27876         update-copyright: clean up code a little
27877         * build-aux/update-copyright: Append "_re" to the name of any
27878         variable holding a regular expression.
27879         Replace "old" and "new" with "stmt" in variable names.
27880         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
27881         handled correctly.
27882         Format code more consistently.
27883
27884 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27885
27886         update-copyright-tests: improve portability
27887         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
27888         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
27889
27890 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
27891
27892         update-copyright: support @copyright{} and &copy;
27893         * build-aux/update-copyright: Implement and document.
27894         * tests/test-update-copyright.sh: Test.
27895
27896 2009-08-04  Jim Meyering  <meyering@redhat.com>
27897
27898         update-copyright-tests: correctly test EOL=\r\n handling
27899         * tests/test-update-copyright.sh: Put \r at the end of some lines
27900         for the dos-eol tests.  Based on a patch by Joel E. Denny.
27901
27902         maint.mk: make update-copyright exclusion list more configurable
27903         * top/maint.mk (update-copyright): Default to excluding COPYING,
27904         but allow an override, in case someone does want to update that file.
27905
27906         maint.mk: don't update copyright date in COPYING
27907         * top/maint.mk (update-copyright): Exclude COPYING.
27908
27909         maint.mk: add a copyright-updating rule
27910         * top/maint.mk (update-copyright): New rule.
27911         Derived from coreutils/Makefile.am.
27912
27913         update-copyright: rename some variables
27914         * build-aux/update-copyright: Rename a few variables for clarity.
27915         Tweak syntax.  List Joel E. Denny as coauthor.
27916
27917 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
27918
27919         update-copyright: fix bug for 2-digit last year and add tests
27920         * build-aux/update-copyright: Fix bug.
27921         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
27922         specified.
27923         * modules/update-copyright-tests: New
27924         * tests/test-update-copyright.sh: New.
27925
27926 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
27927
27928         update-copyright: handle leading tabs in line prefix
27929         * build-aux/update-copyright: Count leading tabs as 8 spaces
27930         when computing margin.  This helps with the formatting of
27931         ChangeLogs, for example.
27932         Fix documentation a little.
27933
27934 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
27935
27936         update-copyright: support EOL=\r\n
27937         * build-aux/update-copyright: Implement that.
27938
27939 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
27940
27941         update-copyright: automatically format copyright statements
27942         * build-aux/update-copyright: Implement that.
27943         Also, be a little more predictable and safer by always failing
27944         when the full copyright format is not perfectly recognized as an
27945         unbroken whole.  Discussed at
27946         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
27947         Rewrite documentation.
27948
27949 2009-08-03  Bruno Haible  <bruno@clisp.org>
27950
27951         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
27952
27953 2009-08-02  Bruno Haible  <bruno@clisp.org>
27954
27955         Tests for module 'uname'.
27956         * modules/uname-tests: New file.
27957         * tests/test-uname.c: New file.
27958
27959         New module 'uname'.
27960         * lib/uname.c: New file.
27961         * m4/uname.m4: New file.
27962         * modules/uname: New file.
27963         * doc/posix-functions/uname.texi: Mention the new module.
27964
27965 2009-08-02  Bruno Haible  <bruno@clisp.org>
27966
27967         Tests for module 'sys_utsname'.
27968         * modules/sys_utsname-tests: New file.
27969         * tests/test-sys_utsname.c: New file.
27970
27971         New module 'sys_utsname'.
27972         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
27973         * m4/sys_utsname_h.m4: New file.
27974         * modules/sys_utsname: New file.
27975         * doc/posix-headers/sys_utsname.texi: Mention the new module.
27976
27977 2009-08-02  Bruno Haible  <bruno@clisp.org>
27978
27979         Implicitly initialize the sockets library.
27980         * lib/gethostname.c: Include sockets.h.
27981         (rpl_gethostname): Invoke gl_sockets_startup.
27982         * lib/socket.c: Include sockets.h.
27983         (rpl_socket): Invoke gl_sockets_startup.
27984         * modules/gethostname (Depends-on): Add sockets.
27985         * modules/socket (Depends-on): Likewise.
27986         * tests/test-poll.c: Don't include sockets.h.
27987         (main): Don't invoke gl_sockets_startup.
27988         * tests/test-select.c: Don't include sockets.h.
27989         (main): Don't invoke gl_sockets_startup.
27990
27991 2009-08-02  Bruno Haible  <bruno@clisp.org>
27992
27993         Allow multiple calls to gl_sockets_startup.
27994         * lib/sockets.c (initialized_sockets_version): New variable.
27995         (gl_sockets_startup): Do nothing if already called for this or a higher
27996         version.
27997         (gl_sockets_cleanup): Reset initialized_sockets_version.
27998
27999 2009-08-03  Simon Josefsson  <simon@josefsson.org>
28000
28001         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
28002         different project/version.
28003
28004 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
28005             Bruno Haible  <bruno@clisp.org>
28006
28007         Tests for module 'pipe-filter-gi'.
28008         * modules/pipe-filter-gi-tests: New file.
28009         * tests/test-pipe-filter-gi1.sh: New file.
28010         * tests/test-pipe-filter-gi1.c: New file.
28011         * tests/test-pipe-filter-gi2.sh: New file.
28012         * tests/test-pipe-filter-gi2-main.c: New file.
28013         * tests/test-pipe-filter-gi2-child.c: New file.
28014
28015         New module 'pipe-filter-gi'.
28016         * lib/pipe-filter-gi.c: New file.
28017         * modules/pipe-filter-gi: New file.
28018
28019 2009-08-02  Bruno Haible  <bruno@clisp.org>
28020             Paolo Bonzini  <bonzini@gnu.org>
28021
28022         Tests for module 'pipe-filter-ii'.
28023         * modules/pipe-filter-ii-tests: New file.
28024         * tests/test-pipe-filter-ii1.sh: New file.
28025         * tests/test-pipe-filter-ii1.c: New file.
28026         * tests/test-pipe-filter-ii2.sh: New file.
28027         * tests/test-pipe-filter-ii2-main.c: New file.
28028         * tests/test-pipe-filter-ii2-child.c: New file.
28029
28030         New module 'pipe-filter-ii'.
28031         * lib/pipe-filter.h: New file.
28032         * lib/pipe-filter-ii.c: New file.
28033         * lib/pipe-filter-aux.h: New file.
28034         * modules/pipe-filter-ii: New file.
28035
28036 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28037
28038         * lib/gc-libgcrypt.c: Change copyright to FSF.
28039         * lib/gc-gnulib.c: Likewise.
28040
28041 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
28042
28043         * lib/gethostname.c: Include limits.h.
28044
28045 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28046             Bruno Haible  <bruno@clisp.org>
28047
28048         Ensure HOST_NAME_MAX as part of the gethostname module.
28049         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
28050         define also HOST_NAME_MAX.
28051         * tests/test-gethostname.c: Include <limits.h>.
28052         (main): Check also HOST_NAME_MAX.
28053         * doc/posix-headers/limits.texi: Document the mingw problem.
28054
28055 2009-08-02  Bruno Haible  <bruno@clisp.org>
28056
28057         * lib/gethostname.c (gethostname): Fix handling of large len argument.
28058         Add comments.
28059
28060 2009-03-31  Simon Josefsson  <simon@josefsson.org>
28061
28062         * lib/gethostname.c: Add Windows wrapper.
28063         * m4/gethostname.m4: Look for gethostname in -lws2_32.
28064         * modules/gethostname: Depend on sys_socket & errno, for also
28065         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
28066         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
28067
28068 2009-07-31  Jim Meyering  <meyering@redhat.com>
28069
28070         getloadavg: fix symbol name in comment
28071         * lib/getloadavg.c: Correct a typo I introduced when adding
28072         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
28073         Matt Kraai spotted the problem.
28074
28075 2009-07-29  Matt Kraai  <mkraai@beckman.com>
28076
28077         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
28078         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
28079         code also if ! defined N_NAME_POINTER.
28080         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
28081         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
28082         but the n_name member is a 12-byte array.
28083
28084 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
28085
28086         update-copyright: generalize comment handling
28087         * build-aux/update-copyright: Handle copyright statements
28088         within more comment styles.
28089         Document usage.
28090         Report any file with an external copyright holder or parse failure.
28091
28092 2009-07-29  Jim Meyering  <meyering@redhat.com>
28093
28094         mktime: correct setting of REPLACE_MKTIME
28095         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
28096
28097         update-copyright: new module
28098         * modules/update-copyright: New file.
28099         * build-aux/update-copyright: New file.
28100         * MODULES.html.sh (maint+release support): Add update-copyright.
28101
28102 2009-07-27  Bruno Haible  <bruno@clisp.org>
28103
28104         Fix compilation error when <ctime> is used and mktime is replaced.
28105         * lib/time.in.h (mktime): New declaration.
28106         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
28107         REPLACE_MKTIME instead of defining mktime in config.h.
28108         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
28109         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
28110         Reported by Ross McFarland <rwmcfa1@neces.com>.
28111
28112 2009-07-27  Bruno Haible  <bruno@clisp.org>
28113
28114         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
28115         Reported by Matt Kraai <mkraai@beckman.com>.
28116
28117 2009-07-25  Jim Meyering  <meyering@redhat.com>
28118
28119         maint.mk: avoid warnings about missing files
28120         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
28121         diagnostic when .prev-version does not exist.
28122         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
28123         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
28124         nonexistent cfg.mk.
28125         Suggestions from Simon Josefsson.
28126
28127 2009-07-25  Bruno Haible  <bruno@clisp.org>
28128
28129         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
28130         defined as macros. Needed on QNX 6.4.1.
28131         Reported by Matt Kraai <mkraai@beckman.com>.
28132
28133 2009-07-23  Jim Meyering  <meyering@redhat.com>
28134
28135         maint.mk: invoke "make dist" with a working value of XZ_OPT
28136         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
28137
28138 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
28139
28140         Make fseeko.c compile on QNX.
28141         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
28142
28143 2009-07-22  Peter Simons  <simons@cryp.to>
28144
28145         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
28146         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
28147         * lib/md4.h: Likewise.
28148         * lib/md5.h: Likewise.
28149         * lib/sha1.h: Likewise.
28150         * lib/sha256.h: Likewise.
28151         * lib/sha512.h: Likewise.
28152
28153         tests-sha1: don't assign literal string to 'char *' variable
28154         * tests/test-sha1.c (main): Declare locals with "const" to match
28155         attributes of the right hand side.
28156
28157 2009-07-21  Eric Blake  <ebb9@byu.net>
28158
28159         dup2: fix more mingw problems
28160         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
28161         fd to itself.
28162         * doc/posix-functions/dup2.texi (dup2): Document the bug.
28163         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
28164         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
28165         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
28166         care of mingw bugs.
28167
28168 2009-07-21  Jim Meyering  <meyering@redhat.com>
28169
28170         vc-list-files: avoid failure when /bin/sh is dash
28171         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
28172         On some Debian based systems, /bin/sh is a symlink to dash, and running
28173         this command would omit the "/" following each 'tests' prefix:
28174           dash -x build-aux/vc-list-files -C . tests
28175         That is because bash and dash work differently:
28176           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
28177           bash ok
28178           dash odd
28179
28180 2009-07-21  Eric Blake  <ebb9@byu.net>
28181
28182         dup2-tests: test previous patch
28183         * modules/dup2-tests: New file.
28184         * tests/test-dup2.c: Likewise.
28185         * tests/test-open.c (main): Avoid unspecified behavior.
28186         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
28187         test.
28188
28189         dup2: work around mingw and cygwin 1.5 bug
28190         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
28191         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28192         * modules/unistd (Makefile.am): Substitute it.
28193         * lib/unistd.in.h (dup2): Declare the replacement.
28194         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
28195         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
28196         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
28197         * modules/execute (Depends-on): Add dup2.
28198         * modules/fseterr (Depends-on): Likewise.
28199         * modules/pipe (Depends-on): Likewise.
28200         * modules/posix_spawn-internal (Depends-on): Likewise.
28201
28202 2009-07-21  Bruno Haible  <bruno@clisp.org>
28203
28204         * modules/.gitattributes: New file.
28205
28206 2009-07-20  Bruno Haible  <bruno@clisp.org>
28207
28208         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
28209         (main): Use it.
28210
28211 2009-07-20  Eric Blake  <ebb9@byu.net>
28212
28213         test-pipe: make a bit more robust.
28214         * tests/test-pipe.c (myerr): Allow error messages regardless of
28215         what we do to stderr.
28216         (test_pipe): Rearrange to avoid deadlock.
28217         (child_main): Try a larger read, to ensure we avoided deadlock.
28218         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
28219         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
28220         if misused.
28221
28222 2009-07-19  Jim Meyering  <meyering@redhat.com>
28223
28224         fts: avoid false-positive cycle-detection
28225         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
28226         for each new command line argument.
28227
28228 2009-07-19  Bruno Haible  <bruno@clisp.org>
28229
28230         Fix build error on mingw with the modules sys_select and unistd.
28231         * modules/acl-tests (Depends-on): Add close.
28232         * modules/binary-io-tests (Depends-on): Likewise.
28233         * modules/closein-tests (Depends-on): Likewise.
28234         * modules/flock-tests (Depends-on): Likewise.
28235         * modules/fsync-tests (Depends-on): Likewise.
28236         * modules/lseek-tests (Depends-on): Likewise.
28237         * modules/pipe-tests (Depends-on): Likewise.
28238         * modules/posix_spawn-tests (Depends-on): Likewise.
28239         * modules/posix_spawnp-tests (Depends-on): Likewise.
28240         * modules/stat-time-tests (Depends-on): Likewise.
28241         * modules/yesno-tests (Depends-on): Likewise.
28242
28243 2009-07-19  Bruno Haible  <bruno@clisp.org>
28244
28245         Unify conditionals.
28246         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
28247         macros, not at the compiler macros.
28248         * lib/pipe.c: Likewise.
28249         * lib/execute.c: Likewise.
28250         * lib/spawni.c: Likewise.
28251
28252 2009-07-19  Bruno Haible  <bruno@clisp.org>
28253
28254         Fix handling of closed stdin/stdout/stderr on mingw.
28255         * lib/w32spawn.h: Include unistd.h.
28256         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
28257         file descriptor with O_NOINHERIT flag.
28258         (fd_safer_noinherit): New function, based on fd-safer.c.
28259         (dup_safer_noinherit): New function, based on dup-safer.c.
28260         (undup_safer_noinherit): New function.
28261         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
28262         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
28263         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
28264         instead of fd_safer.
28265         * tests/test-pipe.c: Include <windows.h>.
28266         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
28267         result.
28268
28269         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
28270         from main.
28271         (test_pipe): Pass an extra argument for disambiguation.
28272         (main): Invoke parent_main or child_main.
28273
28274         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
28275         consistently.
28276
28277 2009-07-18  Eric Blake  <ebb9@byu.net>
28278
28279         test-pipe: fix mingw build
28280         * tests/test-pipe.c (main): Avoid fcntl on mingw.
28281
28282 2009-07-18  Bruno Haible  <bruno@clisp.org>
28283
28284         * modules/pipe-tests (Makefile.am): Fix typo.
28285
28286 2009-07-18  Eric Blake  <ebb9@byu.net>
28287
28288         error: fix mingw build
28289         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
28290         Reported by Bruno Haible.
28291
28292         error: avoid undefined use of stdout
28293         * lib/error.c (error, error_at_line): Check that fd 1 is open
28294         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
28295         is handling faults and the close_stdout module wants to report the
28296         detection of closed stdout as an error.
28297
28298 2009-07-17  Eric Blake  <ebb9@byu.net>
28299
28300         pipe: be robust in face of closed fds
28301         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
28302         should cause child to misbehave.
28303         * modules/pipe-tests: New module.
28304         * tests/test-pipe.c: New file.
28305         * tests/test-pipe.sh: New file.
28306         Reported by Akim Demaille.
28307
28308 2009-07-14  Bruno Haible  <bruno@clisp.org>
28309
28310         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
28311         Reported by anonymous kc.
28312
28313 2009-07-07  Jim Meyering  <meyering@redhat.com>
28314
28315         maint.mk: don't look for translatable strings in *.m4 or *.mk
28316         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
28317         when searching for translatable strings.
28318
28319 2009-07-05  Jim Meyering  <meyering@redhat.com>
28320
28321         remove superfluous parentheses in STREQ definition
28322         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
28323         * lib/getugroups.c (STREQ): Likewise.
28324         * lib/fnmatch.c (STREQ): Likewise.
28325         Spotted by Bruno Haible.
28326
28327 2009-07-04  Jim Meyering  <meyering@redhat.com>
28328
28329         argv-iter: new module
28330         * MODULES.html.sh: Add argv-iter.
28331         * lib/argv-iter.c, lib/argv-iter.h: New files.
28332         * modules/argv-iter: New file.
28333         * modules/argv-iter-tests: New file.
28334         * tests/test-argv-iter.c: Test it.
28335
28336 2009-07-04  Bruno Haible  <bruno@clisp.org>
28337
28338         Fix assertion.
28339         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
28340         contains more exact copies of a given entry than file2, leave the extra
28341         copies unpaired rather than aborting.
28342         Reported by Eric Blake.
28343
28344 2009-07-02  Bruno Haible  <bruno@clisp.org>
28345
28346         Speedup git-merge-changelog for git cherry-pick.
28347         * lib/git-merge-changelog.c (struct entries_mapping): New type.
28348         (entries_mapping_get): New function, extracted from compute_mapping.
28349         (entries_mapping_reverse_get): New function.
28350         (compute_mapping): Add a 'full' argument. Return the result in a
28351         'struct entries_mapping'.
28352         (main): Update. Access the mappings through entries_mapping_get.
28353         Reported by Eric Blake.
28354
28355 2009-07-02  Bruno Haible  <bruno@clisp.org>
28356
28357         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
28358         best_i.
28359
28360 2009-07-02  Bruno Haible  <bruno@clisp.org>
28361
28362         Speed up approximate search for matching ChangeLog entries.
28363         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
28364         argument. Call fstrcmp_bounded instead of fstrcmp.
28365         (compute_mapping, try_split_merged_entry, main): Update callers.
28366
28367 2009-07-02  Bruno Haible  <bruno@clisp.org>
28368
28369         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
28370
28371 2009-06-30  Bruno Haible  <bruno@clisp.org>
28372
28373         Reduce the number of uc_is_cased calls.
28374         * lib/unicase.h (casing_suffix_context_t): Add
28375         'first_char_except_ignorable' field.
28376         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
28377         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
28378         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
28379         Update initializer.
28380         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
28381         case-ignorable characters.
28382         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
28383         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
28384         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
28385         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
28386         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
28387
28388 2009-06-30  Bruno Haible  <bruno@clisp.org>
28389
28390         Tests for module 'unicase/ignorable'.
28391         * modules/unicase/ignorable-tests: New file.
28392         * tests/unicase/test-ignorable.c: New file, generated by
28393         gen-uni-tables.
28394
28395         Tests for module 'unicase/cased'.
28396         * modules/unicase/cased-tests: New file.
28397         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
28398         * tests/unicase/test-predicate-part1.h: New file, derived from
28399         tests/unictype/test-predicate-part1.h.
28400         * tests/unicase/test-predicate-part2.h: New file, same as
28401         tests/unictype/test-predicate-part2.h.
28402
28403         Fix evaluation of "Before C" condition of FINAL_SIGMA.
28404         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
28405         (output_casing_properties): New function.
28406         (main): Call it.
28407         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
28408         * lib/unicase/cased.c: Include unictype/bitmap.h.
28409         (uc_is_cased): Define through a bitmap lookup.
28410         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
28411         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
28412         (uc_is_case_ignorable): Define through a bitmap lookup.
28413         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
28414         lib/unictype/bitmap.h.
28415         (Depends-on): Add inline. Clean up.
28416         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
28417         lib/unictype/bitmap.h.
28418         (Depends-on): Add inline. Clean up.
28419         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
28420         recognition.
28421         * tests/unicase/test-u16-tolower.c (main): Likewise.
28422         * tests/unicase/test-u32-tolower.c (main): Likewise.
28423
28424 2009-06-30  Bruno Haible  <bruno@clisp.org>
28425
28426         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
28427         * lib/unicase/u16-casemap.c: Likewise.
28428         * lib/unicase/u32-casemap.c: Likewise.
28429
28430 2009-06-29  Bruno Haible  <bruno@clisp.org>
28431
28432         Define u32_casefold as a wrapper around u32_ct_casefold.
28433         * lib/unicase/u32-casefold.c: Update.
28434         * modules/unicase/u32-casefold (Depends-on): Add
28435         unicase/u32-ct-casefold, unicase/empty-prefix-context,
28436         unicase/empty-suffix-context. Clean up.
28437
28438         Define u16_casefold as a wrapper around u16_ct_casefold.
28439         * lib/unicase/u16-casefold.c: Update.
28440         * modules/unicase/u16-casefold (Depends-on): Add
28441         unicase/u16-ct-casefold, unicase/empty-prefix-context,
28442         unicase/empty-suffix-context. Clean up.
28443
28444         Define u8_casefold as a wrapper around u8_ct_casefold.
28445         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
28446         * lib/unicase/u8-casefold.c: Update.
28447         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
28448         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28449
28450         Define u32_totitle as a wrapper around u32_ct_totitle.
28451         * lib/unicase/u32-totitle.c: Update.
28452         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
28453         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28454
28455         Define u16_totitle as a wrapper around u16_ct_totitle.
28456         * lib/unicase/u16-totitle.c: Update.
28457         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
28458         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28459
28460         Define u8_totitle as a wrapper around u8_ct_totitle.
28461         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
28462         functions.
28463         (FUNC): Delegate to U_CT_TOTITLE.
28464         * lib/unicase/u8-totitle.c: Update.
28465         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
28466         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28467
28468         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
28469         invocation.
28470         * modules/unicase/u32-tolower (Depends-on): Add
28471         unicase/empty-prefix-context, unicase/empty-suffix-context.
28472
28473         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
28474         invocation.
28475         * modules/unicase/u16-tolower (Depends-on): Add
28476         unicase/empty-prefix-context, unicase/empty-suffix-context.
28477
28478         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
28479         * modules/unicase/u8-tolower (Depends-on): Add
28480         unicase/empty-prefix-context, unicase/empty-suffix-context.
28481
28482         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
28483         invocation.
28484         * modules/unicase/u32-toupper (Depends-on): Add
28485         unicase/empty-prefix-context, unicase/empty-suffix-context.
28486
28487         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
28488         invocation.
28489         * modules/unicase/u16-toupper (Depends-on): Add
28490         unicase/empty-prefix-context, unicase/empty-suffix-context.
28491
28492         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
28493         * modules/unicase/u8-toupper (Depends-on): Add
28494         unicase/empty-prefix-context, unicase/empty-suffix-context.
28495
28496         New module 'unicase/u32-ct-casefold'.
28497         * lib/unicase/u32-ct-casefold.c: New file.
28498         * modules/unicase/u32-ct-casefold: New file.
28499
28500         New module 'unicase/u16-ct-casefold'.
28501         * lib/unicase/u16-ct-casefold.c: New file.
28502         * modules/unicase/u16-ct-casefold: New file.
28503
28504         New module 'unicase/u8-ct-casefold'.
28505         * lib/unicase/u8-ct-casefold.c: New file.
28506         * lib/unicase/u-ct-casefold.h: New file, derived from
28507         lib/unicase/u-casefold.h.
28508         * modules/unicase/u8-ct-casefold: New file.
28509
28510         New module 'unicase/u32-ct-totitle'.
28511         * lib/unicase/u32-ct-totitle.c: New file.
28512         * modules/unicase/u32-ct-totitle: New file.
28513
28514         New module 'unicase/u16-ct-totitle'.
28515         * lib/unicase/u16-ct-totitle.c: New file.
28516         * modules/unicase/u16-ct-totitle: New file.
28517
28518         New module 'unicase/u8-ct-totitle'.
28519         * lib/unicase/u8-ct-totitle.c: New file.
28520         * lib/unicase/u-ct-totitle.h: New file, derived from
28521         lib/unicase/u-totitle.h.
28522         * modules/unicase/u8-ct-totitle: New file.
28523
28524         New module 'unicase/u32-ct-tolower'.
28525         * lib/unicase/u32-ct-tolower.c: New file.
28526         * modules/unicase/u32-ct-tolower: New file.
28527
28528         New module 'unicase/u16-ct-tolower'.
28529         * lib/unicase/u16-ct-tolower.c: New file.
28530         * modules/unicase/u16-ct-tolower: New file.
28531
28532         New module 'unicase/u8-ct-tolower'.
28533         * lib/unicase/u8-ct-tolower.c: New file.
28534         * modules/unicase/u8-ct-tolower: New file.
28535
28536         New module 'unicase/u32-ct-toupper'.
28537         * lib/unicase/u32-ct-toupper.c: New file.
28538         * modules/unicase/u32-ct-toupper: New file.
28539
28540         New module 'unicase/u16-ct-toupper'.
28541         * lib/unicase/u16-ct-toupper.c: New file.
28542         * modules/unicase/u16-ct-toupper: New file.
28543
28544         New module 'unicase/u8-ct-toupper'.
28545         * lib/unicase/u8-ct-toupper.c: New file.
28546         * modules/unicase/u8-ct-toupper: New file.
28547
28548         Add context arguments to u*_casemap functions.
28549         * lib/unicase/unicasemap.h: Include unicase.h.
28550         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
28551         suffix_context arguments.
28552         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
28553         functions.
28554         (FUNC): Add prefix_context and suffix_context arguments. Use
28555         uc_is_cased and uc_is_case_ignorable.
28556         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
28557         * lib/unicase/u16-casemap.c: Likewise.
28558         * lib/unicase/u32-casemap.c: Likewise.
28559         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
28560         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28561         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
28562         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28563         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
28564         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28565
28566         New module 'unicase/u32-suffix-context'.
28567         * lib/unicase/u32-suffix-context.c: New file.
28568         * modules/unicase/u32-suffix-context: New file.
28569
28570         New module 'unicase/u16-suffix-context'.
28571         * lib/unicase/u16-suffix-context.c: New file.
28572         * modules/unicase/u16-suffix-context: New file.
28573
28574         New module 'unicase/u8-suffix-context'.
28575         * lib/unicase/u8-suffix-context.c: New file.
28576         * lib/unicase/u-suffix-context.h: New file.
28577         * modules/unicase/u8-suffix-context: New file.
28578
28579         New module 'unicase/empty-suffix-context'.
28580         * lib/unicase/empty-suffix-context.c: New file.
28581         * modules/unicase/empty-suffix-context: New file.
28582
28583         New module 'unicase/u32-prefix-context'.
28584         * lib/unicase/u32-prefix-context.c: New file.
28585         * modules/unicase/u32-prefix-context: New file.
28586
28587         New module 'unicase/u16-prefix-context'.
28588         * lib/unicase/u16-prefix-context.c: New file.
28589         * modules/unicase/u16-prefix-context: New file.
28590
28591         New module 'unicase/u8-prefix-context'.
28592         * lib/unicase/u8-prefix-context.c: New file.
28593         * lib/unicase/u-prefix-context.h: New file.
28594         * lib/unicase/context.h: New file.
28595         * modules/unicase/u8-prefix-context: New file.
28596
28597         New module 'unicase/empty-prefix-context'.
28598         * lib/unicase/empty-prefix-context.c: New file.
28599         * modules/unicase/empty-prefix-context: New file.
28600
28601         New module 'unicase/ignorable'.
28602         * lib/unicase/ignorable.c: New file.
28603         * modules/unicase/ignorable: New file.
28604
28605         New module 'unicase/cased'.
28606         * lib/unicase/caseprop.h: New file.
28607         * lib/unicase/cased.c: New file.
28608         * modules/unicase/cased: New file.
28609
28610         New functions for case mapping of substrings.
28611         * lib/unicase.h (casing_prefix_context_t): New type.
28612         (unicase_empty_prefix_context): New variable.
28613         (u8_casing_prefix_context, u16_casing_prefix_context,
28614         u32_casing_prefix_context, u8_casing_prefixes_context,
28615         u16_casing_prefixes_context, u32_casing_prefixes_context): New
28616         declarations.
28617         (casing_suffix_context_t): New type.
28618         (unicase_empty_suffix_context): New variable.
28619         (u8_casing_suffix_context, u16_casing_suffix_context,
28620         u32_casing_suffix_context, u8_casing_suffixes_context,
28621         u16_casing_suffixes_context, u32_casing_suffixes_context,
28622         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
28623         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
28624         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
28625         declarations.
28626
28627 2009-06-28  Jim Meyering  <meyering@redhat.com>
28628
28629         boostrap: indent only with spaces
28630         * build-aux/bootstrap: Indent only with spaces, never TABs.
28631
28632         bootstrap: split long lines
28633         * build-aux/bootstrap: Keep line length < 80.
28634
28635         bootstrap: sync from coreutils
28636         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
28637         just as autoreconf does.  Verify a list of prerequisite
28638         package-name,version-number pairs if defined in bootstrap.conf.
28639         Refer to README-prereq, if prerequisites are not satisfied.
28640
28641 2009-06-27  Eric Blake  <ebb9@byu.net>
28642
28643         tests: add test for bogus NULL definition
28644         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
28645         * tests/test-stdlib.c: Likewise.
28646         * tests/test-string.c: Likewise.
28647         * tests/test-locale.c: Likewise.
28648         * tests/test-unistd.c: Likewise.
28649         * modules/stdio-tests (Depends-on): Add verify.
28650         * modules/stdlib-tests (Depends-on): Likewise.
28651         * modules/string-tests (Depends-on): Likewise.
28652         * modules/locale-tests (Depends-on): Likewise.
28653         * modules/unistd-tests (Depends-on): Likewise.
28654
28655 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
28656
28657         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
28658         self-explaining comment.
28659         * m4/selinux-selinux-h: Update serial.
28660         (gl_LIBSELINUX): New macro, adding a warning for missing development
28661         packages to code extracted from...
28662         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
28663         Add warning for missing development packages here, too.
28664
28665 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
28666
28667         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
28668
28669 2009-06-25  Eric Blake  <ebb9@byu.net>
28670
28671         version-etc: fix regression
28672         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
28673         gcc.
28674         (version_etc): Use it, to catch bugs with trailing NULL.
28675         * lib/version-etc.c (version_etc_arn): Delete unused argument.
28676         (version_etc_va): Fix logic bug.
28677         * modules/version-etc-tests: Add test.
28678         * tests/test-version-etc.c: New file.
28679         * tests/test-version-etc.sh: Likewise.
28680
28681 2009-06-25  Sam Steingold  <sds@gnu.org>
28682
28683         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
28684         mbtowc declaration.
28685
28686 2009-06-25  Eric Blake  <ebb9@byu.net>
28687
28688         fpurge: migrate into <stdio.h>
28689         * lib/fpurge.h: Delete...
28690         * lib/stdio.in.h (fpurge): ...and declare here, instead.
28691         * lib/fpurge.c (fpurge): Change declaring header.
28692         * modules/fpurge (Files): Drop deleted file.
28693         (Depends-on): Add stdio.
28694         (configure.ac): Set witness.
28695         * modules/stdio (Makefile.am): Support fpurge macros.
28696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28697         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
28698         * lib/fflush.c: Update client.
28699         * tests/test-fpurge.c: Likewise.
28700         * NEWS: Mention the change.
28701
28702 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28703
28704         * lib/argp-version-etc.c (program_authors): Add const
28705         qualifier.
28706         * lib/version-etc.c: Fix typos in the comments.
28707         * modules/argp-version-etc: Depends on version-etc.
28708
28709 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28710
28711         argp-version-etc: new module.
28712
28713         * lib/argp-version-etc.c: New file.
28714         * lib/argp-version-etc.h: New file.
28715         * modules/argp-version-etc: New file.
28716         * modules/argp-version-etc-tests: New file.
28717         * tests/test-argp-version-etc.c: New test.
28718         * tests/test-argp-version-etc-1.sh: New test.
28719
28720 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28721
28722         Provide additional interfaces and documentation for version-etc
28723         module.
28724
28725         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
28726         interfaces.
28727         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
28728         prototypes.
28729
28730 2009-06-24  Bruno Haible  <bruno@clisp.org>
28731
28732         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
28733         HAVE_LIB${NAME} macro.
28734         Reported by Sam Steingold <sds@gnu.org>.
28735
28736 2009-06-23  Simon Josefsson  <simon@josefsson.org>
28737
28738         * modules/hash-tests (test_hash_LDADD): Link to libintl when
28739         needed.
28740
28741 2009-06-21  Bruno Haible  <bruno@clisp.org>
28742
28743         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
28744         work.
28745         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
28746         together with LIB${NAME}, LTLIB${NAME}.
28747         Reported by Sam Steingold <sds@gnu.org>.
28748
28749 2009-06-20  Jim Meyering  <meyering@redhat.com>
28750
28751         tests: make sc_require_test_exit_idiom more generic
28752         * top/maint.mk (Exit_witness_file): New overridable variable.
28753         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
28754         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
28755
28756 2009-06-19  Jim Meyering  <meyering@redhat.com>
28757
28758         hash: reverse order of src/dst parameters in an internal interface
28759         * lib/hash.c (transfer_entries): Reverse order of parameters to
28760         put DST before SRC.  Adjust callers.
28761
28762         tests: test-hash: avoid wholesale duplication
28763         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
28764         Instead, use a loop and add a single conditional.
28765
28766         tests: test-hash: allow seed selection via a command line argument
28767         * tests/test-hash.c (get_seed): New function.
28768         (main): Use it.
28769
28770 2009-06-19  Eric Blake  <ebb9@byu.net>
28771
28772         hash: avoid memory leak on allocation failure
28773         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
28774         failure.  Factor repeated algorithm...
28775         (transfer_entries): ...into new helper routine.
28776         (hash_delete): React to hash_rehash return value.
28777
28778         hash: reduce memory pressure in hash_rehash no-op case
28779         * lib/hash.c (next_prime): Avoid overflow.
28780         (hash_initialize): Factor bucket size computation...
28781         (compute_bucket_size): ...into new helper function.
28782         (hash_rehash): Use new function and open coding to reduce memory
28783         pressure, and avoid a memory leak in USE_OBSTACK code.
28784         Reported by Jim Meyering.
28785
28786 2009-06-18  Eric Blake  <ebb9@byu.net>
28787
28788         hash: make rotation more obvious
28789         * modules/hash (Depends-on): Add bitrotate and stdint.
28790         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
28791         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
28792         (SIZE_MAX): Rely on headers for definition.
28793         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
28794         (raw_hasher): Use rotr_sz.
28795         Suggested by Jim Meyering.
28796
28797         hash: fix memory leak in last patch
28798         * lib/hash.c (hash_rehash): Avoid memory leak.
28799
28800         hash: avoid no-op rehashing
28801         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
28802
28803         hash: provide default callback functions
28804         * lib/hash.c (raw_hasher, raw_comparator): New functions.
28805         (hash_initialize): Use them as defaults.
28806         * tests/test-hash.c (main): Test this.
28807
28808         hash: minor optimization
28809         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
28810         when possible.
28811         (hash_initialize): Document this promise.
28812         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
28813         * tests/test-hash.c (hash_compare_strings): Test this.
28814
28815 2009-06-18  Bruno Haible  <bruno@clisp.org>
28816
28817         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
28818         going to be replaced anyway.
28819
28820 2009-06-18  Bruno Haible  <bruno@clisp.org>
28821
28822         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
28823         in one place.
28824         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
28825         be replaced anyway.
28826
28827 2009-06-18  Eric Blake  <ebb9@byu.net>
28828
28829         hash: check for resize before insertion
28830         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
28831         threshold before insertion, so that a pathological hash_rehash
28832         that fills every bucket can still trigger another rehash.
28833
28834 2009-06-18  Jim Meyering  <meyering@redhat.com>
28835
28836         hash-tests: add a loop around the small tests
28837         * tests/test-hash.c (main): Repeat small tests with selected
28838         small initial table sizes.
28839
28840 2009-06-17  Eric Blake  <ebb9@byu.net>
28841
28842         hash: minor cleanups
28843         * lib/hash.h (hash_entry): Make opaque, by moving...
28844         * lib/hash.c (hash_entry): ...here.
28845         (hash_insert): Clarify restrictions on what can be inserted.
28846         (hash_get_next): Clarify when it is safe to remove an element
28847         during traversal.
28848         (check_tuning): Skip verification when tuning is known safe.
28849         (hash_initialize): Clarify restrictions on tuning.
28850
28851 2009-06-17  Jim Meyering  <jim@meyering.net>
28852         and Eric Blake  <ebb9@byu.net>
28853
28854         hash-tests: new module
28855         * modules/hash-tests: New file.
28856         * tests/test-hash.c: New file.
28857
28858 2009-06-17  Eric Blake  <ebb9@byu.net>
28859
28860         strstr-simple: document new module
28861         * MODULES.html.sh: Document new module.
28862
28863         strstr, strcasestr: replace on platforms with broken memchr
28864         * modules/strstr: Split into...
28865         * modules/strstr-simple: ...new module that does not care about
28866         performance, but does care about glibc bug.
28867         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
28868         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
28869         if platform memchr is broken, per Debian bug 521737.
28870         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
28871         memchr.
28872         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
28873         * doc/posix-functions/strstr.texi (strstr): Document the fix.
28874         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28875         * modules/mountlist (Depends-on): Add strstr-simple.
28876         * modules/gen-uni-tables (Depends-on): Likewise.
28877         * modules/argz (Depends-on): Add strstr.
28878
28879 2009-06-17  Bruno Haible  <bruno@clisp.org>
28880
28881         * modules/posix_spawn-internal (Depends-on): Add errno.
28882
28883 2009-06-17  Bruno Haible  <bruno@clisp.org>
28884
28885         Define missing ESTALE on Interix 3.5.
28886         * lib/errno.in.h (ESTALE): Assign a value if missing.
28887         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
28888         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
28889         missing.
28890         * doc/posix-headers/errno.texi: Mention the Interix bug.
28891         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
28892
28893 2009-06-15  Eric Blake  <ebb9@byu.net>
28894
28895         memchr, memchr2: add valgrind exception
28896         * lib/memchr.valgrind: New file.
28897         * lib/memchr2.valgrind: New file.
28898         * modules/memchr (Files): Distribute valgrind file.
28899         * modules/memchr2 (Files): Likewise.
28900
28901         docs: memchr is no longer obsolete
28902         * MODULES.html.sh: Move memchr from obsolete to string.h section.
28903         * lib/string.in.h (memchr): Simplify logic.
28904
28905 2009-06-14  Jim Meyering  <meyering@redhat.com>
28906
28907         link-follow: fix the "checking..." message to not mention trailing slash
28908         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
28909         never considered trailing slashes.
28910
28911 2009-06-14  Bruno Haible  <bruno@clisp.org>
28912
28913         * m4/memchr.m4: Mention also the bug on IA-64.
28914         * doc/posix-functions/memchr.texi: Likewise.
28915
28916 2009-06-12  Eric Blake  <ebb9@byu.net>
28917
28918         memchr: detect broken x86_64 and alpha implementations
28919         * modules/memchr-tests (Depends-on): Move mmap detection...
28920         * modules/memchr (Depends-on): ...here.
28921         (configure.ac): Set indicator.
28922         * lib/string.in.h (memchr): Declare replacement.
28923         * modules/string (Makefile.am): Trigger replacement.
28924         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
28925         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
28926         bugs.
28927         * doc/posix-functions/memchr.texi (memchr): Document the bug.
28928         * modules/getpagesize (License): Relax license.
28929
28930 2009-06-11  Bruno Haible  <bruno@clisp.org>
28931
28932         * lib/idpriv.h: Add more references.
28933
28934 2009-06-08  Bruno Haible  <bruno@clisp.org>
28935
28936         Tests for module 'idpriv-droptemp'.
28937         * modules/idpriv-droptemp-tests: New file.
28938         * tests/test-idpriv-droptemp.sh: New file.
28939         * tests/test-idpriv-droptemp.su.sh: New file.
28940         * tests/test-idpriv-droptemp.c: New file.
28941
28942         New module 'idpriv-droptemp'.
28943         * lib/idpriv-droptemp.c: New file.
28944         * modules/idpriv-droptemp: New file.
28945
28946 2009-06-08  Bruno Haible  <bruno@clisp.org>
28947
28948         Tests for module 'idpriv-drop'.
28949         * modules/idpriv-drop-tests: New file.
28950         * tests/test-idpriv-drop.sh: New file.
28951         * tests/test-idpriv-drop.su.sh: New file.
28952         * tests/test-idpriv-drop.c: New file.
28953
28954         New module 'idpriv-drop'.
28955         * lib/idpriv.h: New file.
28956         * lib-idpriv-drop.c: New file.
28957         * m4/idpriv.m4: New file.
28958         * modules/idpriv-drop: New file.
28959
28960 2009-06-08  Bruno Haible  <bruno@clisp.org>
28961
28962         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
28963         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28964         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28965         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28966         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28967         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28968         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28969
28970 2009-06-08  Eric Blake  <ebb9@byu.net>
28971
28972         test-strstr: use memory fence, when possible
28973         * tests/test-strstr.c (main): Use memory fence, in order to be
28974         more likely to trigger Debian bug 521737.
28975         * modules/strstr-tests (Files): Pull in additional files.
28976
28977         memchr: no longer obsolete, for wider field testing
28978         * modules/memchr (Status, Notice): Delete, this module is no
28979         longer obsolete.
28980         * modules/vasnprintf (Depends-on): Add memchr.
28981
28982 2009-06-07  Jim Meyering  <meyering@redhat.com>
28983
28984         hash: declare some functions with the warn_unused_result attribute
28985         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
28986
28987 2009-06-07  Bruno Haible  <bruno@clisp.org>
28988
28989         * tests/test-alignof.c: Don't test int64_t if it does not exist.
28990         Reported by Eric Blake.
28991
28992 2009-06-06  Eric Blake  <ebb9@byu.net>
28993
28994         test-alignof: fix typo with long double
28995         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
28996         compiler error.
28997
28998 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
28999
29000         Escape non-texinfo { and }s.
29001         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
29002         markup error.
29003
29004 2009-06-04  Jim Meyering  <meyering@redhat.com>
29005
29006         gitlog-to-changelog: don't infloop on an empty commit log
29007         * build-aux/gitlog-to-changelog: Warn about an empty log message.
29008         Reported by Boris Petersen <transacid@centerim.org>.
29009
29010 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
29011
29012         version-etc: extend for packagers
29013         Add three new configure options, intended for packagers:
29014           --with-packager="packager name"
29015           --with-packager-version="packager-specific version"
29016           --with-packager-bug-reports="packager bug reporting"
29017         An example with coreutils:
29018           $ ./configure \
29019             --with-packager=Gentoo \
29020             --with-packager-bug-report=http://bugs.gentoo.org/ \
29021             --with-packager-version="patchset 1.6"
29022           $ ./src/ls --version | head -n2
29023           ls (GNU coreutils) 7.1-dirty
29024           Packaged by Gentoo (patchset 1.6)
29025         Note that the bug reporting info via --help doesn't show up because
29026         coreutils uses its own custom emit_bug_reporting_address() implementation
29027         in src/system.h.  If it didn't, it'd look like:
29028           $ ./src/ls --help | tail -n4
29029           Report bugs to <bug-coreutils@gnu.org>.
29030           Report Gentoo bugs to <http://bugs.gentoo.org/>.
29031           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
29032           General help using GNU software: <http://www.gnu.org/gethelp/>.
29033         * lib/version-etc.c: Print new information, if provided.
29034         * m4/version-etc.m4: New file.
29035         * modules/version-etc (Files): Add m4/version-etc.m4.
29036         (configure.ac): Add gl_VERSION_ETC.
29037
29038 2009-05-31  Bruno Haible  <bruno@clisp.org>
29039
29040         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
29041         and 'int64_t'.
29042         * modules/alignof-tests (Dependencies): Add stdint.
29043         Reported by Eric Blake.
29044
29045 2009-05-31  Bruno Haible  <bruno@clisp.org>
29046
29047         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
29048         restriction due to compiler bugs.
29049         Reported by Eric Blake.
29050
29051 2009-05-31  Simon Josefsson  <simon@josefsson.org>
29052             Bruno Haible  <bruno@clisp.org>
29053
29054         Fix test-alignof failure.
29055         * lib/alignof.h (alignof_slot): New macro.
29056         (alignof_type): New macro, with the same semantics as the previous
29057         'alignof'.
29058         (alignof): Alias to alignof_slot.
29059         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
29060         check that the results are usable as constant expressions.
29061
29062 2009-05-31  Bruno Haible  <bruno@clisp.org>
29063
29064         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
29065         * tests/test-memchr.c (main): Check that memchr does not read past the
29066         first occurrence of the byte.
29067         * tests/test-strstr.c (main): Update comment.
29068         Suggested by Eric Blake.
29069
29070 2009-05-30  Bruno Haible  <bruno@clisp.org>
29071
29072         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
29073         detail how to use dumpbin.
29074         Reported by David Byron <dbyron@dbyron.com>.
29075
29076 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29077
29078         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
29079
29080 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29081
29082         * m4/manywarnings.m4: Add GCC 4.4 warnings.
29083
29084 2009-05-28  Bruno Haible  <bruno@clisp.org>
29085
29086         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
29087         build-aux/ files.
29088
29089 2009-05-28  Simon Josefsson  <simon@josefsson.org>
29090
29091         * gnulib-tool (func_import): Transform license on build-aux/ files too.
29092
29093 2009-05-27  Simon Josefsson  <simon@josefsson.org>
29094
29095         * gnulib-tool (sed_transform_main_lib_file)
29096         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
29097         regexps.
29098
29099 2009-05-26  Simon Josefsson  <simon@josefsson.org>
29100
29101         * tests/test-strstr.c: Add another self-test.
29102         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
29103         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
29104
29105 2009-05-23  Bruno Haible  <bruno@clisp.org>
29106
29107         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
29108         change.
29109
29110 2009-05-21  Bruno Haible  <bruno@clisp.org>
29111
29112         Simplify use of mode_t varargs.
29113         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
29114         uses 'mode_t' or 'int'.
29115         * lib/openat.c (openat): Likewise.
29116         * lib/open-safer.c (open_safer): Likewise.
29117         * m4/mode_t.m4: New file.
29118         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
29119         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
29120         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
29121         * modules/open (Files): Add m4/mode_t.m4.
29122         * modules/openat (Files): Likewise.
29123         * modules/fcntl-safer (Files): Likewise.
29124         Suggested by Eric Blake.
29125
29126 2009-05-21  Pádraig Brady  <P@draigbrady.com>
29127
29128         * doc/glibc-functions/fallocate.texi: New file.
29129         * doc/gnulib.texi: Include it.
29130
29131 2009-05-21  Eric Blake  <ebb9@byu.net>
29132             Bruno Haible  <bruno@clisp.org>
29133
29134         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
29135         invocations.
29136         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29137
29138 2009-05-21  Eric Blake  <ebb9@byu.net>
29139             Bruno Haible  <bruno@clisp.org>
29140
29141         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
29142         include_next. Fix of 2008-11-20 commit.
29143         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
29144         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
29145         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
29146         NEXT_MATH_H.
29147         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
29148         instead of NEXT_MATH_H.
29149
29150 2009-05-21  Bruno Haible  <bruno@clisp.org>
29151
29152         Avoid redefinition warnings for SIZE_MAX.
29153         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
29154         Reported by Simon Josefsson.
29155
29156 2009-05-21  Bruno Haible  <bruno@clisp.org>
29157
29158         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
29159         AC_CACHE_VAL.
29160
29161 2009-05-20  Bruno Haible  <bruno@clisp.org>
29162
29163         Make zeroptr.h work on mingw.
29164         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
29165         mprotect.
29166         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
29167         * modules/memchr2-tests (configure.ac): Likewise.
29168         * modules/memcmp-tests (configure.ac): Likewise.
29169         * modules/memmem-tests (configure.ac): Likewise.
29170         * modules/memrchr-tests (configure.ac): Likewise.
29171         Reported by Simon Josefsson.
29172
29173 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29174
29175         * tests/test-glob.c: Include string.h for strcmp prototype.
29176
29177 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29178
29179         * modules/getdelim (Depends-on): Add explicit stdint, although it
29180         was implicitly already pulled in via realloc-posix.
29181         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
29182
29183 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29184
29185         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
29186         G. Christensen" <tgc@jupiterrise.com>.
29187         * m4/sys_socket_h.m4: Check for sa_family_t.
29188         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
29189         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
29190         * tests/test-sys_socket.c: Check that sa_family_t works.
29191
29192 2009-05-18  Eric Blake  <ebb9@byu.net>
29193
29194         maint.mk: allow gnulib_dir in VPATH build
29195         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
29196
29197 2009-05-15  Jim Meyering  <meyering@redhat.com>
29198
29199         maint.mk: Give gnulib_dir a default definition.
29200         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
29201         Thus, most packages no longer need to specify this variable in cfg.mk
29202
29203 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
29204
29205         rename.m4: fix typos that would make non-mingw cross-configure fail
29206         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
29207
29208 2009-05-13  Eric Blake  <ebb9@byu.net>
29209
29210         mmap-anon: avoid out-of-order autoconf expansion
29211         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
29212         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
29213         * modules/memchr-tests (Depends-on): Add extensions.
29214         * modules/memchr2-tests (Depends-on): Add extensions.
29215         * modules/memcmp-tests (Depends-on): Add extensions.
29216         * modules/memmem-tests (Depends-on): Add extensions.
29217         * modules/memrchr-tests (Depends-on): Add extensions.
29218
29219 2009-05-13  Bruno Haible  <bruno@clisp.org>
29220
29221         Make some tests ISO C 99 compliant.
29222         * tests/zerosize-ptr.h: New file.
29223         * tests/test-memchr.c: Include zerosize-ptr.h.
29224         (main): Use a zero-size object pointer instead of NULL.
29225         * tests/test-memchr2.c: Include zerosize-ptr.h.
29226         (main): Use a zero-size object pointer instead of NULL.
29227         * tests/test-memcmp.c: Include zerosize-ptr.h.
29228         (main): Use a zero-size object pointer instead of NULL.
29229         * tests/test-memmem.c: Include zerosize-ptr.h.
29230         (main): Use a zero-size object pointer instead of NULL.
29231         * tests/test-memrchr.c: Include zerosize-ptr.h.
29232         (main): Use a zero-size object pointer instead of NULL.
29233         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
29234         m4/mmap-anon.m4.
29235         (Depends-on): Add getpagesize.
29236         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29237         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
29238         m4/mmap-anon.m4.
29239         (Depends-on): Add getpagesize.
29240         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29241         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
29242         m4/mmap-anon.m4.
29243         (Depends-on): Add getpagesize.
29244         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29245         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
29246         m4/mmap-anon.m4.
29247         (Depends-on): Add getpagesize.
29248         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29249         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
29250         m4/mmap-anon.m4.
29251         (Depends-on): Add getpagesize.
29252         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29253
29254 2009-05-12  Bruno Haible  <bruno@clisp.org>
29255
29256         Tests for module 'alignof'.
29257         * modules/alignof-tests: New file.
29258         * tests/test-alignof.c: New file.
29259
29260 2009-05-12  Bruno Haible  <bruno@clisp.org>
29261
29262         Fix alignof macro.
29263         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
29264         vendor compilers that are always correct.
29265
29266 2009-05-12  Bruno Haible  <bruno@clisp.org>
29267
29268         Make the MAP_ANONYMOUS detection work on HP-UX 11.
29269         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
29270         not whether its fully works.
29271
29272 2009-05-12  Bruno Haible  <bruno@clisp.org>
29273
29274         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
29275
29276 2009-05-12  Jim Meyering  <meyering@redhat.com>
29277
29278         * top/maint.mk: Adjust backslash alignment.
29279
29280 2009-05-11  Simon Josefsson  <simon@josefsson.org>
29281
29282         * top/maint.mk: Make $(srcdir)/build-aux configurable.
29283
29284 2009-05-11  Eric Blake  <ebb9@byu.net>
29285
29286         argp: avoid undefined behavior
29287         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
29288         macros.
29289
29290 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29291
29292         * tests/test-vc-list-files-git.sh: Do git config of user.email and
29293         user.name to prevent git commit from complaining.
29294
29295 2009-05-10  Bruno Haible  <bruno@clisp.org>
29296
29297         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
29298         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
29299         it rewrites every file name only once.
29300         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
29301
29302 2009-05-08  Bruno Haible  <bruno@clisp.org>
29303
29304         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
29305         instead of 'max'.
29306
29307 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29308
29309         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
29310         sockaddr_storage test.
29311
29312 2009-05-07  Simon Josefsson  <simon@josefsson.org>
29313
29314         * modules/sys_socket (Makefile.am): Substitute
29315         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
29316         * m4/sys_socket_h.m4: Check for sockaddr_storage.
29317         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
29318         * tests/test-sys_socket.c: Check sockaddr_storage.
29319
29320 2009-05-08  Bruno Haible  <bruno@clisp.org>
29321
29322         New module 'alignof'.
29323         * lib/alignof.h: New file.
29324         * modules/alignof: New file.
29325
29326 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29327             Bruno Haible  <bruno@clisp.org>
29328
29329         Fix test-file-has-acl on FreeBSD.
29330         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
29331         mask is implicitly added.
29332         * tests/test-file-has-acl.c: Include <signal.h>.
29333         (main): Terminate the test after 5 seconds.
29334         * modules/acl-tests (configure.ac): Check for alarm function.
29335
29336 2009-05-04  Bruno Haible  <bruno@clisp.org>
29337
29338         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
29339         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
29340         * modules/errno (configure.ac): Drop AC_REQUIRE.
29341         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
29342         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
29343
29344 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29345
29346         * modules/glob-tests: New module.
29347         * tests/test-glob.c: Add.
29348
29349 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29350
29351         * modules/fnmatch-tests: New module.
29352         * tests/test-fnmatch.c: Add.
29353
29354 2009-05-04  Eric Blake  <ebb9@byu.net>
29355
29356         maint: make the new no-submodule-changes rule VPATH-safe
29357         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
29358
29359 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29360             Bruno Haible  <bruno@clisp.org>
29361
29362         acl: Fix infinite loop on FreeBSD.
29363         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
29364         of return value from acl_get_entry.
29365         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
29366         Likewise.
29367
29368 2009-05-03  Bruno Haible  <bruno@clisp.org>
29369
29370         * lib/acl-internal.h (acl_entries): Clarify return value.
29371         * lib/acl_entries.c (acl_entries): Likewise.
29372
29373 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29374
29375         Bug fix in acl module.
29376         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
29377
29378 2009-05-03  Bruno Haible  <bruno@clisp.org>
29379
29380         Create gperf-generated file in the source dir, not in the build dir.
29381         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
29382         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
29383         * modules/unicase/locale-language (unicase/locale-languages.h):
29384         Likewise.
29385         * modules/unicase/special-casing (unicase/special-casing-table.h):
29386         Likewise.
29387         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
29388         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
29389         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
29390         Reported by Ralf Wildenhues.
29391
29392 2009-05-03  Bruno Haible  <bruno@clisp.org>
29393
29394         * modules/fnmatch (Description, configure.ac): Taken from
29395         fnmatch-posix.
29396         * modules/fnmatch-posix: Turn into a symbolic reference to the
29397         'fnmatch' module, and deprecate.
29398         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
29399
29400 2009-05-03  Bruno Haible  <bruno@clisp.org>
29401
29402         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
29403         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
29404         Reported by Ralf Wildenhues.
29405
29406 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29407
29408         * m4/fnmatch.m4: Fix fnmatch re-define.
29409
29410 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29411
29412         priv-set: new module and tests; adapt write-any-file
29413         * lib/priv-set.c: New file.
29414         * lib/priv-set.h: New file.
29415         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
29416         * lib/write-any-file.c: Simplify by using priv-set module.
29417         * m4/priv-set.m4: New file.
29418         * modules/priv-set: New file.
29419         * modules/unlinkdir: Add dependency on priv-set module.
29420         * modules/write-any-file: Likewise.
29421
29422         Tests for module 'priv-set'.
29423         * modules/priv-set-tests: New file.
29424         * tests/test-priv-set.c: New file.
29425
29426 2009-05-03  Jim Meyering  <meyering@redhat.com>
29427             Bruno Haible  <bruno@clisp.org>
29428
29429         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
29430         use the converted UTF-8 variant of the name instead.
29431
29432 2009-05-03  Jim Meyering  <meyering@redhat.com>
29433
29434         tests: tighten some getdate tests
29435         * tests/test-getdate.c (main): Tighten tests: require equality,
29436         not just greater than.  Set TZ envvar to UTC0.
29437
29438 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29439
29440         getdate: correctly interpret "next monday" when run on a Monday
29441         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
29442         that e.g., "next tues" (when run on a tuesday) results in a date
29443         that is one week in the future, and not today's date.
29444         I.e., add a week when the wday is the same as the current one.
29445         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
29446         and earlier by Martin Bernreuther and Jan Minář.
29447         * tests/test-getdate.c (main): Check that "next DAY" is always in
29448         the future and that "last DAY" is always in the past.
29449
29450 2009-05-02  Jim Meyering  <meyering@redhat.com>
29451
29452         build: ensure that a release build fails when a submodule is unclean
29453         * top/maint.mk (no-submodule-changes): New rule.
29454         (alpha beta major): Depend on it.
29455
29456 2009-05-02  Bruno Haible  <bruno@clisp.org>
29457
29458         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
29459         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
29460         shell variable gl_fnmatch_required to detect which variant is
29461         requested.
29462         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
29463         gl_FUNC_FNMATCH_POSIX.
29464         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
29465         exclude fnmatch-posix.
29466
29467 2009-05-02  Bruno Haible  <bruno@clisp.org>
29468
29469         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
29470         * modules/mbsrtowcs (License): Change to LGPLv2+.
29471         * modules/strnlen1 (License): Likewise.
29472         Reported by Simon Josefsson.
29473
29474 2009-05-02  Bruno Haible  <bruno@clisp.org>
29475
29476         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
29477         "cross".
29478         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
29479         gnulib-tool was called with option --source-base=lib.
29480
29481 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29482
29483         Use automake *-local hooks without commands, for extensibility.
29484         * modules/localcharset (Makefile.am): Rename install-exec-local
29485         rule to install-exec-localcharset, and make it a prerequisite of
29486         install-exec-local.  Likewise, rename the uninstall-local rule to
29487         uninstall-localcharset, and make it a prerequisite of the former.
29488
29489 2009-05-01  Bruno Haible  <bruno@clisp.org>
29490
29491         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
29492         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29493         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
29494         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
29495         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
29496         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29497         m4/locale-zh.m4, m4/codeset.m4.
29498
29499         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29500         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
29501         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29502         m4/locale-zh.m4.
29503
29504         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
29505         REPLACE_WCRTOMB if mbstate_t must be replaced.
29506         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
29507         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
29508
29509 2009-05-01  Bruno Haible  <bruno@clisp.org>
29510
29511         Avoid compiler warnings when redefining macros defined by <libintl.h>.
29512         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
29513         dngettext, dcngettext, textdomain, bindtextdomain,
29514         bind_textdomain_codeset): Undefine before redefining.
29515
29516 2009-04-30  Bruno Haible  <bruno@clisp.org>
29517
29518         Fix bug introduced on 2009-04-25.
29519         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
29520         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
29521         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
29522         is defined.
29523         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
29524         is defined.
29525         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
29526         is defined.
29527         Reported by Elbert_Pol <elbert.pol@gmail.com>.
29528
29529 2009-04-28  Bruno Haible  <bruno@clisp.org>
29530
29531         Comment tweaks.
29532         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
29533         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
29534         * lib/unicase.h (u*_casexfrm): Likewise.
29535         Reported by Paolo Bonzini.
29536
29537 2009-04-28  Bruno Haible  <bruno@clisp.org>
29538
29539         Fix a compilation error.
29540         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
29541         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
29542         Reported by Jim Meyering.
29543
29544 2009-04-27  Bruno Haible  <bruno@clisp.org>
29545
29546         New module 'libunistring'.
29547         * modules/libunistring: New file.
29548         * m4/libunistring.m4: New file.
29549         * MODULES.html.sh (Unicode string functions): Add it.
29550
29551 2009-04-27  Eric Blake  <ebb9@byu.net>
29552
29553         maint.mk: allow package-specific header to provide <config.h>
29554         * top/maint.mk (sc_require_config_h): New variable.
29555         (sc_require_config_h, sc_require_config_h_first): Use it.
29556
29557 2009-04-27  Simon Josefsson  <simon@josefsson.org>
29558
29559         * top/maint.mk (sc_avoid_if_before_free): Except
29560         useless-if-before-free script.
29561
29562 2009-04-27  Eric Blake  <ebb9@byu.net>
29563
29564         maintainer-makefile: depend on all required helper scripts
29565         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
29566         useless-if-before-free.
29567         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
29568         version, rather than assuming gnulib checkout is available.
29569         Reported by Simen Josefsson.
29570
29571 2009-04-26  Bruno Haible  <bruno@clisp.org>
29572
29573         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
29574         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
29575         "../" or "..".
29576
29577 2009-04-26  Bruno Haible  <bruno@clisp.org>
29578
29579         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
29580         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
29581         AC_LIB_HAVE_LINKFLAGS.
29582
29583 2009-04-26  Bruno Haible  <bruno@clisp.org>
29584
29585         Simplify calling convention of u*_conv_from_encoding.
29586         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
29587         u32_conv_from_encoding): Expect a resultbuf argument and return the
29588         result directly as a pointer.
29589         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
29590         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
29591         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
29592         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
29593         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
29594         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29595         Update.
29596         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
29597         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
29598         * lib/vasnprintf.c (VASNPRINTF): Update.
29599         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
29600         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
29601         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
29602         * NEWS: Mention the change.
29603
29604 2009-04-26  Bruno Haible  <bruno@clisp.org>
29605
29606         Simplify calling convention of u*_conv_to_encoding.
29607         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
29608         u32_conv_to_encoding): Expect a resultbuf argument and return the
29609         result directly as a pointer.
29610         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29611         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
29612         freeing scaled_offsets if mem_iconveha failed.
29613         * lib/unicase/u-casexfrm.h (FUNC): Update.
29614         * lib/uninorm/u-normxfrm.h (FUNC): Update.
29615         * lib/vasnprintf.c (VASNPRINTF): Update.
29616         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
29617         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
29618         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
29619         * NEWS: Mention the change.
29620
29621 2009-04-26  Bruno Haible  <bruno@clisp.org>
29622
29623         Avoid test failures on AIX and OSF/1.
29624         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
29625         malloc(0).
29626         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29627         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29628         Likewise.
29629         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
29630         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
29631         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
29632         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
29633         * doc/posix-functions/malloc.texi: Document the portability problem
29634         related to malloc(0).
29635
29636 2009-04-26  Bruno Haible  <bruno@clisp.org>
29637
29638         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
29639         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
29640         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
29641
29642 2009-04-25  Bruno Haible  <bruno@clisp.org>
29643
29644         Avoid link error when creating a namespace clean library.
29645         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
29646         as macro with arguments if already defined as an alias.
29647         * lib/signbitf.c (gl_signbitf): Don't undefine.
29648         * lib/signbitd.c (gl_signbitd): Don't undefine.
29649         * lib/signbitl.c (gl_signbitl): Don't undefine.
29650
29651 2009-04-25  Jim Meyering  <meyering@redhat.com>
29652
29653         vc-list-files: fix another quoting bug
29654         * build-aux/vc-list-files: Avoid sed backslash expansion
29655         of pathological directory names.
29656
29657 2009-04-25  Eric Blake  <ebb9@byu.net>
29658
29659         vc-list-files: fix shell quoting error
29660         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
29661         timestamp.
29662
29663 2009-04-25  Jim Meyering  <meyering@redhat.com>
29664
29665         vc-list-files: restore lost functionality with subdir argument
29666         * build-aux/vc-list-files: When given a non-"." sub-directory
29667         argument, substitute the $dir/ prefix back onto each resulting name.
29668         Otherwise, coreutils' root_tests check would fail.
29669
29670 2009-04-24  Eric Blake  <ebb9@byu.net>
29671
29672         vc-list-files: ignore git symlinks
29673         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
29674         than ls-files, to ignore git symlinks.
29675
29676         maint.mk: import improvements from m4
29677         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
29678         (move_if_change): Delete unused macro.
29679         (news-date-check, vc-diff-check): Support VPATH builds.
29680         (announcement): Likewise.  Split --bootstrap-tools list...
29681         (boostrap-tools): ...into separate list, which can be overridden
29682         in cfg.mk.
29683         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
29684         requiring dependency on useless-if-before-free module.
29685         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
29686         Support VPATH builds.
29687
29688 2009-04-24  Jim Meyering  <meyering@redhat.com>
29689
29690         maint.mk: remove coreutils-specific rules and variables
29691         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
29692         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
29693         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
29694
29695         maint.mk: remove obsolete rule
29696         * top/maint.mk (rel-check): Remove rule.
29697         (WGET, WGETFLAGS): Remove now-unused variables.
29698
29699 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29700
29701         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
29702         consistency.
29703
29704         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
29705         '$(PATH_SEPARATOR)' instead of ':'.
29706
29707 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29708
29709         * lib/getopt1.c (main): Use 'const' for static array.
29710
29711 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29712
29713         * top/maint.mk: Sync with coreutils.
29714         * NEWS: Explain incompatibilities.
29715
29716 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29717             Bruno Haible  <bruno@clisp.org>
29718
29719         Fix cross-compilation results.
29720         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
29721         statement, as third argument of AC_TRY_RUN.
29722         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
29723         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
29724         Likewise.
29725         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
29726         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
29727         Likewise.
29728         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
29729         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
29730         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
29731
29732 2009-04-20  Bruno Haible  <bruno@clisp.org>
29733
29734         Avoid test failure on mingw.
29735         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
29736
29737 2009-04-20  Bruno Haible  <bruno@clisp.org>
29738
29739         Avoid compilation error on mingw.
29740         * modules/localename-tests (Depends-on): Add locale.
29741
29742 2009-04-19  Bruno Haible  <bruno@clisp.org>
29743
29744         Support for building a shared library on Windows platforms.
29745         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
29746         (main): Test the presence of UNINORM_NFC here.
29747         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
29748         (main): Test the presence of UNINORM_NFD here.
29749         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
29750         (main): Test the presence of UNINORM_NFKC here.
29751         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
29752         (main): Test the presence of UNINORM_NFKD here.
29753
29754 2009-04-19  Bruno Haible  <bruno@clisp.org>
29755
29756         Avoid a compiler warning.
29757         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
29758         Change type of variable 'sequence'.
29759
29760 2009-04-19  Bruno Haible  <bruno@clisp.org>
29761
29762         * modules/configmake (Makefile.am): When the contents of configmake.h
29763         does not change, arrange to preserve its modification time.
29764
29765 2009-04-17  Simon Josefsson  <simon@josefsson.org>
29766
29767         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
29768         gettext domain.
29769
29770 2009-04-16  Jim Meyering  <meyering@redhat.com>
29771
29772         useless-if-before-free: improve conversion code
29773         * build-aux/useless-if-before-free: Adjust code-in-comment to match
29774         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
29775
29776 2009-04-14  Bruno Haible  <bruno@clisp.org>
29777
29778         * modules/fcntl (Depends-on): Add extensions.
29779         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
29780
29781 2009-04-12  Ben Pfaff  <blp@gnu.org>
29782
29783         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
29784         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
29785
29786 2009-03-20  Ben Pfaff  <blp@gnu.org>
29787
29788         Make rename replace existing destinations on Windows.
29789         * m4/rename.m4: Add test for Mingw.
29790         * lib/rename.c: Add rename replacement that uses MoveFileEx with
29791         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
29792         * doc/posix-functions/rename.texi: Document.
29793
29794 2009-04-10  Bruno Haible  <bruno@clisp.org>
29795
29796         New include file "iconveh.h".
29797         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
29798         * lib/striconveh.h: Include it.
29799         (enum iconv_ilseq_handler): Remove definition.
29800         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
29801         striconveh.h.
29802         * lib/striconveha.c: Include striconveh.h.
29803         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
29804         * modules/striconveh (Files): Add lib/iconveh.h.
29805         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
29806         lib/striconveh.h.
29807
29808 2009-04-10  Bruno Haible  <bruno@clisp.org>
29809
29810         * lib/uniconv.h: Update comment.
29811
29812 2009-04-10  Bruno Haible  <bruno@clisp.org>
29813
29814         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
29815         always.
29816         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29817         * lib/unistr/u16-mbtouc-aux.c: Likewise.
29818         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
29819         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
29820         "unistring-notinline.h", so that the function gets defined always.
29821         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29822         * lib/unistr/u8-uctomb.c: Likewise.
29823         * lib/unistr/u16-mbtouc.c: Likewise.
29824         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
29825         * lib/unistr/u16-uctomb.c: Likewise.
29826         * lib/unistr/u32-mbtouc.c: Likewise.
29827         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
29828         * lib/unistr/u32-uctomb.c: Likewise.
29829
29830 2009-04-10  Bruno Haible  <bruno@clisp.org>
29831
29832         Mark 'utime' obsolete.
29833         * modules/utime (Status, Notice): New sections.
29834         Suggested by Jim Meyering.
29835
29836         Fix cross-compile guess for utime test.
29837         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
29838         autoconf.
29839         * doc/posix-functions/utime.texi: Give more precisions.
29840         Reported by Jan <ipif@ymail.com>.
29841
29842 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
29843
29844         filevercmp: correct today's change
29845         * lib/filevercmp.c: Also handle coreutils' test inputs.
29846         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
29847
29848         Fix regression in 'filevercmp' module. Thanks Sven Joachim
29849         for reporting it.
29850         * lib/filevercmp.c: Special handle for "", "." and "..".
29851         * tests/test-filevercmp.c: Enlarge the set suite.
29852
29853 2009-04-07  Jim Meyering  <meyering@redhat.com>
29854
29855         useless-if-before-free: show how to remove braced useless free, too
29856         * build-aux/useless-if-before-free: still only in a comment, though.
29857
29858 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
29859
29860         maint.mk: import changes to syntax-check macros from coreutils
29861         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
29862         Use them in the relevant macros.
29863
29864 2009-04-06  Bruno Haible  <bruno@clisp.org>
29865
29866         Fix unportable use of bit-fields.
29867         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
29868         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
29869         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
29870
29871 2009-04-06  Bruno Haible  <bruno@clisp.org>
29872
29873         Avoid test failures on AIX and OSF/1.
29874         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
29875         that malloc(0) = NULL.
29876         * tests/unicase/test-u8-tolower.c (check): Likewise.
29877         * tests/unicase/test-u8-totitle.c (check): Likewise.
29878         * tests/unicase/test-u8-toupper.c (check): Likewise.
29879         * tests/unicase/test-u16-casefold.c (check): Likewise.
29880         * tests/unicase/test-u16-tolower.c (check): Likewise.
29881         * tests/unicase/test-u16-totitle.c (check): Likewise.
29882         * tests/unicase/test-u16-toupper.c (check): Likewise.
29883         * tests/unicase/test-u32-casefold.c (check): Likewise.
29884         * tests/unicase/test-u32-tolower.c (check): Likewise.
29885         * tests/unicase/test-u32-totitle.c (check): Likewise.
29886         * tests/unicase/test-u32-toupper.c (check): Likewise.
29887         * tests/uninorm/test-u8-nfc.c (check): Likewise.
29888         * tests/uninorm/test-u8-nfd.c (check): Likewise.
29889         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
29890         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
29891         * tests/uninorm/test-u16-nfc.c (check): Likewise.
29892         * tests/uninorm/test-u16-nfd.c (check): Likewise.
29893         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
29894         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
29895         * tests/uninorm/test-u32-nfc.c (check): Likewise.
29896         * tests/uninorm/test-u32-nfd.c (check): Likewise.
29897         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
29898         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
29899
29900 2009-04-05  Bruno Haible  <bruno@clisp.org>
29901
29902         Work around an autoconf limitation.
29903         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
29904         comment line if it would be longer than 3 KB.
29905
29906 2009-04-05  Bruno Haible  <bruno@clisp.org>
29907
29908         Avoid test failure with libiconv-1.13.
29909         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
29910         of the expected test results.
29911
29912 2009-04-05  Bruno Haible  <bruno@clisp.org>
29913
29914         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
29915         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
29916         that it should be installed.
29917
29918 2009-04-05  Bruno Haible  <bruno@clisp.org>
29919
29920         * gnulib-tool: New option --copy-file.
29921         (func_usage): Document it.
29922         (func_dest_tmpfilename): Moved out of func_import.
29923         (func_add_file, func_update_file): New functions, extracted from
29924         func_import.
29925         (func_import): Update.
29926
29927 2009-04-05  Karl Berry  <karl@gnu.org>
29928
29929         * README: prominently mention gnulib-tool.
29930         Rearrange sections so getting the code is near the top.
29931
29932 2009-04-05  Bruno Haible  <bruno@clisp.org>
29933
29934         * lib/unicase.h: Mention u*_cmp2.
29935         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
29936         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
29937         * lib/unicase/ulc-casecmp.c: Likewise.
29938         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
29939         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
29940         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
29941         unistr/u8-cmp.
29942         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
29943         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
29944         unistr/u16-cmp.
29945         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
29946         unistr/u32-cmp.
29947
29948         * lib/uninorm.h: Mention u*_cmp2.
29949         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
29950         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
29951         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
29952         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
29953         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
29954         unistr/u8-cmp.
29955         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
29956         unistr/u16-cmp.
29957         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
29958         unistr/u32-cmp.
29959
29960         New module 'unistr/u32-cmp2'.
29961         * lib/unistr/u32-cmp2.c: New file.
29962         * modules/unistr/u32-cmp2: New file.
29963
29964         New module 'unistr/u16-cmp2'.
29965         * lib/unistr/u16-cmp2.c: New file.
29966         * modules/unistr/u16-cmp2: New file.
29967
29968         New module 'unistr/u8-cmp2'.
29969         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
29970         * lib/unistr/u8-cmp2.c: New file.
29971         * lib/unistr/u-cmp2.h: New file.
29972         * modules/unistr/u8-cmp2: New file.
29973
29974 2009-04-05  Bruno Haible  <bruno@clisp.org>
29975
29976         * lib/unictype.h (uc_property_is_valid): New macro.
29977         * tests/unictype/test-pr_byname.c (main): Use it.
29978
29979         * lib/unistr.h: Doc fixes.
29980         * lib/uniconv.h: Doc fixes.
29981         * lib/unictype.h: Doc fixes.
29982
29983 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
29984
29985         Port coreutils 7.2 to Solaris 8.
29986
29987         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
29988         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
29989         for Solaris 8.  This is a bit of a hack, as it means it's the
29990         caller's responsibility to add -lnsl if needed, but most likely it
29991         won't be needed since only getaddrinfo uses this and getaddrinfo
29992         isn't needed on Solaris 8.
29993
29994         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
29995         problem to Solaris 8 encountered with coreutils 7.2, which
29996         resulted in a message "fnmatch.c:292: warning: passing argument 4
29997         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
29998         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
29999
30000 2009-04-03  Simon Josefsson  <simon@josefsson.org>
30001
30002         * m4/ld-version-script.m4: Add FIXME comment.
30003
30004 2009-04-02  Simon Josefsson  <simon@josefsson.org>
30005
30006         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
30007         SOVERSION variable.
30008
30009 2009-04-02  Bruno Haible  <bruno@clisp.org>
30010
30011         * Makefile (info, html, dvi, pdf): Combine the rules.
30012         Suggested by Jim Meyering.
30013
30014 2009-04-01  Bruno Haible  <bruno@clisp.org>
30015
30016         * Makefile (info, html, dvi, pdf): New targets.
30017         Reported by Reuben Thomas <rrt@sc3d.org>.
30018
30019 2009-04-01  Bruno Haible  <bruno@clisp.org>
30020
30021         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
30022         can be put into PATH.
30023         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
30024
30025 2009-04-01  Bruno Haible  <bruno@clisp.org>
30026
30027         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
30028
30029 2009-04-01  Bruno Haible  <bruno@clisp.org>
30030
30031         Rename module 'visibility'.
30032         * modules/lib-symbol-visibility: Renamed from modules/visibility.
30033         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
30034         * doc/gnulib.texi: Update.
30035         * MODULES.html.sh (Misc): Update.
30036         * NEWS: Mention the change.
30037
30038 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30039
30040         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
30041         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
30042         Eric Blake <ebb9@byu.net> for review.
30043         * MODULES.html.sh: Add lib-msvc-compat.
30044         * doc/gnulib.texi: Link to new section.
30045         * m4/ld-output-def.m4: New file.
30046         * doc/ld-output-def.texi: New file.
30047
30048 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30049
30050         Rename ld-version-script to lib-symbol-versions.  Suggested by
30051         Bruno Haible <bruno@clisp.org>.
30052         * modules/ld-version-script: Renamed to lib-symbol-versions.
30053         * doc/ld-version-script.texi: Fix module name.
30054         * MODULES.html.sh: Add lib-symbol-versions.
30055
30056 2009-03-31  Simon Josefsson  <simon@josefsson.org>
30057
30058         * modules/u64-tests: New file.
30059         * tests/test-u64.c: New file.
30060
30061 2009-03-04  Simon Josefsson  <simon@josefsson.org>
30062
30063         * MODULES.html.sh: Mention u64.
30064         * modules/u64: New module.
30065         * modules/crypto/sha512: Depend on u64 module instead of providing
30066         u64.h.
30067
30068 2009-03-27  Eric Blake  <ebb9@byu.net>
30069
30070         test-strerror: make debugging EAI_SYSTEM easier
30071         * modules/getaddrinfo-tests (Depends-on): Add strerror.
30072         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
30073         failure was EAI_SYSTEM.
30074
30075 2009-03-25  Bruno Haible  <bruno@clisp.org>
30076
30077         Fix a problem with --enable-relocatable on Solaris 7.
30078         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
30079         since 2008-02-24.
30080
30081 2009-03-25  Eric Blake  <ebb9@byu.net>
30082
30083         test-sockets: avoid gcc warning
30084         * tests/test-sockets.c (main): Silence compiler warning.
30085
30086 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
30087
30088         New modules nproc, pthread, contributed by Glen Lenker.
30089
30090         * MODULES.html.sh: Add pthread, nproc.
30091         * lib/nproc.c: New file.
30092         * lib/nproc.h: New file.
30093         * lib/pthread.in.h: New file.
30094         * m4/pthread.m4: New file.
30095         * modules/nproc: New file.
30096         * modules/pthread: New file.
30097
30098 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30099
30100         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
30101         New variable.
30102
30103 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
30104
30105         filevercmp: handle simple~ and numbered.~3~ backup suffixes
30106         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
30107         * tests/test-filevercmp.c: Add tests for backup suffixes.
30108
30109 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30110
30111         * modules/stdlib (Depends-on): Add stdint, needed when defining
30112         struct random_data on, for example, HP-UX 10.20.  Reported by
30113         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30114
30115 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30116
30117         * lib/readline.c (readline): Call fflush on stdout after printing
30118         prompt.
30119
30120 2009-03-20  Bruno Haible  <bruno@clisp.org>
30121
30122         Remove dependency from 'close' module to -lws2_32 on native Windows.
30123         * lib/close-hook.h: New file.
30124         * lib/close-hook.c: New file.
30125         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
30126         w32sock.h.
30127         (_gl_close_fd_maybe_socket): Remove function.
30128         (rpl_close): Invoke execute_all_close_hooks instead of
30129         _gl_close_fd_maybe_socket.
30130         * lib/sockets.c: Include close-hook.h, w32sock.h.
30131         (close_fd_maybe_socket): New function, essentially from lib/close.c.
30132         (close_sockets_hook): New variable.
30133         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
30134         (gl_sockets_cleanup): Unregister it.
30135         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
30136         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
30137         * modules/close-hook: New file.
30138         * modules/close (Files): Remove lib/w32sock.h.
30139         (Depends-on): Add close-hook.
30140         (Link): Remove section.
30141         * modules/sockets (Files): Add lib/w32sock.h.
30142         (Depends-on): Add close-hook.
30143         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
30144         invocation.
30145         * NEWS: Mention that LIB_CLOSE is gone.
30146
30147 2009-03-23  Eric Blake  <ebb9@byu.net>
30148
30149         signal-tests: test previous patch
30150         * tests/test-signal.c: New file.
30151         * modules/signal-tests: Likewise.
30152
30153         signal.h: always support 'volatile sig_atomic_t'
30154         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
30155         (gl_SIGNAL_H_DEFAULTS): Add a default.
30156         * modules/signal (Makefile.am): Substitute if needed.
30157         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
30158         users can blindly add volatile.
30159         * doc/posix-headers/signal.texi (signal.h): Document it.
30160         Reported by Matthew Woehlke.
30161
30162 2009-03-23  Jim Meyering  <meyering@redhat.com>
30163
30164         pathmax: PATH_MAX: use pathconf only when available
30165         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
30166         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
30167         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
30168         This avoids a link failure in a PSP cross-compilation environment
30169         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
30170
30171         * lib/vasnprintf.c (divide): Fix typo in comment.
30172
30173 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30174
30175         * gnulib-tool (func_filter_filelist): Fix comment.
30176
30177 2009-03-20  Bruno Haible  <bruno@clisp.org>
30178
30179         Make sockets.h self-contained.
30180         * lib/sockets.c: Include sockets.h first.
30181         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
30182
30183 2009-03-19  Eric Blake  <ebb9@byu.net>
30184
30185         doc: mention more functions added in cygwin 1.7.0
30186         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
30187         addition.
30188         * doc/posix-functions/log2f.texi: Likewise.
30189
30190 2009-03-19  Jim Meyering  <meyering@redhat.com>
30191
30192         fsusage: avoid syntax error due to statement-before-declaration
30193         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
30194         after all declarations.  Reported by Matthew Woehlke in
30195         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
30196
30197 2009-03-18  Eric Blake  <ebb9@byu.net>
30198
30199         build-aux/compile: sync from automake
30200         * build-aux/compile: New file, from automake.
30201         * config/srclist.txt: Mention build-aux/compile.
30202
30203 2009-03-17  Bruno Haible  <bruno@clisp.org>
30204
30205         * lib/git-merge-changelog.c: Fix typo in comment.
30206         Reported by Reuben Thomas <rrt@sc3d.org>.
30207
30208 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
30209
30210         * m4/regex.m4: update and improve help for
30211         --without-included-regex.
30212
30213 2009-03-17  Simon Josefsson  <simon@josefsson.org>
30214
30215         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
30216         failure on missing include files.
30217
30218 2009-03-17  Eric Blake  <ebb9@byu.net>
30219
30220         doc: mention more functions added in cygwin 1.7.0
30221         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
30222         addition.
30223         * doc/posix-functions/fwscanf.texi: Likewise.
30224         * doc/posix-functions/swprintf.texi: Likewise.
30225         * doc/posix-functions/swscanf.texi: Likewise.
30226         * doc/posix-functions/vfwprintf.texi: Likewise.
30227         * doc/posix-functions/vfwscanf.texi: Likewise.
30228         * doc/posix-functions/vswprintf.texi: Likewise.
30229         * doc/posix-functions/vswscanf.texi: Likewise.
30230         * doc/posix-functions/vwprintf.texi: Likewise.
30231         * doc/posix-functions/vwscanf.texi: Likewise.
30232         * doc/posix-functions/wcscasecmp.texi: Likewise.
30233         * doc/posix-functions/wcsdup.texi: Likewise.
30234         * doc/posix-functions/wcsftime.texi: Likewise.
30235         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30236         * doc/posix-functions/wprintf.texi: Likewise.
30237         * doc/posix-functions/wscanf.texi: Likewise.
30238         * doc/glibc-functions/gethostbyname2.texi: Likewise.
30239
30240 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30241
30242         maint.mk: really add $(AM_MAKEFLAGS)
30243         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
30244         was inadvertently omitted in the last commit.
30245         Spotted by Bruno Haible.
30246
30247         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
30248         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
30249         $(AM_MAKEFLAGS)' rather than plain `make'.
30250
30251         gnulib-tool: execute $MAKE not make
30252         * gnulib-tool: Default $MAKE to 'make'.
30253         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
30254         than make.  Initialize $MAKE in the do-autobuild script.
30255
30256         gnulib-tool: use $MAKE not make in generated files
30257         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
30258         make, in generated files.  Initialize $MAKE in the do-autobuild
30259         script.
30260
30261         * top/GNUmakefile (_have-git-version-gen): Fix typo.
30262
30263         GNUmakefile: disable parallelism only for multiple, recursive targets
30264         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
30265         additions in the Makefile.
30266         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
30267         by Automake.
30268         (.NOTPARALLEL): Only disable parallel builds if multiple targets
30269         are listed on the command line and at least one of them is
30270         listed in $(ALL_RECURSIVE_TARGETS).
30271
30272 2009-03-14  Bruno Haible  <bruno@clisp.org>
30273
30274         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
30275         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
30276         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
30277         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
30278         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
30279         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
30280         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
30281         unistr/u8-uctomb.
30282         * modules/unistr/u8-strchr (Depends-on): Likewise.
30283         * modules/unistr/u8-strrchr (Depends-on): Likewise.
30284         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
30285         unistr/u16-uctomb.
30286         * modules/unistr/u16-strchr (Depends-on): Likewise.
30287         * modules/unistr/u16-strrchr (Depends-on): Likewise.
30288
30289 2009-03-12  Bruno Haible  <bruno@clisp.org>
30290
30291         Work around select() bug on Interix 3.5.
30292         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
30293         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
30294         * m4/select.m4: New file.
30295         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
30296         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
30297         * modules/select (Files): Add m4/select.m4.
30298         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
30299         * modules/nanosleep (Depends-on): Add select.
30300         * modules/poll (Depends-on): Likewise.
30301         * doc/posix-functions/select.texi: Mention the Interix bug.
30302         Reported by Markus Duft <mduft@gentoo.org>.
30303
30304         * lib/select.c: Renamed from lib/winsock-select.c.
30305         * modules/select (Files): Add lib/select.c, remove
30306         lib/winsock-select.c.
30307         (configure.ac): Update.
30308
30309 2009-03-12  Jim Meyering  <meyering@redhat.com>
30310
30311         avoid gcc warnings about unused macro definitions
30312         * lib/readtokens.c (STREQ): Remove unused definition.
30313         * lib/xmalloc.c (SIZE_MAX): Likewise.
30314         * lib/openat-die.c (N_): Likewise.
30315         * lib/mountlist.c (SIZE_MAX): Remove definition.
30316         Instead, include <stdint.h>.
30317         * lib/readutmp.c: Likewise.
30318         * modules/readutmp (Depends-on): Add stdint.
30319         * modules/mountlist (Depends-on): Add stdint.
30320         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
30321
30322 2009-03-10  Bruno Haible  <bruno@clisp.org>
30323
30324         Tests for module 'mbmemcasecoll'.
30325         * modules/mbmemcasecoll-tests: New file.
30326         * tests/test-mbmemcasecoll1.sh: New file.
30327         * tests/test-mbmemcasecoll2.sh: New file.
30328         * tests/test-mbmemcasecoll3.sh: New file.
30329         * tests/test-mbmemcasecoll.c: New file.
30330
30331         New module 'mbmemcasecoll'.
30332         * lib/mbmemcasecoll.h: New file.
30333         * lib/mbmemcasecoll.c: New file.
30334         * modules/mbmemcasecoll: New file.
30335
30336         * tests/test-mbmemcasecmp.h: New file, extracted from
30337         tests/test-mbmemcasecmp.c.
30338         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
30339         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
30340         (main): Update.
30341         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
30342
30343 2009-03-09  Bruno Haible  <bruno@clisp.org>
30344
30345         Tests for module 'mbmemcasecmp'.
30346         * modules/mbmemcasecmp-tests: New file.
30347         * tests/test-mbmemcasecmp1.sh: New file.
30348         * tests/test-mbmemcasecmp2.sh: New file.
30349         * tests/test-mbmemcasecmp3.sh: New file.
30350         * tests/test-mbmemcasecmp.c: New file.
30351
30352         New module 'mbmemcasecmp'.
30353         * lib/mbmemcasecmp.h: New file.
30354         * lib/mbmemcasecmp.c: New file.
30355         * modules/mbmemcasecmp: New file.
30356
30357 2009-03-09  Bruno Haible  <bruno@clisp.org>
30358
30359         Tests for module 'unicase/ulc-casecoll'.
30360         * modules/unicase/ulc-casecoll-tests: New file.
30361         * tests/unicase/test-ulc-casecoll1.sh: New file.
30362         * tests/unicase/test-ulc-casecoll2.sh: New file.
30363         * tests/unicase/test-ulc-casecoll.c: New file.
30364
30365         New module 'unicase/ulc-casecoll'.
30366         * lib/unicase.h (ulc_casecoll): New declaration.
30367         * lib/unicase/ulc-casecoll.c: New file.
30368         * modules/unicase/ulc-casecoll: New file.
30369
30370         New module 'unicase/ulc-casexfrm'.
30371         * lib/unicase.h (ulc_casexfrm): New declaration.
30372         * lib/unicase/ulc-casexfrm.c: New file.
30373         * modules/unicase/ulc-casexfrm: New file.
30374
30375 2009-03-09  Bruno Haible  <bruno@clisp.org>
30376
30377         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
30378         invocations.
30379
30380         * m4/mbscasecmp.m4: Remove file.
30381         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
30382         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
30383
30384         * m4/mbscasestr.m4: Remove file.
30385         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
30386         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
30387
30388         * m4/mbschr.m4: Remove file.
30389         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
30390         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
30391
30392         * m4/mbscspn.m4: Remove file.
30393         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
30394         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
30395
30396         * m4/mbslen.m4: Remove file.
30397         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
30398         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
30399
30400         * m4/mbsncasecmp.m4: Remove file.
30401         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
30402         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
30403
30404         * m4/mbsnlen.m4: Remove file.
30405         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
30406         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
30407
30408         * m4/mbspbrk.m4: Remove file.
30409         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
30410         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
30411
30412         * m4/mbspcasecmp.m4: Remove file.
30413         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
30414         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
30415
30416         * m4/mbsrchr.m4: Remove file.
30417         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
30418         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
30419
30420         * m4/mbssep.m4: Remove file.
30421         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
30422         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
30423
30424         * m4/mbsspn.m4: Remove file.
30425         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
30426         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
30427
30428         * m4/mbsstr.m4: Remove file.
30429         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
30430         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
30431
30432         * m4/mbstok_r.m4: Remove file.
30433         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
30434         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
30435
30436         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
30437
30438         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
30439         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
30440
30441         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
30442
30443 2009-03-08  Bruno Haible  <bruno@clisp.org>
30444
30445         Tests for module 'unicase/ulc-casecmp'.
30446         * modules/unicase/ulc-casecmp-tests: New file.
30447         * tests/unicase/test-ulc-casecmp1.sh: New file.
30448         * tests/unicase/test-ulc-casecmp2.sh: New file.
30449         * tests/unicase/test-ulc-casecmp.c: New file.
30450
30451         New module 'unicase/ulc-casecmp'.
30452         * lib/unicase.h (ulc_casecmp): New declaration.
30453         * lib/unicase/ulc-casecmp.c: New file.
30454         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
30455         'const SRC_UNIT *'.
30456         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
30457         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
30458         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
30459         * modules/unicase/ulc-casecmp: New file.
30460
30461         Tests for module 'unicase/u32-is-cased'.
30462         * modules/unicase/u32-is-cased-tests: New file.
30463         * tests/unicase/test-u32-is-cased.c: New file.
30464
30465         Tests for module 'unicase/u16-is-cased'.
30466         * modules/unicase/u16-is-cased-tests: New file.
30467         * tests/unicase/test-u16-is-cased.c: New file.
30468
30469         Tests for module 'unicase/u8-is-cased'.
30470         * modules/unicase/u8-is-cased-tests: New file.
30471         * tests/unicase/test-u8-is-cased.c: New file.
30472         * tests/unicase/test-is-cased.h: New file.
30473
30474         New module 'unicase/u32-is-cased'.
30475         * lib/unicase/u32-is-cased.c: New file.
30476         * modules/unicase/u32-is-cased: New file.
30477
30478         New module 'unicase/u16-is-cased'.
30479         * lib/unicase/u16-is-cased.c: New file.
30480         * modules/unicase/u16-is-cased: New file.
30481
30482         New module 'unicase/u8-is-cased'.
30483         * lib/unicase/u8-is-cased.c: New file.
30484         * lib/unicase/u-is-cased.h: New file.
30485         * modules/unicase/u8-is-cased: New file.
30486
30487         Tests for module 'unicase/u32-is-casefolded'.
30488         * modules/unicase/u32-is-casefolded-tests: New file.
30489         * tests/unicase/test-u32-is-casefolded.c: New file.
30490
30491         Tests for module 'unicase/u16-is-casefolded'.
30492         * modules/unicase/u16-is-casefolded-tests: New file.
30493         * tests/unicase/test-u16-is-casefolded.c: New file.
30494
30495         Tests for module 'unicase/u8-is-casefolded'.
30496         * modules/unicase/u8-is-casefolded-tests: New file.
30497         * tests/unicase/test-u8-is-casefolded.c: New file.
30498         * tests/unicase/test-is-casefolded.h: New file.
30499
30500         New module 'unicase/u32-is-casefolded'.
30501         * lib/unicase/u32-is-casefolded.c: New file.
30502         * modules/unicase/u32-is-casefolded: New file.
30503
30504         New module 'unicase/u16-is-casefolded'.
30505         * lib/unicase/u16-is-casefolded.c: New file.
30506         * modules/unicase/u16-is-casefolded: New file.
30507
30508         New module 'unicase/u8-is-casefolded'.
30509         * lib/unicase/u8-is-casefolded.c: New file.
30510         * modules/unicase/u8-is-casefolded: New file.
30511
30512         Tests for module 'unicase/u32-is-titlecase'.
30513         * modules/unicase/u32-is-titlecase-tests: New file.
30514         * tests/unicase/test-u32-is-titlecase.c: New file.
30515
30516         Tests for module 'unicase/u16-is-titlecase'.
30517         * modules/unicase/u16-is-titlecase-tests: New file.
30518         * tests/unicase/test-u16-is-titlecase.c: New file.
30519
30520         Tests for module 'unicase/u8-is-titlecase'.
30521         * modules/unicase/u8-is-titlecase-tests: New file.
30522         * tests/unicase/test-u8-is-titlecase.c: New file.
30523         * tests/unicase/test-is-titlecase.h: New file.
30524
30525         New module 'unicase/u32-is-titlecase'.
30526         * lib/unicase/u32-is-titlecase.c: New file.
30527         * modules/unicase/u32-is-titlecase: New file.
30528
30529         New module 'unicase/u16-is-titlecase'.
30530         * lib/unicase/u16-is-titlecase.c: New file.
30531         * modules/unicase/u16-is-titlecase: New file.
30532
30533         New module 'unicase/u8-is-titlecase'.
30534         * lib/unicase/u8-is-titlecase.c: New file.
30535         * modules/unicase/u8-is-titlecase: New file.
30536
30537         Tests for module 'unicase/u32-is-lowercase'.
30538         * modules/unicase/u32-is-lowercase-tests: New file.
30539         * tests/unicase/test-u32-is-lowercase.c: New file.
30540
30541         Tests for module 'unicase/u16-is-lowercase'.
30542         * modules/unicase/u16-is-lowercase-tests: New file.
30543         * tests/unicase/test-u16-is-lowercase.c: New file.
30544
30545         Tests for module 'unicase/u8-is-lowercase'.
30546         * modules/unicase/u8-is-lowercase-tests: New file.
30547         * tests/unicase/test-u8-is-lowercase.c: New file.
30548         * tests/unicase/test-is-lowercase.h: New file.
30549
30550         New module 'unicase/u32-is-lowercase'.
30551         * lib/unicase/u32-is-lowercase.c: New file.
30552         * modules/unicase/u32-is-lowercase: New file.
30553
30554         New module 'unicase/u16-is-lowercase'.
30555         * lib/unicase/u16-is-lowercase.c: New file.
30556         * modules/unicase/u16-is-lowercase: New file.
30557
30558         New module 'unicase/u8-is-lowercase'.
30559         * lib/unicase/u8-is-lowercase.c: New file.
30560         * modules/unicase/u8-is-lowercase: New file.
30561
30562         Tests for module 'unicase/u32-is-uppercase'.
30563         * modules/unicase/u32-is-uppercase-tests: New file.
30564         * tests/unicase/test-u32-is-uppercase.c: New file.
30565
30566         Tests for module 'unicase/u16-is-uppercase'.
30567         * modules/unicase/u16-is-uppercase-tests: New file.
30568         * tests/unicase/test-u16-is-uppercase.c: New file.
30569
30570         Tests for module 'unicase/u8-is-uppercase'.
30571         * modules/unicase/u8-is-uppercase-tests: New file.
30572         * tests/unicase/test-u8-is-uppercase.c: New file.
30573         * tests/unicase/test-is-uppercase.h: New file.
30574
30575         New module 'unicase/u32-is-uppercase'.
30576         * lib/unicase/u32-is-uppercase.c: New file.
30577         * modules/unicase/u32-is-uppercase: New file.
30578
30579         New module 'unicase/u16-is-uppercase'.
30580         * lib/unicase/u16-is-uppercase.c: New file.
30581         * modules/unicase/u16-is-uppercase: New file.
30582
30583         New module 'unicase/u8-is-uppercase'.
30584         * lib/unicase/u8-is-uppercase.c: New file.
30585         * modules/unicase/u8-is-uppercase: New file.
30586
30587         New module 'unicase/u32-is-invariant'.
30588         * lib/unicase/u32-is-invariant.c: New file.
30589         * modules/unicase/u32-is-invariant: New file.
30590
30591         New module 'unicase/u16-is-invariant'.
30592         * lib/unicase/u16-is-invariant.c: New file.
30593         * modules/unicase/u16-is-invariant: New file.
30594
30595         New module 'unicase/u8-is-invariant'.
30596         * lib/unicase/u8-is-invariant.c: New file.
30597         * lib/unicase/invariant.h: New file.
30598         * lib/unicase/u-is-invariant.h: New file.
30599         * modules/unicase/u8-is-invariant: New file.
30600
30601         Tests for module 'unicase/u32-casecoll'.
30602         * modules/unicase/u32-casecoll-tests: New file.
30603         * tests/unicase/test-u32-casecoll.c: New file.
30604
30605         Tests for module 'unicase/u16-casecoll'.
30606         * modules/unicase/u16-casecoll-tests: New file.
30607         * tests/unicase/test-u16-casecoll.c: New file.
30608
30609         Tests for module 'unicase/u8-casecoll'.
30610         * modules/unicase/u8-casecoll-tests: New file.
30611         * tests/unicase/test-u8-casecoll.c: New file.
30612
30613         New module 'unicase/u32-casecoll'.
30614         * lib/unicase/u32-casecoll.c: New file.
30615         * modules/unicase/u32-casecoll: New file.
30616
30617         New module 'unicase/u16-casecoll'.
30618         * lib/unicase/u16-casecoll.c: New file.
30619         * modules/unicase/u16-casecoll: New file.
30620
30621         New module 'unicase/u8-casecoll'.
30622         * lib/unicase/u8-casecoll.c: New file.
30623         * lib/unicase/u-casecoll.h: New file.
30624         * modules/unicase/u8-casecoll: New file.
30625
30626         New module 'unicase/u32-casexfrm'.
30627         * lib/unicase/u32-casexfrm.c: New file.
30628         * modules/unicase/u32-casexfrm: New file.
30629
30630         New module 'unicase/u16-casexfrm'.
30631         * lib/unicase/u16-casexfrm.c: New file.
30632         * modules/unicase/u16-casexfrm: New file.
30633
30634         New module 'unicase/u8-casexfrm'.
30635         * lib/unicase/u8-casexfrm.c: New file.
30636         * lib/unicase/u-casexfrm.h: New file.
30637         * modules/unicase/u8-casexfrm: New file.
30638
30639         Tests for module 'unicase/u32-casecmp'.
30640         * modules/unicase/u32-casecmp-tests: New file.
30641         * tests/unicase/test-u32-casecmp.c: New file.
30642
30643         Tests for module 'unicase/u16-casecmp'.
30644         * modules/unicase/u16-casecmp-tests: New file.
30645         * tests/unicase/test-u16-casecmp.c: New file.
30646
30647         Tests for module 'unicase/u8-casecmp'.
30648         * modules/unicase/u8-casecmp-tests: New file.
30649         * tests/unicase/test-u8-casecmp.c: New file.
30650         * tests/unicase/test-casecmp.h: New file.
30651
30652         New module 'unicase/u32-casecmp'.
30653         * lib/unicase/u32-casecmp.c: New file.
30654         * modules/unicase/u32-casecmp: New file.
30655
30656         New module 'unicase/u16-casecmp'.
30657         * lib/unicase/u16-casecmp.c: New file.
30658         * modules/unicase/u16-casecmp: New file.
30659
30660         New module 'unicase/u8-casecmp'.
30661         * lib/unicase/u8-casecmp.c: New file.
30662         * lib/unicase/u-casecmp.h: New file.
30663         * modules/unicase/u8-casecmp: New file.
30664
30665         Tests for module 'unicase/u32-casefold'.
30666         * modules/unicase/u32-casefold-tests: New file.
30667         * tests/unicase/test-u32-casefold.c: New file.
30668
30669         Tests for module 'unicase/u16-casefold'.
30670         * modules/unicase/u16-casefold-tests: New file.
30671         * tests/unicase/test-u16-casefold.c: New file.
30672
30673         Tests for module 'unicase/u8-casefold'.
30674         * modules/unicase/u8-casefold-tests: New file.
30675         * tests/unicase/test-u8-casefold.c: New file.
30676
30677         New module 'unicase/u32-casefold'.
30678         * lib/unicase/u32-casefold.c: New file.
30679         * modules/unicase/u32-casefold: New file.
30680
30681         New module 'unicase/u16-casefold'.
30682         * lib/unicase/u16-casefold.c: New file.
30683         * modules/unicase/u16-casefold: New file.
30684
30685         New module 'unicase/u8-casefold'.
30686         * lib/unicase/u8-casefold.c: New file.
30687         * lib/unicase/u-casefold.h: New file.
30688         * modules/unicase/u8-casefold: New file.
30689
30690         New module 'unicase/tocasefold'.
30691         * lib/unicase/casefold.h: New file.
30692         * lib/unicase/tocasefold.c: New file.
30693         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
30694         * modules/unicase/tocasefold: New file.
30695
30696         Tests for module 'unicase/u32-totitle'.
30697         * modules/unicase/u32-totitle-tests: New file.
30698         * tests/unicase/test-u32-totitle.c: New file.
30699
30700         Tests for module 'unicase/u16-totitle'.
30701         * modules/unicase/u16-totitle-tests: New file.
30702         * tests/unicase/test-u16-totitle.c: New file.
30703
30704         Tests for module 'unicase/u8-totitle'.
30705         * modules/unicase/u8-totitle-tests: New file.
30706         * tests/unicase/test-u8-totitle.c: New file.
30707
30708         New module 'unicase/u32-totitle'.
30709         * lib/unicase/u32-totitle.c: New file.
30710         * modules/unicase/u32-totitle: New file.
30711
30712         New module 'unicase/u16-totitle'.
30713         * lib/unicase/u16-totitle.c: New file.
30714         * modules/unicase/u16-totitle: New file.
30715
30716         New module 'unicase/u8-totitle'.
30717         * lib/unicase/u8-totitle.c: New file.
30718         * lib/unicase/u-totitle.h: New file.
30719         * modules/unicase/u8-totitle: New file.
30720
30721         Tests for module 'unicase/u32-tolower'.
30722         * modules/unicase/u32-tolower-tests: New file.
30723         * tests/unicase/test-u32-tolower.c: New file.
30724
30725         Tests for module 'unicase/u16-tolower'.
30726         * modules/unicase/u16-tolower-tests: New file.
30727         * tests/unicase/test-u16-tolower.c: New file.
30728
30729         Tests for module 'unicase/u8-tolower'.
30730         * modules/unicase/u8-tolower-tests: New file.
30731         * tests/unicase/test-u8-tolower.c: New file.
30732
30733         New module 'unicase/u32-tolower'.
30734         * lib/unicase/u32-tolower.c: New file.
30735         * modules/unicase/u32-tolower: New file.
30736
30737         New module 'unicase/u16-tolower'.
30738         * lib/unicase/u16-tolower.c: New file.
30739         * modules/unicase/u16-tolower: New file.
30740
30741         New module 'unicase/u8-tolower'.
30742         * lib/unicase/u8-tolower.c: New file.
30743         * modules/unicase/u8-tolower: New file.
30744
30745         Tests for module 'unicase/u32-toupper'.
30746         * modules/unicase/u32-toupper-tests: New file.
30747         * tests/unicase/test-u32-toupper.c: New file.
30748
30749         Tests for module 'unicase/u16-toupper'.
30750         * modules/unicase/u16-toupper-tests: New file.
30751         * tests/unicase/test-u16-toupper.c: New file.
30752
30753         Tests for module 'unicase/u8-toupper'.
30754         * modules/unicase/u8-toupper-tests: New file.
30755         * tests/unicase/test-u8-toupper.c: New file.
30756
30757         New module 'unicase/u32-toupper'.
30758         * lib/unicase/u32-toupper.c: New file.
30759         * modules/unicase/u32-toupper: New file.
30760
30761         New module 'unicase/u16-toupper'.
30762         * lib/unicase/u16-toupper.c: New file.
30763         * modules/unicase/u16-toupper: New file.
30764
30765         New module 'unicase/u8-toupper'.
30766         * lib/unicase/u8-toupper.c: New file.
30767         * modules/unicase/u8-toupper: New file.
30768
30769         New module 'unicase/u32-casemap'.
30770         * lib/unicase/u32-casemap.c: New file.
30771         * modules/unicase/u32-casemap: New file.
30772
30773         New module 'unicase/u16-casemap'.
30774         * lib/unicase/u16-casemap.c: New file.
30775         * modules/unicase/u16-casemap: New file.
30776
30777         New module 'unicase/u8-casemap'.
30778         * lib/unicase/unicasemap.h: New file.
30779         * lib/unicase/u8-casemap.c: New file.
30780         * lib/unicase/u-casemap.h: New file.
30781         * modules/unicase/u8-casemap: New file.
30782
30783         New module 'unicase/special-casing'.
30784         * lib/unicase/special-casing.h: New file.
30785         * lib/unicase/special-casing.c: New file.
30786         * lib/unicase/special-casing-table.gperf: New file, generated by
30787         gen-uni-tables.c.
30788         * modules/unicase/special-casing: New file.
30789
30790         Tests for module 'unicase/locale-language'.
30791         * modules/unicase/locale-language-tests: New file.
30792         * tests/unicase/test-locale-language.sh: New file.
30793         * tests/unicase/test-locale-language.c: New file.
30794
30795         New module 'unicase/locale-language'.
30796         * lib/unicase/locale-language.c: New file.
30797         * lib/unicase/locale-languages.gperf: New file.
30798         * modules/unicase/locale-language: New file.
30799
30800         Generate more tables for case conversion and case folding.
30801         * lib/gen-uni-tables.c (SCC_*): New enum items.
30802         (struct special_casing_rule): New type.
30803         (casing_rules, num_casing_rules, allocated_casing_rules): New
30804         variables.
30805         (add_casing_rule, fill_casing_rules): New functions.
30806         (struct casefold_rule): New type.
30807         (casefolding_rules, num_casefolding_rules,
30808         allocated_casefolding_rules): New variables.
30809         (fill_casefolding_rules): New function.
30810         (unicode_casefold): New variable.
30811         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
30812         sort_casing_rules, output_casing_rules): New functions.
30813         (main): Accept to more arguments: SpecialCasing.txt and
30814         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
30815         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
30816         Output mapping for casefolding.
30817
30818         * lib/unicase.h: Include stdbool.h, uninorm.h.
30819         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
30820         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
30821         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
30822         arguments.
30823         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
30824         resultp arguments.
30825         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
30826         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
30827         resultp arguments.
30828         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
30829         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
30830         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
30831         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
30832         declarations.
30833         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
30834
30835 2009-03-08  Bruno Haible  <bruno@clisp.org>
30836
30837         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30838         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
30839         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
30840         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30841
30842 2009-03-07  Bruno Haible  <bruno@clisp.org>
30843
30844         Adjust u*_normcmp, u*_normcoll API.
30845         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30846         u16_normcoll, u32_normcoll): Change failure conventions.
30847         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
30848         errno and return -1.
30849         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30850
30851 2009-03-07  Bruno Haible  <bruno@clisp.org>
30852
30853         Tests for module 'uninorm/u32-normcoll'.
30854         * modules/uninorm/u32-normcoll-tests: New file.
30855         * tests/uninorm/test-u32-normcoll.c: New file.
30856
30857         Tests for module 'uninorm/u16-normcoll'.
30858         * modules/uninorm/u16-normcoll-tests: New file.
30859         * tests/uninorm/test-u16-normcoll.c: New file.
30860
30861         Tests for module 'uninorm/u8-normcoll'.
30862         * modules/uninorm/u8-normcoll-tests: New file.
30863         * tests/uninorm/test-u8-normcoll.c: New file.
30864
30865 2009-03-07  Bruno Haible  <bruno@clisp.org>
30866
30867         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
30868         tests/uninorm/test-u32-normcmp.c.
30869         * tests/uninorm/test-u32-normcmp.c: Include it.
30870         (test_nonascii): New function, extracted from main. Add some more
30871         tests.
30872         (main): Invoke test_ascii and test_nonascii.
30873         * modules/uninorm/u32-normcmp-tests (Files): Add
30874         tests/uninorm/test-u32-normcmp.h.
30875         (Depends-on): Remove uninorm/u32-normcmp.
30876
30877         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
30878         tests/uninorm/test-u16-normcmp.c.
30879         * tests/uninorm/test-u16-normcmp.c: Include it.
30880         (test_nonascii): New function, extracted from main. Add some more
30881         tests.
30882         (main): Invoke test_ascii and test_nonascii.
30883         * modules/uninorm/u16-normcmp-tests (Files): Add
30884         tests/uninorm/test-u16-normcmp.h.
30885         (Depends-on): Remove uninorm/u16-normcmp.
30886
30887         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
30888         tests/uninorm/test-u8-normcmp.c.
30889         * tests/uninorm/test-u8-normcmp.c: Include it.
30890         (test_nonascii): New function, extracted from main. Add some more
30891         tests.
30892         (main): Invoke test_ascii and test_nonascii.
30893         * modules/uninorm/u8-normcmp-tests (Files): Add
30894         tests/uninorm/test-u8-normcmp.h.
30895         (Depends-on): Remove uninorm/u8-normcmp.
30896
30897 2009-03-07  Bruno Haible  <bruno@clisp.org>
30898
30899         New module 'uninorm/u32-normcoll'.
30900         * lib/uninorm/u32-normcoll.c: New file.
30901         * modules/uninorm/u32-normcoll: New file.
30902
30903         New module 'uninorm/u16-normcoll'.
30904         * lib/uninorm/u16-normcoll.c: New file.
30905         * modules/uninorm/u16-normcoll: New file.
30906
30907         New module 'uninorm/u8-normcoll'.
30908         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
30909         declarations.
30910         * lib/uninorm/u8-normcoll.c: New file.
30911         * lib/uninorm/u-normcoll.h: New file.
30912         * modules/uninorm/u8-normcoll: New file.
30913
30914         New module 'uninorm/u32-normxfrm'.
30915         * lib/uninorm/u32-normxfrm.c: New file.
30916         * modules/uninorm/u32-normxfrm: New file.
30917
30918         New module 'uninorm/u16-normxfrm'.
30919         * lib/uninorm/u16-normxfrm.c: New file.
30920         * modules/uninorm/u16-normxfrm: New file.
30921
30922         New module 'uninorm/u8-normxfrm'.
30923         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
30924         declarations.
30925         * lib/uninorm/u8-normxfrm.c: New file.
30926         * lib/uninorm/u-normxfrm.h: New file.
30927         * modules/uninorm/u8-normxfrm: New file.
30928
30929 2009-03-07  Bruno Haible  <bruno@clisp.org>
30930
30931         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
30932         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
30933         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
30934
30935 2009-03-07  Bruno Haible  <bruno@clisp.org>
30936
30937         New module 'memxfrm'.
30938         * lib/memxfrm.h: New file.
30939         * lib/memxfrm.c: New file.
30940         * modules/memxfrm: New file.
30941
30942 2009-03-07  Bruno Haible  <bruno@clisp.org>
30943
30944         New module 'memcmp2'.
30945         * lib/memcmp2.h: New file.
30946         * lib/memcmp2.c: New file.
30947         * modules/memcmp2: New file.
30948
30949 2009-03-07  Bruno Haible  <bruno@clisp.org>
30950
30951         Tests for module 'uninorm/decomposing-form'.
30952         * modules/uninorm/decomposing-form-tests: New file.
30953         * tests/uninorm/test-decomposing-form.c: New file.
30954
30955         New module 'uninorm/decomposing-form'.
30956         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
30957         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
30958         Add 'decomposing_variant' field.
30959         * lib/uninorm/decomposing-form.c: New file.
30960         * lib/uninorm/nfc.c (uninorm_nfc): Update.
30961         * lib/uninorm/nfd.c (uninorm_nfd): Update.
30962         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
30963         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
30964         * modules/uninorm/decomposing-form: New file.
30965         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
30966         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
30967
30968 2009-03-07  Bruno Haible  <bruno@clisp.org>
30969
30970         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
30971         strings.
30972
30973 2009-03-06  Bruno Haible  <bruno@clisp.org>
30974
30975         Tests for module 'uninorm/u32-normcmp'.
30976         * tests/uninorm/test-u32-normcmp.c: New file.
30977         * modules/uninorm/u32-normcmp-tests: New file.
30978
30979         Tests for module 'uninorm/u16-normcmp'.
30980         * tests/uninorm/test-u16-normcmp.c: New file.
30981         * modules/uninorm/u16-normcmp-tests: New file.
30982
30983         Tests for module 'uninorm/u8-normcmp'.
30984         * tests/uninorm/test-u8-normcmp.c: New file.
30985         * modules/uninorm/u8-normcmp-tests: New file.
30986
30987         New module 'uninorm/u32-normcmp'.
30988         * lib/uninorm/u32-normcmp.c: New file.
30989         * modules/uninorm/u32-normcmp: New file.
30990
30991         New module 'uninorm/u16-normcmp'.
30992         * lib/uninorm/u16-normcmp.c: New file.
30993         * modules/uninorm/u16-normcmp: New file.
30994
30995         New module 'uninorm/u8-normcmp'.
30996         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
30997         declarations.
30998         * lib/uninorm/u8-normcmp.c: New file.
30999         * lib/uninorm/u-normcmp.h: New file.
31000         * modules/uninorm/u8-normcmp: New file.
31001
31002 2009-03-06  Bruno Haible  <bruno@clisp.org>
31003
31004         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
31005         Reported by Eric Blake.
31006
31007 2009-03-06  Eric Blake  <ebb9@byu.net>
31008             Bruno Haible  <bruno@clisp.org>
31009
31010         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
31011         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
31012         condition.
31013         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31014         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
31015         condition.
31016         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31017
31018 2009-03-06  Eric Blake  <ebb9@byu.net>
31019
31020         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
31021         to avoid compiler warnings.
31022         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
31023
31024 2009-03-05  Bruno Haible  <bruno@clisp.org>
31025
31026         * tests/test-ftell.c (main): Disable test beyond end of file on
31027         FreeMiNT.
31028         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31029
31030 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
31031
31032         * lib/filevercmp.c: Move hidden files up in ordering.
31033         * tests/test-filevercmp.c: Add tests for hidden files.
31034
31035 2009-03-04  Bruno Haible  <bruno@clisp.org>
31036
31037         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
31038         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
31039         AM_CFLAGS.
31040         Reported by Simon Josefsson.
31041
31042 2009-03-03  Bruno Haible  <bruno@clisp.org>
31043
31044         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
31045         Reported by Simon Josefsson.
31046
31047         * doc/ld-version-script.texi: Update node reference.
31048
31049 2009-03-03  Bruno Haible  <bruno@clisp.org>
31050
31051         * modules/visibility (License): Change to 'unlimited'.
31052         Suggested by Simon Josefsson.
31053
31054 2009-03-03  Jim Meyering  <meyering@redhat.com>
31055
31056         unlinkdir: cannot_unlink_dir may modify process state
31057         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
31058         it's neither thread-safe nor appropriate for use in a library.
31059
31060 2009-03-03  Eric Blake  <ebb9@byu.net>
31061
31062         test-closein: silence test under Darwin
31063         * tests/test-closein.sh: Ignore stderr from cat, since we don't
31064         care if it dies from EPIPE or EBADF.
31065
31066 2009-03-03  Bruno Haible  <bruno@clisp.org>
31067
31068         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
31069         earlier.
31070         * doc/visibility.texi: Fix @node and @section.
31071
31072 2009-03-03  Simon Josefsson  <simon@josefsson.org>
31073
31074         * doc/gnulib.texi: Link to sections for ld version script and
31075         visibility.
31076         * doc/visibility.texi: Add @node and @section.
31077         * modules/ld-version-script: New module.
31078         * m4/ld-version-script.m4: New file.
31079         * doc/ld-version-script.texi: New file.
31080
31081 2009-03-02  David Lutterkort  <lutter@redhat.com>
31082
31083         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
31084         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31085
31086 2009-03-02  Bruno Haible  <bruno@clisp.org>
31087
31088         * doc/visibility.texi: Mention libtool's -export-symbols option.
31089
31090 2009-03-02  Jim Meyering  <meyering@redhat.com>
31091
31092         announce-gen: new option: --no-print-checksums
31093         * build-aux/announce-gen (usage): Describe it.
31094         (print_checksums): Print a newline here, not in the [*] footnote.
31095         (main): Honor it.
31096
31097 2009-03-01  Bruno Haible  <bruno@clisp.org>
31098
31099         Use socklen_t in the native Windows replacements prototypes.
31100         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
31101         instead of 'int'.
31102         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31103         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31104         * modules/getsockopt (Depends-on): Add socklen.
31105         * modules/setsockopt (Depends-on): Add socklen.
31106
31107 2009-03-01  Bruno Haible  <bruno@clisp.org>
31108
31109         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
31110         least 4.2.
31111
31112 2009-03-01  Eric Blake  <ebb9@byu.net>
31113             Bruno Haible  <bruno@clisp.org>
31114
31115         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
31116         error messages.
31117         * lib/wait-process.c (wait_subprocess): Omit error message about
31118         deadly signal sent to the child of termsigp != NULL.
31119
31120 2009-03-01  Eric Blake  <ebb9@byu.net>
31121
31122         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
31123
31124 2009-03-01  Bruno Haible  <bruno@clisp.org>
31125
31126         Avoid a gcc warning.
31127         * tests/test-sched.c (b): Make global.
31128         Reported by Eric Blake.
31129
31130 2009-01-19  Martin Lambers  <marlam@marlam.de>
31131
31132         Provide POSIX semantics for socket timeout options on W32.
31133         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
31134         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
31135         * modules/setsockopt: Depend on sys_time module for struct timeval.
31136         * modules/getsockopt: Depend on sys_time module for struct timeval.
31137
31138 2009-03-01  Simon Josefsson  <simon@josefsson.org>
31139
31140         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
31141         __USE_GNU, for consistency with netdb.in.h.
31142         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31143
31144 2009-03-01  Bruno Haible  <bruno@clisp.org>
31145
31146         More support for FreeMiNT.
31147         * lib/fseeko.c (rpl_fseeko): Complete last commit.
31148         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31149
31150 2009-03-01  Bruno Haible  <bruno@clisp.org>
31151
31152         More support for FreeMiNT.
31153         * lib/fpurge.c (fpurge): Correct last commit.
31154         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31155
31156 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31157
31158         Fix unportable awk script in vc-list-files.
31159         * build-aux/vc-list-files: In the replacement awk script, use
31160         substr with a second argument of 1, not zero.
31161         Report by Simon Josefsson.
31162
31163 2009-02-28  Bruno Haible  <bruno@clisp.org>
31164
31165         More support for FreeMiNT.
31166         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
31167         to FreeMiNT today.
31168         * lib/fwriting.c (fwriting): Likewise.
31169         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
31170
31171 2009-02-28  Bruno Haible  <bruno@clisp.org>
31172
31173         * tests/test-freadseek.c (main): Disable test beyond end of file on
31174         FreeMiNT.
31175         * tests/test-ftello.c (main): Likewise.
31176         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31177
31178 2009-02-28  Bruno Haible  <bruno@clisp.org>
31179
31180         Add tentative support for FreeMiNT.
31181         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
31182         * lib/fpurge.c (fpurge): Likewise.
31183         * lib/freadable.c (freadable): Likewise.
31184         * lib/freading.c (freading): Likewise.
31185         * lib/freadptr.c (freadptr): Likewise.
31186         * lib/freadseek.c (freadptrinc): Likewise.
31187         * lib/fseeko.c (rpl_fseeko): Likewise.
31188         * lib/fseterr.c (fseterr): Likewise.
31189         * lib/fwritable.c (fwritable): Likewise.
31190         * lib/fwriting.c (fwriting): Likewise.
31191         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
31192         Hourihane.
31193         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31194
31195 2009-02-28  Bruno Haible  <bruno@clisp.org>
31196
31197         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
31198         SIGCHLD.
31199         Reported by Jim Meyering.
31200
31201 2009-02-28  Bruno Haible  <bruno@clisp.org>
31202
31203         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
31204         Mention the results of these tests on various platforms.
31205         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
31206         order.
31207         * doc/posix-functions/printf.texi: Likewise.
31208         * doc/posix-functions/snprintf.texi: Likewise.
31209         * doc/posix-functions/sprintf.texi: Likewise.
31210         * doc/posix-functions/vfprintf.texi: Likewise.
31211         * doc/posix-functions/vprintf.texi: Likewise.
31212         * doc/posix-functions/vsnprintf.texi: Likewise.
31213         * doc/posix-functions/vsprintf.texi: Likewise.
31214         * doc/glibc-functions/obstack_printf.texi: Likewise.
31215         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
31216
31217 2009-02-28  Bruno Haible  <bruno@clisp.org>
31218
31219         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
31220         Reported by Loïc Minier <lool@dooz.org>.
31221
31222 2009-02-27  Bruno Haible  <bruno@clisp.org>
31223
31224         * gnulib-tool (func_import): Make the sed expression used to create the
31225         sed script for updating the .gitignore file POSIX compliant.
31226         Reported by Eric Blake.
31227
31228 2009-02-27  Bruno Haible  <bruno@clisp.org>
31229
31230         * gnulib-tool (sed): Don't alias as "sed --posix".
31231         Reported by Eric Blake.
31232
31233 2009-02-27  Bruno Haible  <bruno@clisp.org>
31234
31235         Avoid test link errors.
31236         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
31237         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
31238         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
31239         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
31240         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31241
31242 2009-02-27  Bruno Haible  <bruno@clisp.org>
31243
31244         Avoid spurious "(cached)" in configure output.
31245         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
31246         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
31247         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31248         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31249         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31250         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31251         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31252         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31253         Reported by Eric Blake.
31254
31255 2009-02-27  Eric Blake  <ebb9@byu.net>
31256
31257         printf: fix regression in previous patch
31258         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
31259
31260 2009-02-27  Bruno Haible  <bruno@clisp.org>
31261
31262         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
31263         value.
31264         * lib/stdint.in.h: Likewise.
31265         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
31266
31267 2009-02-27  Eric Blake  <ebb9@byu.net>
31268
31269         doc: mention more functions added in cygwin 1.7.0
31270         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
31271         addition.
31272         * doc/posix-functions/open_wmemstream.texi: Likewise.
31273         * doc/posix-functions/wcsnlen.texi: Likewise.
31274         * doc/posix-functions/wcsnrtombs.texi: Likewise.
31275         * doc/posix-functions/wcstod.texi: Likewise.
31276         * doc/posix-functions/wcstof.texi: Likewise.
31277         * doc/posix-functions/wcstoimax.texi: Likewise.
31278         * doc/posix-functions/wcstok.texi: Likewise.
31279         * doc/posix-functions/wcstoumax.texi: Likewise.
31280
31281         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
31282         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
31283         * doc/posix-functions/fprintf.texi: Update.
31284         * doc/posix-functions/printf.texi: Update.
31285         * doc/posix-functions/snprintf.texi: Update.
31286         * doc/posix-functions/sprintf.texi: Update.
31287         * doc/posix-functions/vfprintf.texi: Update.
31288         * doc/posix-functions/vprintf.texi: Update.
31289         * doc/posix-functions/vsnprintf.texi: Update.
31290         * doc/posix-functions/vsprintf.texi: Update.
31291         * doc/glibc-functions/obstack_printf.texi: Update.
31292         * doc/glibc-functions/obstack_vprintf.texi: Update.
31293
31294 2009-02-26  Eric Blake  <ebb9@byu.net>
31295
31296         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
31297         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
31298         compilation bug by using runtime conversion.
31299         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31300         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
31301         * modules/ceill-tests (Files): Use nan.h.
31302         * modules/floorl-tests (Files): Likewise.
31303         * modules/frexpl-tests (Files): Likewise.
31304         * modules/isnanl-tests (Files): Likewise.
31305         * modules/ldexpl-tests (Files): Likewise.
31306         * modules/roundl-tests (Files): Likewise.
31307         * modules/truncl-tests (Files): Likewise.
31308         * tests/test-ceill.c (main): Use a working NaN.
31309         * tests/test-floorl.c (main): Likewise.
31310         * tests/test-frexpl.c (main): Likewise.
31311         * tests/test-isnan.c (test_long_double): Likewise.
31312         * tests/test-isnanl.h (main): Likewise.
31313         * tests/test-ldexpl.h (main): Likewise.
31314         * tests/test-roundl.h (main): Likewise.
31315         * tests/test-truncl.h (main): Likewise.
31316         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
31317
31318 2009-02-26  Eric Blake  <ebb9@byu.net>
31319             Bruno Haible  <bruno@clisp.org>
31320
31321         Work around a *printf bug with %ls on Solaris.
31322         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
31323         precision is specified, sprintf stops converting the wide string
31324         argument when the number of bytes that have been produced by this
31325         conversion equals or exceeds the precision.
31326         * doc/posix-functions/fprintf.texi: Update.
31327         * doc/posix-functions/printf.texi: Update.
31328         * doc/posix-functions/snprintf.texi: Update.
31329         * doc/posix-functions/sprintf.texi: Update.
31330         * doc/posix-functions/vfprintf.texi: Update.
31331         * doc/posix-functions/vprintf.texi: Update.
31332         * doc/posix-functions/vsnprintf.texi: Update.
31333         * doc/posix-functions/vsprintf.texi: Update.
31334         * doc/glibc-functions/obstack_printf.texi: Update.
31335         * doc/glibc-functions/obstack_vprintf.texi: Update.
31336
31337 2009-02-26  Eric Blake  <ebb9@byu.net>
31338
31339         stdlib: favor compiler check of random.h
31340         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
31341         to avoid an ObjC random.h installed by Swarm.
31342
31343 2009-02-26  Bruno Haible  <bruno@clisp.org>
31344
31345         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
31346         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
31347         Reported by Gary V. Vaughan <gary@gnu.org>.
31348
31349 2009-02-26  Bruno Haible  <bruno@clisp.org>
31350
31351         Fix *printf behaviour regarding the %ls directive.
31352         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
31353         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
31354         NEED_PRINTF_DIRECTIVE_LS.
31355         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
31356         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31357         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31358         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
31359         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
31360         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
31361         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
31362         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31363         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31364         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31365         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31366         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
31367         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31368         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31369         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31370         * doc/posix-functions/fprintf.texi: Update.
31371         * doc/posix-functions/printf.texi: Update.
31372         * doc/posix-functions/snprintf.texi: Update.
31373         * doc/posix-functions/sprintf.texi: Update.
31374         * doc/posix-functions/vfprintf.texi: Update.
31375         * doc/posix-functions/vprintf.texi: Update.
31376         * doc/posix-functions/vsnprintf.texi: Update.
31377         * doc/posix-functions/vsprintf.texi: Update.
31378         * doc/glibc-functions/obstack_printf.texi: Update.
31379         * doc/glibc-functions/obstack_vprintf.texi: Update.
31380         Reported by Eric Blake.
31381
31382 2009-02-25  Bruno Haible  <bruno@clisp.org>
31383
31384         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
31385         with known value.
31386         Reported by Gary V. Vaughan <gary@gnu.org>.
31387
31388 2009-02-25  Bruno Haible  <bruno@clisp.org>
31389
31390         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
31391         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
31392         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
31393         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
31394         Reported by Gary V. Vaughan <gary@gnu.org>.
31395
31396 2009-02-25  Bruno Haible  <bruno@clisp.org>
31397
31398         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
31399         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
31400         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
31401         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
31402         Reported by Gary V. Vaughan <gary@gnu.org>.
31403
31404 2009-02-25  Eric Blake  <ebb9@byu.net>
31405
31406         tests: skip fseek/ftell tests if ungetc is broken
31407         * m4/ungetc.m4: New file.
31408         * modules/fseek-tests: Split test, so ungetc dependency is
31409         separate from rest of test.
31410         * modules/fseeko-tests: Likewise.
31411         * modules/ftell-tests: Likewise.
31412         * modules/ftello-tests: Likewise.
31413         * tests/test-fseek.c (main): Isolate ungetc dependency.
31414         * tests/test-fseeko.c (main): Likewise.
31415         * tests/test-ftell.c (main): Likewise.
31416         * tests/test-ftello.c (main): Likewise.
31417         * tests/test-fseek2.sh: New file.
31418         * tests/test-fseeko2.sh: Likewise.
31419         * tests/test-ftell2.sh: Likewise.
31420         * tests/test-ftello2.sh: Likewise.
31421
31422 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
31423
31424         test-getaddrinfo: fix usage of skip return code 77
31425         * tests/test-gettaddrinfo.c: Return skip code 77 only
31426         for first occurance of skip (4x77 is not 77)
31427
31428 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
31429
31430         strtod: avoid C99 decl-after-statement
31431         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
31432
31433 2009-02-24  Eric Blake  <ebb9@byu.net>
31434
31435         strtod: detect HP-UX 11.31 bug
31436         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
31437         Reported by Gary V. Vaughan.
31438
31439 2009-02-23  Bruno Haible  <bruno@clisp.org>
31440
31441         Fix invalid read past end of memory block.
31442         * lib/vasnprintf.c (DCHAR_SET): Define.
31443         (local_wcslen): Define only when needed.
31444         (local_strnlen, local_wcsnlen): New functions.
31445         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
31446         directives that involve a conversion ourselves.
31447         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
31448         wcsnlen, mbrtowc, wcrtomb.
31449         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
31450         * tests/test-vasprintf-posix.c (test_function): Likewise.
31451         * tests/test-snprintf-posix.h (test_function): Likewise.
31452         * tests/test-sprintf-posix.h (test_function): Likewise.
31453         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31454
31455 2009-02-22  Bruno Haible  <bruno@clisp.org>
31456
31457         Implement new clarified decomposition of Hangul syllables.
31458         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
31459         of type LTV, return only a pairwise decomposition.
31460         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
31461         Likewise.
31462         * tests/uninorm/test-decomposition.c (main): Updated expected result.
31463         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
31464         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
31465
31466 2009-02-22  Bruno Haible  <bruno@clisp.org>
31467
31468         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
31469         zero-length results and shrink excess allocated memory.
31470         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
31471         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
31472         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
31473         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
31474         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
31475         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
31476         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
31477         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
31478         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
31479         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
31480         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
31481         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
31482
31483 2009-02-21  Bruno Haible  <bruno@clisp.org>
31484
31485         * doc/gnulib.texi: Include safe-alloc.texi earlier.
31486         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
31487         spaces after a period. Put a space between a macro name and its
31488         argument list. Trivial rewordings.
31489         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
31490         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
31491         (main): Return 0 explicitly.
31492
31493 2009-02-21  Bruno Haible  <bruno@clisp.org>
31494
31495         Tests for module 'uninorm/filter'.
31496         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
31497         * modules/uninorm/filter-tests: New file.
31498
31499         New module 'uninorm/filter'.
31500         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
31501         uninorm_filter_flush, uninorm_filter_free): New declarations.
31502         * lib/uninorm/uninorm-filter.c: New file.
31503         * modules/uninorm/filter: New file.
31504
31505 2009-02-21  Bruno Haible  <bruno@clisp.org>
31506
31507         Tests for module 'uninorm/nfkc'.
31508         * tests/uninorm/test-nfkc.c: New file.
31509         * tests/uninorm/test-u8-nfkc.c: New file.
31510         * tests/uninorm/test-u16-nfkc.c: New file.
31511         * tests/uninorm/test-u32-nfkc.c: New file.
31512         * tests/uninorm/test-u32-nfkc-big.sh: New file.
31513         * tests/uninorm/test-u32-nfkc-big.c: New file.
31514         * modules/uninorm/nfkc-tests: New file.
31515
31516         New module 'uninorm/nfkc'.
31517         * lib/uninorm/nfkc.c: New file.
31518         * modules/uninorm/nfkc: New file.
31519
31520         Tests for module 'uninorm/nfkd'.
31521         * tests/uninorm/test-nfkd.c: New file.
31522         * tests/uninorm/test-u8-nfkd.c: New file.
31523         * tests/uninorm/test-u16-nfkd.c: New file.
31524         * tests/uninorm/test-u32-nfkd.c: New file.
31525         * tests/uninorm/test-u32-nfkd-big.sh: New file.
31526         * tests/uninorm/test-u32-nfkd-big.c: New file.
31527         * modules/uninorm/nfkd-tests: New file.
31528
31529         New module 'uninorm/nfkd'.
31530         * lib/uninorm/nfkd.c: New file.
31531         * modules/uninorm/nfkd: New file.
31532
31533         Tests for module 'uninorm/nfc'.
31534         * tests/uninorm/test-nfc.c: New file.
31535         * tests/uninorm/test-u8-nfc.c: New file.
31536         * tests/uninorm/test-u16-nfc.c: New file.
31537         * tests/uninorm/test-u32-nfc.c: New file.
31538         * tests/uninorm/test-u32-nfc-big.sh: New file.
31539         * tests/uninorm/test-u32-nfc-big.c: New file.
31540         * modules/uninorm/nfc-tests: New file.
31541
31542         New module 'uninorm/nfc'.
31543         * lib/uninorm/nfc.c: New file.
31544         * modules/uninorm/nfc: New file.
31545
31546         Tests for module 'uninorm/nfd'.
31547         * tests/uninorm/test-nfd.c: New file.
31548         * tests/uninorm/test-u8-nfd.c: New file.
31549         * tests/uninorm/test-u16-nfd.c: New file.
31550         * tests/uninorm/test-u32-nfd.c: New file.
31551         * tests/uninorm/test-u32-nfd-big.sh: New file.
31552         * tests/uninorm/test-u32-nfd-big.c: New file.
31553         * tests/uninorm/test-u32-normalize-big.h: New file.
31554         * tests/uninorm/test-u32-normalize-big.c: New file.
31555         * tests/uninorm/NormalizationTest.txt: New file, created from
31556         Unicode 5.1.0 NormalizationTest.txt.
31557         * modules/uninorm/nfd-tests: New file.
31558
31559         New module 'uninorm/nfd'.
31560         * lib/uninorm/nfd.c: New file.
31561         * modules/uninorm/nfd: New file.
31562
31563         New module 'uninorm/u32-normalize'.
31564         * lib/uninorm/u32-normalize.c: New file.
31565         * modules/uninorm/u32-normalize: New file.
31566
31567         New module 'uninorm/u16-normalize'.
31568         * lib/uninorm/u16-normalize.c: New file.
31569         * modules/uninorm/u16-normalize: New file.
31570
31571         New module 'uninorm/u8-normalize'.
31572         * lib/uninorm/u8-normalize.c: New file.
31573         * lib/uninorm/normalize-internal.h: New file.
31574         * lib/uninorm/u-normalize-internal.h: New file.
31575         * modules/uninorm/u8-normalize: New file.
31576
31577         New module 'uninorm/decompose-internal'.
31578         * lib/uninorm/decompose-internal.c: New file.
31579         * modules/uninorm/decompose-internal: New file.
31580
31581         Tests for module 'uninorm/composition'.
31582         * tests/uninorm/test-composition.c: New file.
31583         * modules/uninorm/composition-tests: New file.
31584
31585         New module 'uninorm/composition'.
31586         * lib/uninorm/composition.c: New file.
31587         * lib/uninorm/composition-table.gperf: New file, generated by
31588         gen-uni-tables.
31589         * modules/uninorm/composition: New file.
31590
31591         Tests for module 'uninorm/compat-decomposition'.
31592         * tests/uninorm/test-compat-decomposition.c: New file.
31593         * modules/uninorm/compat-decomposition-tests: New file.
31594
31595         New module 'uninorm/compat-decomposition'.
31596         * lib/uninorm/decompose-internal.h: New file.
31597         * lib/uninorm/compat-decomposition.c: New file.
31598         * modules/uninorm/compat-decomposition: New file.
31599
31600         Tests for module 'uninorm/canonical-decomposition'.
31601         * tests/uninorm/test-canonical-decomposition.c: New file.
31602         * modules/uninorm/canonical-decomposition-tests: New file.
31603
31604         New module 'uninorm/canonical-decomposition'.
31605         * lib/uninorm/canonical-decomposition.c: New file.
31606         * modules/uninorm/canonical-decomposition: New file.
31607
31608         Tests for module 'uninorm/decomposition'.
31609         * tests/uninorm/test-decomposition.c: New file.
31610         * modules/uninorm/decomposition-tests: New file.
31611
31612         New module 'uninorm/decomposition'.
31613         * lib/uninorm/decomposition.c: New file.
31614         * modules/uninorm/decomposition: New file.
31615
31616         New module 'uninorm/decomposition-table'.
31617         * lib/uninorm/decomposition-table.h: New file.
31618         * lib/uninorm/decomposition-table.c: New file.
31619         * lib/uninorm/decomposition-table1.h: New file, generated by
31620         gen-uni-tables.
31621         * lib/uninorm/decomposition-table2.h: New file, generated by
31622         gen-uni-tables.
31623         * modules/uninorm/decomposition-table: New file.
31624
31625         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
31626         (UC_DECOMP_*): New enumeration items.
31627         (get_decomposition): New function.
31628         (struct decomp_table): New type.
31629         (output_decomposition, output_decomposition_tables): New functions.
31630         (unicode_composition_exclusions): New variable.
31631         (fill_composition_exclusions, debug_output_composition_tables): New
31632         functions.
31633         (main): Accept one more argument. Invoke fill_composition_exclusions.
31634         Output decomposition and composition tables.
31635
31636         New module 'uninorm/base'.
31637         * lib/uninorm.h: New file.
31638         * lib/unictype.h: Update comment.
31639         * modules/uninorm/base: New file.
31640
31641 2009-02-21  David Lutterkort  <lutter@redhat.com>
31642
31643         Tests for module 'safe-alloc'.
31644         * tests/test-safe-alloc.c: New file.
31645         * modules/safe-alloc-tests: New file.
31646
31647         New module 'safe-alloc'.
31648         * lib/safe-alloc.h: New file.
31649         * lib/safe-alloc.c: New file.
31650         * m4/safe-alloc.m4: New file.
31651         * modules/safe-alloc: New file.
31652         * doc/safe-alloc.texi: New file.
31653         * doc/gnulib.texi: Include it.
31654         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
31655         safe-alloc.
31656
31657 2009-02-18  Bruno Haible  <bruno@clisp.org>
31658
31659         Fix link error on non-glibc systems.
31660         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
31661         variable.
31662         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31663
31664 2009-02-18  Jim Meyering  <meyering@redhat.com>
31665
31666         fts: avoid used-uninitialized error due to recent change
31667         * lib/fts.c (fts_read): Guard uses of the new member,
31668         parent->fts_n_dirs_remaining, since it's not relevant for
31669         the parent of a directory specified on the command-line.
31670
31671 2009-02-17  James Youngman  <jay@gnu.org>
31672             Bruno Haible  <bruno@clisp.org>
31673
31674         * m4/include_next.m4: Reformulate comment.
31675
31676 2009-02-16  Jim Meyering  <meyering@redhat.com>
31677
31678         fts: add #if guards so that the fts_lgpl module still builds
31679         * lib/fts.c: Guard just-added hash-table-using parts with
31680         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
31681         Reported by Simon Josefsson.
31682
31683 2009-02-15  Bruno Haible  <bruno@clisp.org>
31684
31685         * modules/array-mergesort-tests: New file.
31686         * tests/test-array-mergesort.c: New file.
31687
31688         New module 'array-mergesort'.
31689         * modules/array-mergesort: New file.
31690         * lib/array-mergesort.h: New file.
31691
31692 2009-02-15  Bruno Haible  <bruno@clisp.org>
31693
31694         Fix 2009-02-07 commit.
31695         * lib/gen-uni-tables.c (output_predicate, output_category,
31696         output_combclass, output_bidi_category, output_decimal_digit,
31697         output_digit, output_numeric, output_mirror, output_scripts,
31698         output_ident_category, output_simple_mapping): Fix format directives.
31699         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
31700
31701 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
31702
31703         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
31704         fixes are available from IBM.
31705
31706 2009-02-13  Jim Meyering  <meyering@redhat.com>
31707
31708         fts: arrange not to stat non-directories in more cases
31709         This makes GNU find (when it doesn't need to stat each file)
31710         *much* more efficient at traversing reiserfs file systems.
31711         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
31712         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
31713         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
31714         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
31715         (leaf_optimization_applies): New function.
31716         (LCO_hash, LCO_compare): New helper functions.
31717         (link_count_optimize_ok): New function.
31718         (fts_stat): Initialize new member (if dir).
31719         (fts_read): Decrement parent's fts_n_dirs_remaining count if
31720         we've just stat'ed a directory.  Skip the stat call when possible.
31721         ---
31722         Note this AFS-related exchange:
31723         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
31724         and note find's pioctl call in find/fstype.c.
31725         But that is necessary only if you want to enable the
31726         optimization for AFS, and for now, I don't.
31727
31728         fts: move a function definition "up" (no semantic change)
31729         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
31730         "up" to precede upcoming use of a related function.
31731
31732 2009-02-11  Jim Meyering  <meyering@redhat.com>
31733
31734         fts: correct internal computation of nlinks (optimization-related)
31735         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
31736         whether the current entry is a directory, so don't test it.
31737
31738 2009-02-10  Bruno Haible  <bruno@clisp.org>
31739
31740         Tests for module 'uniwbrk/ulc-wordbreaks'.
31741         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
31742         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
31743         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
31744
31745         Tests for module 'uniwbrk/u32-wordbreaks'.
31746         * modules/uniwbrk/u32-wordbreaks-tests: New file.
31747         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
31748
31749         Tests for module 'uniwbrk/u16-wordbreaks'.
31750         * modules/uniwbrk/u16-wordbreaks-tests: New file.
31751         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
31752
31753         Tests for module 'uniwbrk/u8-wordbreaks'.
31754         * modules/uniwbrk/u8-wordbreaks-tests: New file.
31755         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
31756
31757 2009-02-10  Bruno Haible  <bruno@clisp.org>
31758
31759         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
31760         property.
31761         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
31762         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
31763         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
31764
31765 2009-02-10  Simon Josefsson  <simon@josefsson.org>
31766
31767         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
31768         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
31769
31770 2009-02-10  Bruno Haible  <bruno@clisp.org>
31771
31772         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
31773         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
31774         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
31775         * lib/unilbrk/u8-possible-linebreaks.c: Update.
31776         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
31777         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
31778
31779 2009-02-09  Simon Josefsson  <simon@josefsson.org>
31780
31781         * lib/sockets.h (gl_fd_to_handle): New function.
31782
31783         * tests/test-sockets.c: Call gl_fd_to_handle.
31784
31785 2009-02-09  Bruno Haible  <bruno@clisp.org>
31786
31787         * doc/havelib.texi: Document the conventions on bi-arch systems.
31788
31789 2009-02-08  Bruno Haible  <bruno@clisp.org>
31790
31791         Document the AC_LIB_LINKFLAGS macro.
31792         * doc/havelib.texi: New file, mostly written on 2005-05-24.
31793         * doc/gnulib.texi: Include it.
31794
31795 2009-02-08  Bruno Haible  <bruno@clisp.org>
31796
31797         Fix wrong order of sections, compared to TOC.
31798         * doc/gnulib.texi: Include relocatable-maint.texi after the
31799         "Regular expressions" node, not before.
31800
31801 2009-02-08  Bruno Haible  <bruno@clisp.org>
31802
31803         Tests for module 'unicase/totitle'.
31804         * modules/unicase/totitle-tests: New file.
31805
31806         Tests for module 'unicase/tolower'.
31807         * modules/unicase/tolower-tests: New file.
31808
31809         Tests for module 'unicase/toupper'.
31810         * modules/unicase/toupper-tests: New file.
31811         * tests/unicase/test-mapping-part1.h: New file.
31812         * tests/unicase/test-mapping-part2.h: New file.
31813
31814         New module 'unicase/totitle'.
31815         * modules/unicase/totitle: New file.
31816         * lib/unicase/totitle.c: New file.
31817
31818         New module 'unicase/tolower'.
31819         * modules/unicase/tolower: New file.
31820         * lib/unicase/tolower.c: New file.
31821
31822         New module 'unicase/toupper'.
31823         * modules/unicase/toupper: New file.
31824         * lib/unicase/toupper.c: New file.
31825         * lib/unicase/simple-mapping.h: New file.
31826
31827         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
31828         (mapping_table): New structure.
31829         (output_simple_mapping): New function.
31830         (main): Invoke output_simple_mapping_test and output_simple_mapping.
31831         * modules/gen-uni-tables (Description): Update.
31832         * lib/unicase/toupper.h: New file, automatically generated by
31833         gen-uni-tables.
31834         * lib/unicase/tolower.h: New file, automatically generated by
31835         gen-uni-tables.
31836         * lib/unicase/totitle.h: New file, automatically generated by
31837         gen-uni-tables.
31838         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
31839         gen-uni-tables.
31840         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
31841         gen-uni-tables.
31842         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
31843         gen-uni-tables.
31844
31845         New module 'unicase/base'.
31846         * modules/unicase/base: New file.
31847         * lib/unicase.h: New file.
31848
31849 2009-02-08  Bruno Haible  <bruno@clisp.org>
31850
31851         New module 'uniwbrk/ulc-wordbreaks'.
31852         * modules/uniwbrk/ulc-wordbreaks: New file.
31853         * lib/uniwbrk/ulc-wordbreaks.c: New file.
31854
31855         New module 'uniwbrk/u32-wordbreaks'.
31856         * modules/uniwbrk/u32-wordbreaks: New file.
31857         * lib/uniwbrk/u32-wordbreaks.c: New file.
31858
31859         New module 'uniwbrk/u16-wordbreaks'.
31860         * modules/uniwbrk/u16-wordbreaks: New file.
31861         * lib/uniwbrk/u16-wordbreaks.c: New file.
31862
31863         New module 'uniwbrk/u8-wordbreaks'.
31864         * modules/uniwbrk/u8-wordbreaks: New file.
31865         * lib/uniwbrk/u8-wordbreaks.c: New file.
31866         * lib/uniwbrk/u-wordbreaks.h: New file.
31867
31868         New module 'uniwbrk/table'.
31869         * modules/uniwbrk/table: New file.
31870         * lib/uniwbrk/wbrktable.h: New file.
31871         * lib/uniwbrk/wbrktable.c: New file.
31872
31873         New module 'uniwbrk/wordbreak-property'.
31874         * modules/uniwbrk/wordbreak-property: New file.
31875         * lib/uniwbrk/wordbreak-property.c: New file.
31876
31877         * lib/gen-uni-tables.c (WBP_*): New enum items.
31878         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
31879         (unicode_org_wbp): New variable.
31880         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
31881         New functions.
31882         (wbp_table): New structure.
31883         (output_wbp, output_wbrk_tables): New functions.
31884         (main): Accept additional argument. Invoke fill_org_wbp,
31885         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
31886         output_wbrk_tables.
31887         * modules/gen-uni-tables (Description): Update.
31888         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
31889         gen-uni-tables.
31890
31891         New module 'uniwbrk/base'.
31892         * modules/uniwbrk/base: New file.
31893         * lib/uniwbrk.h: New file.
31894
31895 2009-02-08  Bruno Haible  <bruno@clisp.org>
31896
31897         Update to Unicode 5.1.0.
31898         * lib/gen-uni-tables.c (is_property_alphabetic): Include
31899         U+2185..U+2188.
31900         (is_property_default_ignorable_code_point): Don't include characters
31901         of category Cc or Cs and not-a-characters.
31902         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
31903         U+0D79, U+109E, U+109F, U+A60C.
31904         * lib/unictype/bidi_of.h: Regenerated.
31905         * lib/unictype/blocks.h: Regenerated.
31906         * lib/unictype/categ_C.h: Regenerated.
31907         * lib/unictype/categ_Cf.h: Regenerated.
31908         * lib/unictype/categ_Cn.h: Regenerated.
31909         * lib/unictype/categ_L.h: Regenerated.
31910         * lib/unictype/categ_Ll.h: Regenerated.
31911         * lib/unictype/categ_Lm.h: Regenerated.
31912         * lib/unictype/categ_Lo.h: Regenerated.
31913         * lib/unictype/categ_Lu.h: Regenerated.
31914         * lib/unictype/categ_M.h: Regenerated.
31915         * lib/unictype/categ_Mc.h: Regenerated.
31916         * lib/unictype/categ_Me.h: Regenerated.
31917         * lib/unictype/categ_Mn.h: Regenerated.
31918         * lib/unictype/categ_N.h: Regenerated.
31919         * lib/unictype/categ_Nd.h: Regenerated.
31920         * lib/unictype/categ_Nl.h: Regenerated.
31921         * lib/unictype/categ_No.h: Regenerated.
31922         * lib/unictype/categ_P.h: Regenerated.
31923         * lib/unictype/categ_Pd.h: Regenerated.
31924         * lib/unictype/categ_Pe.h: Regenerated.
31925         * lib/unictype/categ_Pf.h: Regenerated.
31926         * lib/unictype/categ_Pi.h: Regenerated.
31927         * lib/unictype/categ_Po.h: Regenerated.
31928         * lib/unictype/categ_Ps.h: Regenerated.
31929         * lib/unictype/categ_S.h: Regenerated.
31930         * lib/unictype/categ_Sk.h: Regenerated.
31931         * lib/unictype/categ_Sm.h: Regenerated.
31932         * lib/unictype/categ_So.h: Regenerated.
31933         * lib/unictype/categ_of.h: Regenerated.
31934         * lib/unictype/combining.h: Regenerated.
31935         * lib/unictype/ctype_alnum.h: Regenerated.
31936         * lib/unictype/ctype_alpha.h: Regenerated.
31937         * lib/unictype/ctype_graph.h: Regenerated.
31938         * lib/unictype/ctype_lower.h: Regenerated.
31939         * lib/unictype/ctype_print.h: Regenerated.
31940         * lib/unictype/ctype_punct.h: Regenerated.
31941         * lib/unictype/ctype_upper.h: Regenerated.
31942         * lib/unictype/decdigit.h: Regenerated.
31943         * lib/unictype/digit.h: Regenerated.
31944         * lib/unictype/mirror.h: Regenerated.
31945         * lib/unictype/numeric.h: Regenerated.
31946         * lib/unictype/pr_alphabetic.h: Regenerated.
31947         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
31948         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
31949         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
31950         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
31951         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
31952         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
31953         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
31954         * lib/unictype/pr_combining.h: Regenerated.
31955         * lib/unictype/pr_dash.h: Regenerated.
31956         * lib/unictype/pr_decimal_digit.h: Regenerated.
31957         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
31958         * lib/unictype/pr_deprecated.h: Regenerated.
31959         * lib/unictype/pr_diacritic.h: Regenerated.
31960         * lib/unictype/pr_extender.h: Regenerated.
31961         * lib/unictype/pr_format_control.h: Regenerated.
31962         * lib/unictype/pr_grapheme_base.h: Regenerated.
31963         * lib/unictype/pr_grapheme_extend.h: Regenerated.
31964         * lib/unictype/pr_grapheme_link.h: Regenerated.
31965         * lib/unictype/pr_id_continue.h: Regenerated.
31966         * lib/unictype/pr_id_start.h: Regenerated.
31967         * lib/unictype/pr_ideographic.h: Regenerated.
31968         * lib/unictype/pr_ignorable_control.h: Regenerated.
31969         * lib/unictype/pr_lowercase.h: Regenerated.
31970         * lib/unictype/pr_math.h: Regenerated.
31971         * lib/unictype/pr_numeric.h: Regenerated.
31972         * lib/unictype/pr_other_alphabetic.h: Regenerated.
31973         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
31974         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
31975         * lib/unictype/pr_other_id_continue.h: Regenerated.
31976         * lib/unictype/pr_other_lowercase.h: Regenerated.
31977         * lib/unictype/pr_other_math.h: Regenerated.
31978         * lib/unictype/pr_punctuation.h: Regenerated.
31979         * lib/unictype/pr_sentence_terminal.h: Regenerated.
31980         * lib/unictype/pr_soft_dotted.h: Regenerated.
31981         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
31982         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
31983         * lib/unictype/pr_unified_ideograph.h: Regenerated.
31984         * lib/unictype/pr_uppercase.h: Regenerated.
31985         * lib/unictype/pr_xid_continue.h: Regenerated.
31986         * lib/unictype/pr_xid_start.h: Regenerated.
31987         * lib/unictype/pr_zero_width.h: Regenerated.
31988         * lib/unictype/scripts.h: Regenerated.
31989         * lib/unictype/scripts_byname.gperf: Regenerated.
31990         * lib/unictype/sy_java_ident.h: Regenerated.
31991         * lib/unilbrk/lbrkprop1.h: Regenerated.
31992         * lib/unilbrk/lbrkprop2.h: Regenerated.
31993         * tests/unictype/test-categ_C.c: Regenerated.
31994         * tests/unictype/test-categ_Cf.c: Regenerated.
31995         * tests/unictype/test-categ_Cn.c: Regenerated.
31996         * tests/unictype/test-categ_L.c: Regenerated.
31997         * tests/unictype/test-categ_Ll.c: Regenerated.
31998         * tests/unictype/test-categ_Lm.c: Regenerated.
31999         * tests/unictype/test-categ_Lo.c: Regenerated.
32000         * tests/unictype/test-categ_Lu.c: Regenerated.
32001         * tests/unictype/test-categ_M.c: Regenerated.
32002         * tests/unictype/test-categ_Mc.c: Regenerated.
32003         * tests/unictype/test-categ_Me.c: Regenerated.
32004         * tests/unictype/test-categ_Mn.c: Regenerated.
32005         * tests/unictype/test-categ_N.c: Regenerated.
32006         * tests/unictype/test-categ_Nd.c: Regenerated.
32007         * tests/unictype/test-categ_Nl.c: Regenerated.
32008         * tests/unictype/test-categ_No.c: Regenerated.
32009         * tests/unictype/test-categ_P.c: Regenerated.
32010         * tests/unictype/test-categ_Pd.c: Regenerated.
32011         * tests/unictype/test-categ_Pe.c: Regenerated.
32012         * tests/unictype/test-categ_Pf.c: Regenerated.
32013         * tests/unictype/test-categ_Pi.c: Regenerated.
32014         * tests/unictype/test-categ_Po.c: Regenerated.
32015         * tests/unictype/test-categ_Ps.c: Regenerated.
32016         * tests/unictype/test-categ_S.c: Regenerated.
32017         * tests/unictype/test-categ_Sk.c: Regenerated.
32018         * tests/unictype/test-categ_Sm.c: Regenerated.
32019         * tests/unictype/test-categ_So.c: Regenerated.
32020         * tests/unictype/test-ctype_alnum.c: Regenerated.
32021         * tests/unictype/test-ctype_alpha.c: Regenerated.
32022         * tests/unictype/test-ctype_graph.c: Regenerated.
32023         * tests/unictype/test-ctype_lower.c: Regenerated.
32024         * tests/unictype/test-ctype_print.c: Regenerated.
32025         * tests/unictype/test-ctype_punct.c: Regenerated.
32026         * tests/unictype/test-ctype_upper.c: Regenerated.
32027         * tests/unictype/test-decdigit.h: Regenerated.
32028         * tests/unictype/test-digit.h: Regenerated.
32029         * tests/unictype/test-numeric.h: Regenerated.
32030         * tests/unictype/test-pr_alphabetic.c: Regenerated.
32031         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
32032         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
32033         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
32034         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
32035         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
32036         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
32037         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
32038         * tests/unictype/test-pr_combining.c: Regenerated.
32039         * tests/unictype/test-pr_dash.c: Regenerated.
32040         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
32041         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
32042         * tests/unictype/test-pr_deprecated.c: Regenerated.
32043         * tests/unictype/test-pr_diacritic.c: Regenerated.
32044         * tests/unictype/test-pr_extender.c: Regenerated.
32045         * tests/unictype/test-pr_format_control.c: Regenerated.
32046         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
32047         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
32048         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
32049         * tests/unictype/test-pr_id_continue.c: Regenerated.
32050         * tests/unictype/test-pr_id_start.c: Regenerated.
32051         * tests/unictype/test-pr_ideographic.c: Regenerated.
32052         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
32053         * tests/unictype/test-pr_lowercase.c: Regenerated.
32054         * tests/unictype/test-pr_math.c: Regenerated.
32055         * tests/unictype/test-pr_numeric.c: Regenerated.
32056         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
32057         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
32058         Regenerated.
32059         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
32060         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
32061         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
32062         * tests/unictype/test-pr_other_math.c: Regenerated.
32063         * tests/unictype/test-pr_punctuation.c: Regenerated.
32064         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
32065         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
32066         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
32067         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
32068         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
32069         * tests/unictype/test-pr_uppercase.c: Regenerated.
32070         * tests/unictype/test-pr_xid_continue.c: Regenerated.
32071         * tests/unictype/test-pr_xid_start.c: Regenerated.
32072         * tests/unictype/test-pr_zero_width.c: Regenerated.
32073
32074         Update to Unicode 5.1.0.
32075         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
32076         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
32077         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
32078         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
32079         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
32080         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
32081         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
32082         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
32083         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
32084         (nonspacing_table_ind): Update.
32085         * tests/uniwidth/test-uc_width2.sh: Update expected result.
32086
32087         Update to Unicode 5.1.0.
32088         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
32089         code transform.
32090         * lib/uniname/uniname.c (unicode_character_name,
32091         unicode_name_character): Add the range 0x1Fxxx to the code transform.
32092         * lib/uniname/uninames.h: Regenerated.
32093         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
32094
32095 2009-02-07  Bruno Haible  <bruno@clisp.org>
32096
32097         Merge gen-ctype and gen-lbrk into a single program.
32098         * lib/gen-uni-tables.c: New file, incorporating
32099         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
32100         Add directory prefixes to the names of the generated files.
32101         * lib/unictype/gen-ctype.c: Remove file.
32102         * lib/unilbrk/gen-lbrk.c: Remove file.
32103         * modules/gen-uni-tables: New file.
32104         * modules/unictype/gen-ctype: Remove file.
32105         * modules/unilbrk/gen-lbrk: Remove file.
32106
32107 2009-02-07  Bruno Haible  <bruno@clisp.org>
32108
32109         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
32110
32111         New module 'unistr/u32-strcoll'.
32112         * modules/unistr/u32-strcoll: New file.
32113         * lib/unistr/u32-strcoll.c: New file.
32114
32115         New module 'unistr/u16-strcoll'.
32116         * modules/unistr/u16-strcoll: New file.
32117         * lib/unistr/u16-strcoll.c: New file.
32118
32119         New module 'unistr/u8-strcoll'.
32120         * modules/unistr/u8-strcoll: New file.
32121         * lib/unistr/u8-strcoll.c: New file.
32122         * lib/unistr/u-strcoll.h: New file.
32123
32124 2009-02-07  Bruno Haible  <bruno@clisp.org>
32125
32126         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
32127         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32128         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32129         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
32130         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
32131         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
32132
32133 2009-02-07  Bruno Haible  <bruno@clisp.org>
32134
32135         Make 64-bit clean.
32136         * lib/unictype/gen-ctype.c (output_predicate, output_category,
32137         output_combclass, output_bidi_category, output_decimal_digit,
32138         output_digit, output_numeric, output_mirror, output_scripts,
32139         output_ident_category): Use proper width specifier in format strings.
32140
32141 2009-02-07  Bruno Haible  <bruno@clisp.org>
32142
32143         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
32144         failure behaviour.
32145
32146 2009-02-07  Jim Meyering  <meyering@redhat.com>
32147
32148         regex: avoid compilation failure with upcoming gcc-4.4
32149         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
32150         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
32151         "... error: integer overflow in preprocessor expression".
32152
32153 2009-02-05  Ben Pfaff  <blp@gnu.org>
32154
32155         Fix link errors on Windows when close module is used.
32156         * modules/close: Add $(LIB_CLOSE) to Link section.
32157         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
32158         $(LIB_CLOSE) on Windows.
32159
32160 2009-02-05  Jim Meyering  <meyering@redhat.com>
32161
32162         still avoid unused-parameter warnings, but do it cleanly
32163         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
32164         (get_fs_usage): Cast to void instead.
32165         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
32166         (dev_from_mount_options, read_file_system_list): Cast to void.
32167         Prompted by Bruno Haible.
32168
32169 2009-02-04  Jim Meyering  <meyering@redhat.com>
32170
32171         fsusage.c: correct copyright year
32172         * lib/fsusage.c: Reflect year in which the change is pushed into
32173
32174         avoid misc. warnings
32175         * lib/fsusage.c (UNUSED_PARAM): Define.
32176         (get_fs_usage): Mark parameter "disk" as unused.
32177         * lib/getugroups.c (getgrent): Use "void" in prototype.
32178         * lib/mountlist.c: Mark unused parameters.
32179         (read_file_system_list): Declare a local with "const".
32180         * lib/nanosleep.c (getnow): Declare static.
32181         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
32182
32183         dirfd: set errno upon failure
32184         * lib/dirfd.c: Include <errno.h>.
32185         Set errno to ENOTSUP when returning -1.
32186         * modules/dirfd (Depends-on): Add errno.
32187         Suggested by John Kodis <kodis@comcast.net>.
32188
32189 2009-02-01  Bruno Haible  <bruno@clisp.org>
32190
32191         Don't assume sizeof (long) >= sizeof (void *).
32192         * lib/memcmp.c: Include stdint.h.
32193         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
32194         srcp2 to 'const byte *'.
32195         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
32196         types to uintptr_t.
32197         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
32198         * modules/memcmp (Depends-on): Add stdint.
32199         Reported by Ozkan Sezer <sezeroz@gmail.com>.
32200
32201 2009-01-30  Eric Blake  <ebb9@byu.net>
32202
32203         fix more require-before-expand issues
32204         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
32205         expand, AC_PROG_AWK.
32206         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
32207
32208 2009-01-28  Eric Blake  <ebb9@byu.net>
32209
32210         version-etc: use consistent URL formatting
32211         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
32212         Improve formatting.  Use fputs for string without %.
32213
32214 2009-01-28  Jim Meyering  <meyering@redhat.com>
32215
32216         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
32217         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
32218         "underquoted definition of NAME" from autoconf-2.59.
32219
32220 2009-01-28  Bruno Haible  <bruno@clisp.org>
32221
32222         * doc/gnulib.texi: Add "Obsolete modules" to index.
32223
32224 2009-01-28  Jim Meyering  <meyering@redhat.com>
32225
32226         useless-if-before-free: recognize more variants
32227         * build-aux/useless-if-before-free: Also recognize e.g.,
32228         if (NULL != p) free (p);
32229
32230 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
32231
32232         test-getaddrinfo: skip (don't fail) this test when there's no network
32233         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
32234         on the presumption that it means you lack network access.
32235
32236 2009-01-26  Jim Meyering  <meyering@redhat.com>
32237
32238         fflush: avoid warnings on modern systems
32239         * lib/fflush.c (rpl_fflush): Move declarations of locals,
32240         pos and result, into scopes where they're used.
32241
32242 2009-01-26  Eric Blake  <ebb9@byu.net>
32243
32244         Silence warning reintroduced by recent extensions patch.
32245         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
32246         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
32247         autoconf.
32248
32249         Backport improved autoconf semantics of AC_DEFUN_ONCE.
32250         * m4/00gnulib.m4: New file.
32251         * gnulib-tool (func_get_filelist): Always use it.
32252         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
32253         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
32254
32255 2009-01-25  Bruno Haible  <bruno@clisp.org>
32256
32257         Make test-quotearg work on MacOS X and AIX.
32258         * tests/test-quotearg.sh: New file.
32259         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
32260         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
32261         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
32262         include <libintl.h>.
32263         (fake_locale): Remove variable.
32264         (gettext, dgettext, dcgettext): Remove functions.
32265         (main): Instead of setting a fake locale, set a real locale. Call
32266         textdomain and bindtextdomain.
32267         * modules/quotearg-tests (Files): Add the new files.
32268         (Depends-on): Add gettext, setenv, unsetenv.
32269         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
32270         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
32271         Augment TESTS_ENVIRONMENT.
32272
32273 2009-01-25  Bruno Haible  <bruno@clisp.org>
32274
32275         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
32276         fr_FR.ISO8859-1 locale on MacOS X.
32277         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
32278         ja_JP.eucJP locale on MacOS X.
32279         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
32280         zh_CN.GB18030 locale on MacOS X.
32281
32282 2009-01-25  Bruno Haible  <bruno@clisp.org>
32283
32284         Avoid link errors on MacOS X 10.3.
32285         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
32286         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
32287
32288 2009-01-25  Bruno Haible  <bruno@clisp.org>
32289
32290         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32291         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
32292         * modules/pipe (Files): Remove m4/posix_spawn.m4.
32293         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32294         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
32295         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32296         posix_spawnattr_init, posix_spawnattr_setsigmask,
32297         posix_spawnattr_setflags, posix_spawnattr_destroy.
32298
32299         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32300         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
32301         * modules/execute (Files): Remove m4/posix_spawn.m4.
32302         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32303         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32304         posix_spawnattr_init, posix_spawnattr_setsigmask,
32305         posix_spawnattr_setflags, posix_spawnattr_destroy.
32306
32307 2009-01-25  Bruno Haible  <bruno@clisp.org>
32308
32309         * lib/glthread/threadlib.c: Include <stdlib.h>.
32310
32311 2009-01-25  Bruno Haible  <bruno@clisp.org>
32312
32313         * lib/glthread/threadlib.c (dummy): New declaration.
32314
32315 2009-01-25  Bruno Haible  <bruno@clisp.org>
32316
32317         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
32318         multibyte characters also for the GB18030 encoding. Don't crash when
32319         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
32320
32321 2009-01-25  Bruno Haible  <bruno@clisp.org>
32322
32323         Avoid redefining 'struct random_data' on OSF/1 5.1.
32324         * lib/stdlib.in.h: Include <random.h> if it exists.
32325         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
32326         HAVE_RANDOM_H. Include <random.h> when testing whether
32327         'struct random_data' exists.
32328         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
32329
32330 2009-01-25  Bruno Haible  <bruno@clisp.org>
32331
32332         Don't install charset.alias on MacOS X >= 10.3.
32333         * lib/localcharset.c (DARWIN7): New macro.
32334         (get_charset_aliases): Hardcode the result for Darwin7.
32335         * modules/localcharset (install-exec-local): Don't install
32336         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
32337
32338 2009-01-25  Bruno Haible  <bruno@clisp.org>
32339
32340         Don't install charset.alias on mingw and Cygwin.
32341         * modules/localcharset (install-exec-local): Don't install
32342         charset.alias on mingw and Cygwin, if the file does not yet exist.
32343         The result for these platforms is hardcoded in localcharset.c.
32344
32345 2009-01-25  Bruno Haible  <bruno@clisp.org>
32346
32347         Make it possible again to use AC_GNU_SOURCE together with gnulib.
32348         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
32349         before requiring AC_USE_SYSTEM_EXTENSIONS.
32350
32351 2009-01-25  Jim Meyering  <meyering@redhat.com>
32352
32353         c-strtod: avoid warnings
32354         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
32355         "assignment discards qualifiers from pointer target type" warnings.
32356
32357 2009-01-24  Bruno Haible  <bruno@clisp.org>
32358
32359         Add support for non-UTF-8 locales on MacOS X.
32360         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
32361         canonical encodings. For Darwin 7 and newer, don't map traditional
32362         encodings to UTF-8.
32363         Reported by Vincent Lefevre <vincent@vinc17.org>
32364         at <http://savannah.gnu.org/bugs/?25235>.
32365
32366 2009-01-24  Bruno Haible  <bruno@clisp.org>
32367
32368         * doc/gnulib.texi (Obsolete modules): New section.
32369         Reported by Mike Frysinger <vapier@gentoo.org>.
32370
32371 2009-01-24  Bruno Haible  <bruno@clisp.org>
32372
32373         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
32374         (%.dvi): New rule.
32375
32376 2009-01-24  Bruno Haible  <bruno@clisp.org>
32377
32378         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
32379         Reported by Eric Blake.
32380
32381 2009-01-24  Bruno Haible  <bruno@clisp.org>
32382
32383         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
32384         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
32385         Reported by Gary V. Vaughan <gary@gnu.org>.
32386
32387 2009-01-24  Bruno Haible  <bruno@clisp.org>
32388
32389         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
32390
32391 2009-01-23  Bruno Haible  <bruno@clisp.org>
32392
32393         Make c-strtod, c-strtold usable in libraries.
32394         * lib/c-strtod.c: Include string.h instead of xalloc.h.
32395         (C_STRTOD): Call strdup instead of xstrdup.
32396         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
32397         * modules/c-strtold (Depends-on): Likewise.
32398         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
32399         * NEWS: Mention the change.
32400         Reported by Michael Gold <mgold@ncf.ca>.
32401
32402 2009-01-23  Jim Meyering  <meyering@redhat.com>
32403
32404         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
32405         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
32406         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
32407
32408 2009-01-23  Simon Josefsson  <simon@josefsson.org>
32409
32410         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
32411         GNU CoreUtils.
32412         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
32413         * modules/version-etc (Description): Update.
32414
32415 2009-01-22  Bruno Haible  <bruno@clisp.org>
32416
32417         Cache the C locale object.
32418         * lib/c-strtod.c (c_locale_cache): New variable.
32419         (c_locale): New function.
32420         (C_STRTOD): Use it, and don't call freelocale.
32421         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
32422         Suggested by Paolo Bonzini.
32423
32424 2009-01-21  Bruno Haible  <bruno@clisp.org>
32425
32426         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
32427         conditions other than overflow.
32428
32429 2009-01-21  Bruno Haible  <bruno@clisp.org>
32430
32431         * lib/c-strtod.c: Include errno.h.
32432         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
32433         value from STRTOD_L and STRTOD.
32434
32435 2009-01-21  Bruno Haible  <bruno@clisp.org>
32436         and Jim Meyering  <meyering@redhat.com>
32437
32438         nanosleep: skip configure test (fail it) for apple universal builds
32439         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
32440         universal builds, assume that nanosleep does not work.
32441         * modules/nanosleep (Depends-on): Add multiarch.
32442
32443         mktime: skip configure test (fail it) for apple universal builds
32444         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
32445         universal builds, assume that mktime does not work.
32446         * modules/mktime (Depends-on): Add multiarch.
32447
32448 2009-01-21  Eric Blake  <ebb9@byu.net>
32449
32450         multiarch: avoid expand-before-require warning
32451         * modules/multiarch (configure.ac): Require, rather than expand,
32452         gl_MULTIARCH.
32453         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
32454         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
32455         enforce that all clients require it.  Partial reversion of
32456         2008-12-29 patch.
32457
32458         error: avoid expand-before-require warning
32459         * modules/errno (configure.ac): Require, rather than expand,
32460         gl_HEADER_ERRNO_H.
32461         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
32462         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
32463         enforce that all clients require it.
32464
32465         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
32466         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
32467         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
32468         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
32469
32470 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
32471
32472         Revert:
32473         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32474
32475         regex: do not depend on obsolete modules.
32476         * modules/regex: Remove memcmp and memmove.
32477
32478 2009-01-20  Bruno Haible  <bruno@clisp.org>
32479
32480         Make the 'link' module link on Windows NT 4.
32481         * lib/link.c (_WIN32_WINNT): Don't define.
32482         (CreateHardLinkFuncType): New type.
32483         (CreateHardLinkFunc, initialized): New variables.
32484         (initialize): New function.
32485         (link): Invoke CreateHardLink indirectly through the function pointer.
32486
32487 2009-01-20  Bruno Haible  <bruno@clisp.org>
32488
32489         Fix compilation failure on mingw.
32490         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
32491
32492 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
32493
32494         * doc/c-strtod.texi: Mention a couple of restrictions.
32495
32496 2009-01-20  Jim Meyering  <meyering@redhat.com>
32497
32498         gettimeofday: move more declarations out of functions
32499         * lib/gettimeofday.c: Move extern declarations of tzset and
32500         gmtime out of containing functions.  Prompted by Bruno Haible.
32501
32502 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32503
32504         regex: do not depend on obsolete modules.
32505         * modules/regex: Remove memcmp and memmove.
32506
32507 2009-01-19  Bruno Haible  <bruno@clisp.org>
32508
32509         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32510         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
32511         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32512         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
32513         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
32514
32515 2009-01-19  Bruno Haible  <bruno@clisp.org>
32516
32517         * tests/test-link.c: Include <errno.h>.
32518         (main): Exit with code 77 when a hard link cannot be created due to
32519         the file system.
32520         * tests/test-link.sh: Skip test when a hard link cannot be created due
32521         to the file system.
32522         Suggested by Eric Blake.
32523
32524 2009-01-19  Martin Lambers  <marlam@marlam.de>
32525
32526         * modules/link-tests: New file.
32527         * tests/test-link.sh: New file.
32528         * tests/test-link.c: New file.
32529
32530 2009-01-19  Eric Blake  <ebb9@byu.net>
32531
32532         doc: mention another function added in cygwin 1.7.0
32533         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
32534         Another new function in cygwin 1.7.
32535
32536 2009-01-19  Bruno Haible  <bruno@clisp.org>
32537
32538         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32539         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
32540         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
32541         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32542         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
32543         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32544         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32545         * m4/md4.m4 (gl_MD4): Likewise.
32546         * m4/md5.m4 (gl_MD5): Likewise.
32547         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
32548         * m4/sha1.m4 (gl_SHA1): Likewise.
32549         * m4/sha256.m4 (gl_SHA256): Likewise.
32550         * m4/sha512.m4 (gl_SHA512): Likewise.
32551
32552 2009-01-19  Bruno Haible  <bruno@clisp.org>
32553
32554         * modules/uniname/uniname-tests (Depends-on): Add progname.
32555         * tests/uniname/test-uninames.c: Include progname.h.
32556         (main): Call set_program_name.
32557
32558         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
32559         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
32560         (main): Call set_program_name.
32561
32562         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
32563         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
32564         (main): Call set_program_name.
32565
32566         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
32567         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
32568         (main): Call set_program_name.
32569
32570         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
32571         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
32572         (main): Call set_program_name.
32573
32574         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
32575         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
32576         (main): Call set_program_name.
32577
32578         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
32579         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
32580         (main): Call set_program_name.
32581
32582         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
32583         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
32584         (main): Call set_program_name.
32585
32586         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
32587         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
32588         (main): Call set_program_name.
32589
32590 2009-01-19  Eric Blake  <ebb9@byu.net>
32591
32592         test-unistd: test previous patch
32593         * tests/test-unistd.c: Test *_FILENO macros.
32594
32595         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
32596         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32597         Guarantee a definition.
32598         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
32599         * modules/unistd-safer (Depends-on): Add dependency on unistd.
32600         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
32601         * lib/dup-safer.c (STDERR_FILENO): Likewise.
32602         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32603         Likewise.
32604         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
32605         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
32606         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32607         Likewise.
32608         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
32609         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
32610         (STDERR_FILENO): Likewise.
32611         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
32612         (STDERR_FILENO): Likewise.
32613         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
32614         (STDERR_FILENO): Likewise.
32615         Reported by Elbert Pol.
32616
32617 2009-01-19  Eric Blake  <ebb9@byu.net>
32618
32619         doc: mention more functions added in cygwin 1.7.0
32620         * doc/posix-functions/abort.texi (abort): Update wording related
32621         to cygwin.
32622         * doc/posix-functions/daylight.texi (daylight): Likewise.
32623         * doc/posix-functions/optarg.texi (optarg): Likewise.
32624         * doc/posix-functions/optarg.texi (opterr): Likewise.
32625         * doc/posix-functions/optarg.texi (optind): Likewise.
32626         * doc/posix-functions/optarg.texi (optopt): Likewise.
32627         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
32628         worked in 1.5.x, and was withdrawn in 1.7.
32629         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
32630         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
32631         cygwin versions.
32632         * doc/posix-functions/perror.texi (perror): Likewise.
32633         * doc/posix-functions/printf.texi (printf): Likewise.
32634         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
32635         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
32636         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
32637         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
32638         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
32639         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
32640         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
32641         Likewise.
32642         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
32643         Likewise.
32644         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
32645         this function.
32646         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
32647         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
32648         Likewise.
32649         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
32650         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
32651         * doc/posix-functions/confstr.texi (confstr): Likewise.
32652         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
32653         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
32654         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
32655         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
32656         * doc/posix-functions/fputws.texi (fputws): Likewise.
32657         * doc/posix-functions/fwide.texi (fwide): Likewise.
32658         * doc/posix-functions/getwc.texi (getwc): Likewise.
32659         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
32660         * doc/posix-functions/putwc.texi (putwc): Likewise.
32661         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
32662         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
32663         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
32664         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
32665         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
32666         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
32667         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
32668         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
32669         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
32670         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
32671         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
32672
32673 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32674
32675         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
32676         * lib/ioctl.c: Include <sys/ioctl.h>.
32677
32678 2009-01-19  Simon Josefsson  <simon@josefsson.org>
32679
32680         * modules/getdate-tests (Depends-on): Add progname.
32681         * tests/test-getdate.c: Use progname module, to avoid link errors
32682         on non-glibc systems.
32683
32684 2009-01-18  Simon Josefsson  <simon@josefsson.org>
32685
32686         * modules/filenamecat-tests (Depends-on): Add progname.
32687         * modules/fstrcmp-tests (Depends-on): Likewise.
32688
32689         * tests/test-filenamecat.c: Use progname module, to avoid link
32690         errors on non-glibc systems.
32691         * tests/test-fstrcmp.c: Likewise.
32692
32693 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32694
32695         gettimeofday: avoid warning: nested extern declaration of 'localtime'
32696         * lib/gettimeofday.c: Move extern declaration out of function.
32697
32698 2009-01-18  Bruno Haible  <bruno@clisp.org>
32699
32700         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
32701         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
32702         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
32703
32704 2009-01-18  Bruno Haible  <bruno@clisp.org>
32705
32706         * lib/strftime.c (MEMPCPY): Remove unused macro.
32707         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
32708
32709 2009-01-18  Martin Lambers  <marlam@marlam.de>
32710
32711         New module 'link'.
32712         * lib/unistd.in.h (link): New declaration.
32713         * lib/link.c: New file.
32714         * m4/link.m4: New file.
32715         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
32716         HAVE_LINK.
32717         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
32718         * modules/link: New file.
32719         * doc/posix-functions/link.texi: Mention the new module.
32720
32721 2009-01-18  Bruno Haible  <bruno@clisp.org>
32722
32723         * tests/test-avltree_list.c (main): Call set_program_name.
32724         * tests/test-avltree_oset.c (main): Likewise.
32725         * tests/test-obstack-printf.c: Include progname.h.
32726         (main): Call set_program_name.
32727         * tests/test-quotearg.c: Include progname.h.
32728         (main): Call set_program_name.
32729         * tests/test-xmemdup0.c: Include progname.h.
32730         (main): Call set_program_name.
32731
32732 2009-01-18  Bruno Haible  <bruno@clisp.org>
32733
32734         New module 'alphasort'.
32735         * lib/dirent.in.h (alphasort): New declaration.
32736         * lib/alphasort.c: New file, from glibc with modifications.
32737         * m4/alphasort.m4: New file.
32738         * modules/alphasort: New file.
32739         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
32740         HAVE_ALPHASORT.
32741         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
32742         HAVE_ALPHASORT.
32743         * doc/posix-functions/alphasort.texi: Mention the new module and the
32744         portability problems.
32745
32746 2009-01-18  Bruno Haible  <bruno@clisp.org>
32747
32748         New module 'scandir'.
32749         * lib/dirent.in.h (scandir): New declaration.
32750         * lib/scandir.c: New file, from glibc with modifications.
32751         * m4/scandir.m4: New file.
32752         * modules/scandir: New file.
32753         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
32754         HAVE_SCANDIR.
32755         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
32756         HAVE_SCANDIR.
32757         * doc/posix-functions/scandir.texi: Mention the new module and the
32758         portability problems.
32759
32760 2009-01-17  Bruno Haible  <bruno@clisp.org>
32761
32762         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
32763         Update documentation.
32764         (func_remove_suffix): Escape all dots in the suffix. Update
32765         documentation.
32766         (func_filter_filelist): Update documentation.
32767         Reported by Ralf Wildenhues.
32768
32769 2009-01-17  Bruno Haible  <bruno@clisp.org>
32770
32771         * modules/dprintf-posix-tests: New file.
32772         * tests/test-dprintf-posix.sh: New file.
32773         * tests/test-dprintf-posix.c: New file.
32774
32775         New modules 'dprintf', 'dprintf-posix'.
32776         * lib/stdio.in.h (dprintf): New declaration.
32777         * lib/dprintf.c: New file.
32778         * m4/dprintf.m4: New file.
32779         * m4/dprintf-posix.m4: New file.
32780         * modules/dprintf: New file.
32781         * modules/dprintf-posix: New file.
32782         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
32783         HAVE_DPRINTF, REPLACE_DPRINTF.
32784         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
32785         HAVE_DPRINTF, REPLACE_DPRINTF.
32786         * doc/posix-functions/dprintf.texi: Mention the new modules.
32787
32788 2009-01-17  Bruno Haible  <bruno@clisp.org>
32789
32790         * modules/vdprintf-posix-tests: New file.
32791         * tests/test-vdprintf-posix.sh: New file.
32792         * tests/test-vdprintf-posix.c: New file.
32793
32794         New modules 'vdprintf', 'vdprintf-posix'.
32795         * lib/stdio.in.h (vdprintf): New declaration.
32796         * lib/vdprintf.c: New file.
32797         * m4/vdprintf.m4: New file.
32798         * m4/vdprintf-posix.m4: New file.
32799         * modules/vdprintf: New file.
32800         * modules/vdprintf-posix: New file.
32801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
32802         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32803         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
32804         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32805         * doc/posix-functions/vdprintf.texi: Mention the new modules.
32806
32807 2009-01-17  Bruno Haible  <bruno@clisp.org>
32808
32809         Fix replacement of fopen on mingw.
32810         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
32811         mingw.
32812
32813 2009-01-17  Bruno Haible  <bruno@clisp.org>
32814
32815         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
32816         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
32817
32818 2009-01-17  Bruno Haible  <bruno@clisp.org>
32819
32820         Avoid test-fflush2.sh failure on mingw.
32821         * tests/test-fflush2.c: Include binary-io.h.
32822         (main): Put standard input into binary mode.
32823         * modules/fflush-tests (Depends-on): Add binary-io.
32824
32825 2009-01-17  Bruno Haible  <bruno@clisp.org>
32826
32827         * lib/wchar.in.h: In another particular situation, include only the
32828         system's <wchar.h> file.
32829         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
32830         Reported by Albert Chin-A-Young <china@thewrittenword.com>
32831         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
32832
32833 2009-01-17  Bruno Haible  <bruno@clisp.org>
32834
32835         Support for stripping executables in --enable-relocatable.
32836         * build-aux/install-reloc: Expect one more argument, or an environment
32837         variable RELOC_STRIP_PROG. If set, strip the destination program and
32838         its wrapper.
32839         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
32840         RELOC_STRIP_PROG.
32841         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
32842         to set RELOCATABLE_STRIP.
32843         * NEWS: Mention the new Makefile requirement.
32844
32845 2009-01-17  Bruno Haible  <bruno@clisp.org>
32846
32847         * build-aux/install-reloc: Remove debugging information left over by
32848         C compiler on MacOS X.
32849
32850 2009-01-17  Bruno Haible  <bruno@clisp.org>
32851
32852         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
32853         * lib/progreloc.c (find_executable): Fix type of pointer passed to
32854         _NSGetExecutablePath.
32855
32856 2009-01-16  Jim Meyering  <meyering@redhat.com>
32857
32858         strerror: avoid warnings about discarding "const"
32859         * lib/strerror.c (rpl_strerror): Instead of returning a const
32860         string from each and every "case", use a variable, and add a single
32861         cast after the switch.
32862
32863 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
32864
32865         * lib/arpa_inet.in.h: Add extern "C" block for C++.
32866
32867 2009-01-16  Bruno Haible  <bruno@clisp.org>
32868
32869         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
32870         array initializer syntax that also works in C++ mode.
32871         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32872
32873 2009-01-16  Jim Meyering  <meyering@redhat.com>
32874
32875         poll: suppress a warning
32876         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
32877         to ignore "...unsigned expression < 0 is always false" warnings.
32878
32879 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
32880
32881         poll: remove declarations of unused variables
32882         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
32883         sockbuf and optlen.
32884
32885 2009-01-15  Bruno Haible  <bruno@clisp.org>
32886
32887         Make fflush-after-ungetc POSIX compliant on BSD systems.
32888         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
32889         (clear_ungetc_buffer): Implement also for other systems.
32890         (rpl_fflush): On glibc systems, invoke
32891         clear_ungetc_buffer_preserving_position. Otherwise, invoke
32892         clear_ungetc_buffer after fetching the stream's position, not before.
32893
32894 2009-01-15  Bruno Haible  <bruno@clisp.org>
32895
32896         Make fflush-after-ungetc POSIX compliant on glibc systems.
32897         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
32898         after ungetc.
32899         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
32900         (rpl_fflush): On glibc systems, simply call the system's fflush
32901         function after clearing the ungetc buffer.
32902         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
32903         Instead, lseek only to the end of file, then use the system's fseeko
32904         for the rest. On glibc systems, reset the EOF indicator bit.
32905
32906 2009-01-15  Jim Meyering  <meyering@redhat.com>
32907
32908         openmp.m4: revert quote-adding change, for portability to older autoconf
32909         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
32910         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
32911         Simon Josefsson noticed the problem when using autoconf-2.61.
32912
32913 2009-01-15  Bruno Haible  <bruno@clisp.org>
32914
32915         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
32916         * tests/test-fflush2.c (ASSERT): Always fail.
32917         (main): Add two tests for fflush() after ungetc(), taking into account
32918         the Austin Group's clarification.
32919         Suggested by Eric Blake.
32920
32921 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
32922
32923         mktime.m4: remove K&R-style function prototypes
32924         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
32925         for the Sun C++ compiler.
32926
32927 2009-01-14  Bruno Haible  <bruno@clisp.org>
32928
32929         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
32930         while including <wchar.h>.
32931         * lib/wchar.in.h: In two particular situations on HP-UX, include only
32932         the system's <wchar.h> file.
32933         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32934
32935 2009-01-14  Bruno Haible  <bruno@clisp.org>
32936
32937         * m4/csharp.m4: Don't mention gettext on the serial number line.
32938         * m4/csharpexec.m4: Likewise.
32939         * m4/eaccess.m4: Likewise.
32940         * m4/javaexec.m4: Likewise.
32941         * m4/sig_atomic_t.m4: Likewise.
32942         * m4/tmpdir.m4: Likewise.
32943         * m4/intldir.m4: Bump gettext version.
32944         * m4/lib-ld.m4: Likewise.
32945
32946 2009-01-14  Bruno Haible  <bruno@clisp.org>
32947
32948         * lib/progname.c (set_program_name): Add more comments.
32949         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
32950
32951 2009-01-14  Simon Josefsson  <simon@josefsson.org>
32952
32953         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
32954         were sys/stat.h does not define it.
32955
32956 2009-01-14  Jim Meyering  <meyering@redhat.com>
32957
32958         many *.m4 files: improve m4 quoting
32959         99% of this change was performed by running the following commands:
32960         git ls-files | grep '\.m4$' | xargs perl -pi \
32961           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
32962           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
32963           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
32964           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
32965         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
32966         The remainder were to add Copyright dates, increment serial numbers,
32967         undo some changes in comments, exclude m4/intl.m4, and add quotes
32968         around the "1" in ",1" where the unusual spacing prohibited the
32969         above regexps from doing the job.  For more details, see
32970         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
32971         * m4/acl.m4: Modified.
32972         * m4/afs.m4: Likewise.
32973         * m4/alloca.m4: Likewise.
32974         * m4/argp.m4: Likewise.
32975         * m4/argz.m4: Likewise.
32976         * m4/atexit.m4: Likewise.
32977         * m4/bison-i18n.m4: Likewise.
32978         * m4/bison.m4: Likewise.
32979         * m4/byteswap.m4: Likewise.
32980         * m4/c-stack.m4: Likewise.
32981         * m4/c-strtod.m4: Likewise.
32982         * m4/calloc.m4: Likewise.
32983         * m4/canonicalize-lgpl.m4: Likewise.
32984         * m4/chown.m4: Likewise.
32985         * m4/clock_time.m4: Likewise.
32986         * m4/codeset.m4: Likewise.
32987         * m4/copy-file.m4: Likewise.
32988         * m4/csharp.m4: Likewise.
32989         * m4/csharpcomp.m4: Likewise.
32990         * m4/csharpexec.m4: Likewise.
32991         * m4/d-ino.m4: Likewise.
32992         * m4/d-type.m4: Likewise.
32993         * m4/dirfd.m4: Likewise.
32994         * m4/double-slash-root.m4: Likewise.
32995         * m4/eaccess.m4: Likewise.
32996         * m4/eealloc.m4: Likewise.
32997         * m4/environ.m4: Likewise.
32998         * m4/errno_h.m4: Likewise.
32999         * m4/euidaccess.m4: Likewise.
33000         * m4/execute.m4: Likewise.
33001         * m4/fatal-signal.m4: Likewise.
33002         * m4/fchdir.m4: Likewise.
33003         * m4/fcntl_h.m4: Likewise.
33004         * m4/fileblocks.m4: Likewise.
33005         * m4/filenamecat.m4: Likewise.
33006         * m4/findprog.m4: Likewise.
33007         * m4/flexmember.m4: Likewise.
33008         * m4/fnmatch.m4: Likewise.
33009         * m4/fopen.m4: Likewise.
33010         * m4/fpending.m4: Likewise.
33011         * m4/fprintf-posix.m4: Likewise.
33012         * m4/free.m4: Likewise.
33013         * m4/frexp.m4: Likewise.
33014         * m4/frexpl.m4: Likewise.
33015         * m4/fsusage.m4: Likewise.
33016         * m4/ftruncate.m4: Likewise.
33017         * m4/gc-camellia.m4: Likewise.
33018         * m4/gc-random.m4: Likewise.
33019         * m4/gc.m4: Likewise.
33020         * m4/getaddrinfo.m4: Likewise.
33021         * m4/getcwd-abort-bug.m4: Likewise.
33022         * m4/getcwd-path-max.m4: Likewise.
33023         * m4/getdate.m4: Likewise.
33024         * m4/getdomainname.m4: Likewise.
33025         * m4/getgroups.m4: Likewise.
33026         * m4/gethostname.m4: Likewise.
33027         * m4/gethrxtime.m4: Likewise.
33028         * m4/getline.m4: Likewise.
33029         * m4/getloadavg.m4: Likewise.
33030         * m4/getndelim2.m4: Likewise.
33031         * m4/getpass.m4: Likewise.
33032         * m4/gettext.m4: Likewise.
33033         * m4/gettime.m4: Likewise.
33034         * m4/gettimeofday.m4: Likewise.
33035         * m4/gnulib-common.m4: Likewise.
33036         * m4/group-member.m4: Likewise.
33037         * m4/host-os.m4: Likewise.
33038         * m4/iconv.m4: Likewise.
33039         * m4/iconv_open.m4: Likewise.
33040         * m4/inet_ntop.m4: Likewise.
33041         * m4/inet_pton.m4: Likewise.
33042         * m4/inline.m4: Likewise.
33043         * m4/intldir.m4: Likewise.
33044         * m4/intlmacosx.m4: Likewise.
33045         * m4/intmax.m4: Likewise.
33046         * m4/intmax_t.m4: Likewise.
33047         * m4/inttypes.m4: Likewise.
33048         * m4/inttypes_h.m4: Likewise.
33049         * m4/inttypes-pri.m4: Likewise.
33050         * m4/isapipe.m4: Likewise.
33051         * m4/isnand.m4: Likewise.
33052         * m4/isnanf.m4: Likewise.
33053         * m4/isnanl.m4: Likewise.
33054         * m4/javacomp.m4: Likewise.
33055         * m4/javaexec.m4: Likewise.
33056         * m4/jm-winsz1.m4: Likewise.
33057         * m4/jm-winsz2.m4: Likewise.
33058         * m4/lchown.m4: Likewise.
33059         * m4/lcmessage.m4: Likewise.
33060         * m4/ldexpl.m4: Likewise.
33061         * m4/lib-ld.m4: Likewise.
33062         * m4/lib-link.m4: Likewise.
33063         * m4/libsigsegv.m4: Likewise.
33064         * m4/link-follow.m4: Likewise.
33065         * m4/localcharset.m4: Likewise.
33066         * m4/locale-fr.m4: Likewise.
33067         * m4/locale-ja.m4: Likewise.
33068         * m4/locale-tr.m4: Likewise.
33069         * m4/locale-zh.m4: Likewise.
33070         * m4/lock.m4: Likewise.
33071         * m4/longlong.m4: Likewise.
33072         * m4/ls-mntd-fs.m4: Likewise.
33073         * m4/lstat.m4: Likewise.
33074         * m4/malloc.m4: Likewise.
33075         * m4/mathl.m4: Likewise.
33076         * m4/mbrtowc.m4: Likewise.
33077         * m4/mbstate_t.m4: Likewise.
33078         * m4/mbswidth.m4: Likewise.
33079         * m4/memchr.m4: Likewise.
33080         * m4/memcmp.m4: Likewise.
33081         * m4/memcpy.m4: Likewise.
33082         * m4/memmem.m4: Likewise.
33083         * m4/memmove.m4: Likewise.
33084         * m4/mempcpy.m4: Likewise.
33085         * m4/memrchr.m4: Likewise.
33086         * m4/memset.m4: Likewise.
33087         * m4/minmax.m4: Likewise.
33088         * m4/mkdir-slash.m4: Likewise.
33089         * m4/mkdtemp.m4: Likewise.
33090         * m4/mktime.m4: Likewise.
33091         * m4/mmap-anon.m4: Likewise.
33092         * m4/mountlist.m4: Likewise.
33093         * m4/nanosleep.m4: Likewise.
33094         * m4/nls.m4: Likewise.
33095         * m4/nocrash.m4: Likewise.
33096         * m4/open.m4: Likewise.
33097         * m4/openat.m4: Likewise.
33098         * m4/openmp.m4: Likewise.
33099         * m4/pathmax.m4: Likewise.
33100         * m4/perl.m4: Likewise.
33101         * m4/physmem.m4: Likewise.
33102         * m4/pipe.m4: Likewise.
33103         * m4/po.m4: Likewise.
33104         * m4/poll.m4: Likewise.
33105         * m4/posixtm.m4: Likewise.
33106         * m4/posixver.m4: Likewise.
33107         * m4/printf-frexp.m4: Likewise.
33108         * m4/printf-frexpl.m4: Likewise.
33109         * m4/printf-posix.m4: Likewise.
33110         * m4/printf-posix-rpl.m4: Likewise.
33111         * m4/printf.m4: Likewise.
33112         * m4/progtest.m4: Likewise.
33113         * m4/putenv.m4: Likewise.
33114         * m4/readline.m4: Likewise.
33115         * m4/readlink.m4: Likewise.
33116         * m4/readutmp.m4: Likewise.
33117         * m4/realloc.m4: Likewise.
33118         * m4/regex.m4: Likewise.
33119         * m4/relocatable.m4: Likewise.
33120         * m4/relocatable-lib.m4: Likewise.
33121         * m4/rename-dest-slash.m4: Likewise.
33122         * m4/rename.m4: Likewise.
33123         * m4/rmdir-errno.m4: Likewise.
33124         * m4/rmdir.m4: Likewise.
33125         * m4/roundf.m4: Likewise.
33126         * m4/roundl.m4: Likewise.
33127         * m4/rpmatch.m4: Likewise.
33128         * m4/save-cwd.m4: Likewise.
33129         * m4/selinux-selinux-h.m4: Likewise.
33130         * m4/setenv.m4: Likewise.
33131         * m4/settime.m4: Likewise.
33132         * m4/sig2str.m4: Likewise.
33133         * m4/sig_atomic_t.m4: Likewise.
33134         * m4/signalblocking.m4: Likewise.
33135         * m4/signbit.m4: Likewise.
33136         * m4/sigpipe.m4: Likewise.
33137         * m4/sockets.m4: Likewise.
33138         * m4/sockpfaf.m4: Likewise.
33139         * m4/st_dm_mode.m4: Likewise.
33140         * m4/stat-time.m4: Likewise.
33141         * m4/stdbool.m4: Likewise.
33142         * m4/stdint.m4: Likewise.
33143         * m4/stdint_h.m4: Likewise.
33144         * m4/stpcpy.m4: Likewise.
33145         * m4/stpncpy.m4: Likewise.
33146         * m4/strcase.m4: Likewise.
33147         * m4/strchrnul.m4: Likewise.
33148         * m4/strcspn.m4: Likewise.
33149         * m4/strdup.m4: Likewise.
33150         * m4/strftime.m4: Likewise.
33151         * m4/strndup.m4: Likewise.
33152         * m4/strnlen.m4: Likewise.
33153         * m4/strpbrk.m4: Likewise.
33154         * m4/strptime.m4: Likewise.
33155         * m4/strsep.m4: Likewise.
33156         * m4/strtod.m4: Likewise.
33157         * m4/strtoimax.m4: Likewise.
33158         * m4/strtok_r.m4: Likewise.
33159         * m4/strtol.m4: Likewise.
33160         * m4/strtoll.m4: Likewise.
33161         * m4/strtoul.m4: Likewise.
33162         * m4/strtoull.m4: Likewise.
33163         * m4/strtoumax.m4: Likewise.
33164         * m4/strverscmp.m4: Likewise.
33165         * m4/threadlib.m4: Likewise.
33166         * m4/timegm.m4: Likewise.
33167         * m4/tm_gmtoff.m4: Likewise.
33168         * m4/tmpdir.m4: Likewise.
33169         * m4/tmpfile.m4: Likewise.
33170         * m4/tzset.m4: Likewise.
33171         * m4/uintmax_t.m4: Likewise.
33172         * m4/unlinkdir.m4: Likewise.
33173         * m4/unlocked-io.m4: Likewise.
33174         * m4/uptime.m4: Likewise.
33175         * m4/userspec.m4: Likewise.
33176         * m4/utimbuf.m4: Likewise.
33177         * m4/utime.m4: Likewise.
33178         * m4/utimes-null.m4: Likewise.
33179         * m4/utimes.m4: Likewise.
33180         * m4/vararrays.m4: Likewise.
33181         * m4/vasnprintf.m4: Likewise.
33182         * m4/vfprintf-posix.m4: Likewise.
33183         * m4/vprintf-posix.m4: Likewise.
33184         * m4/wait-process.m4: Likewise.
33185         * m4/wchar_t.m4: Likewise.
33186         * m4/wint_t.m4: Likewise.
33187         * m4/write-any-file.m4: Likewise.
33188         * m4/yield.m4: Likewise.
33189
33190 2009-01-13  Bruno Haible  <bruno@clisp.org>
33191
33192         Avoid test-copy-file.sh failures when ACL support insufficient.
33193         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
33194         TESTS_ENVIRONMENT.
33195         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
33196         Reported by Jim Meyering.
33197
33198 2009-01-13  Bruno Haible  <bruno@clisp.org>
33199
33200         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
33201         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
33202         * modules/unistdio/u8-printf-parse (Files): Likewise.
33203         * modules/unistdio/u32-printf-parse (Files): Likewise.
33204         * modules/unistdio/ulc-printf-parse (Files): Likewise.
33205
33206 2009-01-13  Simon Josefsson  <simon@josefsson.org>
33207
33208         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
33209         and m4/inttypes_h.m4 too.
33210
33211 2009-01-12  Eric Blake  <ebb9@byu.net>
33212
33213         tests: IRIX 6.2 cc can't compile -0.0 into .data
33214         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
33215         rather than at compile-time.
33216         * tests/test-floorl.c (minus_zero): Likewise.
33217         * tests/test-frexpl.c (minus_zero): Likewise.
33218         * tests/test-isnan.c (minus_zerol): Likewise.
33219         * tests/test-isnanl.h (minus_zero): Likewise.
33220         * tests/test-ldexpl.c (minus_zero): Likewise.
33221         * tests/test-roundl.c (minus_zero): Likewise.
33222         * tests/test-signbit.c (minus_zerol): Likewise.
33223         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33224         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33225         * tests/test-truncl.c (minus_zero): Likewise.
33226         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33227         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33228         Reported by Tom G. Christensen and Nelson H. F. Beebe.
33229
33230 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33231
33232         regex: fix glibc bug 9697
33233         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
33234         handling.
33235
33236 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33237
33238         regex: fix glibc bug 697
33239         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
33240         being NULL also if there are no backreferences.
33241
33242 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33243
33244         regex: merge glibc changes
33245         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
33246         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
33247         re_string_skip_chars, re_string_reconstruct): Likewise.
33248         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
33249
33250 2009-01-07  Jim Meyering  <meyering@redhat.com>
33251
33252         poll: filter through cppi
33253         * lib/poll.c: Indent cpp directives to reflect nesting.
33254
33255 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
33256
33257         poll: don't return uninitialized
33258         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
33259
33260 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
33261
33262         avoid compile failure on AIX 6.1
33263         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
33264         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
33265
33266 2009-01-04  Jim Meyering  <meyering@redhat.com>
33267
33268         remove duplicate inclusion of <stdio.h>
33269         * tests/test-fprintf-posix.c: Likewise.
33270         * tests/test-printf-posix.c: Likewise.
33271         * tests/test-snprintf-posix.c: Likewise.
33272         * tests/test-sprintf-posix.c: Likewise.
33273         * tests/test-vasprintf-posix.c: Likewise.
33274         * tests/test-vfprintf-posix.c: Likewise.
33275         * tests/test-vprintf-posix.c: Likewise.
33276         * tests/test-vsnprintf-posix.c: Likewise.
33277         * tests/test-vsprintf-posix.c: Likewise.
33278
33279 2009-01-03  Jim Meyering  <meyering@redhat.com>
33280
33281         gnulib-tool: fix sed-based filtering
33282         * gnulib-tool (func_filter_filelist): Remove extra backslash
33283         in sed_fff_filter definition.
33284
33285 2009-01-02  Jim Meyering  <meyering@redhat.com>
33286
33287         strftime: avoid compilation failure on Solaris 2.6
33288         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
33289         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
33290         Don't #define mbrlen or mbsinit, since now they're guaranteed to
33291         be available.  Reported by Tom G. Christensen.  Details in
33292         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
33293
33294 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33295             Bruno Haible  <bruno@clisp.org>
33296
33297         Speed up gnulib-tool by doing more string processing through shell
33298         built-ins.
33299         * gnulib-tool (fast_func_append): New variable.
33300         (func_remove_prefix, func_remove_suffix): New functions.
33301         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
33302         (func_filter_filelist): New function.
33303         (func_get_dependencies): Use func_remove_suffix instead of sed.
33304         (func_get_automake_snippet): Use func_filter_filelist instead of a
33305         subshell and sed invocation.
33306
33307 2009-01-01  Bruno Haible  <bruno@clisp.org>
33308
33309         Fix a security bug.
33310         * gnulib-tool (func_import, import, update): Don't allow the characters
33311         '"', '$', '`', '\' in macro arguments that become part of commands that
33312         are evaluated.
33313
33314 2009-01-01  Bruno Haible  <bruno@clisp.org>
33315
33316         * gnulib-tool (func_reset_sigpipe): Add more comments.
33317
33318 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33319
33320         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
33321         func_emit_tests_Makefile_am, func_import): Abort loops early if we
33322         already know the answer.
33323
33324 2009-01-01  Jim Meyering  <meyering@redhat.com>
33325
33326         * lib/version-etc.c (version_etc_va): Update copyright year.
33327
33328 2008-12-30  Bruno Haible  <bruno@clisp.org>
33329
33330         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
33331         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
33332         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
33333
33334 2008-12-29  Eric Blake  <ebb9@byu.net>
33335
33336         multiarch: avoid autoconf AC_REQUIRE bug
33337         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
33338         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
33339         2.63 and older.
33340         Reported by Bruno Haible, and analyzed in
33341         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
33342
33343 2008-12-29  Bruno Haible  <bruno@clisp.org>
33344
33345         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
33346         files in subdirectories correctly.
33347         Reported by Ralf Wildenhues.
33348
33349 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33350
33351         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
33352         rather than 'join FILE -', for Solaris join.
33353
33354 2008-12-29  Bruno Haible  <bruno@clisp.org>
33355
33356         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
33357         quoting.
33358         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
33359         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
33360         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
33361         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
33362         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
33363         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
33364         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
33365         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
33366         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
33367         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
33368         * m4/nls.m4 (AM_NLS): Likewise.
33369         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
33370         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
33371         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
33372         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
33373         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
33374         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
33375         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
33376         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
33377         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
33378         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
33379         * m4/xsize.m4 (gl_XSIZE): Likewise.
33380         Suggested by Jim Meyering.
33381
33382 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33383
33384         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
33385         * lib/parse-duration.c: use a switch instead of cascading if's.
33386
33387 2008-12-29  Eric Blake  <ebb9@byu.net>
33388
33389         wchar.h: supply WEOF on Irix 5.3
33390         * lib/wchar.in.h (wint_t): Also supply WEOF.
33391         * lib/wctype.in.h (wint_t): Likewise.
33392         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
33393         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
33394         Reported by Tom G. Christensen.
33395
33396 2008-12-26  Bruno Haible  <bruno@clisp.org>
33397
33398         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
33399         i486, i586, i686.
33400
33401 2008-12-26  Bruno Haible  <bruno@clisp.org>
33402
33403         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
33404
33405 2008-12-26  Bruno Haible  <bruno@clisp.org>
33406
33407         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
33408         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
33409         not __STDC_CONSTANT_MACROS.
33410         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33411
33412 2008-12-25  Bruno Haible  <bruno@clisp.org>
33413
33414         Add support for universal builds to vasnprintf.
33415         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
33416         universal builds, guess no.
33417         * modules/vasnprintf-posix (Depends-on): Add multiarch.
33418         * modules/vasprintf-posix (Depends-on): Likewise.
33419         * modules/fprintf-posix (Depends-on): Likewise.
33420         * modules/vfprintf-posix (Depends-on): Likewise.
33421         * modules/snprintf-posix (Depends-on): Likewise.
33422         * modules/vsnprintf-posix (Depends-on): Likewise.
33423         * modules/sprintf-posix (Depends-on): Likewise.
33424         * modules/vsprintf-posix (Depends-on): Likewise.
33425         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33426         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33427         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33428         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33429         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33430         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33431         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33432
33433         Add support for universal builds to <inttypes.h>.
33434         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
33435         _SCNu64_PREFIX): In Apple
33436         universal builds, define directly, using _LP64.
33437         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
33438         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
33439         * modules/inttypes (Depends-on): Add multiarch.
33440         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33441
33442         Add support for universal builds to <stdint.h>.
33443         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
33444         universal builds, define directly, using _LP64.
33445         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
33446         Apple universal builds, don't test for the size and suffix of ptrdiff_t
33447         and size_t.
33448         * modules/stdint (Depends-on): Add multiarch.
33449         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33450
33451         New module 'multiarch'.
33452         * modules/multiarch: New file.
33453         * m4/multiarch.m4: New file.
33454
33455 2008-12-25  Bruno Haible  <bruno@clisp.org>
33456
33457         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
33458
33459 2008-12-25  Bruno Haible  <bruno@clisp.org>
33460
33461         * modules/btowc (License): Relicense under LGPLv2+.
33462         * modules/mbsinit (License): Likewise.
33463         * modules/mbrtowc (License): Likewise.
33464         * modules/wcrtomb (License): Likewise.
33465         * modules/streq (License): Likewise.
33466         Reported by David Lutterkort <lutter@redhat.com>.
33467
33468 2008-12-23  Bruno Haible  <bruno@clisp.org>
33469
33470         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
33471
33472 2008-12-23  Bruno Haible  <bruno@clisp.org>
33473
33474         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
33475         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
33476         GETADDRINFO_LIB, not in LIBS.
33477         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
33478         * modules/canon-host (Link): Likewise.
33479         * NEWS: Mention the change.
33480         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
33481         GETADDRINFO_LIB.
33482
33483 2008-12-22  Bruno Haible  <bruno@clisp.org>
33484
33485         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
33486         * doc/posix-functions/iswalpha_l.texi: Likewise.
33487         * doc/posix-functions/iswblank_l.texi: Likewise.
33488         * doc/posix-functions/iswcntrl_l.texi: Likewise.
33489         * doc/posix-functions/iswctype_l.texi: Likewise.
33490         * doc/posix-functions/iswdigit_l.texi: Likewise.
33491         * doc/posix-functions/iswgraph_l.texi: Likewise.
33492         * doc/posix-functions/iswlower_l.texi: Likewise.
33493         * doc/posix-functions/iswprint_l.texi: Likewise.
33494         * doc/posix-functions/iswpunct_l.texi: Likewise.
33495         * doc/posix-functions/iswspace_l.texi: Likewise.
33496         * doc/posix-functions/iswupper_l.texi: Likewise.
33497         * doc/posix-functions/iswxdigit_l.texi: Likewise.
33498         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
33499         * doc/posix-functions/open_wmemstream.texi: Likewise.
33500         * doc/posix-functions/swscanf.texi: Likewise.
33501         * doc/posix-functions/towctrans_l.texi: Likewise.
33502         * doc/posix-functions/towlower.texi: Likewise.
33503         * doc/posix-functions/towlower_l.texi: Likewise.
33504         * doc/posix-functions/towupper.texi: Likewise.
33505         * doc/posix-functions/towupper_l.texi: Likewise.
33506         * doc/posix-functions/vfwprintf.texi: Likewise.
33507         * doc/posix-functions/vfwscanf.texi: Likewise.
33508         * doc/posix-functions/vswscanf.texi: Likewise.
33509         * doc/posix-functions/vwprintf.texi: Likewise.
33510         * doc/posix-functions/vwscanf.texi: Likewise.
33511         * doc/posix-functions/wcpcpy.texi: Likewise.
33512         * doc/posix-functions/wcpncpy.texi: Likewise.
33513         * doc/posix-functions/wcscasecmp.texi: Likewise.
33514         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
33515         * doc/posix-functions/wcscoll_l.texi: Likewise.
33516         * doc/posix-functions/wcsdup.texi: Likewise.
33517         * doc/posix-functions/wcsncasecmp.texi: Likewise.
33518         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
33519         * doc/posix-functions/wcsnlen.texi: Likewise.
33520         * doc/posix-functions/wcsnrtombs.texi: Likewise.
33521         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
33522         * doc/posix-functions/wctrans_l.texi: Likewise.
33523         * doc/posix-functions/wctype_l.texi: Likewise.
33524         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
33525         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
33526         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
33527         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
33528         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
33529         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
33530         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
33531         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
33532         * doc/glibc-functions/wcschrnul.texi: Likewise.
33533         * doc/glibc-functions/wcsftime_l.texi: Likewise.
33534         * doc/glibc-functions/wcstod_l.texi: Likewise.
33535         * doc/glibc-functions/wcstof_l.texi: Likewise.
33536         * doc/glibc-functions/wcstol_l.texi: Likewise.
33537         * doc/glibc-functions/wcstold_l.texi: Likewise.
33538         * doc/glibc-functions/wcstoll_l.texi: Likewise.
33539         * doc/glibc-functions/wcstoq.texi: Likewise.
33540         * doc/glibc-functions/wcstoul_l.texi: Likewise.
33541         * doc/glibc-functions/wcstoull_l.texi: Likewise.
33542         * doc/glibc-functions/wcstouq.texi: Likewise.
33543         * doc/glibc-functions/wmempcpy.texi: Likewise.
33544
33545 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
33546             Eric Blake  <ebb9@byu.net>
33547             Paolo Bonzini  <bonzini@gnu.org>
33548             Bruno Haible  <bruno@clisp.org>
33549
33550         Make c-stack work on Haiku.
33551         * lib/c-stack.c (SA_ONSTACK): Define fallback.
33552         (c_stack_action): Use SA_ONSTACK flag.
33553
33554 2008-12-22  Bruno Haible  <bruno@clisp.org>
33555
33556         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
33557
33558 2008-12-22  Bruno Haible  <bruno@clisp.org>
33559
33560         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
33561         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
33562         being overridden.
33563         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
33564         New macros.
33565         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
33566         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
33567         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
33568         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
33569
33570 2008-12-22  Bruno Haible  <bruno@clisp.org>
33571
33572         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
33573         from test code.
33574
33575 2008-12-22  Eric Blake  <ebb9@byu.net>
33576
33577         Avoid gcc warnings on cygwin.
33578         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
33579         Avoid unused variable.
33580         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
33581         Likewise.
33582
33583 2008-12-22  Bruno Haible  <bruno@clisp.org>
33584
33585         Remove HAVE_MBRTOWC conditionals.
33586         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
33587         (mbscasecmp): Assume mbrtowc function.
33588         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
33589         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
33590         * lib/mbschr.c: Include mbuiter.h unconditionally.
33591         (mbschr): Assume mbrtowc function.
33592         * lib/mbscspn.c: Include mbuiter.h unconditionally.
33593         (mbscspn): Assume mbrtowc function.
33594         * lib/mbslen.c: Include mbuiter.h unconditionally.
33595         (mbslen): Assume mbrtowc function.
33596         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
33597         (mbsncasecmp): Assume mbrtowc function.
33598         * lib/mbsnlen.c: Include mbiter.h unconditionally.
33599         (mbsnlen): Assume mbrtowc function.
33600         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
33601         (mbspbrk): Assume mbrtowc function.
33602         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
33603         (mbspcasecmp): Assume mbrtowc function.
33604         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
33605         (mbsrchr): Assume mbrtowc function.
33606         * lib/mbssep.c: Include mbuiter.h unconditionally.
33607         (mbssep): Assume mbrtowc function.
33608         * lib/mbsspn.c: Include mbuiter.h unconditionally.
33609         (mbsspn): Assume mbrtowc function.
33610         * lib/mbsstr.c: Include mbuiter.h unconditionally.
33611         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
33612         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
33613         (mbstok_r): Assume mbrtowc function.
33614         * lib/propername.c: Include mbuiter.h unconditionally.
33615         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
33616         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
33617         (trim2): Assume mbrtowc function.
33618         * lib/mbswidth.c (mbsinit): Remove fallback definition.
33619         (mbsnwidth): Assume mbrtowc function.
33620         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
33621         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
33622         fallback definitions.
33623         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
33624
33625 2008-12-22  Bruno Haible  <bruno@clisp.org>
33626
33627         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
33628
33629 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
33630
33631         * modules/regex: Request emulations for the mb*/wc* functions we need.
33632         * m4/regex.m4: Don't look for those functions here.
33633         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
33634
33635 2008-12-22  Bruno Haible  <bruno@clisp.org>
33636
33637         * modules/fnmatch (Depends-on): Remove duplicated dependency.
33638
33639 2008-12-21  Bruno Haible  <bruno@clisp.org>
33640
33641         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
33642         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
33643         (Include): Remove conditionalization.
33644         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
33645         (Include): Remove conditionalization.
33646         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
33647         (Include): Remove conditionalization.
33648         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
33649         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33650         * NEWS: Mention the change.
33651         Reported by Alan Hourihane <alanh@fairlite.co.uk>
33652         via Sergey Poznyakoff <gray@gnu.org.ua>.
33653
33654 2008-12-21  Bruno Haible  <bruno@clisp.org>
33655
33656         * MODULES.html.sh (Extended multibyte and wide character utilities
33657         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
33658         wcrtomb, wcsrtombs.
33659         (Support for systems lacking POSIX:2008): Add accept, bind, close,
33660         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
33661         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
33662         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
33663
33664 2008-12-21  Bruno Haible  <bruno@clisp.org>
33665
33666         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
33667
33668 2008-12-21  Bruno Haible  <bruno@clisp.org>
33669
33670         * modules/wcsnrtombs-tests: New file.
33671         * tests/test-wcsnrtombs1.sh: New file.
33672         * tests/test-wcsnrtombs2.sh: New file.
33673         * tests/test-wcsnrtombs3.sh: New file.
33674         * tests/test-wcsnrtombs4.sh: New file.
33675         * tests/test-wcsnrtombs.c: New file.
33676
33677         New module 'wcsnrtombs'.
33678         * lib/wchar.in.h (wcsnrtombs): New declaration.
33679         * lib/wcsnrtombs.c: New file.
33680         * lib/wcsrtombs-state.c: New file.
33681         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
33682         (internal_state): Remove variable.
33683         * m4/wcsnrtombs.m4: New file.
33684         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
33685         compilation units.
33686         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
33687         HAVE_WCSNRTOMBS.
33688         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
33689         HAVE_WCSNRTOMBS.
33690         * modules/wcsnrtombs: New file.
33691         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
33692         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
33693
33694 2008-12-21  Bruno Haible  <bruno@clisp.org>
33695
33696         * modules/wcsrtombs-tests: New file.
33697         * tests/test-wcsrtombs1.sh: New file.
33698         * tests/test-wcsrtombs2.sh: New file.
33699         * tests/test-wcsrtombs3.sh: New file.
33700         * tests/test-wcsrtombs4.sh: New file.
33701         * tests/test-wcsrtombs.c: New file.
33702
33703         New module 'wcsrtombs'.
33704         * lib/wchar.in.h (wcsrtombs): New declaration.
33705         * lib/wcsrtombs.c: New file.
33706         * m4/wcsrtombs.m4: New file.
33707         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
33708         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33709         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
33710         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33711         * modules/wcsrtombs: New file.
33712         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
33713         bugs.
33714
33715 2008-12-21  Bruno Haible  <bruno@clisp.org>
33716
33717         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
33718         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
33719         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
33720         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
33721         if not correct.
33722         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
33723         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
33724         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33725         m4/locale-zh.m4, m4/codeset.m4.
33726         * doc/posix-functions/wcrtomb.texi: Document the bug.
33727
33728 2008-12-21  Bruno Haible  <bruno@clisp.org>
33729
33730         Work around a btowc() bug on IRIX 6.5.
33731         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
33732         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
33733         REPLACE_WTOBC if not.
33734         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
33735         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
33736         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
33737
33738 2008-12-21  Bruno Haible  <bruno@clisp.org>
33739
33740         * modules/wcrtomb-tests: New file.
33741         * tests/test-wcrtomb.sh: New file.
33742         * tests/test-wcrtomb.c: New file.
33743
33744         New module 'wcrtomb'.
33745         * lib/wchar.in.h (wcrtomb): New declaration.
33746         * lib/wcrtomb.c: New file.
33747         * m4/wcrtomb.m4: New file.
33748         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
33749         HAVE_WCRTOMB.
33750         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
33751         HAVE_WCRTOMB.
33752         * modules/wcrtomb: New file.
33753         * doc/posix-functions/wcrtomb.texi: Mention the new module.
33754
33755 2008-12-21  Bruno Haible  <bruno@clisp.org>
33756
33757         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
33758         * modules/mbsrtowcs (Files): Likewise.
33759         * modules/wctob (Files): Likewise.
33760         * modules/c-strcase-tests (Files): Likewise.
33761         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33762         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33763         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33764         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33765         * modules/vasnprintf-posix-tests (Files): Likewise.
33766
33767 2008-12-21  William Pursell  <bill.pursell@gmail.com>
33768
33769         gitlog-to-changelog: pass all command-line arguments to git-log
33770         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
33771         it is sometimes convenient to filter the commits in various ways.
33772         gitlog-to-changelog only allows --since to specify a start date,
33773         but git-log itself supports many other filtering mechanisms.
33774         At the moment, I want to filter by branch name.  Rather than
33775         adding a --branch option to gitlog-to-changelog, it seems more
33776         flexible to simply pass all options directly to git-log and let
33777         git do the work.  Notice that this effectively makes --since a
33778         redundant option for gitlog-to-changelog, but removing it would
33779         require current usage to change since calls would then require
33780         an additional '--'.
33781
33782 2008-12-21  Bruno Haible  <bruno@clisp.org>
33783
33784         * modules/mbsnrtowcs-tests: New file.
33785         * tests/test-mbsnrtowcs1.sh: New file.
33786         * tests/test-mbsnrtowcs2.sh: New file.
33787         * tests/test-mbsnrtowcs3.sh: New file.
33788         * tests/test-mbsnrtowcs4.sh: New file.
33789         * tests/test-mbsnrtowcs.c: New file.
33790
33791         New module 'mbsnrtowcs'.
33792         * lib/wchar.in.h (mbsnrtowcs): New declaration.
33793         * lib/mbsnrtowcs.c: New file.
33794         * lib/mbsrtowcs-state.c: New file.
33795         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
33796         (internal_state): Remove variable.
33797         * m4/mbsnrtowcs.m4: New file.
33798         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
33799         compilation units.
33800         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
33801         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33802         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
33803         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33804         * modules/mbsnrtowcs: New file.
33805         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
33806         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
33807         portability problem.
33808
33809 2008-12-21  Bruno Haible  <bruno@clisp.org>
33810
33811         Work around mbsrtowcs bug.
33812         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
33813         (gl_FUNC_MBSRTOWCS): Invoke it.
33814         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33815         m4/locale-zh.m4.
33816         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
33817
33818 2008-12-21  Bruno Haible  <bruno@clisp.org>
33819
33820         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
33821
33822 2008-12-21  Bruno Haible  <bruno@clisp.org>
33823
33824         Update doc for AIX.
33825         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
33826         16-bit wchar_t type.
33827         * doc/posix-functions/btowc.texi: Likewise.
33828         * doc/posix-functions/fgetwc.texi: Likewise.
33829         * doc/posix-functions/fgetws.texi: Likewise.
33830         * doc/posix-functions/fputwc.texi: Likewise.
33831         * doc/posix-functions/fputws.texi: Likewise.
33832         * doc/posix-functions/fwide.texi: Likewise.
33833         * doc/posix-functions/fwprintf.texi: Likewise.
33834         * doc/posix-functions/fwscanf.texi: Likewise.
33835         * doc/posix-functions/getwchar.texi: Likewise.
33836         * doc/posix-functions/getwc.texi: Likewise.
33837         * doc/posix-functions/iswalnum.texi: Likewise.
33838         * doc/posix-functions/iswalpha.texi: Likewise.
33839         * doc/posix-functions/iswblank.texi: Likewise.
33840         * doc/posix-functions/iswcntrl.texi: Likewise.
33841         * doc/posix-functions/iswctype.texi: Likewise.
33842         * doc/posix-functions/iswdigit.texi: Likewise.
33843         * doc/posix-functions/iswgraph.texi: Likewise.
33844         * doc/posix-functions/iswlower.texi: Likewise.
33845         * doc/posix-functions/iswprint.texi: Likewise.
33846         * doc/posix-functions/iswpunct.texi: Likewise.
33847         * doc/posix-functions/iswspace.texi: Likewise.
33848         * doc/posix-functions/iswupper.texi: Likewise.
33849         * doc/posix-functions/iswxdigit.texi: Likewise.
33850         * doc/posix-functions/mbrtowc.texi: Likewise.
33851         * doc/posix-functions/mbsrtowcs.texi: Likewise.
33852         * doc/posix-functions/mbstowcs.texi: Likewise.
33853         * doc/posix-functions/mbtowc.texi: Likewise.
33854         * doc/posix-functions/putwchar.texi: Likewise.
33855         * doc/posix-functions/putwc.texi: Likewise.
33856         * doc/posix-functions/swprintf.texi: Likewise.
33857         * doc/posix-functions/tolower.texi: Likewise.
33858         * doc/posix-functions/toupper.texi: Likewise.
33859         * doc/posix-functions/towctrans.texi: Likewise.
33860         * doc/posix-functions/ungetwc.texi: Likewise.
33861         * doc/posix-functions/vswprintf.texi: Likewise.
33862         * doc/posix-functions/wcrtomb.texi: Likewise.
33863         * doc/posix-functions/wcscat.texi: Likewise.
33864         * doc/posix-functions/wcschr.texi: Likewise.
33865         * doc/posix-functions/wcscmp.texi: Likewise.
33866         * doc/posix-functions/wcscoll.texi: Likewise.
33867         * doc/posix-functions/wcscpy.texi: Likewise.
33868         * doc/posix-functions/wcscspn.texi: Likewise.
33869         * doc/posix-functions/wcsftime.texi: Likewise.
33870         * doc/posix-functions/wcslen.texi: Likewise.
33871         * doc/posix-functions/wcsncat.texi: Likewise.
33872         * doc/posix-functions/wcsncmp.texi: Likewise.
33873         * doc/posix-functions/wcsncpy.texi: Likewise.
33874         * doc/posix-functions/wcspbrk.texi: Likewise.
33875         * doc/posix-functions/wcsrchr.texi: Likewise.
33876         * doc/posix-functions/wcsrtombs.texi: Likewise.
33877         * doc/posix-functions/wcsspn.texi: Likewise.
33878         * doc/posix-functions/wcsstr.texi: Likewise.
33879         * doc/posix-functions/wcstod.texi: Likewise.
33880         * doc/posix-functions/wcstof.texi: Likewise.
33881         * doc/posix-functions/wcstoimax.texi: Likewise.
33882         * doc/posix-functions/wcstok.texi: Likewise.
33883         * doc/posix-functions/wcstold.texi: Likewise.
33884         * doc/posix-functions/wcstoll.texi: Likewise.
33885         * doc/posix-functions/wcstol.texi: Likewise.
33886         * doc/posix-functions/wcstombs.texi: Likewise.
33887         * doc/posix-functions/wcstoull.texi: Likewise.
33888         * doc/posix-functions/wcstoul.texi: Likewise.
33889         * doc/posix-functions/wcstoumax.texi: Likewise.
33890         * doc/posix-functions/wcswidth.texi: Likewise.
33891         * doc/posix-functions/wcsxfrm.texi: Likewise.
33892         * doc/posix-functions/wctob.texi: Likewise.
33893         * doc/posix-functions/wctomb.texi: Likewise.
33894         * doc/posix-functions/wctrans.texi: Likewise.
33895         * doc/posix-functions/wctype.texi: Likewise.
33896         * doc/posix-functions/wcwidth.texi: Likewise.
33897         * doc/posix-functions/wmemchr.texi: Likewise.
33898         * doc/posix-functions/wmemcmp.texi: Likewise.
33899         * doc/posix-functions/wmemcpy.texi: Likewise.
33900         * doc/posix-functions/wmemmove.texi: Likewise.
33901         * doc/posix-functions/wmemset.texi: Likewise.
33902         * doc/posix-functions/wprintf.texi: Likewise.
33903         * doc/posix-functions/wscanf.texi: Likewise.
33904
33905 2008-12-21  Bruno Haible  <bruno@clisp.org>
33906
33907         Update doc for HP-UX 11.11.
33908         * doc/posix-functions/btowc.texi: Clarify that the function is missing
33909         in HP-UX version 11.00, not in all versions of HP-UX 11.
33910         * doc/posix-functions/fwide.texi: Likewise.
33911         * doc/posix-functions/fwprintf.texi: Likewise.
33912         * doc/posix-functions/fwscanf.texi: Likewise.
33913         * doc/posix-functions/inet_ntop.texi: Likewise.
33914         * doc/posix-functions/inet_pton.texi: Likewise.
33915         * doc/posix-functions/mbrlen.texi: Likewise.
33916         * doc/posix-functions/mbrtowc.texi: Likewise.
33917         * doc/posix-functions/mbsinit.texi: Likewise.
33918         * doc/posix-functions/mbsrtowcs.texi: Likewise.
33919         * doc/posix-functions/swprintf.texi: Likewise.
33920         * doc/posix-functions/swscanf.texi: Likewise.
33921         * doc/posix-functions/towctrans.texi: Likewise.
33922         * doc/posix-functions/vfwprintf.texi: Likewise.
33923         * doc/posix-functions/vswprintf.texi: Likewise.
33924         * doc/posix-functions/vwprintf.texi: Likewise.
33925         * doc/posix-functions/wcrtomb.texi: Likewise.
33926         * doc/posix-functions/wcsrtombs.texi: Likewise.
33927         * doc/posix-functions/wcsstr.texi: Likewise.
33928         * doc/posix-functions/wctob.texi: Likewise.
33929         * doc/posix-functions/wctrans.texi: Likewise.
33930         * doc/posix-functions/wmemchr.texi: Likewise.
33931         * doc/posix-functions/wmemcmp.texi: Likewise.
33932         * doc/posix-functions/wmemcpy.texi: Likewise.
33933         * doc/posix-functions/wmemmove.texi: Likewise.
33934         * doc/posix-functions/wmemset.texi: Likewise.
33935         * doc/posix-functions/wprintf.texi: Likewise.
33936         * doc/posix-functions/wscanf.texi: Likewise.
33937
33938 2008-12-21  Bruno Haible  <bruno@clisp.org>
33939
33940         Work around a portability problem.
33941         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
33942         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
33943
33944 2008-12-20  Bruno Haible  <bruno@clisp.org>
33945
33946         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
33947         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
33948         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
33949         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
33950         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
33951
33952         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
33953         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
33954         set.
33955         (GNULIB_defined_mbstate_t): New macro.
33956         (mbsinit): Redefine if REPLACE_MBSINIT is set.
33957         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
33958         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
33959         reuses the system's mbrtowc function but works around the bugs.
33960         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
33961         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
33962         macros.
33963         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
33964         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
33965         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
33966         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
33967         REPLACE_MBSINIT if mbsinit needs to be overridden.
33968         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
33969         REPLACE_MBSINIT, REPLACE_MBRTOWC.
33970         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
33971         REPLACE_MBSINIT, REPLACE_MBRTOWC.
33972         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33973         m4/locale-zh.m4.
33974         (Depends): Add mbsinit.
33975         * modules/mbsinit (Depends): Add mbrtowc.
33976         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
33977
33978 2008-12-20  Bruno Haible  <bruno@clisp.org>
33979
33980         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
33981         so that there are no conversion errors on AIX.
33982         * tests/test-mbsrtowcs.c (main): LIkewise.
33983
33984 2008-12-20  Bruno Haible  <bruno@clisp.org>
33985
33986         Work around wctob bug on Solaris <= 9.
33987         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
33988         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
33989         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
33990         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
33991         * modules/wctob (Files): Add m4/locale-fr.m4.
33992         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
33993
33994 2008-12-20  Bruno Haible  <bruno@clisp.org>
33995
33996         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
33997         /dev/null.
33998         * tests/test-select-in.sh: Likewise.
33999         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34000
34001 2008-12-20  Bruno Haible  <bruno@clisp.org>
34002
34003         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
34004         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
34005         Cygwin 1.5.x.
34006
34007 2008-12-20  Bruno Haible  <bruno@clisp.org>
34008
34009         Ensure mbstate_t is defined on HP-UX 11.11.
34010         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
34011         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
34012         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
34013         AC_USE_SYSTEM_EXTENSIONS.
34014         * modules/fnmatch (Depends-on): Add extensions.
34015         * modules/mbrlen (Depends-on): Likewise.
34016         * modules/mbrtowc (Depends-on): Likewise.
34017         * modules/mbsinit (Depends-on): Likewise.
34018         * modules/mbsrtowcs (Depends-on): Likewise.
34019         * modules/mbswidth (Depends-on): Likewise.
34020         * modules/quotearg (Depends-on): Likewise.
34021         * modules/strftime (Depends-on): Likewise.
34022
34023 2008-12-20  Bruno Haible  <bruno@clisp.org>
34024
34025         Ensure wctob is declared on IRIX 6.5.
34026         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
34027         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
34028         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
34029         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
34030         of HAVE_WCTOB.
34031         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
34032         HAVE_WCTOB.
34033         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
34034
34035 2008-12-19  Bruno Haible  <bruno@clisp.org>
34036
34037         * modules/mbsrtowcs-tests: New file.
34038         * tests/test-mbsrtowcs1.sh: New file.
34039         * tests/test-mbsrtowcs2.sh: New file.
34040         * tests/test-mbsrtowcs3.sh: New file.
34041         * tests/test-mbsrtowcs4.sh: New file.
34042         * tests/test-mbsrtowcs.c: New file.
34043
34044         New module 'mbsrtowcs'.
34045         * lib/wchar.in.h (mbsrtowcs): New declaration.
34046         * lib/mbsrtowcs.c: New file.
34047         * m4/mbsrtowcs.m4: New file.
34048         * modules/mbsrtowcs: New file.
34049         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
34050         HAVE_MBSRTOWCS.
34051         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
34052         HAVE_MBSRTOWCS.
34053         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
34054
34055 2008-12-19  Bruno Haible  <bruno@clisp.org>
34056
34057         New module 'mbrlen'.
34058         * lib/wchar.in.h (mbrlen): New declaration.
34059         * lib/mbrlen.c: New file.
34060         * m4/mbrlen.m4: New file.
34061         * modules/mbrlen: New file.
34062         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
34063         HAVE_MBRLEN.
34064         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
34065         HAVE_MBRLEN.
34066         * doc/posix-functions/mbrlen.texi: Document the new module.
34067
34068 2008-12-19  Bruno Haible  <bruno@clisp.org>
34069
34070         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
34071         * modules/mbrtowc (Depends-on): Add verify.
34072         Suggested by Paul Eggert.
34073
34074 2008-12-18  Bruno Haible  <bruno@clisp.org>
34075
34076         * modules/mbsinit-tests: New file.
34077         * tests/test-mbsinit.sh: New file.
34078         * tests/test-mbsinit.c: New file.
34079
34080 2008-12-18  Bruno Haible  <bruno@clisp.org>
34081
34082         * modules/mbrtowc-tests: New file.
34083         * tests/test-mbrtowc1.sh: New file.
34084         * tests/test-mbrtowc2.sh: New file.
34085         * tests/test-mbrtowc3.sh: New file.
34086         * tests/test-mbrtowc4.sh: New file.
34087         * tests/test-mbrtowc.c: New file.
34088
34089         New module 'mbrtowc'.
34090         * lib/wchar.in.h (mbstate_t): Override when the system does not have
34091         mbsinit and mbrtowc.
34092         (mbrtowc): New declaration.
34093         * lib/mbrtowc.c: New file.
34094         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
34095         * modules/mbrtowc: New file.
34096         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
34097         HAVE_MBRTOWC.
34098         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
34099         HAVE_MBRTOWC.
34100         * doc/posix-functions/mbrtowc.texi: Document the new module.
34101
34102 2008-12-18  Bruno Haible  <bruno@clisp.org>
34103
34104         New module 'wctob'.
34105         * lib/wchar.in.h (wctob): New declaration.
34106         * lib/wctob.c: New file.
34107         * m4/wctob.m4: New file.
34108         * modules/wctob: New file.
34109         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
34110         HAVE_WCTOB.
34111         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
34112         * doc/posix-functions/wctob.texi: Document the new module.
34113
34114 2008-12-18  Bruno Haible  <bruno@clisp.org>
34115
34116         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
34117         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
34118
34119 2008-12-18  Simon Josefsson  <simon@josefsson.org>
34120
34121         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
34122         G. Christensen" <tgc@jupiterrise.com>.
34123
34124         * lib/flock.c: Need to include errno.h.  Reported by "Tom
34125         G. Christensen" <tgc@jupiterrise.com>.
34126
34127         * lib/flock.c: Need to include string.h.  Reported by "Tom
34128         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
34129         <ebb9@byu.net>.
34130
34131 2008-12-18  Bruno Haible  <bruno@clisp.org>
34132
34133         * m4/locale-ja.m4: New file, from GNU gettext.
34134
34135 2008-12-17  Bruno Haible  <bruno@clisp.org>
34136
34137         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
34138         Suggested by Eric Blake.
34139
34140 2008-12-17  Bruno Haible  <bruno@clisp.org>
34141
34142         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
34143
34144 2008-12-17  Bruno Haible  <bruno@clisp.org>
34145
34146         * lib/mbsinit.c: Include verify.h. Verify an assumption.
34147         * modules/mbsinit (Depends-on): Add verify.
34148         Suggested by Paul Eggert.
34149
34150 2008-12-17  Bruno Haible  <bruno@clisp.org>
34151
34152         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
34153         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
34154         gl_FUNC_MBRTOWC.
34155         * m4/mbiter.m4 (gl_MBITER): LIkewise.
34156         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
34157         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
34158         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
34159         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
34160         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
34161         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
34162         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
34163         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
34164         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
34165         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
34166         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
34167         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
34168         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
34169         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
34170         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
34171         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
34172         * modules/trim (configure.ac): Likewise.
34173
34174 2008-12-17  Bruno Haible  <bruno@clisp.org>
34175
34176         * modules/btowc-tests: New file.
34177         * tests/test-btowc1.sh: New file.
34178         * tests/test-btowc2.sh: New file.
34179         * tests/test-btowc.c: New file.
34180
34181         New module 'btowc'.
34182         * lib/wchar.in.h (btowc): New declaration.
34183         * lib/btowc.c: New file.
34184         * m4/btowc.m4: New file.
34185         * modules/btowc: New file.
34186         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
34187         HAVE_BTOWC.
34188         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
34189         * doc/posix-functions/btowc.texi: Document the new module.
34190
34191 2008-12-17  Bruno Haible  <bruno@clisp.org>
34192
34193         New module 'mbsinit'.
34194         * lib/wchar.in.h (mbsinit): New declaration.
34195         * lib/mbsinit.c: New file.
34196         * m4/mbsinit.m4: New file.
34197         * modules/mbsinit: New file.
34198         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
34199         HAVE_MBSINIT.
34200         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
34201         HAVE_MBSINIT.
34202         * doc/posix-functions/mbsinit.texi: Document the new module.
34203
34204 2008-12-16  Bruno Haible  <bruno@clisp.org>
34205
34206         * lib/unistd.in.h: Add comment.
34207         * tests/test-environ.c: Don't include <stdlib.h>.
34208
34209 2008-12-16  Bruno Haible  <bruno@clisp.org>
34210
34211         * lib/parse-duration.h (parse_duration): Document return value
34212         convention.
34213         * lib/parse-duration.c: Include specification header first. Add
34214         comments.
34215         (_): Remove macro.
34216         (parse_year_month_day, parse_hour_minute_second): Move side effects
34217         outside of strchr call.
34218         (parse_non_iso8601): Move side effects outside of isspace call.
34219         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
34220         call.
34221
34222 2008-12-16  Bruno Haible  <bruno@clisp.org>
34223
34224         * tests/test-parse-duration.sh: Produce no output when the test
34225         succeeds.
34226
34227 2008-12-16  Bruno Haible  <bruno@clisp.org>
34228
34229         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
34230         expressions.
34231
34232 2008-12-15  Bruno Haible  <bruno@clisp.org>
34233
34234         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
34235         * doc/glibc-functions/flistxattr.texi: Likewise.
34236         * doc/glibc-functions/fopencookie.texi: Likewise.
34237         * doc/glibc-functions/fremovexattr.texi: Likewise.
34238         * doc/glibc-functions/fsetxattr.texi: Likewise.
34239         * doc/glibc-functions/getxattr.texi: Likewise.
34240         * doc/glibc-functions/lgetxattr.texi: Likewise.
34241         * doc/glibc-functions/listxattr.texi: Likewise.
34242         * doc/glibc-functions/llistxattr.texi: Likewise.
34243         * doc/glibc-functions/lremovexattr.texi: Likewise.
34244         * doc/glibc-functions/lsetxattr.texi: Likewise.
34245         * doc/glibc-functions/removexattr.texi: Likewise.
34246         * doc/glibc-functions/setxattr.texi: Likewise.
34247         * doc/posix-functions/open_memstream.texi: Likewise.
34248
34249 2008-12-15  Eric Blake  <ebb9@byu.net>
34250
34251         Update doc for cygwin 1.7.
34252         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
34253         functions.
34254         * doc/posix-functions/fchmodat.texi: Likewise.
34255         * doc/posix-functions/fchownat.texi: Likewise.
34256         * doc/posix-functions/fdopendir.texi: Likewise.
34257         * doc/posix-functions/fmemopen.texi: Likewise.
34258         * doc/posix-functions/freeaddrinfo.texi: Likewise.
34259         * doc/posix-functions/fstatat.texi: Likewise.
34260         * doc/posix-functions/futimens.texi: Likewise.
34261         * doc/posix-functions/gai_strerror.texi: Likewise.
34262         * doc/posix-functions/getaddrinfo.texi: Likewise.
34263         * doc/posix-functions/getnameinfo.texi: Likewise.
34264         * doc/posix-functions/if_freenameindex.texi: Likewise.
34265         * doc/posix-functions/if_indextoname.texi: Likewise.
34266         * doc/posix-functions/if_nameindex.texi: Likewise.
34267         * doc/posix-functions/if_nametoindex.texi: Likewise.
34268         * doc/posix-functions/insque.texi: Likewise.
34269         * doc/posix-functions/linkat.texi: Likewise.
34270         * doc/posix-functions/llrint.texi: Likewise.
34271         * doc/posix-functions/llrintf.texi: Likewise.
34272         * doc/posix-functions/llrintl.texi: Likewise.
34273         * doc/posix-functions/lockf.texi: Likewise.
34274         * doc/posix-functions/lrintl.texi: Likewise.
34275         * doc/posix-functions/mkdirat.texi: Likewise.
34276         * doc/posix-functions/mkfifoat.texi: Likewise.
34277         * doc/posix-functions/mknodat.texi: Likewise.
34278         * doc/posix-functions/mq_close.texi: Likewise.
34279         * doc/posix-functions/mq_getattr.texi: Likewise.
34280         * doc/posix-functions/mq_notify.texi: Likewise.
34281         * doc/posix-functions/mq_open.texi: Likewise.
34282         * doc/posix-functions/mq_receive.texi: Likewise.
34283         * doc/posix-functions/mq_send.texi: Likewise.
34284         * doc/posix-functions/mq_setattr.texi: Likewise.
34285         * doc/posix-functions/mq_timedreceive.texi: Likewise.
34286         * doc/posix-functions/mq_timedsend.texi: Likewise.
34287         * doc/posix-functions/mq_unlink.texi: Likewise.
34288         * doc/posix-functions/open_memstream.texi: Likewise.
34289         * doc/posix-functions/openat.texi: Likewise.
34290         * doc/posix-functions/posix_fadvise.texi: Likewise.
34291         * doc/posix-functions/posix_fallocate.texi: Likewise.
34292         * doc/posix-functions/posix_madvise.texi: Likewise.
34293         * doc/posix-functions/posix_memalign.texi: Likewise.
34294         * doc/posix-functions/posix_openpt.texi: Likewise.
34295         * doc/posix-functions/readlinkat.texi: Likewise.
34296         * doc/posix-functions/remque.texi: Likewise.
34297         * doc/posix-functions/renameat.texi: Likewise.
34298         * doc/posix-functions/rintl.texi: Likewise.
34299         * doc/posix-functions/sem_unlink.texi: Likewise.
34300         * doc/posix-functions/shm_open.texi: Likewise.
34301         * doc/posix-functions/shm_unlink.texi: Likewise.
34302         * doc/posix-functions/signgam.texi: Likewise.
34303         * doc/posix-functions/sigset.texi: Likewise.
34304         * doc/posix-functions/stpcpy.texi: Likewise.
34305         * doc/posix-functions/stpncpy.texi: Likewise.
34306         * doc/posix-functions/strerror.texi: Likewise.
34307         * doc/posix-functions/strtod.texi: Likewise.
34308         * doc/posix-functions/symlinkat.texi: Likewise.
34309         * doc/posix-functions/unlinkat.texi: Likewise.
34310         * doc/posix-functions/utimensat.texi: Likewise.
34311         * doc/glibc-functions/bindresvport.texi: Likewise.
34312         * doc/glibc-functions/dn_expand.texi: Likewise.
34313         * doc/glibc-functions/exp10.texi: Likewise.
34314         * doc/glibc-functions/exp10f.texi: Likewise.
34315         * doc/glibc-functions/fgetxattr.texi: Likewise.
34316         * doc/glibc-functions/flistxattr.texi: Likewise.
34317         * doc/glibc-functions/fopencookie.texi: Likewise.
34318         * doc/glibc-functions/freeifaddrs.texi: Likewise.
34319         * doc/glibc-functions/fremovexattr.texi: Likewise.
34320         * doc/glibc-functions/fsetxattr.texi: Likewise.
34321         * doc/glibc-functions/getifaddrs.texi: Likewise.
34322         * doc/glibc-functions/getxattr.texi: Likewise.
34323         * doc/glibc-functions/lgetxattr.texi: Likewise.
34324         * doc/glibc-functions/listxattr.texi: Likewise.
34325         * doc/glibc-functions/llistxattr.texi: Likewise.
34326         * doc/glibc-functions/lremovexattr.texi: Likewise.
34327         * doc/glibc-functions/lsetxattr.texi: Likewise.
34328         * doc/glibc-functions/pow10.texi: Likewise.
34329         * doc/glibc-functions/pow10f.texi: Likewise.
34330         * doc/glibc-functions/rcmd_af.texi: Likewise.
34331         * doc/glibc-functions/removexattr.texi: Likewise.
34332         * doc/glibc-functions/res_init.texi: Likewise.
34333         * doc/glibc-functions/res_mkquery.texi: Likewise.
34334         * doc/glibc-functions/res_query.texi: Likewise.
34335         * doc/glibc-functions/res_querydomain.texi: Likewise.
34336         * doc/glibc-functions/res_send.texi: Likewise.
34337         * doc/glibc-functions/rresvport_af.texi: Likewise.
34338         * doc/glibc-functions/setxattr.texi: Likewise.
34339         * doc/glibc-functions/strcasestr.texi: Likewise.
34340
34341 2008-12-15  Bruno Haible  <bruno@clisp.org>
34342
34343         Fix compilation error on OSF/1 4.0.
34344         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
34345         <sys/time.h>, simply delegate to the system header.
34346         Reported by Daniel Richard G. <oss@teragram.com>.
34347
34348 2008-12-15  Bruno Haible  <bruno@clisp.org>
34349
34350         * doc/posix-functions/openat.texi: Mention the 'openat' module.
34351         * doc/posix-functions/fchmodat.texi: Likewise.
34352         * doc/posix-functions/fchownat.texi: Likewise.
34353         * doc/posix-functions/fdopendir.texi: Likewise.
34354         * doc/posix-functions/fstatat.texi: Likewise.
34355         * doc/posix-functions/mkdirat.texi: Likewise.
34356         * doc/posix-functions/unlinkat.texi: Likewise.
34357
34358 2008-12-14  Bruno Haible  <bruno@clisp.org>
34359
34360         Update doc for POSIX:2008.
34361         * doc/posix-functions/faccessat.texi: New file.
34362         * doc/posix-functions/fchmodat.texi: New file.
34363         * doc/posix-functions/fchownat.texi: New file.
34364         * doc/posix-functions/fdopendir.texi: New file.
34365         * doc/posix-functions/fstatat.texi: New file.
34366         * doc/posix-functions/futimens.texi: New file.
34367         * doc/posix-functions/linkat.texi: New file.
34368         * doc/posix-functions/mkdirat.texi: New file.
34369         * doc/posix-functions/mkfifoat.texi: New file.
34370         * doc/posix-functions/mknodat.texi: New file.
34371         * doc/posix-functions/open_wmemstream.texi: New file.
34372         * doc/posix-functions/openat.texi: New file.
34373         * doc/posix-functions/psiginfo.texi: New file.
34374         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
34375         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
34376         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
34377         * doc/posix-functions/readlinkat.texi: New file.
34378         * doc/posix-functions/renameat.texi: New file.
34379         * doc/posix-functions/strerror_l.texi: New file.
34380         * doc/posix-functions/symlinkat.texi: New file.
34381         * doc/posix-functions/unlinkat.texi: New file.
34382         * doc/posix-functions/utimensat.texi: New file.
34383         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34384
34385 2008-12-14  Bruno Haible  <bruno@clisp.org>
34386
34387         Update doc for POSIX:2008.
34388         * doc/posix-functions/alphasort.texi: Renamed from
34389         doc/glibc-functions/alphasort.texi.
34390         * doc/posix-functions/dirfd.texi: Renamed from
34391         doc/glibc-functions/dirfd.texi.
34392         * doc/posix-functions/dprintf.texi: Renamed from
34393         doc/glibc-functions/dprintf.texi.
34394         * doc/posix-functions/duplocale.texi: Renamed from
34395         doc/glibc-functions/duplocale.texi.
34396         * doc/posix-functions/fexecve.texi: Renamed from
34397         doc/glibc-functions/fexecve.texi.
34398         * doc/posix-functions/fmemopen.texi: Renamed from
34399         doc/glibc-functions/fmemopen.texi.
34400         * doc/posix-functions/freelocale.texi: Renamed from
34401         doc/glibc-functions/freelocale.texi.
34402         * doc/posix-functions/getdate_err.texi: Renamed from
34403         doc/glibc-functions/getdate_err.texi.
34404         * doc/posix-functions/isalnum_l.texi: Renamed from
34405         doc/glibc-functions/isalnum_l.texi.
34406         * doc/posix-functions/isalpha_l.texi: Renamed from
34407         doc/glibc-functions/isalpha_l.texi.
34408         * doc/posix-functions/isblank_l.texi: Renamed from
34409         doc/glibc-functions/isblank_l.texi.
34410         * doc/posix-functions/iscntrl_l.texi: Renamed from
34411         doc/glibc-functions/iscntrl_l.texi.
34412         * doc/posix-functions/isdigit_l.texi: Renamed from
34413         doc/glibc-functions/isdigit_l.texi.
34414         * doc/posix-functions/isgraph_l.texi: Renamed from
34415         doc/glibc-functions/isgraph_l.texi.
34416         * doc/posix-functions/islower_l.texi: Renamed from
34417         doc/glibc-functions/islower_l.texi.
34418         * doc/posix-functions/isprint_l.texi: Renamed from
34419         doc/glibc-functions/isprint_l.texi.
34420         * doc/posix-functions/ispunct_l.texi: Renamed from
34421         doc/glibc-functions/ispunct_l.texi.
34422         * doc/posix-functions/isspace_l.texi: Renamed from
34423         doc/glibc-functions/isspace_l.texi.
34424         * doc/posix-functions/isupper_l.texi: Renamed from
34425         doc/glibc-functions/isupper_l.texi.
34426         * doc/posix-functions/iswalnum_l.texi: Renamed from
34427         doc/glibc-functions/iswalnum_l.texi.
34428         * doc/posix-functions/iswalpha_l.texi: Renamed from
34429         doc/glibc-functions/iswalpha_l.texi.
34430         * doc/posix-functions/iswblank_l.texi: Renamed from
34431         doc/glibc-functions/iswblank_l.texi.
34432         * doc/posix-functions/iswcntrl_l.texi: Renamed from
34433         doc/glibc-functions/iswcntrl_l.texi.
34434         * doc/posix-functions/iswctype_l.texi: Renamed from
34435         doc/glibc-functions/iswctype_l.texi.
34436         * doc/posix-functions/iswdigit_l.texi: Renamed from
34437         doc/glibc-functions/iswdigit_l.texi.
34438         * doc/posix-functions/iswgraph_l.texi: Renamed from
34439         doc/glibc-functions/iswgraph_l.texi.
34440         * doc/posix-functions/iswlower_l.texi: Renamed from
34441         doc/glibc-functions/iswlower_l.texi.
34442         * doc/posix-functions/iswprint_l.texi: Renamed from
34443         doc/glibc-functions/iswprint_l.texi.
34444         * doc/posix-functions/iswpunct_l.texi: Renamed from
34445         doc/glibc-functions/iswpunct_l.texi.
34446         * doc/posix-functions/iswspace_l.texi: Renamed from
34447         doc/glibc-functions/iswspace_l.texi.
34448         * doc/posix-functions/iswupper_l.texi: Renamed from
34449         doc/glibc-functions/iswupper_l.texi.
34450         * doc/posix-functions/iswxdigit_l.texi: Renamed from
34451         doc/glibc-functions/iswxdigit_l.texi.
34452         * doc/posix-functions/isxdigit_l.texi: Renamed from
34453         doc/glibc-functions/isxdigit_l.texi.
34454         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
34455         doc/glibc-functions/mbsnrtowcs.texi.
34456         * doc/posix-functions/mkdtemp.texi: Renamed from
34457         doc/glibc-functions/mkdtemp.texi.
34458         * doc/posix-functions/newlocale.texi: Renamed from
34459         doc/glibc-functions/newlocale.texi.
34460         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
34461         doc/glibc-functions/nl_langinfo_l.texi.
34462         * doc/posix-functions/open_memstream.texi: Renamed from
34463         doc/glibc-functions/open_memstream.texi.
34464         * doc/posix-functions/opterr.texi: Renamed from
34465         doc/glibc-functions/opterr.texi.
34466         * doc/posix-functions/optind.texi: Renamed from
34467         doc/glibc-functions/optind.texi.
34468         * doc/posix-functions/optopt.texi: Renamed from
34469         doc/glibc-functions/optopt.texi.
34470         * doc/posix-functions/psignal.texi: Renamed from
34471         doc/glibc-functions/psignal.texi.
34472         * doc/posix-functions/scandir.texi: Renamed from
34473         doc/glibc-functions/scandir.texi.
34474         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
34475         doc/glibc-functions/sched_get_priority_min.texi.
34476         * doc/posix-functions/signgam.texi: Renamed from
34477         doc/glibc-functions/signgam.texi.
34478         * doc/posix-functions/stpcpy.texi: Renamed from
34479         doc/glibc-functions/stpcpy.texi.
34480         * doc/posix-functions/stpncpy.texi: Renamed from
34481         doc/glibc-functions/stpncpy.texi.
34482         * doc/posix-functions/strcasecmp_l.texi: Renamed from
34483         doc/glibc-functions/strcasecmp_l.texi.
34484         * doc/posix-functions/strcoll_l.texi: Renamed from
34485         doc/glibc-functions/strcoll_l.texi.
34486         * doc/posix-functions/strfmon_l.texi: Renamed from
34487         doc/glibc-functions/strfmon_l.texi.
34488         * doc/posix-functions/strftime_l.texi: Renamed from
34489         doc/glibc-functions/strftime_l.texi.
34490         * doc/posix-functions/strncasecmp_l.texi: Renamed from
34491         doc/glibc-functions/strncasecmp_l.texi.
34492         * doc/posix-functions/strndup.texi: Renamed from
34493         doc/glibc-functions/strndup.texi.
34494         * doc/posix-functions/strnlen.texi: Renamed from
34495         doc/glibc-functions/strnlen.texi.
34496         * doc/posix-functions/strsignal.texi: Renamed from
34497         doc/glibc-functions/strsignal.texi.
34498         * doc/posix-functions/strxfrm_l.texi: Renamed from
34499         doc/glibc-functions/strxfrm_l.texi.
34500         * doc/posix-functions/timer_gettime.texi: Renamed from
34501         doc/glibc-functions/timer_gettime.texi.
34502         * doc/posix-functions/tolower_l.texi: Renamed from
34503         doc/glibc-functions/tolower_l.texi.
34504         * doc/posix-functions/toupper_l.texi: Renamed from
34505         doc/glibc-functions/toupper_l.texi.
34506         * doc/posix-functions/towctrans_l.texi: Renamed from
34507         doc/glibc-functions/towctrans_l.texi.
34508         * doc/posix-functions/towlower_l.texi: Renamed from
34509         doc/glibc-functions/towlower_l.texi.
34510         * doc/posix-functions/towupper_l.texi: Renamed from
34511         doc/glibc-functions/towupper_l.texi.
34512         * doc/posix-functions/uselocale.texi: Renamed from
34513         doc/glibc-functions/uselocale.texi.
34514         * doc/posix-functions/vdprintf.texi: Renamed from
34515         doc/glibc-functions/vdprintf.texi.
34516         * doc/posix-functions/wcpcpy.texi:
34517         Renamed from doc/glibc-functions/wcpcpy.texi.
34518         * doc/posix-functions/wcpncpy.texi: Renamed from
34519         doc/glibc-functions/wcpncpy.texi.
34520         * doc/posix-functions/wcscasecmp.texi: Renamed from
34521         doc/glibc-functions/wcscasecmp.texi.
34522         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
34523         doc/glibc-functions/wcscasecmp_l.texi.
34524         * doc/posix-functions/wcscoll_l.texi: Renamed from
34525         doc/glibc-functions/wcscoll_l.texi.
34526         * doc/posix-functions/wcsdup.texi: Renamed from
34527         doc/glibc-functions/wcsdup.texi.
34528         * doc/posix-functions/wcsncasecmp.texi: Renamed from
34529         doc/glibc-functions/wcsncasecmp.texi.
34530         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
34531         doc/glibc-functions/wcsncasecmp_l.texi.
34532         * doc/posix-functions/wcsnlen.texi: Renamed from
34533         doc/glibc-functions/wcsnlen.texi.
34534         * doc/posix-functions/wcsnrtombs.texi: Renamed from
34535         doc/glibc-functions/wcsnrtombs.texi.
34536         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
34537         doc/glibc-functions/wcsxfrm_l.texi.
34538         * doc/posix-functions/wctrans_l.texi: Renamed from
34539         doc/glibc-functions/wctrans_l.texi.
34540         * doc/posix-functions/wctype_l.texi: Renamed from
34541         doc/glibc-functions/wctype_l.texi.
34542         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34543         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
34544         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
34545         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
34546         these subsections.
34547         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
34548         Remove sections.
34549
34550 2008-12-14  Bruno Haible  <bruno@clisp.org>
34551
34552         Update doc for POSIX:2008.
34553         * doc/posix-functions/*.texi: Update URL of POSIX specification.
34554
34555 2008-12-14  Bruno Haible  <bruno@clisp.org>
34556
34557         Update doc for POSIX:2008.
34558         * doc/pastposix-functions/bcmp.texi: Renamed from
34559         doc/posix-functions/bcmp.texi.
34560         * doc/pastposix-functions/bcopy.texi: Renamed from
34561         doc/posix-functions/bcopy.texi.
34562         * doc/pastposix-functions/bsd_signal.texi: Renamed from
34563         doc/posix-functions/bsd_signal.texi.
34564         * doc/pastposix-functions/bzero.texi: Renamed from
34565         doc/posix-functions/bzero.texi.
34566         * doc/pastposix-functions/ecvt.texi: Renamed from
34567         doc/posix-functions/ecvt.texi.
34568         * doc/pastposix-functions/fcvt.texi: Renamed from
34569         doc/posix-functions/fcvt.texi.
34570         * doc/pastposix-functions/ftime.texi: Renamed from
34571         doc/posix-functions/ftime.texi.
34572         * doc/pastposix-functions/gcvt.texi: Renamed from
34573         doc/posix-functions/gcvt.texi.
34574         * doc/pastposix-functions/getcontext.texi: Renamed from
34575         doc/posix-functions/getcontext.texi.
34576         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
34577         doc/posix-functions/gethostbyaddr.texi.
34578         * doc/pastposix-functions/gethostbyname.texi: Renamed from
34579         doc/posix-functions/gethostbyname.texi.
34580         * doc/pastposix-functions/getwd.texi: Renamed from
34581         doc/posix-functions/getwd.texi.
34582         * doc/pastposix-functions/h_errno.texi: Renamed from
34583         doc/posix-functions/h_errno.texi.
34584         * doc/pastposix-functions/index.texi: Renamed from
34585         doc/posix-functions/index.texi.
34586         * doc/pastposix-functions/makecontext.texi: Renamed from
34587         doc/posix-functions/makecontext.texi.
34588         * doc/pastposix-functions/mktemp.texi: Renamed from
34589         doc/posix-functions/mktemp.texi.
34590         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
34591         doc/posix-functions/pthread_attr_getstackaddr.texi.
34592         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
34593         doc/posix-functions/pthread_attr_setstackaddr.texi.
34594         * doc/pastposix-functions/rindex.texi: Renamed from
34595         doc/posix-functions/rindex.texi.
34596         * doc/pastposix-functions/scalb.texi: Renamed from
34597         doc/posix-functions/scalb.texi.
34598         * doc/pastposix-functions/setcontext.texi: Renamed from
34599         doc/posix-functions/setcontext.texi.
34600         * doc/pastposix-functions/swapcontext.texi: Renamed from
34601         doc/posix-functions/swapcontext.texi.
34602         * doc/pastposix-functions/ualarm.texi: Renamed from
34603         doc/posix-functions/ualarm.texi.
34604         * doc/pastposix-functions/usleep.texi: Renamed from
34605         doc/posix-functions/usleep.texi.
34606         * doc/pastposix-functions/vfork.texi: Renamed from
34607         doc/posix-functions/vfork.texi.
34608         * doc/pastposix-functions/wcswcs.texi: Renamed from
34609         doc/posix-functions/wcswcs.texi.
34610         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
34611         (Function Substitutes): Update.
34612
34613 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34614
34615         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
34616         m4/strerror.m4.
34617
34618 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34619             Bruno Haible  <bruno@clisp.org>
34620
34621         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
34622
34623 2008-12-13  Bruno Haible  <bruno@clisp.org>
34624
34625         * modules/strtoull (Depends-on): Remove unistd.
34626
34627 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34628
34629         * modules/strtoull (Depends-on): Add stdlib.
34630
34631 2008-12-11  Simon Josefsson  <simon@josefsson.org>
34632
34633         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
34634
34635 2008-12-10  Jim Meyering  <meyering@redhat.com>
34636
34637         gl_ASSERT: don't say assertions are disabled when they're not
34638         * m4/assert.m4 (gl_ASSERT): Do not make configure report
34639         "checking whether to enable assertions... no", when they are in
34640         fact enabled.  This is solely a bug in the output of configure.
34641         In spite of saying "no", NDEBUG was not defined in that case.
34642         Also, as noted by Eric Blake, leave assertions enabled upon
34643         --enable-assert=INVALID.
34644
34645 2008-12-10  Bruno Haible  <bruno@clisp.org>
34646
34647         Change MODULES.html to refer to POSIX:2008 where possible.
34648         * MODULES.html.sh (POSIX2008_URL): New variable.
34649         (posix_headers): Remove sys/timeb, ucontext.
34650         (posix2001_headers): New variable.
34651         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
34652         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
34653         index, makecontext, mktemp, pthread_attr_getstackaddr,
34654         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
34655         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
34656         (posix2001_functions): New variable.
34657         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
34658         otherwise.
34659
34660 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34661
34662         add missing include to parse-duration.c
34663         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
34664         * modules/parse-duration (Depends-on): Add xalloc.
34665
34666         fix sed script reading maint.mk
34667         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
34668         (syntax-check-rules): Use it.
34669
34670 2008-12-09  Bruno Haible  <bruno@clisp.org>
34671
34672         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
34673         MacOS X 10.4/PowerPC.
34674         Reported by Simon Josefsson.
34675
34676 2008-12-08  Jim Meyering  <meyering@redhat.com>
34677
34678         work around mingw's lack of some S_IF definitions
34679         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
34680         Reported by Simon Josefsson.
34681
34682 2008-12-08  Bruno Haible  <bruno@clisp.org>
34683
34684         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
34685         applied to variables. Needed on MacOS X 10.4/PowerPC.
34686         Reported by Simon Josefsson.
34687
34688 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
34689         and Eric Blake  <ebb9@byu.net>
34690
34691         assert: honor --enable-assert
34692         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
34693         order to honor --enable-assert, rather than treating it as a
34694         synonym for --disable-assert.
34695
34696 2008-12-08  Jim Meyering  <meyering@redhat.com>
34697
34698         * lib/posixtm.c: Remove now-useless declaration of mktime.
34699
34700         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
34701
34702 2008-12-07  Bruno Haible  <bruno@clisp.org>
34703
34704         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
34705         test_once): Mark functions as static.
34706         * tests/test-tls.c (test_tls): Likewise.
34707
34708 2008-12-07  Bruno Haible  <bruno@clisp.org>
34709
34710         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
34711         iconv_register_autodetect.
34712
34713 2008-12-07  Jim Meyering  <meyering@redhat.com>
34714
34715         posixtm.c: avoid a warning
34716         * lib/posixtm.c (posixtime): Don't initialize tm0.
34717         It's no longer needed to placate gcc4's -Wuninitialized,
34718         and the attempt to placate would elicit a new warning.
34719
34720         unicodeio.c: mark unused parameters
34721         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34722         (fallback_failure_callback): Likewise.
34723
34724 2008-12-07  Bruno Haible  <bruno@clisp.org>
34725
34726         * gnulib-tool (func_create_testdir): When building the tests
34727         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
34728         Reported by Simon Josefsson.
34729
34730 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34731
34732         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
34733
34734 2008-12-06  Bruno Haible  <bruno@clisp.org>
34735
34736         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
34737         Suggested by Eric Blake.
34738
34739 2008-12-06  Bruno Haible  <bruno@clisp.org>
34740
34741         Fix a c-stack test failure on MacOS X.
34742         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
34743         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
34744         handler for SIGBUS as well.
34745         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
34746         install a signal handler for SIGBUS as well.
34747         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
34748
34749 2008-12-06  Bruno Haible  <bruno@clisp.org>
34750
34751         Advocacy documentation.
34752         * doc/gnulib-intro.texi (Benefits): New section.
34753         * doc/gnulib.texi: Update.
34754
34755 2008-12-06  Bruno Haible  <bruno@clisp.org>
34756
34757         Document the 'manywarnings' module.
34758         * doc/manywarnings.texi: New file.
34759         * doc/gnulib.texi: Include it.
34760
34761 2008-12-05  Eric Blake  <ebb9@byu.net>
34762
34763         tests: silence some gcc warnings
34764         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
34765         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
34766         type mismatches.
34767
34768 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34769             Bruno Haible  <bruno@clisp.org>
34770
34771         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
34772
34773 2008-11-29  Jim Meyering  <meyering@redhat.com>
34774
34775         unicodeio.c: mark unused parameters
34776         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34777         (fallback_failure_callback): Likewise.
34778
34779         fts: fix a thinko
34780         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
34781         (set_stat_type): Return S_IF*-valued "type" directly.
34782         Prompted by James Youngman's spotting a related bug.
34783         Confirmed by further testing through find.
34784
34785         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
34786         * lib/fts.c (D_TYPE): Define.
34787         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
34788         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
34789         (s_ifmt_shift_bits): New function.
34790         (set_stat_type): New function.
34791         (fts_build): When not calling fts_stat, call set_stat_type
34792         to propagate dirent.d_type info to fts_read caller.
34793         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
34794         fts_statp->st_mode type information may be valid.
34795
34796 2008-11-28  Simon Josefsson  <simon@josefsson.org>
34797
34798         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
34799         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
34800         <sds@gnu.org>.
34801
34802 2008-11-20  Bruno Haible  <bruno@clisp.org>
34803
34804         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
34805         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
34806         INCLUDE_NEXT.
34807         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
34808         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
34809         * modules/math (Makefile.am): Substitute
34810         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
34811         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34812
34813 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34814             Bruno Haible  <bruno@clisp.org>
34815
34816         * lib/stdint.in.h: Define all type macros so that their expansion is
34817         a single typedef'ed token. Fixes a compilation failure in Boost which
34818         does "using ::int8_t;".
34819
34820 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34821
34822         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
34823         gl_MANYWARN_ALL_GCC.
34824         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
34825         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
34826         * modules/manywarnings: New file.
34827         * MODULES.html.sh: Mention manywarnings module.
34828
34829 2008-11-18  Bruno Haible  <bruno@clisp.org>
34830
34831         * doc/gnulib-tool.texi (Unit tests): New section.
34832
34833 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34834
34835         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
34836         paths like 'lib/po/foo.po'.
34837
34838 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34839
34840         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
34841         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
34842
34843 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34844
34845         * m4/warnings.m4: Use CPPFLAGS to really check whether the
34846         parameter works.
34847
34848 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34849
34850         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
34851
34852 2008-11-17  Bruce Korb  <bkorb@gnu.org>
34853
34854         * modules/parse-duration-tests: New file.
34855         * tests/test-parse-duration.sh: New file.
34856         * tests/test-parse-duration.c: New file.
34857
34858         New module 'parse-duration'.
34859         * lib/parse-duration.h: New file.
34860         * lib/parse-duration.c: New file.
34861         * modules/parse-duration: New file.
34862
34863 2008-11-17  Bruno Haible  <bruno@clisp.org>
34864
34865         * tests/test-select-out.sh: Comment out the first pipe test.
34866         Reported by Simon Josefsson.
34867
34868 2008-11-17  Bruno Haible  <bruno@clisp.org>
34869
34870         * modules/getaddrinfo (Depends-on): Add servent, hostent.
34871         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
34872         gl_HOSTENT.
34873
34874 2008-11-17  Bruno Haible  <bruno@clisp.org>
34875
34876         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
34877         -lnetwork and -lnet. Needed for Haiku and BeOS.
34878
34879 2008-11-16  Bruno Haible  <bruno@clisp.org>
34880
34881         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
34882
34883 2008-11-16  Bruno Haible  <bruno@clisp.org>
34884
34885         Avoid test failure on Haiku.
34886         * tests/test-fsync.c: Include <errno.h>.
34887         (main): Don't require that fsync (0) fails.
34888
34889 2008-11-15  Bruno Haible  <bruno@clisp.org>
34890
34891         New module 'hostent'.
34892         * modules/hostent: New file.
34893         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
34894
34895 2008-11-15  Bruno Haible  <bruno@clisp.org>
34896
34897         New module 'servent'.
34898         * modules/servent: New file.
34899         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
34900
34901 2008-11-15  Bruno Haible  <bruno@clisp.org>
34902
34903         Avoid generating same test program with two different rules.
34904         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
34905         test-frexp to test-frexp-nolibm.
34906         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
34907         test-frexpl to test-frexpl-nolibm.
34908
34909 2008-11-15  Bruno Haible  <bruno@clisp.org>
34910
34911         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
34912         $(FREXPL_LIBM).
34913
34914 2008-11-15  Bruno Haible  <bruno@clisp.org>
34915
34916         * lib/netdb.in.h: Activate the definitions also when the system's
34917         <netdb.h> has 'struct addrinfo'.
34918         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
34919         EAI_OVERFLOW or AI_NUMERICSERV.
34920         * doc/posix-headers/netdb.texi: Document the problem.
34921
34922 2008-11-15  Bruno Haible  <bruno@clisp.org>
34923
34924         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
34925
34926         Make the 'sched' module work on platforms where <sched.h> exists but
34927         is incomplete (such as Haiku).
34928         * lib/sched.in.h; Include the system's <sched.h> if it exists.
34929         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
34930         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
34931         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
34932         HAVE_STRUCT_SCHED_PARAM.
34933         * modules/sched (Depends-on): Add include_next.
34934         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
34935         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
34936         * doc/posix-headers/sched.texi: Document the issue.
34937
34938 2008-11-13  Jim Meyering  <meyering@redhat.com>
34939
34940         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
34941         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
34942         test would fail due to the difference in the Report bugs to ...
34943         line.  The expected address is empty, "<>", while the actual
34944         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
34945
34946 2008-11-12  Bruno Haible  <bruno@clisp.org>
34947
34948         lstat: don't compile lstat.c on systems lacking lstat
34949         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
34950         which don't have lstat; this is handled by lib/sys_stat.in.h already.
34951         Reported by Daniel P. Berrange via Jim Meyering.
34952
34953 2008-11-12  Jim Meyering  <meyering@redhat.com>
34954
34955         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
34956
34957 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34958
34959         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
34960         instead.
34961
34962 2008-11-12  Bruno Haible  <bruno@clisp.org>
34963
34964         * lib/unicodeio.c: Include unistr.h.
34965         (utf8_wctomb): Remove function.
34966         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
34967
34968 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34969
34970         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
34971         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
34972         <bruno@clisp.org>.
34973         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
34974
34975 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34976
34977         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
34978         * doc/gnulib.texi: Add section for warnings.
34979
34980 2008-11-11  Bruno Haible  <bruno@clisp.org>
34981
34982         * lib/sockets.h: Add a comment.
34983
34984 2008-11-11  Karl Berry  <karl@gnu.org>
34985
34986         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
34987
34988 2008-11-11  Eric Blake  <ebb9@byu.net>
34989
34990         fdl.texi: avoid git symlinks
34991         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
34992
34993 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34994
34995         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
34996
34997 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34998
34999         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
35000         (gl_WARN_ADD): Substitute $2 if literal.
35001
35002 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35003
35004         * m4/warning.m4: Remove.
35005
35006 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35007
35008         * m4/warnings.m4: Almost complete rewrite. :-)
35009
35010 2008-11-10  Simon Josefsson  <simon@josefsson.org>
35011
35012         * modules/warnings: New module.
35013         * m4/warnings.m4: New file.
35014         * MODULES.html.sh: Mention warnings module.
35015         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
35016         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35017
35018 2008-11-10  Eric Blake  <ebb9@byu.net>
35019
35020         fdl.texi: make a symlink to the latest version
35021         * doc/standards.texi: Revert today's earlier change.
35022         * doc/fdl-1.2.texi: Rename from old fdl.texi...
35023         * doc/fdl.texi: ...and replace this with a symlink to the newer
35024         fdl-1.3.texi.
35025
35026 2008-11-10  Bruno Haible  <bruno@clisp.org>
35027
35028         * tests/test-select-fd.c (main): Accept the result file name as fourth
35029         argument.
35030         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
35031         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
35032
35033 2008-11-10  Bruno Haible  <bruno@clisp.org>
35034
35035         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
35036         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
35037         as autoconf-substituted macros.
35038         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
35039         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
35040         gl_NETDB_H_DEFAULTS. Set these variables.
35041         * modules/netdb (Makefile.am): Substitute these variables.
35042
35043 2008-11-10  Eric Blake  <ebb9@byu.net>
35044
35045         standards.texi: include correct file for FDL 1.3
35046         * doc/standards.texi (GNU Free Documentation License): Change
35047         include file to pull in FDL 1.3, not 1.2.
35048
35049         fdl.texi: revert accidental change to license
35050         * doc/fdl.texi: This is FDL 1.2, not 1.3.
35051
35052 2008-11-10  Bruno Haible  <bruno@clisp.org>
35053
35054         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
35055         cross-compiling guesses also when the native compile gives no result.
35056
35057 2008-11-10  Bruno Haible  <bruno@clisp.org>
35058
35059         * lib/spawni.c (__spawni): Force variable into the stack.
35060
35061 2008-11-10  Bruno Haible  <bruno@clisp.org>
35062
35063         Add support for Haiku.
35064         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
35065         glibc and BeOS, but also on Haiku.
35066         * lib/fpurge.c (fpurge): Likewise.
35067         * lib/freadable.c (freadable): Likewise.
35068         * lib/freadahead.c (freadahead): Likewise.
35069         * lib/freading.c (freading): Likewise.
35070         * lib/freadptr.c (freadptr): Likewise.
35071         * lib/freadseek.c (freadptrinc): Likewise.
35072         * lib/fseeko.c (rpl_fseeko): Likewise.
35073         * lib/fseterr.c (fseterr): Likewise.
35074         * lib/fwritable.c (fwritable): Likewise.
35075         * lib/fwriting.c (fwriting): Likewise.
35076         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
35077
35078 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35079
35080         * lib/config.charset: Treat Haiku like BeOS.
35081
35082 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35083
35084         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
35085         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
35086
35087 2008-11-08  Bruno Haible  <bruno@clisp.org>
35088
35089         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
35090         AC_CACHE_CHECK.
35091
35092 2008-11-08  Bruno Haible  <bruno@clisp.org>
35093
35094         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
35095
35096 2008-11-08  Bruno Haible  <bruno@clisp.org>
35097
35098         * tests/test-select-fd.c: New file.
35099         * tests/test-select-in.sh: New file.
35100         * tests/test-select-out.sh: New file.
35101         * tests/test-select-stdin.c: New file.
35102         * modules/select-tests (Files): Add the new files.
35103         (Depends-on): Add gettimeofday.
35104         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
35105         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
35106         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
35107
35108 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
35109             Bruno Haible  <bruno@clisp.org>
35110
35111         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
35112
35113 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
35114
35115         * build-aux/pmccabe2html: Added support for C++ source files.
35116
35117 2008-11-05  Ben Pfaff  <blp@gnu.org>
35118
35119         Fix lib/close.c build on Windows.
35120         * modules/close (Files): Add lib/w32sock.h.
35121
35122 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
35123
35124         Accept Bison's NEWS format.
35125         * build-aux/announce-gen (print_news_deltas): Tweak
35126         $re_prefix.
35127
35128 2008-11-04  Bruno Haible  <bruno@clisp.org>
35129
35130         * modules/random_r (Maintainer): Add glibc.
35131
35132 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35133
35134         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
35135         by karl@freefriends.org (Karl Berry).
35136         * doc/alloca.texi: Likewise.
35137         * doc/c-ctype.texi: Likewise.
35138         * doc/c-strcase.texi: Likewise.
35139         * doc/c-strcaseeq.texi: Likewise.
35140         * doc/c-strcasestr.texi: Likewise.
35141         * doc/c-strstr.texi: Likewise.
35142         * doc/c-strtod.texi: Likewise.
35143         * doc/c-strtold.texi: Likewise.
35144         * doc/ctime.texi: Likewise.
35145         * doc/error.texi: Likewise.
35146         * doc/fdl.texi: Likewise.
35147         * doc/gcd.texi: Likewise.
35148         * doc/getdate.texi: Likewise.
35149         * doc/gnulib-intro.texi: Likewise.
35150         * doc/gnulib-tool.texi: Likewise.
35151         * doc/gnulib.texi: Likewise.
35152         * doc/inet_ntoa.texi: Likewise.
35153         * doc/maintain.texi: Likewise.
35154         * doc/make-stds.texi: Likewise.
35155         * doc/quote.texi: Likewise.
35156         * doc/regexprops-generic.texi: Likewise.
35157         * doc/standards.texi: Likewise.
35158         * doc/verify.texi: Likewise.
35159         * doc/visibility.texi: Likewise.
35160         * doc/gnulib.texi (GNU Free Documentation License): Include
35161         fdl-1.3.texi instead of fdl.texi.
35162
35163 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35164
35165         * doc/fdl-1.3.texi: New file, from
35166         <http://www.gnu.org/licenses/fdl-1.3.texi>.
35167         * modules/fdl-1.3: Add.
35168         * MODULES.html.sh: Add fdl-1.3.
35169
35170 2008-11-03  Bruno Haible  <bruno@clisp.org>
35171
35172         Make determination of absolute name of header file work with AIX xlc.
35173         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
35174         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
35175         preprocessing.
35176         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
35177         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
35178
35179 2008-11-03  Simon Josefsson  <simon@josefsson.org>
35180
35181         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
35182         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
35183         <ludo@gnu.org>.
35184
35185 2008-11-02  Bruno Haible  <bruno@clisp.org>
35186
35187         Mark 'strpbrk' obsolete.
35188         * modules/strpbrk (Status, Notice): New sections.
35189         * modules/strtok_r (Depends-on): Add strpbrk.
35190
35191 2008-11-02  Bruno Haible  <bruno@clisp.org>
35192
35193         Mark 'strdup' obsolete.
35194         * modules/strdup (Status, Notice): New sections.
35195         * modules/findprog (Depends-on): Add strdup.
35196         * modules/getaddrinfo (Depends-on): Likewise.
35197         * modules/localename (Depends-on): Likewise.
35198         * modules/relocatable-lib (Depends-on): Likewise.
35199         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
35200         * modules/relocatable-prog (Depends-on): Likewise.
35201         * modules/trim (Depends-on): Likewise.
35202         * modules/unictype/gen-ctype (Depends-on): Likewise.
35203         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35204
35205 2008-11-02  Bruno Haible  <bruno@clisp.org>
35206
35207         Mark 'strcspn' obsolete.
35208         * modules/strcspn (Status, Notice): New sections.
35209
35210 2008-11-02  Bruno Haible  <bruno@clisp.org>
35211
35212         Mark 'rmdir' obsolete.
35213         * modules/rmdir (Status, Notice): New sections.
35214         * modules/clean-temp (Depends-on): Add rmdir.
35215         * modules/openat (Depends-on): Likewise.
35216
35217 2008-11-02  Bruno Haible  <bruno@clisp.org>
35218
35219         Mark 'raise' obsolete.
35220         * modules/raise (Status, Notice): New sections.
35221         (Include): Specify <signal.h>.
35222         * modules/stdio (Depends-on): Add raise.
35223         * modules/write (Depends-on): Likewise.
35224
35225 2008-11-02  Bruno Haible  <bruno@clisp.org>
35226
35227         Mark 'memset' obsolete.
35228         * modules/memset (Status, Notice): New sections.
35229
35230 2008-11-02  Bruno Haible  <bruno@clisp.org>
35231
35232         Mark 'memmove' obsolete.
35233         * modules/memmove (Status, Notice): New sections.
35234         * modules/argp (Depends-on): Add memmove.
35235         * modules/argz (Depends-on): Likewise.
35236         * modules/canonicalize (Depends-on): Likewise.
35237         * modules/canonicalize-lgpl (Depends-on): Likewise.
35238         * modules/fts (Depends-on): Likewise.
35239         * modules/getcwd (Depends-on): Likewise.
35240         * modules/human (Depends-on): Likewise.
35241         * modules/regex (Depends-on): Likewise.
35242         * modules/striconveh (Depends-on): Likewise.
35243         * modules/trim (Depends-on): Likewise.
35244         * modules/unistr/u8-move (Depends-on): Likewise.
35245         * modules/unistr/u16-move (Depends-on): Likewise.
35246         * modules/unistr/u32-move (Depends-on): Likewise.
35247
35248 2008-11-02  Bruno Haible  <bruno@clisp.org>
35249
35250         Mark 'memcpy' obsolete.
35251         * modules/memcpy (Status, Notice): New sections.
35252
35253 2008-11-02  Bruno Haible  <bruno@clisp.org>
35254
35255         Mark 'memcmp' obsolete.
35256         * modules/memcmp (Status, Notice): New sections.
35257         * modules/argmatch (Depends-on): Add memchr.
35258         * modules/backupfile (Depends-on): Likewise.
35259         * modules/c-strcasestr (Depends-on): Likewise.
35260         * modules/crypto/des (Depends-on): Likewise.
35261         * modules/csharpcomp (Depends-on): Likewise.
35262         * modules/fnmatch (Depends-on): Likewise.
35263         * modules/git-merge-changelog (Depends-on): Likewise.
35264         * modules/isnand (Depends-on): Likewise.
35265         * modules/isnand-nolibm (Depends-on): Likewise.
35266         * modules/isnanf (Depends-on): Likewise.
35267         * modules/isnanf-nolibm (Depends-on): Likewise.
35268         * modules/isnanl (Depends-on): Likewise.
35269         * modules/isnanl-nolibm (Depends-on): Likewise.
35270         * modules/mbchar (Depends-on): Likewise.
35271         * modules/memcoll (Depends-on): Likewise.
35272         * modules/quotearg (Depends-on): Likewise.
35273         * modules/regex (Depends-on): Likewise.
35274         * modules/relocatable-prog (Depends-on): Likewise.
35275         * modules/same (Depends-on): Likewise.
35276         * modules/signbit (Depends-on): Likewise.
35277         * modules/strcasestr-simple (Depends-on): Likewise.
35278         * modules/unictype/gen-ctype (Depends-on): Likewise.
35279         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35280         * modules/uniname/uniname (Depends-on): Likewise.
35281         * modules/unistr/u8-cmp (Depends-on): Likewise.
35282
35283 2008-11-02  Bruno Haible  <bruno@clisp.org>
35284
35285         Mark 'memchr' obsolete.
35286         * modules/memchr (Status, Notice): New sections.
35287         * modules/argp (Depends-on): Add memchr.
35288         * modules/base64 (Depends-on): Likewise.
35289         * modules/c-strcasestr (Depends-on): Likewise.
35290         * modules/chdir-long (Depends-on): Likewise.
35291         * modules/fnmatch (Depends-on): Likewise.
35292         * modules/getsubopt (Depends-on): Likewise.
35293         * modules/git-merge-changelog (Depends-on): Likewise.
35294         * modules/glob (Depends-on): Likewise.
35295         * modules/strcasestr-simple (Depends-on): Likewise.
35296         * modules/strnlen (Depends-on): Likewise.
35297
35298 2008-11-02  Bruno Haible  <bruno@clisp.org>
35299
35300         Mark 'atexit' obsolete.
35301         * modules/atexit (Status, Notice): New sections.
35302         * modules/chdir-long (Depends-on): Add atexit.
35303         * modules/wait-process (Depends-on): Likewise.
35304
35305 2008-11-02  Bruno Haible  <bruno@clisp.org>
35306
35307         * gnulib-tool: New option --with-obsolete.
35308         (func_usage): Document it.
35309         (func_modules_transitive_closure): Drop obsolete dependencies if
35310         incobsolete is not true.
35311         (func_import): Read and save the incobsolete variable to the cache.
35312
35313 2008-11-02  Bruno Haible  <bruno@clisp.org>
35314
35315         * modules/TEMPLATE-EXTENDED: New field 'Status'.
35316         * gnulib-tool: New option --extract-status.
35317         (func_usage): Document it.
35318         (sed_extract_prog): Recognize it.
35319         (func_get_status): New function.
35320
35321 2008-10-30  Simon Josefsson  <simon@josefsson.org>
35322
35323         * modules/sockets (License): Change from LGPL to LGPLv2+.
35324
35325 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35326
35327         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
35328
35329 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35330
35331         * MODULES.html.sh (Support for systems lacking POSIX:2001):
35332         Mention times and sys_times.
35333         * modules/sys_times, modules/sys_times-tests: New modules.
35334         * modules/times, modules/times-tests: Likewise
35335         * m4/sys_times_h.m4: New file.
35336         * lib/sys_times.in.h: Likewise
35337         * lib/times.c: Likewise.
35338         * tests/test-sys_times.c: Likewise.
35339         * tests/test-times.c: Likewise.
35340         * doc/posix-headers/sys_times.texi: Update.
35341         * doc/posix-functions/times.texi: Update.
35342
35343 2008-10-28  Jim Meyering  <meyering@redhat.com>
35344
35345         * modules/tempname (Depends-on): Add lstat.
35346
35347         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
35348
35349 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35350
35351         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
35352         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
35353         using idiom used elsewhere in gnulib.
35354
35355 2008-10-27  Jim Meyering  <meyering@redhat.com>
35356
35357         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
35358
35359 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35360
35361         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
35362         TESTS_ENVIRONMENT, for shell scripts that needs to call built
35363         programs.
35364         * tests/test-argp-2.sh: Use $EXEEXT when needed.
35365
35366 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35367
35368         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
35369
35370 2008-10-27  Bruno Haible  <bruno@clisp.org>
35371
35372         * tests/test-lstat.c: Include <stdio.h>.
35373
35374 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35375
35376         * modules/lstat-tests: New module.
35377         * tests/test-lstat.c: New file.
35378
35379 2008-10-26  Jim Meyering  <meyering@redhat.com>
35380
35381         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
35382
35383 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35384             Bruno Haible  <bruno@clisp.org>
35385
35386         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
35387         * modules/configmake (Include): Add a note that the include must come
35388         after all system headers.
35389         * lib/javaversion.c: Include configmake.h after all other includes.
35390
35391 2008-10-26  Bruno Haible  <bruno@clisp.org>
35392
35393         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
35394         HAVE_STRUCT_RANDOM_DATA to 1.
35395         (gl_STDLIB_H): Simplify.
35396
35397 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35398
35399         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
35400         substitute HAVE_STRUCT_RANDOM_DATA.
35401         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
35402         random_data.
35403         * modules/stdlib (Makefile.am): Substitute
35404         HAVE_STRUCT_RANDOM_DATA.
35405
35406 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35407
35408         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
35409         * doc/gnulib-intro.texi (Copyright): Likewise.
35410
35411 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35412
35413         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
35414         findings.
35415
35416 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
35417             Bruno Haible  <bruno@clisp.org>
35418
35419         * lib/unistd.in.h: Include <winsock2.h>.
35420         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
35421         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
35422         Provide dummy declarations.
35423         (gethostname): Override.
35424         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
35425         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
35426         gl_PREREQ_SYS_H_WINSOCK2.
35427         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
35428         * doc/posix-functions/gethostname.texi: More details.
35429
35430 2008-10-25  Bruno Haible  <bruno@clisp.org>
35431
35432         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
35433         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
35434         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
35435
35436         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
35437         here ...
35438         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
35439         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
35440         gl_UNISTD_H_DEFAULTS.
35441
35442 2008-10-25  Eric Blake  <ebb9@byu.net>
35443
35444         signbit: avoid spurious compiler failure
35445         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
35446         declarations inside function.
35447
35448 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35449             Bruno Haible  <bruno@clisp.org>
35450
35451         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
35452         * modules/random_r (Depends-on): Add stdint.
35453
35454 2008-10-24  Bruno Haible  <bruno@clisp.org>
35455
35456         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
35457         Eggert.
35458         * modules/strerror (License): Likewise.
35459
35460 2008-10-24  Jim Meyering  <meyering@redhat.com>
35461
35462         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
35463         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
35464
35465 2008-10-24  Eric Blake  <ebb9@byu.net>
35466
35467         getgroups: fix compilation when getgroups is available
35468         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
35469         but with <config.h> override of getgroups disabled.
35470
35471 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35472
35473         * doc/gnulib.texi (Header files): Add note about C++ problems.
35474         Explained by Bruno Haible <bruno@clisp.org>.
35475
35476 2008-10-23  Bruno Haible  <bruno@clisp.org>
35477
35478         Define a dummy SA_NODEFER macro on Interix.
35479         * lib/signal.in.h (SA_NODEFER): Define fallback.
35480         Reported by Aleksey Cheusov <cheusov@tut.by> via
35481         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
35482
35483 2008-10-23  Bruno Haible  <bruno@clisp.org>
35484
35485         * modules/freadahead (License): Change to LGPLv2+.
35486         Suggested by Simon Josefsson.
35487
35488 2008-10-23  Jim Meyering  <meyering@redhat.com>
35489
35490         random_r: new module
35491         * modules/random_r: New file.
35492         * m4/random_r.m4: New file.
35493         * lib/random_r.c: New file, from glibc.
35494         * modules/random_r-tests: New file.
35495         * tests/test-random_r.c: New file.
35496         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
35497          Declare.
35498         (RAND_MAX): Define.
35499         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
35500         * modules/stdlib: Substitute them, too.
35501         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
35502         * doc/glibc-functions/initstate_r.texi: Mention the new module.
35503         * doc/glibc-functions/random_r.texi: Likewise.
35504         * doc/glibc-functions/setstate_r.texi: Likewise.
35505         * doc/glibc-functions/srandom_r.texi: Likewise.
35506         * config/srclist.txt: Mention it.
35507
35508 2008-10-23  David Lutterkort  <lutter@redhat.com>
35509
35510         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
35511         link requirement
35512
35513 2008-10-23  Jim Meyering  <meyering@redhat.com>
35514
35515         selinux-h: mark parameters of stub functions as intentionally unused
35516         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
35517         * lib/se-context.in.h: Likewise.
35518
35519 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35520
35521         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
35522
35523 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35524
35525         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
35526
35527 2008-10-22  Eric Blake  <ebb9@byu.net>
35528
35529         glthread/thread: avoid compiler warning
35530         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
35531         Add unreachable abort to silence compiler.
35532
35533 2008-10-22  Eric Blake  <ebb9@byu.net>
35534
35535         netdb: also supply struct addrinfo for cygwin 1.5.x
35536         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
35537         older cygwin.
35538         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
35539         cygwin.
35540         * doc/posix-headers/netdb.texi (netdb.h): Document this.
35541
35542 2008-10-22  Bruno Haible  <bruno@clisp.org>
35543
35544         * users.txt: Update entry about pspp.
35545
35546 2008-10-21  Bruno Haible  <bruno@clisp.org>
35547
35548         Simplification.
35549         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
35550         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
35551
35552         Simplification.
35553         * lib/ioctl.c (ioctl): Don't undefine.
35554         * lib/socket.c (socket): Don't undefine.
35555
35556         Remove unused module indicator macros.
35557         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
35558         GNULIB_$1 as a C macro.
35559
35560         * doc/posix-functions/close.texi: Undo last change.
35561         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
35562         Windows platforms.
35563
35564 2008-10-21  Bruno Haible  <bruno@clisp.org>
35565
35566         Add gethostname() declaration to <unistd.h>.
35567         * lib/unistd.in.h (gethostname): New declaration.
35568         * lib/gethostname.c: Include <unistd.h>.
35569         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
35570         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
35571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
35572         and HAVE_GETHOSTNAME.
35573         * modules/gethostname (Depends-on): Add unistd.
35574         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35575         (Include): Specify <unistd.h>.
35576         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
35577         HAVE_GETHOSTNAME.
35578         * tests/test-gethostname.c: Include <unistd.h> first.
35579
35580 2008-10-21  Bruno Haible  <bruno@clisp.org>
35581
35582         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
35583         * modules/select-tests (Depends-on): Likewise.
35584         Reported by Simon Josefsson.
35585
35586 2008-10-21  Simon Josefsson  <simon@josefsson.org>
35587
35588         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
35589         * lib/accept.c: New file, based on winsock.c.
35590         * lib/bind.c: New file, based on winsock.c.
35591         * lib/connect.c: New file, based on winsock.c.
35592         * lib/getpeername.c: New file, based on winsock.c.
35593         * lib/getsockname.c: New file, based on winsock.c.
35594         * lib/getsockopt.c: New file, based on winsock.c.
35595         * lib/ioctl.c: New file, based on winsock.c.
35596         * lib/listen.c: New file, based on winsock.c.
35597         * lib/recv.c: New file, based on winsock.c.
35598         * lib/recvfrom.c: New file, based on winsock.c.
35599         * lib/send.c: New file, based on winsock.c.
35600         * lib/sendto.c: New file, based on winsock.c.
35601         * lib/setsockopt.c: New file, based on winsock.c.
35602         * lib/shutdown.c: New file, based on winsock.c.
35603         * lib/socket.c: New file, based on winsock.c.
35604         * lib/w32sock.h: New file, based on winsock.c.
35605         * lib/winsock.c: Remove file.
35606         * modules/accept: Likewise.
35607         * modules/bind: Likewise.
35608         * modules/connect: Likewise.
35609         * modules/getpeername: Likewise.
35610         * modules/getsockname: Likewise.
35611         * modules/getsockopt: Likewise.
35612         * modules/ioctl: Likewise.
35613         * modules/listen: Likewise.
35614         * modules/recv: Likewise.
35615         * modules/recvfrom: Likewise.
35616         * modules/send: Likewise.
35617         * modules/sendto: Likewise.
35618         * modules/setsockopt: Likewise.
35619         * modules/shutdown: Likewise.
35620         * modules/socket: Use socket.c instead of winsock.c.
35621         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
35622         * doc/posix-functions/accept.texi: Doc fix.
35623         * doc/posix-functions/bind.texi: Doc fix.
35624         * doc/posix-functions/close.texi: Doc fix.
35625         * doc/posix-functions/connect.texi: Doc fix.
35626         * doc/posix-functions/getpeername.texi: Doc fix.
35627         * doc/posix-functions/getsockname.texi: Doc fix.
35628         * doc/posix-functions/getsockopt.texi: Doc fix.
35629         * doc/posix-functions/ioctl.texi: Doc fix.
35630         * doc/posix-functions/listen.texi: Doc fix.
35631         * doc/posix-functions/recv.texi: Doc fix.
35632         * doc/posix-functions/recvfrom.texi: Doc fix.
35633         * doc/posix-functions/send.texi: Doc fix.
35634         * doc/posix-functions/sendto.texi: Doc fix.
35635         * doc/posix-functions/setsockopt.texi: Doc fix.
35636         * doc/posix-functions/shutdown.texi: Doc fix.
35637         * doc/posix-functions/socket.texi: Doc fix.
35638
35639 2008-10-20  Bruno Haible  <bruno@clisp.org>
35640
35641         Take into account the role of SIGABRT_COMPAT on Windows 2008.
35642         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
35643         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
35644         as an alias for SIGABRT.
35645         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
35646         (sigaction): Map it to SIGABRT.
35647         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
35648
35649 2008-10-20  Bruno Haible  <bruno@clisp.org>
35650
35651         * lib/fts.c: Don't include lstat.h.
35652         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
35653
35654         Move the lstat() declaration to <sys/stat.h>.
35655         * lib/lstat.h: Remove file.
35656         * lib/sys_stat.in.h: Add special invocation convention.
35657         (lstat): New declaration.
35658         * lib/lstat.c (orig_lstat): New function.
35659         (rpl_lstat): Use orig_lstat instead of lstat.
35660         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
35661         AC_C_INLINE. Set REPLACE_LSTAT.
35662         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
35663         and REPLACE_LSTAT.
35664         * modules/lstat (Files): Remove lib/lstat.h.
35665         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
35666         (Include): Specify <sys/stat.h> instead of lstat.h.
35667         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
35668         REPLACE_LSTAT.
35669         * NEWS: Mention the change.
35670
35671 2008-10-20  Bruno Haible  <bruno@clisp.org>
35672
35673         * modules/posix_spawn-tests: New file.
35674         * tests/test-posix_spawn3.c: New file.
35675
35676 2008-10-20  Bruno Haible  <bruno@clisp.org>
35677
35678         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
35679         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35680         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
35681         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35682         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
35683
35684 2008-10-20  Bruno Haible  <bruno@clisp.org>
35685
35686         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
35687         of posix_spawn on AIX 5.3.
35688
35689 2008-10-20  Bruno Haible  <bruno@clisp.org>
35690
35691         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
35692
35693 2008-10-20  Bruno Haible  <bruno@clisp.org>
35694
35695         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
35696         of AC_LANG_PROGRAM.
35697
35698 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35699
35700         * lib/netdb.in.h: Don't define GNU specific constants until they
35701         are supported or needed.  Reported by Bruno Haible
35702         <bruno@clisp.org>.
35703
35704 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35705
35706         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
35707
35708 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35709
35710         * lib/getaddrinfo.h: Remove file.
35711         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
35712         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
35713         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
35714         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
35715         * modules/netdb: Substitute GNULIB_GETADDRINFO.
35716         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
35717         * tests/test-getaddrinfo.c: Likewise.
35718         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
35719         * NEWS: Mention change.
35720
35721 2008-10-19  Bruno Haible  <bruno@clisp.org>
35722
35723         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
35724
35725 2008-10-19  Bruno Haible  <bruno@clisp.org>
35726
35727         * lib/wait-process.c: Include simply <sys/wait.h>.
35728         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
35729         WIFSTOPPED): Remove fallback definitions.
35730         * modules/wait-process (Depends-on): Add sys_wait.
35731
35732         New module 'sys_wait'.
35733         * modules/sys_wait: New file.
35734         * lib/sys_wait.in.h: New file, partially copied from
35735         lib/wait-process.c.
35736         * m4/sys_wait_h.m4: New file.
35737         * doc/posix-headers/sys_wait.texi: Mention the new module.
35738
35739 2008-10-19  Bruno Haible  <bruno@clisp.org>
35740
35741         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
35742
35743 2008-10-19  Bruno Haible  <bruno@clisp.org>
35744
35745         Assume that waitpid() fills an 'int' status, not a 'union wait'.
35746         * lib/wait-process.c (WAIT_T): Remove type.
35747         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
35748         (wait_subprocess): Update.
35749
35750 2008-10-19  Bruno Haible  <bruno@clisp.org>
35751
35752         New module 'atoll'.
35753         * modules/atoll: New file.
35754         * lib/stdlib.in.h (atoll): New declaration.
35755         * lib/atoll.c: New file, from glibc with modifications.
35756         * m4/atoll.m4: New file.
35757         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
35758         HAVE_ATOLL.
35759         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
35760         * doc/posix-functions/atoll.texi: Mention the new module.
35761
35762 2008-10-19  Bruno Haible  <bruno@clisp.org>
35763
35764         Add strtoull() declaration to <stdlib.h>.
35765         * lib/stdlib.in.h (strtoull): New declaration.
35766         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35767         Set HAVE_STRTOULL.
35768         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
35769         HAVE_STRTOULL.
35770         * modules/strtoull (Depends-on): Add stdlib.
35771         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35772         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
35773         HAVE_STRTOULL.
35774
35775 2008-10-19  Bruno Haible  <bruno@clisp.org>
35776
35777         Add strtoll() declaration to <stdlib.h>.
35778         * lib/stdlib.in.h (strtoll): New declaration.
35779         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35780         Set HAVE_STRTOLL.
35781         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
35782         HAVE_STRTOLL.
35783         * modules/strtoll (Depends-on): Add stdlib.
35784         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35785         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
35786
35787 2008-10-19  Bruno Haible  <bruno@clisp.org>
35788
35789         * modules/bcopy (Depends-on): Add strings.
35790         (Include): Specify <strings.h>.
35791
35792 2008-10-19  Bruno Haible  <bruno@clisp.org>
35793
35794         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
35795
35796 2008-10-19  Bruno Haible  <bruno@clisp.org>
35797
35798         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
35799         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
35800         mingw.
35801
35802 2008-10-19  Bruno Haible  <bruno@clisp.org>
35803
35804         * lib/atanl.c: Don't include isnanl.h.
35805         * lib/cosl.c: Likewise.
35806         * lib/ldexpl.c: Likewise.
35807         * lib/logl.c: Likewise.
35808         * lib/sinl.c: Likewise.
35809         * lib/sqrtl.c: Likewise.
35810         * lib/tanl.c: Likewise.
35811
35812         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
35813         * lib/isnanf.h: Remove file.
35814         * lib/isnand.h: Remove file.
35815         * lib/isnanl.h: Remove file.
35816         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
35817         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
35818         macros.
35819         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
35820         HAVE_ISNANF, don't define it as a C macro.
35821         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
35822         HAVE_ISNAND, don't define it as a C macro.
35823         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
35824         HAVE_ISNANL, don't define it as a C macro.
35825         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
35826         HAVE_ISNAN[FDL].
35827         * modules/isnanf (Files): Remove lib/isnanf.h.
35828         (Depends-on): Add math.
35829         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35830         (Include): Specify <math.h> instead of isnanf.h.
35831         * modules/isnand (Files): Remove lib/isnand.h.
35832         (Depends-on): Add math.
35833         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35834         (Include): Specify <math.h> instead of isnand.h.
35835         * modules/isnanl (Files): Remove lib/isnanl.h.
35836         (Depends-on): Add math.
35837         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35838         (Include): Specify <math.h> instead of isnanl.h.
35839         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
35840         HAVE_ISNAN[FDL].
35841         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
35842         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
35843         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
35844         * NEWS: Mention the change.
35845
35846 2008-10-18  Bruno Haible  <bruno@clisp.org>
35847
35848         Add getusershell(), setusershell(), endusershell() declarations to
35849         <unistd.h>.
35850         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
35851         declarations.
35852         * lib/getusershell.c: Include unistd.h.
35853         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
35854         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
35855         HAVE_GETUSERSHELL.
35856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
35857         and HAVE_GETUSERSHELL.
35858         * modules/getusershell (Depends-on): Add unistd, extensions.
35859         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35860         (Include): Specify <unistd.h>.
35861         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
35862         HAVE_GETUSERSHELL.
35863
35864 2008-10-18  Bruno Haible  <bruno@clisp.org>
35865
35866         Add a getloadavg() declaration to <stdlib.h>.
35867         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
35868         getloadavg declaration.
35869         (getloadavg): New declaration.
35870         * lib/getloadavg.c: Include <stdlib.h> first.
35871         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
35872         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
35873         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
35874         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
35875         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
35876         * modules/getloadavg (Depends-on): Add stdlib, extensions.
35877         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35878         (Include): Specify <stdlib.h>.
35879         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
35880         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
35881
35882 2008-10-18  Bruno Haible  <bruno@clisp.org>
35883
35884         * lib/dirchownmod.c: Don't include lchmod.h.
35885
35886         Move the lchmod() declaration to <sys/stat.h>.
35887         * lib/lchmod.h: Remove file.
35888         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
35889         (lchmod): New declaration, moved here from lib/lchown.h.
35890         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
35891         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
35892         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
35893         and HAVE_LCHMOD.
35894         * modules/lchmod (Files): Remove lib/lchmod.h.
35895         (Depends-on): Add sys_stat, extensions.
35896         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
35897         (Include): Specify <sys/stat.h> instead of lchmod.h.
35898         * modules/sys_stat (Depends-on): Add link-warning.
35899         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
35900         definition of GL_LINK_WARNING.
35901         * NEWS: Mention the change.
35902
35903 2008-10-18  Bruno Haible  <bruno@clisp.org>
35904
35905         * lib/fchdir.c: Don't include dirfd.h.
35906         * lib/fts.c: Likewise.
35907         * lib/getcwd.c: Likewise.
35908         * lib/glob.c: Likewise.
35909
35910         Move the dirfd() declaration to <dirent.h>.
35911         * lib/dirfd.h: Remove file.
35912         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
35913         (dirfd): New declaration.
35914         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
35915         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
35916         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
35917         HAVE_DECL_DIRFD.
35918         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
35919         HAVE_DECL_DIRFD.
35920         * modules/dirfd (Files): Remove lib/dirfd.h.
35921         (Depends-on): Add dirent, extensions.
35922         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
35923         (Include): Specify <dirent.h> instead of dirfd.h.
35924         * modules/dirent (Depends-on): Add link-warning.
35925         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
35926         definition of GL_LINK_WARNING.
35927         * NEWS: Mention the change.
35928
35929 2008-10-18  Bruno Haible  <bruno@clisp.org>
35930
35931         Move the euidaccess() declaration to <unistd.h>.
35932         * lib/euidaccess.h: Remove file.
35933         * lib/unistd.in.h (euidaccess): New declaration.
35934         * lib/euidaccess.c: Don't include euidaccess.h.
35935         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
35936         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
35937         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
35938         and HAVE_EUIDACCESS.
35939         * modules/euidaccess (Files): Remove lib/euidaccess.h.
35940         (Depends-on): Add unistd.
35941         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35942         (Include): Specify <unistd.h> instead of euidaccess.h.
35943         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
35944         HAVE_EUIDACCESS.
35945         * NEWS: Mention the change.
35946
35947 2008-10-18  Bruno Haible  <bruno@clisp.org>
35948
35949         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
35950
35951         Move the getdomainname() declaration to <unistd.h>.
35952         * lib/getdomainname.h: Remove file.
35953         * lib/unistd.in.h (getdomainname): New declaration.
35954         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
35955         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
35956         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
35957         HAVE_GETDOMAINNAME.
35958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35959         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
35960         * modules/getdomainname (Files): Remove lib/getdomainname.h.
35961         (Depends-on): Add unistd, extensions.
35962         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35963         (Includes): Specify <unistd.h> instead of getdomainname.h.
35964         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
35965         HAVE_GETDOMAINNAME.
35966         * NEWS: Mention the change.
35967
35968 2008-10-18  Bruno Haible  <bruno@clisp.org>
35969
35970         * modules/dirent: New file.
35971         * m4/dirent_h.m4: New file.
35972         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
35973         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
35974         * modules/fchdir (Files): Remove lib/dirent.in.h.
35975         (Depends-on): Add dirent.
35976         (Makefile.am): Move rules to modules/dirent.
35977         * doc/posix-headers/dirent.texi: Mention the new module.
35978
35979 2008-10-18  Bruno Haible  <bruno@clisp.org>
35980
35981         Avoid -Wunused-parameter warnings in public gnulib header files.
35982         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
35983         macro.
35984         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
35985
35986 2008-10-18  Bruno Haible  <bruno@clisp.org>
35987
35988         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
35989         * doc/glibc-functions/error.texi: Mention the module 'error'.
35990         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
35991         * doc/glibc-functions/getdomainname.texi: Mention the module
35992         'getdomainname'.
35993         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
35994         * doc/glibc-functions/getpagesize.texi: Mention the module
35995         'getpagesize'.
35996         * doc/glibc-functions/getusershell.texi: Mention the module
35997         'getusershell'.
35998         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
35999         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
36000         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
36001         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
36002         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
36003         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
36004         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
36005         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
36006         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
36007         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
36008         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
36009         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
36010         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
36011         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
36012
36013 2008-10-17  Bruno Haible  <bruno@clisp.org>
36014
36015         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
36016         HP-UX and IRIX, use -0.0L.
36017         * tests/test-ceill.c (minus_zero): Likewise.
36018         * tests/test-floorl.c (minus_zero): Likewise.
36019         * tests/test-frexpl.c (minus_zero): Likewise.
36020         * tests/test-isnan.c (minus_zerol): Likewise.
36021         * tests/test-isnanl.h (minus_zero): Likewise.
36022         * tests/test-ldexpl.c (minus_zero): Likewise.
36023         * tests/test-roundl.c (minus_zero): Likewise.
36024         * tests/test-signbit.c (minus_zerol): Likewise.
36025         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
36026         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
36027         * tests/test-truncl.c (minus_zero): Likewise.
36028         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
36029         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
36030         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
36031         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
36032
36033 2008-10-17  Bruno Haible  <bruno@clisp.org>
36034
36035         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
36036         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
36037         that it gets activated only for gcc >= 3.0.
36038         * lib/dirent.in.h: Likewise.
36039         * lib/errno.in.h: Likewise.
36040         * lib/fcntl.in.h: Likewise.
36041         * lib/float.in.h: Likewise.
36042         * lib/iconv.in.h: Likewise.
36043         * lib/inttypes.in.h: Likewise.
36044         * lib/locale.in.h: Likewise.
36045         * lib/math.in.h: Likewise.
36046         * lib/netdb.in.h: Likewise.
36047         * lib/netinet_in.in.h: Likewise.
36048         * lib/search.in.h: Likewise.
36049         * lib/signal.in.h: Likewise.
36050         * lib/spawn.in.h: Likewise.
36051         * lib/stdarg.in.h: Likewise.
36052         * lib/stdint.in.h: Likewise.
36053         * lib/stdio.in.h: Likewise.
36054         * lib/stdlib.in.h: Likewise.
36055         * lib/string.in.h: Likewise.
36056         * lib/strings.in.h: Likewise.
36057         * lib/sys_file.in.h: Likewise.
36058         * lib/sys_ioctl.in.h: Likewise.
36059         * lib/sys_select.in.h: Likewise.
36060         * lib/sys_socket.in.h: Likewise.
36061         * lib/sys_stat.in.h: Likewise.
36062         * lib/sys_time.in.h: Likewise.
36063         * lib/sysexits.in.h: Likewise.
36064         * lib/time.in.h: Likewise.
36065         * lib/unistd.in.h: Likewise.
36066         * lib/wchar.in.h: Likewise.
36067         * lib/wctype.in.h: Likewise.
36068         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36069
36070 2008-10-17  Jim Meyering  <meyering@redhat.com>
36071
36072         ignore-value: don't depend on inline module
36073         * modules/ignore-value (Depends-on): Remove 'inline'.
36074         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
36075         Suggestion from Bruno Haible.
36076
36077 2008-10-17  Bruno Haible  <bruno@clisp.org>
36078
36079         New implementation of condition variables for Win32.
36080         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
36081         (gl_linked_waitqueue_t): New type.
36082         (gl_cond_t): Use it.
36083         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
36084         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
36085         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
36086         (glthread_cond_init_func, glthread_cond_wait_func,
36087         glthread_cond_timedwait_func, glthread_cond_signal_func,
36088         glthread_cond_broadcast_func, glthread_cond_destroy_func):
36089         Reimplemented on the basis of gl_linked_waitqueue_t.
36090         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
36091         gl_waitqueue_t.
36092         (gl_rwlock_t): Update.
36093         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
36094
36095 2008-10-17  Simon Josefsson  <simon@josefsson.org>
36096
36097         * modules/recvfrom (Depends-on): Add dependency on getpeername.
36098         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36099
36100 2008-10-17  Jim Meyering  <meyering@redhat.com>
36101
36102         ignore-value: new module
36103         * modules/ignore-value: New file.
36104         * lib/ignore-value.h: New file.
36105         * MODULES.html.sh (Compiler warning management): New section,
36106         just for this module.  More to come.
36107
36108 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36109
36110         open-safer.c: avoid 'signed and unsigned in conditional...' warning
36111         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
36112         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
36113
36114 2008-10-16  Jim Meyering  <meyering@redhat.com>
36115
36116         openat-die.c: avoid 'no previous prototype' warning
36117         * lib/openat-die.c: Include "openat.h".
36118         Reported by Reuben Thomas <rrt@sc3d.org>.
36119
36120 2008-10-16  Simon Josefsson  <simon@josefsson.org>
36121
36122         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
36123         * lib/netdb.in.h: Fix typo.
36124         Reported by Bruno Haible  <bruno@clisp.org>
36125
36126         * lib/netdb.in.h: Include sys/socket.h for platforms without
36127         netdb.h, to get structures like hostent on MinGW.
36128         * modules/netdb (Depends-on): Add sys_socket.
36129
36130 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36131
36132         * modules/netdb, modules/netdb-tests: New file.
36133         * m4/netdb_h.m4: New file.
36134         * lib/netdb.in.h: Add, currently just an empty file pending
36135         definitions.
36136         * tests/test-netdb.c: New file.
36137         * doc/posix-headers/netdb.texi: Mention that we replace it if
36138         needed.
36139         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36140         netdb.
36141
36142 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36143
36144         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
36145         with code.
36146
36147 2008-10-13  Bruno Haible  <bruno@clisp.org>
36148
36149         * lib/glthread/cond.c (glthread_cond_wait_func,
36150         glthread_cond_timedwait_func): Add a comment.
36151
36152 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36153
36154         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
36155         * tests/test-select.c: Likewise,
36156
36157 2008-10-13  Bruno Haible  <bruno@clisp.org>
36158
36159         * lib/glthread/cond.c (glthread_cond_wait_func,
36160         glthread_cond_timedwait_func): Fix variable name.
36161         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36162
36163 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
36164
36165         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
36166         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
36167         struct sockaddr.sa_len.
36168         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
36169
36170 2008-10-13  Simon Josefsson  <simon@josefsson.org>
36171
36172         * build-aux/pmccabe2html: Add css and css_url parameters.
36173
36174 2008-10-12  Bruno Haible  <bruno@clisp.org>
36175
36176         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
36177         calling aclx_get.
36178         Reported by Rainer Tammer <tammer@tammer.net>.
36179
36180 2008-10-12  Bruno Haible  <bruno@clisp.org>
36181
36182         Use msvcrt aware primitives for creation/termination of Win32 threads.
36183         * lib/glthread/thread.c: Include <process.h>.
36184         (glthread_create_func): Use _beginthreadex instead of CreateThread.
36185         (wrapper_func): Update signature.
36186         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
36187
36188 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36189             Bruno Haible  <bruno@clisp.org>
36190
36191         Provide a Win32 implementation of the 'cond' module.
36192         * lib/glthread/cond.h [USE_WIN32]: New implementation.
36193         * lib/glthread/cond.c (glthread_cond_init_func,
36194         glthread_cond_wait_func, glthread_cond_timedwait_func,
36195         glthread_cond_signal_func, glthread_cond_broadcast_func,
36196         glthread_cond_destroy_func) [USE_WIN32]: New functions.
36197         * modules/cond (Dependencies): Add gettimeofday.
36198
36199 2008-10-11  Bruno Haible  <bruno@clisp.org>
36200
36201         Make sleep work on older versions of mingw.
36202         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
36203         only whether it exists.
36204         * doc/posix-functions/sleep.texi: Mention the problem with older
36205         versions of mingw.
36206
36207 2008-10-11  Bruno Haible  <bruno@clisp.org>
36208
36209         New module 'shutdown'.
36210         * modules/shutdown: New file.
36211         * lib/sys_socket.in.h (shutdown): New declaration.
36212         * lib/winsock.c (shutdown): New function.
36213         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
36214         GNULIB_SHUTDOWN.
36215         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
36216         * doc/posix-functions/shutdown.texi: Document the new module.
36217
36218 2008-10-11  Jim Meyering  <meyering@redhat.com>
36219
36220         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
36221
36222 2008-10-11  Bruno Haible  <bruno@clisp.org>
36223
36224         New module 'fclose'.
36225         * modules/fclose: New file.
36226         * lib/stdio.in.h (fclose): New declaration.
36227         * lib/fclose.c: New file.
36228         * m4/fclose.m4: New file.
36229         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
36230         REPLACE_FCLOSE.
36231         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
36232         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
36233         REPLACE_FCLOSE.
36234         * modules/close (Depends-on): fclose.
36235         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
36236
36237 2008-10-11  Bruno Haible  <bruno@clisp.org>
36238
36239         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
36240         set errno and don't call _close.
36241
36242 2008-10-10  Bruno Haible  <bruno@clisp.org>
36243
36244         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
36245         ACL, not afterwards. Fixes test failure on Cygwin.
36246
36247 2008-10-09  Ben Pfaff  <blp@gnu.org>
36248
36249         * build-aux/announce-gen: Fix gnulib version related part of usage
36250         message.  Die with a useful error message if no tarballs are
36251         found.
36252
36253 2008-10-10  Jim Meyering  <meyering@redhat.com>
36254
36255         bootstrap: use git's --depth=N option only if it's supported
36256         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
36257         recognize the --depth option.  Reported by Pádraig Brady.
36258
36259 2008-10-09  Bruno Haible  <bruno@clisp.org>
36260
36261         New module 'ioctl'.
36262         * modules/ioctl: New file.
36263         * lib/sys_socket.in.h (ioctl): Remove declaration.
36264         * lib/winsock.c: Include <sys/ioctl.h>.
36265         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
36266         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
36267         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
36268         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
36269         * doc/posix-functions/ioctl.texi: Mention the new module.
36270
36271 2008-10-09  Bruno Haible  <bruno@clisp.org>
36272
36273         New module 'sys_ioctl'.
36274         * lib/sys_ioctl.in.h: New file.
36275         * m4/sys_ioctl_h.m4: New file.
36276         * modules/sys_ioctl: New file.
36277         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
36278
36279 2008-10-09  Bruno Haible  <bruno@clisp.org>
36280
36281         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
36282         * lib/winsock.c: Include <stdarg.h>.
36283         (rpl_ioctl): Change to second argument 'int' and then varargs.
36284
36285 2008-10-09  Bruno Haible  <bruno@clisp.org>
36286
36287         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
36288         when the sys_socket module is present and the system has <winsock2.h>.
36289
36290 2008-10-09  Bruno Haible  <bruno@clisp.org>
36291
36292         * doc/posix-functions/close.texi: Mention module 'close' instead of
36293         module 'sys_socket'.
36294
36295 2008-10-09  Bruno Haible  <bruno@clisp.org>
36296
36297         * doc/glibc-headers/sys_ioctl.texi: New file.
36298         * doc/gnulib.texi: Include it.
36299
36300 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36301             Bruno Haible  <bruno@clisp.org>
36302
36303         Combine the two replacements of 'close'.
36304         * lib/sys_socket.in.h (close): Define to a reminder to include
36305         <unistd.h>.
36306         (_gl_close_fd_maybe_socket): New declaration.
36307         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
36308         * lib/winsock.c (close): Remove undefinition.
36309         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
36310         needed for the gnulib module 'close'.
36311         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
36312         define to an error symbol or to a warning, if suitable.
36313         * lib/close.c: Include <sys/socket.h>.
36314         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
36315         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
36316         UNISTD_H_HAVE_WINSOCK2_H.
36317         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
36318         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36319         UNISTD_H_HAVE_WINSOCK2_H.
36320         * modules/sys_socket (Files): Add m4/unistd_h.m4.
36321         (configure.ac): Set a module indicator.
36322         (Makefile.am): Substitute GNULIB_CLOSE.
36323         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
36324         * modules/poll-tests (Depends-on): Add close.
36325         * modules/select-tests (Depends-on): Likewise.
36326
36327 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36328             Bruno Haible  <bruno@clisp.org>
36329
36330         New module 'close'.
36331         * modules/close: New file.
36332         * lib/unistd.in.h (close): Move declaration out of the
36333         FCHDIR_REPLACEMENT scope.
36334         (_gl_unregister_fd): New declaration.
36335         * lib/close.c: New file.
36336         * lib/fchdir.c (rpl_close): Remove function.
36337         * m4/close.m4: New file.
36338         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36339         close.
36340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
36341         REPLACE_CLOSE.
36342         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
36343         REPLACE_CLOSE.
36344         * modules/fchdir (Depends-on): Add close.
36345
36346 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36347             Bruno Haible  <bruno@clisp.org>
36348
36349         * lib/fcntl.in.h (open): Simplify conditionals.
36350         (_gl_register_fd): New declaration.
36351         * lib/fchdir.c (rpl_open): Remove function.
36352         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
36353         also.
36354         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
36355         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36356         open.
36357
36358 2008-10-09  Jim Meyering  <meyering@redhat.com>
36359
36360         GNUmakefile: use the more name-space-friendly "_version"
36361         * top/GNUmakefile (_dummy): Update.
36362         (_version): Rename from "version".
36363
36364 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36365             Bruno Haible  <bruno@clisp.org>
36366
36367         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
36368         rpl_close.
36369         (_gl_register_fd): New function, extracted from rpl_open.
36370         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
36371         (rpl_open, rpl_opendir): Use _gl_register_fd.
36372
36373 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36374
36375         Fix organization of 'open' replacement.
36376         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
36377         (gl_FUNC_OPEN): Use it.
36378         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
36379
36380 2008-10-08  Bruno Haible  <bruno@clisp.org>
36381
36382         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
36383
36384 2008-10-08  Simon Josefsson  <simon@josefsson.org>
36385
36386         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
36387         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
36388         listen).
36389
36390 2008-10-08  Eric Blake  <ebb9@byu.net>
36391
36392         GNUmakefile: add 'make version' target
36393         * top/GNUmakefile (_curr-ver): Split version update rules...
36394         (version): ...into a target.
36395
36396 2008-10-07  Bruno Haible  <bruno@clisp.org>
36397
36398         Use a more portable replacement expression for -0.0L.
36399         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
36400         instead of -0.0L. Fix m4 quotation.
36401
36402         * tests/test-signbit.c: Include <float.h>.
36403         (minus_zero): New variable.
36404         (test_signbitl): Use minus_zero instead of -zero.
36405         * modules/signbit-tests (Depends-on): Add float.
36406
36407         * tests/test-ceill.c: Include <float.h>.
36408         (zero): Remove variable.
36409         (minus_zero): New variable.
36410         (main): Use minus_zero instead of -zero.
36411         * modules/ceill-tests (Depends-on): Add float.
36412
36413         * tests/test-floorl.c: Include <float.h>.
36414         (zero): Remove variable.
36415         (minus_zero): New variable.
36416         (main): Use minus_zero instead of -zero.
36417         * modules/floorl-tests (Depends-on): Add float.
36418
36419         * tests/test-roundl.c: Include <float.h>.
36420         (zero): Remove variable.
36421         (minus_zero): New variable.
36422         (main): Use minus_zero instead of -zero.
36423         * modules/roundl-tests (Depends-on): Add float.
36424
36425         * tests/test-truncl.c: Include <float.h>.
36426         (zero): Remove variable.
36427         (minus_zero): New variable.
36428         (main): Use minus_zero instead of -zero.
36429         * modules/truncl-tests (Depends-on): Add float.
36430
36431         * tests/test-frexpl.c (zero): Remove variable.
36432         (minus_zero): New variable.
36433         (main): Use minus_zero instead of -zero.
36434         * modules/frexpl-tests (Depends-on): Add float.
36435
36436         * tests/test-isnan.c (zerol): Remove variable.
36437         (minus_zerol): New variable.
36438         (test_long_double): Use minus_zerol instead of -zerol.
36439         * modules/isnan-tests (Depends-on): Add float.
36440
36441         * tests/test-isnanl.h (zero): Remove variable.
36442         (minus_zero): New variable.
36443         (main): Use minus_zero instead of -zero.
36444         * modules/isnanl-nolibm-tests (Depends-on): Add float.
36445         * modules/isnanl-tests (Depends-on): Add float.
36446
36447         * tests/test-ldexpl.c (zero): Remove variable.
36448         (minus_zero): New variable.
36449         (main): Use minus_zero instead of -zero.
36450         * modules/ldexpl-tests (Depends-on): Add float.
36451
36452         * tests/test-snprintf-posix.h (zerol): Remove variable.
36453         (minus_zerol): New variable.
36454         (test_function): Use minus_zerol instead of -zerol.
36455         * modules/snprintf-posix-tests (Depends-on): Add float.
36456         * modules/vsnprintf-posix-tests (Depends-on): Add float.
36457
36458         * tests/test-sprintf-posix.h (zerol): Remove variable.
36459         (minus_zerol): New variable.
36460         (test_function): Use minus_zerol instead of -zerol.
36461         * modules/sprintf-posix-tests (Depends-on): Add float.
36462         * modules/vsprintf-posix-tests (Depends-on): Add float.
36463
36464         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
36465         (minus_zerol): New variable.
36466         (test_function): Use minus_zerol instead of -zerol.
36467         * modules/vasnprintf-posix-tests (Depends-on): Add float.
36468
36469         * tests/test-vasprintf-posix.c (zerol): Remove variable.
36470         (minus_zerol): New variable.
36471         (test_function): Use minus_zerol instead of -zerol.
36472         * modules/vasprintf-posix-tests (Depends-on): Add float.
36473
36474 2008-10-07  Simon Josefsson  <simon@josefsson.org>
36475
36476         * MODULES.html.sh (Support for building documentation): Mention
36477         pmccabe2html.  Sort entries.
36478
36479         Add pmccabe2html module, from gnupdf.
36480         * build-aux/pmccabe.css: New file.
36481         * build-aux/pmccabe2html: New file.
36482         * m4/pmccabe2html.m4: New file.
36483         * modules/pmccabe2html: New file.
36484
36485 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
36486
36487         flock: new module
36488         * MODULES.html.sh: Add to list of modules.
36489         * lib/flock.c: flock implementation for Windows and Unix systems
36490         which have fcntl.
36491         * doc/glibc-functions/flock.texi: Update documentation.
36492         * lib/sys_file.in.h: <sys/file.h> header file.
36493         * m4/flock.m4: M4 macros.
36494         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
36495         * modules/flock: flock module.
36496         * modules/flock-tests: flock tests module.
36497         * modules/sys_file: sys/file.h module.
36498         * tests/test-flock.c: test suite for flock.
36499
36500 2008-10-06  Jim Meyering  <meyering@redhat.com>
36501
36502         bootstrap: check for LT_INIT more portably still ;-)
36503         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
36504         Spotted by Bruno Haible.
36505
36506 2008-10-06  Eric Blake  <ebb9@byu.net>
36507
36508         test-signbit: avoid tripping Irix cc bug on -0.0L
36509         * tests/test-signbit.c (minus_zerol): Delete, and replace with
36510         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
36511         entire testsuite consistent and avoids an Irix 6.2 bug.
36512
36513 2008-10-05  Bruno Haible  <bruno@clisp.org>
36514             Jim Meyering  <jim@meyering.net>
36515
36516         Add an option for ignoring EPIPE during close_stdout.
36517         * lib/closeout.h: Include <stdbool.h>.
36518         (close_stdout_set_ignore_EPIPE): New declaration.
36519         * lib/closeout.c: Include <stdbool.h>.
36520         (ignore_EPIPE): New variable.
36521         (close_stdout_set_ignore_EPIPE): New function.
36522         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
36523         * lib/close-stream.c (close_stream): Mention the possible EPIPE
36524         failure.
36525         * modules/closeout (Depends-on): Add stdbool.
36526
36527 2008-10-05  Bruno Haible  <bruno@clisp.org>
36528
36529         * modules/accept: New file.
36530         * modules/bind: New file.
36531         * modules/connect: New file.
36532         * modules/getpeername: New file.
36533         * modules/getsockname: New file.
36534         * modules/getsockopt: New file.
36535         * modules/listen: New file.
36536         * modules/recv: New file.
36537         * modules/recvfrom: New file.
36538         * modules/send: New file.
36539         * modules/sendto: New file.
36540         * modules/setsockopt: New file.
36541         * modules/socket: New file.
36542         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
36543         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36544         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
36545         the particular module is requested. Add a link warning when the
36546         particular module is not requested.
36547         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
36548         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
36549         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
36550         the particular module is requested.
36551         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
36552         gl_SYS_SOCKET_H_DEFAULTS): New macros.
36553         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
36554         * modules/sys_socket (Depends-on): Add link-warning.
36555         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
36556         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
36557         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
36558         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
36559         GL_LINK_WARNING.
36560         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
36561         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
36562         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
36563         * doc/posix-functions/getpeername.texi: Mention the new module
36564         'getpeername'.
36565         * doc/posix-functions/getsockname.texi: Mention the new module
36566         'getsockname'.
36567         * doc/posix-functions/getsockopt.texi: Mention the new module
36568         'getsockopt'.
36569         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
36570         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
36571         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
36572         * doc/posix-functions/send.texi: Mention the new module 'send'.
36573         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
36574         * doc/posix-functions/setsockopt.texi: Mention the new module
36575         'setsockopt'.
36576         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
36577         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
36578         listen, connect, accept.
36579         * modules/select-tests (Depends-on): Likewise.
36580
36581 2008-10-05  Bruno Haible  <bruno@clisp.org>
36582
36583         * lib/winsock.c (strerror): Remove unused #undef.
36584         (rpl_close): Remove unused local variable.
36585
36586         * modules/sys_socket (Depends-on); Add errno.
36587
36588 2008-10-05  Bruno Haible  <bruno@clisp.org>
36589
36590         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
36591         (select): Add a link warning when the 'select' module is not used.
36592         * modules/sys_select (Depends-on): Add link-warning.
36593         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
36594         Suggested by Paolo Bonzini.
36595
36596 2008-10-05  Jim Meyering  <meyering@redhat.com>
36597
36598         bootstrap: check for LT_INIT more portably
36599         * build-aux/bootstrap: Avoid using grep -E, since it's not
36600         portable enough.  Suggestion from Bruno Haible.
36601
36602 2008-10-05  Bruno Haible  <bruno@clisp.org>
36603
36604         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
36605         as being fixed by gnulib.
36606
36607 2008-10-05  Bruno Haible  <bruno@clisp.org>
36608
36609         * modules/select-tests: New file, mostly copied from
36610         modules/sys_select-tests.
36611         * tests/test-select.c: New file, mostly copied from
36612         tests/test-sys_select.c.
36613         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
36614         * modules/sys_select-tests (Depends-on): Remove all dependencies.
36615         (Makefile.am): Remove test_sys_select_LDADD.
36616
36617         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
36618         to an undefined symbol, for an error message.
36619         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
36620         (gl_SYS_SELECT_H_DEFAULTS): New macro.
36621         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
36622         winsock-select.c here.
36623         * modules/sys_select (Files): Remove lib/winsock-select.c.
36624         (Depends-on): Remove alloca.
36625         (Makefile.am): Substitute GNULIB_SELECT.
36626         * modules/select: New file.
36627         * doc/posix-functions/select.texi: Update.
36628
36629 2008-10-05  Bruno Haible  <bruno@clisp.org>
36630
36631         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
36632         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
36633         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
36634         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
36635         getdtablesize.
36636         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
36637         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
36638
36639 2008-10-05  Bruno Haible  <bruno@clisp.org>
36640
36641         * modules/getdtablesize-tests: New file.
36642         * tests/test-getdtablesize.c: New file.
36643
36644         New module 'getdtablesize'.
36645         * lib/unistd.in.h (getdtablesize): New declaration.
36646         * lib/getdtablesize.c: New file.
36647         * m4/getdtablesize.m4: New file.
36648         * modules/getdtablesize: New file.
36649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36650         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
36651         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
36652         HAVE_GETDTABLESIZE.
36653         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
36654
36655 2008-10-05  Bruno Haible  <bruno@clisp.org>
36656
36657         * modules/sched (Makefile.am): Fix typo.
36658         Reported by Simon Josefsson.
36659
36660 2008-10-05  Jim Meyering  <meyering@redhat.com>
36661
36662         bootstrap: check for LT_INIT, too
36663         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
36664         are deprecated.  Suggestion from Ralf Wildenhues.
36665
36666 2008-10-05  Bruno Haible  <bruno@clisp.org>
36667
36668         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
36669         overriding them by ours.
36670         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
36671
36672 2008-10-05  Jim Meyering  <meyering@redhat.com>
36673
36674         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
36675         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
36676         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
36677
36678 2008-10-04  Bruno Haible  <bruno@clisp.org>
36679
36680         * modules/dup2 (License): Change to LGPLv2+.
36681         * modules/sleep (License): Likewise.
36682         * modules/perror (License): Likewise.
36683         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
36684         Blake.
36685         * modules/signal (License): Likewise.
36686         * modules/sigprocmask (License): Likewise.
36687         * modules/raise (License): Change to LGPLv2+, with approval by Jim
36688         Meyering.
36689
36690 2008-10-04  Bruno Haible  <bruno@clisp.org>
36691
36692         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
36693         Reported by Rainer Tammer <tammer@tammer.net>.
36694
36695 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
36696             Bruno Haible  <bruno@clisp.org>
36697
36698         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
36699         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
36700         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
36701
36702 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
36703
36704         filevercmp: new module
36705         * lib/filevercmp.h: New function filevercmp comparing version strings.
36706         * lib/filevercmp.c: Implementation of filevercmp function.
36707         * modules/filevercmp: Module metadata.
36708         * tests/test-filevercmp.c: Unit test for new module.
36709         * modules/filevercmp-tests: Unit test metadata.
36710         * MODULES.html.sh: Add filevercmp module.
36711
36712 2008-10-03  Bruno Haible  <bruno@clisp.org>
36713
36714         * lib/c-ctype.h: Add comment.
36715         Reported by Jim Meyering.
36716
36717 2008-10-02  Bruno Haible  <bruno@clisp.org>
36718
36719         * modules/posix_spawn-internal (Depends-on): Add 'open'.
36720
36721 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36722
36723         * build-aux/bootstrap: Allow renaming bootstrap, and change the
36724         name of bootstrap.conf accordingly.
36725
36726 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36727
36728         * build-aux/bootstrap: Install git-merge-changelog configuration
36729         items into .gitconfig if needed.
36730
36731 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36732
36733         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
36734         git repository, and initialize/update it accordingly.
36735
36736 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
36737
36738         * modules/fsync-tests: New file.
36739         * tests/test-fsync.c: New file.
36740
36741         New module 'fsync'.
36742         * lib/fsync.c: New file.
36743         * m4/fsync.m4: New file.
36744         * modules/fsync: New file.
36745         * lib/unistd.in.h (fsync): New declaration.
36746         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
36747         GNULIB_FSYNC and HAVE_FSYNC.
36748         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
36749         * MODULES.html.sh (posix_functions): Add fsync.
36750         * doc/posix-functions/fsync.texi: Mention the new module.
36751
36752 2008-10-02  Jim Meyering  <meyering@redhat.com>
36753
36754         fts.c: sync with similar code from coreutils' remove.c
36755         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
36756         Guard also with "#if defined __linux__", since for now at least,
36757         this code is Linux-kernel-specific.
36758
36759 2008-10-02  Jim Meyering  <meyering@redhat.com>
36760
36761         fts: bug fixes
36762         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
36763         Include <sys/vfs.h>, not <sys/statfs.h>.
36764
36765         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
36766         Include <sys/vfs.h>, not <sys/statfs.h>.
36767
36768 2008-10-01  Bruno Haible  <bruno@clisp.org>
36769
36770         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
36771         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
36772         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
36773         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
36774         * doc/posix-functions/posix_spawnp.texi: Likewise.
36775         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
36776         whether posix_spawn actually works.
36777         * m4/pipe.m4 (gl_PIPE): Likewise.
36778         * modules/execute (Files): Add m4/posix_spawn.m4.
36779         * modules/pipe (Files): Add m4/posix_spawn.m4.
36780         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
36781
36782 2008-10-01  Jim Meyering  <meyering@redhat.com>
36783
36784         remove trailing spaces
36785         * NEWS: Likewise.
36786         * lib/poll.c (poll): Likewise.
36787         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
36788         * lib/winsock.c (rpl_close): Likewise.
36789         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
36790         * modules/yield: Likewise.
36791         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
36792         * tests/test-sys_select.c (connect_to_socket): Likewise.
36793
36794         fts.c: adjust a new interface to be more generally useful
36795         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
36796         (fts_build): Adjust caller.
36797
36798 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36799
36800         * modules/cond-tests: New file.
36801         * tests/test-cond.c: New file.
36802
36803 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36804             Bruno Haible  <bruno@clisp.org>
36805
36806         * modules/cond (Dependencies): Add errno, time.
36807         * lib/glthread/cond.h: Include <time.h>.
36808         (gl_cond_define, gl_cond_define_initialized): Use the same definition
36809         across platforms.
36810
36811 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36812             Bruno Haible  <bruno@clisp.org>
36813
36814         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
36815
36816 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36817             Bruno Haible  <bruno@clisp.org>
36818
36819         * modules/tls-tests (Depends-on): Add thread, yield.
36820         (configure.ac): Remove all checks.
36821         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
36822         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36823         gl_thread_self): Remove definitions. Include glthread/thread.h and
36824         glthread/yield.h instead.
36825         (test_tls): Pass an additional NULL argument to gl_thread_join.
36826
36827 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36828             Bruno Haible  <bruno@clisp.org>
36829
36830         * modules/lock-tests (Depends-on): Add thread, yield.
36831         (configure.ac): Remove all checks.
36832         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
36833         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36834         gl_thread_self): Remove definitions. Include glthread/thread.h and
36835         glthread/yield.h instead.
36836         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
36837         additional NULL argument to gl_thread_join.
36838
36839 2008-09-30  Bruno Haible  <bruno@clisp.org>
36840
36841         Fix the Win32 implementation of the 'thread' module.
36842         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
36843         pointer type.
36844         (gl_thread_self): Invoke gl_thread_self_func.
36845         (gl_thread_self_func): New declaration.
36846         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
36847         (do_init_self_key, init_self_key): New functions.
36848         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
36849         Remove some fields.
36850         (running_threads, running_lock): Remove variables.
36851         (get_current_thread_handle): New function.
36852         (gl_thread_self_func, wrapper_func, glthread_create_func,
36853         glthread_join_func, gl_thread_exit_func): Largely rewritten and
36854         simplified.
36855
36856 2008-09-30  Bruno Haible  <bruno@clisp.org>
36857
36858         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
36859         files.
36860
36861 2008-09-30  Jim Meyering  <meyering@redhat.com>
36862
36863         fts.m4: correct the test for statfs.f_type
36864         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
36865         when checking for statfs.f_type.
36866
36867 2008-09-15  Simon Josefsson  <simon@josefsson.org>
36868
36869         tests: avoid some compiler warnings
36870         * tests/test-memchr.c (main): Pass NULL indirectly.
36871         * tests/test-getdate.c (main): Remove unused variable 'ret'.
36872
36873 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
36874
36875         getdate.y: disallow countable dayshifts like "4 yesterday ago"
36876         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
36877         exactly specified dayshifts.
36878         (dayshift): New rule.
36879         (rel): Add dayshift.
36880         (relative_time_table) [tomorrow, yesterday, today, now]:
36881         Use tDAY_SHIFT in place of tDAY_UNIT.
36882         * tests/test-getdate.c: Add tests for now-disallowed countable
36883         dayshifts, e.g., "4 yesterday ago".
36884
36885 2008-09-29  Bruno Haible  <bruno@clisp.org>
36886
36887         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
36888         * tests/test-posix_spawn1.in.sh: Renamed from
36889         tests/test-posix_spawn.in.sh.
36890         * tests/test-posix_spawn2.c: New file.
36891         * tests/test-posix_spawn2.in.sh: New file.
36892         * modules/posix_spawnp-tests (Files): Update.
36893         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
36894
36895 2008-09-29  Bruno Haible  <bruno@clisp.org>
36896
36897         Propagate effects of putenv/setenv/unsetenv to child processes.
36898         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
36899         * lib/pipe.c (create_pipe): Likewise.
36900
36901 2008-09-29  Bruno Haible  <bruno@clisp.org>
36902
36903         Enable use of shell scripts as executables in mingw.
36904         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
36905         run the program as a shell script.
36906         * lib/pipe.c (create_pipe): Likewise.
36907         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
36908         resulting array.
36909
36910 2008-09-29  Eric Blake  <ebb9@byu.net>
36911
36912         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
36913
36914 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
36915
36916         * doc/posix-functions/accept.texi: Update mingw problems.
36917         * doc/posix-functions/bind.texi: Update mingw problems.
36918         * doc/posix-functions/close.texi: Update mingw problems.
36919         * doc/posix-functions/connect.texi: Update mingw problems.
36920         * doc/posix-functions/getpeername.texi: Update mingw problems.
36921         * doc/posix-functions/getsockname.texi: Update mingw problems.
36922         * doc/posix-functions/getsockopt.texi: Update mingw problems.
36923         * doc/posix-functions/ioctl.texi: Update mingw problems.
36924         * doc/posix-functions/listen.texi: Update mingw problems.
36925         * doc/posix-functions/recv.texi: Update mingw problems.
36926         * doc/posix-functions/recvfrom.texi: Update mingw problems.
36927         * doc/posix-functions/select.texi: Update mingw problems.
36928         * doc/posix-functions/send.texi: Update mingw problems.
36929         * doc/posix-functions/sendto.texi: Update mingw problems.
36930         * doc/posix-functions/setsockopt.texi: Update mingw problems.
36931         * doc/posix-functions/socket.texi: Update mingw problems.
36932
36933 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
36934             Bruno Haible  <bruno@clisp.org>
36935
36936         * lib/sys_select.in.h: Include sys/time.h.
36937         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
36938         * modules/sys_select: Depend on sys_time.
36939         * tests/test-sys_select.c: Test that sys/select.h defines struct
36940         timeval fully.
36941
36942 2008-09-29  Bruno Haible  <bruno@clisp.org>
36943
36944         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
36945         * lib/sys_select.in.h: Likewise.
36946
36947 2008-09-29  Bruno Haible  <bruno@clisp.org>
36948
36949         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
36950
36951 2008-09-29  Bruno Haible  <bruno@clisp.org>
36952
36953         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
36954         Set LIBSOCKET instead of augmenting LIBS.
36955         * modules/sockets (Link): New section.
36956         * modules/sockets-tests (test_sockets_LDADD): New variable.
36957         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
36958         * modules/poll-tests (test_poll_LDADD): New variable.
36959         * NEWS: Document the change.
36960
36961 2008-09-29  Bruno Haible  <bruno@clisp.org>
36962
36963         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
36964         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
36965         ARPA_INET_H directly.
36966         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36967
36968 2008-09-28  Bruno Haible  <bruno@clisp.org>
36969
36970         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
36971         from gl_HEADER_SYS_SOCKET.
36972         (gl_HEADER_SYS_SOCKET): Invoke it.
36973         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36974
36975 2008-09-28  Bruno Haible  <bruno@clisp.org>
36976
36977         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
36978         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
36979         Needed on OSF/1 4.0.
36980
36981 2008-09-28  Bruno Haible  <bruno@clisp.org>
36982
36983         Override open more carefully.
36984         * lib/open.c (orig_open): New function.
36985         (rpl_open): Use orig_open instead of open.
36986         * lib/fcntl.in.h: Add special invocation convention.
36987         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
36988         (gl_FUNC_OPEN): Invoke it.
36989
36990         Override freopen more carefully.
36991         * lib/freopen.c (orig_freopen): New function.
36992         (rpl_freopen): Use orig_freopen instead of freopen.
36993         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
36994         (gl_FUNC_FREOPEN): Invoke it.
36995
36996         Override fopen more carefully.
36997         * lib/fopen.c (orig_fopen): New function.
36998         (rpl_fopen): Use orig_fopen instead of fopen.
36999         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
37000         (gl_FUNC_FOPEN): Invoke it.
37001         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
37002
37003 2008-09-28  Bruno Haible  <bruno@clisp.org>
37004
37005         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
37006         SIGPIPE.
37007
37008 2008-09-28  Bruno Haible  <bruno@clisp.org>
37009
37010         * tests/test-sigaction.c (handler, main): Disable the check whether
37011         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
37012         glibc systems with LinuxThreads.
37013
37014 2008-09-28  Bruno Haible  <bruno@clisp.org>
37015
37016         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
37017
37018         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
37019         with AIX xlc.
37020         * lib/fcntl.in.h (open): Likewise.
37021         Reported by Rainer Tammer <tammer@tammer.net>.
37022
37023 2008-09-28  Bruno Haible  <bruno@clisp.org>
37024
37025         * modules/posix_spawnp-tests: New file.
37026         * tests/test-posix_spawn.c: New file.
37027         * tests/test-posix_spawn.in.sh: New file.
37028
37029         New module 'posix_spawnp'.
37030         * modules/posix_spawnp: New file.
37031         * lib/spawnp.c: New file, from GNU libc with modifications.
37032         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
37033
37034         New module 'posix_spawn'.
37035         * modules/posix_spawn: New file.
37036         * lib/spawn.c: New file, from GNU libc with modifications.
37037         * doc/posix-functions/posix_spawn.texi: Mention the new module.
37038
37039         New module 'posix_spawnattr_destroy'.
37040         * modules/posix_spawnattr_destroy: New file.
37041         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
37042         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
37043         module.
37044
37045         New module 'posix_spawnattr_setsigmask'.
37046         * modules/posix_spawnattr_setsigmask: New file.
37047         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
37048         modifications.
37049         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
37050         new module.
37051
37052         New module 'posix_spawnattr_getsigmask'.
37053         * modules/posix_spawnattr_getsigmask: New file.
37054         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
37055         modifications.
37056         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
37057         new module.
37058
37059         New module 'posix_spawnattr_setsigdefault'.
37060         * modules/posix_spawnattr_setsigdefault: New file.
37061         * lib/spawnattr_setdefault.c: New file, from GNU libc with
37062         modifications.
37063         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
37064         new module.
37065
37066         New module 'posix_spawnattr_getsigdefault'.
37067         * modules/posix_spawnattr_getsigdefault: New file.
37068         * lib/spawnattr_getdefault.c: New file, from GNU libc with
37069         modifications.
37070         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
37071         new module.
37072
37073         New module 'posix_spawnattr_setschedpolicy'.
37074         * modules/posix_spawnattr_setschedpolicy: New file.
37075         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
37076         modifications.
37077         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
37078         new module.
37079
37080         New module 'posix_spawnattr_getschedpolicy'.
37081         * modules/posix_spawnattr_getschedpolicy: New file.
37082         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
37083         modifications.
37084         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
37085         new module.
37086
37087         New module 'posix_spawnattr_setschedparam'.
37088         * modules/posix_spawnattr_setschedparam: New file.
37089         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
37090         modifications.
37091         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
37092         new module.
37093
37094         New module 'posix_spawnattr_getschedparam'.
37095         * modules/posix_spawnattr_getschedparam: New file.
37096         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
37097         modifications.
37098         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
37099         new module.
37100
37101         New module 'posix_spawnattr_setpgroup'.
37102         * modules/posix_spawnattr_setpgroup: New file.
37103         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
37104         modifications.
37105         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
37106         module.
37107
37108         New module 'posix_spawnattr_getpgroup'.
37109         * modules/posix_spawnattr_getpgroup: New file.
37110         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
37111         modifications.
37112         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
37113         module.
37114
37115         New module 'posix_spawnattr_setflags'.
37116         * modules/posix_spawnattr_setflags: New file.
37117         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
37118         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
37119         module.
37120
37121         New module 'posix_spawnattr_getflags'.
37122         * modules/posix_spawnattr_getflags: New file.
37123         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
37124         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
37125         module.
37126
37127         New module 'posix_spawnattr_init'.
37128         * modules/posix_spawnattr_init: New file.
37129         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
37130         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
37131         module.
37132
37133         New module 'posix_spawn_file_actions_destroy'.
37134         * modules/posix_spawn_file_actions_destroy: New file.
37135         * lib/spawn_faction_destroy.c: New file, from GNU libc with
37136         modifications.
37137         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
37138         the new module.
37139
37140         New module 'posix_spawn_file_actions_addopen'.
37141         * modules/posix_spawn_file_actions_addopen: New file.
37142         * lib/spawn_faction_addopen.c: New file, from GNU libc with
37143         modifications.
37144         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
37145         the new module.
37146
37147         New module 'posix_spawn_file_actions_adddup2'.
37148         * modules/posix_spawn_file_actions_adddup2: New file.
37149         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
37150         modifications.
37151         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
37152         the new module.
37153
37154         New module 'posix_spawn_file_actions_addclose'.
37155         * modules/posix_spawn_file_actions_addclose: New file.
37156         * lib/spawn_faction_addclose.c: New file, from GNU libc with
37157         modifications.
37158         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
37159         the new module.
37160
37161         New module 'posix_spawn_file_actions_init'.
37162         * modules/posix_spawn_file_actions_init: New file.
37163         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
37164         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
37165         new module.
37166
37167         New module 'posix_spawn-internal'.
37168         * modules/posix_spawn-internal: New file.
37169         * lib/spawn_int.h: New file, from GNU libc with modifications.
37170         * lib/spawni.c: New file, from GNU libc with modifications.
37171         * m4/posix_spawn.m4: New file.
37172
37173         New module 'spawn'.
37174         * modules/spawn: New file.
37175         * lib/spawn.in.h: New file, from GNU libc with modifications.
37176         * m4/spawn_h.m4: New file.
37177         * doc/posix-headers/spawn.texi: Mention the new module.
37178
37179 2008-09-28  Bruno Haible  <bruno@clisp.org>
37180
37181         * modules/sched-tests: New file.
37182         * tests/test-sched.c: New file.
37183
37184         New module 'sched'.
37185         * modules/sched: New file.
37186         * lib/sched.in.h: New file.
37187         * m4/sched_h.m4: New file.
37188         * doc/posix-headers/sched.texi: Mention the new module.
37189
37190 2008-09-27  Eric Blake  <ebb9@byu.net>
37191
37192         Fix previous patch, and tweak references to $0.
37193         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
37194         (func_version, func_gnulib_dir): Don't call this program
37195         gnulib-tool.
37196         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
37197         with using $0 in function.
37198         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
37199         (func_fatal_error): Reuse the name the user invoked us with.
37200
37201 2008-09-27  Bruno Haible  <bruno@clisp.org>
37202
37203         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
37204         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
37205         (gl_ICONV_H): Not here.
37206         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
37207         instead of assigning ICONV_H directly.
37208
37209         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
37210         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
37211         WCHAR_H directly.
37212
37213 2008-09-27  Bruno Haible  <bruno@clisp.org>
37214
37215         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
37216         * modules/arpa_inet (Depends-on): Add link-warning.
37217         (Makefile.am): Insert the definition of GL_LINK-WARNING.
37218         * modules/unistd (Makefile.am): Likewise.
37219
37220 2008-09-26  Bruno Haible  <bruno@clisp.org>
37221
37222         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
37223         variables.
37224         (func_version): Essentially copied from gnulib-tool.
37225         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
37226         func_readlink): Copied from gnulib-tool.
37227
37228 2008-09-26  Bruno Haible  <bruno@clisp.org>
37229
37230         * gnulib-tool (func_version): Change directory to $gnulib_dir before
37231         invoking git-version-gen.
37232
37233 2008-09-26  Bruno Haible  <bruno@clisp.org>
37234
37235         * posix-modules: Update to directory names changed on 2008-01-19.
37236         Remove commas in output before splitting into words. No more need to
37237         avoid 'ftruncate' since 2007-02-19.
37238
37239 2008-09-26  Bruno Haible  <bruno@clisp.org>
37240
37241         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
37242
37243 2008-09-26  Bruno Haible  <bruno@clisp.org>
37244
37245         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
37246         * modules/fwriteerror (Depends-on): Add errno.
37247
37248 2008-09-26  Bruno Haible  <bruno@clisp.org>
37249
37250         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
37251         * tests/test-vc-list-files-cvs.sh: Likewise.
37252
37253 2008-09-26  Bruno Haible  <bruno@clisp.org>
37254
37255         * doc/posix-headers/sys_resource.texi: Reorder items.
37256
37257 2008-09-26  Jim Meyering  <meyering@redhat.com>
37258
37259         fts: tweak inode comparison function
37260         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
37261         inode numbers, as documented.
37262
37263         fts: sort dirent entries on inode number before traversing
37264         This avoids a quadratic, seek-related performance penalty when
37265         operating on a directory containing many entries (measurable at 10k;
37266         3.5 hours at 2 million entries with a cold cache) on certain types
37267         of file systems, including ext3 and ext4, but not tmpfs.
37268         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
37269         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
37270         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
37271         (fs_handles_readdir_ordered_dirents_efficiently): New function.
37272         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
37273         (fts_build): Set the stat.st_ino member from D_INO.
37274         If it is likely to be useful, sort dirent entries on inode number.
37275
37276         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
37277         and the struct statfs.f_type member.
37278         * modules/fts (Depends-on): Add d-ino.
37279
37280 2008-09-26  Bruno Haible  <bruno@clisp.org>
37281
37282         * modules/sigpipe-die (Depends-on): Add sigpipe.
37283
37284         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
37285         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
37286         and GNULIB_STDIO_H_SIGPIPE are set.
37287         * lib/stdio-write.c: New file.
37288         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
37289         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37290         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37291         REPLACE_STDIO_WRITE_FUNCS.
37292         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
37293         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37294         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37295         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37296         * modules/stdio (Files): Add lib/stdio-write.c.
37297         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
37298         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37299         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37300         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37301         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
37302         REPLACE_FPRINTF_POSIX.
37303         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
37304         REPLACE_PRINTF_POSIX.
37305         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
37306         REPLACE_VFPRINTF_POSIX.
37307         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
37308         REPLACE_VPRINTF_POSIX.
37309         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
37310         SIGPIPE issue.
37311         * doc/posix-functions/fputc.texi: Likewise.
37312         * doc/posix-functions/fputs.texi: Likewise.
37313         * doc/posix-functions/fwrite.texi: Likewise.
37314         * doc/posix-functions/printf.texi: Likewise.
37315         * doc/posix-functions/putc.texi: Likewise.
37316         * doc/posix-functions/putchar.texi: Likewise.
37317         * doc/posix-functions/puts.texi: Likewise.
37318         * doc/posix-functions/vfprintf.texi: Likewise.
37319         * doc/posix-functions/vprintf.texi: Likewise.
37320
37321         * modules/safe-write (Depends-on): Add write.
37322
37323         * modules/sigpipe-tests: New file.
37324         * tests/test-sigpipe.c: New file.
37325         * tests/test-sigpipe.sh: New file.
37326
37327         * modules/write: New file.
37328         * lib/unistd.in.h: Include <sys/types.h>.
37329         (write): New declaration.
37330         * lib/write.c: New file.
37331         * m4/write.m4: New file.
37332         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37333         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
37334         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
37335         GNULIB_WRITE, REPLACE_WRITE.
37336         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
37337         and the SIGPIPE issue.
37338
37339         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
37340         (raise): New declaration.
37341         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
37342         (ext_signal): New function.
37343         (rpl_raise): New function.
37344         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
37345         GNULIB_SIGNAL_H_SIGPIPE.
37346         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
37347         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
37348
37349         * modules/sigpipe: New file.
37350         * m4/sigpipe.m4: New file.
37351
37352 2008-09-25  Derek Price  <derek@ximbiot.com>
37353             Bruno Haible  <bruno@clisp.org>
37354
37355         * gnulib-tool (func_import): Report all license incompatibilities, not
37356         just the first one.
37357
37358 2008-09-25  Bruno Haible  <bruno@clisp.org>
37359
37360         * gnulib-tool (func_import): When computing the edits, consider not
37361         only the Makefile.ams that exist but also those that will be generated.
37362
37363 2008-09-25  Simon Josefsson  <simon@josefsson.org>
37364
37365         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
37366         fixes gnulib-tool --test warning about duplicate dependency.
37367
37368 2008-09-25  Bruno Haible  <bruno@clisp.org>
37369
37370         * gnulib-tool: Don't ask the user to perform edits in the generated
37371         Makefile.ams.
37372         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
37373         apply to the Makefile.am being generated.
37374         (func_emit_tests_Makefile_am): Execute edits that apply to the
37375         Makefile.am being generated.
37376         (func_import): Setup list of Makefile.am edits before emitting the
37377         Makefile.ams, not at the end.
37378         (func_create_testdir): Update.
37379         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37380
37381 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37382
37383         * gnulib-tool (func_import): Store the --tests-base option in the
37384         comment in gnulib-cache.m4.
37385
37386 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
37387
37388         * NEWS: Document increased portability that sys_select now provides.
37389
37390         * lib/sys_select.in.h: Install select wrapper.
37391         * lib/sys_socket.in.h: Use more descriptive name when there is no
37392         select wrapper.
37393         * lib/winsock-select.c: New.
37394         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
37395         Require gl_HEADER_SYS_SOCKET.
37396         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
37397         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
37398         * tests/test-sys_select.c: Add functional tests.
37399
37400 2008-09-24  Eric Blake  <ebb9@byu.net>
37401
37402         open, fopen: close fd leak in last patch
37403         * lib/open.c (rpl_open): Close fd before returning error.
37404         * lib/fopen.c (rpl_fopen): Close fd before returning error.
37405         * doc/posix-functions/open.texi (open): Document that Irix also
37406         has the bug.
37407         * doc/posix-functions/fopen.texi (fopen): Likewise.
37408         Reported by Paolo Bonzini.
37409
37410 2008-09-24  Bruno Haible  <bruno@clisp.org>
37411
37412         Ensure that a filename ending in a slash cannot be used to access a
37413         non-directory.
37414         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
37415         to check whether it's really a directory.
37416         * lib/fopen.c: Include fcntl.h, unistd.h.
37417         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
37418         and fdopen().
37419         * modules/fopen (Depends-on): Add unistd.
37420         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
37421         * tests/test-fopen.c (main): Likewise.
37422         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
37423         * doc/posix-functions/fopen.texi: Likewise.
37424         Reported by Eric Blake.
37425
37426 2008-09-23  Eric Blake  <ebb9@byu.net>
37427
37428         c-stack: avoid compiler optimizations when provoking overflow
37429         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
37430         recursion harder to optimize, to ensure a stack overflow occurs.
37431         * tests/test-c-stack.c (recurse): Likewise.
37432         Borrowed from libsigsegv.
37433
37434         c-stack: work around Irix sigaltstack bug
37435         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
37436         whether sigaltstack uses wrong end of stack_t (copied in part from
37437         libsigsegv).
37438         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
37439         Irix bug, without requiring an over-allocation.
37440         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
37441         bug.
37442
37443         fopen: document mingw bug on directories
37444         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
37445         not allowing a stream visiting a directory, even though reading
37446         from such a stream is not portable.
37447
37448 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37449
37450         * lib/poll.c: Rewrite.
37451         * modules/poll: Depend on alloca.
37452
37453 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37454
37455         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
37456         instead define prototypes for a full set of wrappers.  Ensure
37457         that Cygwin does not use the compatibility code, which is only
37458         for MinGW.
37459         * lib/winsock.c: New.
37460         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
37461         * modules/sys_socket: Add lib/winsock.c.
37462
37463         * modules/poll-tests: Add errno and perror.
37464         * tests/test-poll.c: Use ioctl, not ioctlsocket.
37465
37466 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37467
37468         * tests/test-poll.c: Downgrade minimum needed Winsock version.
37469
37470 2008-09-23  Bruno Haible  <bruno@clisp.org>
37471
37472         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
37473         * doc/glibc-functions/*: Likewise.
37474
37475 2008-09-23  Simon Josefsson  <simon@josefsson.org>
37476
37477         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
37478         success.
37479
37480 2008-09-22  Eric Blake  <ebb9@byu.net>
37481             Bruno Haible  <bruno@clisp.org>
37482
37483         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
37484         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
37485         supply %A but mishandle pseudo-NaN.
37486         Reported by Simon Josefsson.
37487
37488 2008-09-21  Bruno Haible  <bruno@clisp.org>
37489
37490         * tests/test-lock.c (main): Tweak skip message.
37491         * tests/test-tls.c (main): Likewise.
37492
37493 2008-09-21  Bruno Haible  <bruno@clisp.org>
37494
37495         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
37496         whether 'struct sigaction' has sa_sigaction here...
37497         (gl_PREREQ_SIG_HANDLER_H): ... not here.
37498         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
37499
37500 2008-09-21  Bruno Haible  <bruno@clisp.org>
37501
37502         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
37503         section.
37504         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
37505         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
37506         the new section.
37507         (Support for obsolete systems lacking POSIX:2001): New section.
37508         (String handling <string.h>): Move strdup to the new section.
37509         Suggested by Simon Josefsson and Paolo Bonzini.
37510
37511 2008-09-21  Bruno Haible  <bruno@clisp.org>
37512
37513         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
37514         exponents in %e and %g results on 'long double'. Needed for mingw's
37515         improved *printf functions.
37516         * tests/test-vasprintf-posix.c (test_function): Likewise.
37517         * tests/test-snprintf-posix.h (test_function): Likewise.
37518         * tests/test-sprintf-posix.h (test_function): Likewise.
37519         Reported by Eric Blake.
37520
37521 2008-09-21  Bruno Haible  <bruno@clisp.org>
37522
37523         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
37524         * tests/test-sprintf-posix.h (test_function): Likewise.
37525
37526 2008-09-21  Bruno Haible  <bruno@clisp.org>
37527
37528         * modules/getpass (Depends-on): Add strdup-posix.
37529
37530         New module 'strdup-posix'.
37531         * modules/strdup-posix: New file.
37532         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
37533         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
37534         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37535         REPLACE_STRDUP.
37536         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
37537         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
37538         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37539         strdup-posix.
37540
37541         * modules/strdup (Depends-on): Remove malloc-posix.
37542
37543 2008-09-20  Bruno Haible  <bruno@clisp.org>
37544
37545         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
37546         Wildenhues.
37547
37548 2008-09-20  Bruno Haible  <bruno@clisp.org>
37549
37550         Ensure that wint_t gets defined on IRIX 5.3.
37551         * lib/wchar.in.h (wint_t): Define if not defined by the system.
37552         * lib/wctype.in.h (wint_t): Likewise.
37553         (__wctype_wint_t): Remove type.
37554         (isw*): Use wint_t instead of __wctype_wint_t.
37555         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
37556         * modules/wchar (Files): Add m4/wint_t.m4.
37557         (Makefile.am): Substitute HAVE_WINT_T.
37558         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
37559         * tests/test-wctype.c: Check that wint_t is defined.
37560         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
37561         * doc/posix-headers/wctype.texi: Likewise.
37562         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37563
37564 2008-09-18  Bruno Haible  <bruno@clisp.org>
37565
37566         * gnulib-tool (func_exit): Update comment.
37567
37568 2008-09-18  Simon Josefsson  <simon@josefsson.org>
37569
37570         * modules/getaddrinfo (Depends-on): Remove strdup, this module
37571         assumes strdup exists and does not depend on strdup to return
37572         ENOMEM on out of memory conditions.
37573
37574 2008-09-18  Bruno Haible  <bruno@clisp.org>
37575
37576         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
37577         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
37578         digits for the exponent.
37579
37580 2008-09-18  Jim Meyering  <meyering@redhat.com>
37581             Bruno Haible  <bruno@clisp.org>
37582
37583         * lib/vasnprintf.c (decimal_point_char): Define also if
37584         NEED_PRINTF_INFINITE_LONG_DOUBLE.
37585
37586 2008-09-16  Bruno Haible  <bruno@clisp.org>
37587         and Eric Blake  <ebb9@byu.net>
37588
37589         vasnprintf: support Irix 5.3
37590         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
37591         that mishandle long double infinity.
37592         Reported by Tom G. Christensen.
37593
37594 2008-09-16  Bruno Haible  <bruno@clisp.org>
37595
37596         * doc/glibc-functions/scandir.texi: Mention the function is missing on
37597         Solaris 9.
37598         * doc/glibc-functions/alphasort.texi: Likewise.
37599         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
37600
37601 2008-09-16  Jim Meyering  <meyering@redhat.com>
37602
37603         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
37604         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
37605         a umask modification leak out of a subshell.  Otherwise, the
37606         opensolaris /bin/sh would be accepted and thus cause unwarranted
37607         failures in the coreutils test suite.
37608
37609 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
37610
37611         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
37612         to succeed.
37613
37614 2008-09-16  Jim Meyering  <meyering@redhat.com>
37615
37616         avoid spurious test failure when library is built without ACL support
37617         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
37618         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
37619         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
37620         * tests/test-copy-acl.sh: Likewise.
37621
37622 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37623
37624         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
37625         based on character occurrence counts.
37626
37627 2008-09-15  Eric Blake  <ebb9@byu.net>
37628
37629         tests: avoid some compiler warnings
37630         * tests/test-memchr.c (main): Pass NULL indirectly.
37631         * tests/test-closein.c (main): Avoid unused variable.
37632
37633 2008-09-15  Bruno Haible  <bruno@clisp.org>
37634
37635         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
37636         are missing on OpenBSD 4.0 individually.
37637         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37638
37639 2008-09-15  Bruno Haible  <bruno@clisp.org>
37640
37641         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
37642         * doc/posix-functions/strerror.texi: Mention also Cygwin.
37643         * doc/posix-functions/perror.texi: Likewise.
37644         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
37645         is missing.
37646         Reported by Eric Blake.
37647
37648         * lib/errno.in.h: Use replacement values >= 2000.
37649         Reported by Eric Blake.
37650
37651 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37652
37653         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
37654         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
37655         limit.
37656         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
37657         compareseq was aborted.
37658
37659 2008-09-14  Bruno Haible  <bruno@clisp.org>
37660
37661         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
37662         yvec_edit_count.
37663         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
37664         (fstrcmp_bounded): Simplify result computation accordingly.
37665
37666 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37667
37668         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
37669         (fstrcmp): Define in terms of fstrcmp_bounded.
37670         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
37671         lower_bound argument.
37672         Return quickly if the result is certainly < lower_bound.
37673         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
37674
37675 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37676
37677         * lib/diffseq.h (EARLY_ABORT): New macro.
37678         (compareseq): Change return type to bool. Return true when EARLY_ABORT
37679         evaluates to true.
37680
37681 2008-09-14  Bruno Haible  <bruno@clisp.org>
37682
37683         * modules/perror-tests: New file.
37684         * tests/test-perror.sh: New file.
37685         * tests/test-perror.c: New file.
37686
37687         New module 'perror'.
37688         * lib/stdio.in.h (perror): New declaration.
37689         * lib/perror.c: New file.
37690         * m4/perror.m4: New file.
37691         * modules/perror: New file.
37692         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
37693         * doc/posix-functions/perror.texi: Mention the perror module.
37694         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
37695         REPLACE_PERROR.
37696         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
37697         REPLACE_PERROR.
37698
37699 2008-09-14  Bruno Haible  <bruno@clisp.org>
37700
37701         * modules/stdio (Makefile.am): Reorder to match the order in
37702         lib/stdio.in.h.
37703         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37704
37705 2008-09-13  Bruno Haible  <bruno@clisp.org>
37706
37707         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
37708
37709 2008-09-13  Bruno Haible  <bruno@clisp.org>
37710
37711         Extend strerror to cover the added errno values.
37712         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
37713         (rpl_strerror): Provide error messages for the added errno values and
37714         for the WSA* values.
37715         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
37716         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
37717         strerror.
37718         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
37719         * modules/strerror (Depends-on): Add errno.
37720         * doc/posix-functions/strerror.texi: Document the change.
37721         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
37722         and EOVERFLOW.
37723
37724 2008-09-13  Bruno Haible  <bruno@clisp.org>
37725
37726         * modules/EOVERFLOW: Remove file.
37727         * m4/eoverflow.m4: Remove file.
37728         * modules/EOVERFLOW-tests: Remove file.
37729         * tests/test-EOVERFLOW.c: Remove file.
37730         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
37731         * modules/ftell (Depends-on): Likewise.
37732         * modules/getdelim (Depends-on): Likewise.
37733         * modules/getugroups (Depends-on): Likewise.
37734         * modules/poll (Depends-on): Likewise.
37735         * modules/snprintf (Depends-on): Likewise.
37736         * modules/sprintf-posix (Depends-on): Likewise.
37737         * modules/vasnprintf (Depends-on): Likewise.
37738         * modules/vasprintf (Depends-on): Likewise.
37739         * modules/vfprintf-posix (Depends-on): Likewise.
37740         * modules/vsnprintf (Depends-on): Likewise.
37741         * modules/vsprintf-posix (Depends-on): Likewise.
37742         * modules/xvasprintf (Depends-on): Likewise.
37743         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37744         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
37745         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
37746         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
37747         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37748         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
37749         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
37750         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
37751         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37752         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
37753         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
37754         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
37755         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37756         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
37757         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
37758         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
37759         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37760         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
37761         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
37762         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
37763         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37764         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
37765         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
37766         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
37767         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
37768         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37769         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
37770         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
37771         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
37772         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
37773         * MODULES.html.sh: Remove EOVERFLOW.
37774         * NEWS: Mention the change.
37775
37776 2008-09-13  Bruno Haible  <bruno@clisp.org>
37777
37778         * modules/errno-tests: New file.
37779         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
37780
37781         * lib/errno.in.h: New file.
37782         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
37783         * modules/errno: New file.
37784         * doc/posix-headers/errno.texi: Update documentation.
37785         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
37786
37787 2008-09-13  Bruno Haible  <bruno@clisp.org>
37788
37789         * tests/test-poll.c: Use #if for native Windows, rather than testing
37790         __MSVCRT__.
37791
37792 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37793             Bruno Haible  <bruno@clisp.org>
37794
37795         * lib/glob.c: Don't include <pwd.h> on native Windows.
37796         (WINDOWS32): New macro.
37797         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
37798
37799 2008-09-13  Bruno Haible  <bruno@clisp.org>
37800
37801         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
37802         (ETIMEDOUT): Remove macro.
37803         (glthread_cond_timedwait_multithreaded): New declaration.
37804         (glthread_cond_timedwait): Use it.
37805         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
37806         (glthread_cond_timedwait_multithreaded): New function.
37807
37808 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37809
37810         * modules/poll-tests: Do not check for io.h.
37811         * tests/test-poll.c: Check for __MSVCRT__ instead.
37812
37813 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37814
37815         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
37816         * modules/poll-tests: Add inet_pton, stdbool, sockets.
37817         * tests/test-poll.c: Use them.  Use _pipe on Windows.
37818
37819 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37820
37821         * modules/poll-tests: New.
37822         * tests/test-poll.c: New.
37823
37824 2008-09-12  Eric Blake  <ebb9@byu.net>
37825
37826         frexp: test for NetBSD failure on -0.0
37827         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
37828         not all, bugs from NetBSD 3.0 have been fixed.
37829         * doc/posix-functions/frexp.texi (frexp): Document bug.
37830         Reported by Thomas Klausner.
37831
37832         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
37833         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
37834         literal -0.0.
37835         Reported by Jonathan C. Patschke <jp@centtech.com>.
37836
37837 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37838
37839         * lib/glthread/cond.h: Use dummy implementation also if
37840         USE_WIN32_THREADS.
37841
37842 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37843
37844         * modules/fnmatch-posix (License): Change to LGPLv2+.
37845         * modules/fnmatch-gnu (License): Likewise.
37846
37847 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37848
37849         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
37850
37851 2008-09-11  Jim Meyering  <meyering@redhat.com>
37852
37853         * users.txt: Add gtk-vnc.
37854
37855 2008-09-08  Simon Josefsson  <simon@josefsson.org>
37856
37857         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
37858         rotate amounts.
37859
37860         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
37861         required for 16-bit and 8-bit rotates.
37862         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
37863         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
37864         UINT8_MAX instead of hard-coded constants.
37865         Suggested by Paul Eggert.
37866
37867 2008-09-07  Bruno Haible  <bruno@clisp.org>
37868
37869         * tests/test-striconveh.c (main): Check behaviour when converting from
37870         UTF-7.
37871
37872         Make striconveh work better with stateful encodings.
37873         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
37874         that iconv does not increment the inptr when returning -1/EINVAL.
37875
37876 2008-09-07  Bruno Haible  <bruno@clisp.org>
37877
37878         * build-aux/config.rpath: Update according to libtool-2.2.6.
37879         * build-aux/config.libpath: Likewise.
37880
37881 2008-09-06  Bruno Haible  <bruno@clisp.org>
37882
37883         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
37884         * lib/freadptr.c (freadptr): Likewise.
37885         * lib/freadseek.c (freadptrinc): Likewise.
37886         Reported by Simon Josefsson.
37887
37888 2008-09-06  Bruno Haible  <bruno@clisp.org>
37889
37890         * modules/freadptr (License): Change to LGPLv2+.
37891         * modules/freadseek (License): Likewise.
37892         Suggested by Eric Blake.
37893
37894         * modules/memchr2 (License): Change to LGPLv2+.
37895         Approved by Eric Blake.
37896
37897 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37898             Bruno Haible  <bruno@clisp.org>
37899
37900         Make gnulib-tool work with native 'sed' on AIX.
37901         * gnulib-tool (sed_noop): New variable.
37902         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
37903         func_add_or_update, func_create_testdir): Use it to initialize sed
37904         script variables.
37905         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37906
37907 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
37908             Bruno Haible  <bruno@clisp.org>
37909
37910         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
37911         also works after #include directives.
37912
37913 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
37914
37915         getdate.y: reject an out-of-range timezone value
37916         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
37917         the range [-24...+24].  When specified with only one or two digits,
37918         * tests/test-getdate.c: Tests for the fix.
37919         * doc/getdate.texi: Document this change.
37920
37921 2008-09-03  Bruno Haible  <bruno@clisp.org>
37922
37923         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
37924
37925 2008-09-02  Simon Josefsson  <simon@josefsson.org>
37926
37927         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
37928         <bruce.korb@gmail.com> with ideas from Ben Pfaff
37929         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
37930         Blake <ebb9@byu.net>.
37931
37932         * tests/test-bitrotate.c: Add more test vectors.
37933
37934 2008-09-02  Eric Blake  <ebb9@byu.net>
37935
37936         vasnprintf-posix: handle large precision via %.*d
37937         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
37938         when handling it ourselves.
37939         * tests/test-vasnprintf-posix.c (test_function): Add test.
37940         * tests/test-snprintf-posix.h (test_function): Likewise.
37941         * tests/test-sprintf-posix.h (test_function): Likewise.
37942         * tests/test-vasprintf-posix.c (test_function): Likewise.
37943         Reported by Alain Guibert.
37944
37945 2008-09-01  Eric Blake  <ebb9@byu.net>
37946
37947         c-stack: make configure-time check more robust
37948         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
37949         successful sigaction call.
37950         Reported by Tom G. Christensen.
37951
37952 2008-09-01  Bruno Haible  <bruno@clisp.org>
37953
37954         New module 'findprog-lgpl'.
37955         * modules/findprog-lgpl: New file.
37956         * lib/findprog-lgpl.c: New file.
37957         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
37958         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
37959         to decide whether to use strdup or xstrdup, concatenated_filename or
37960         xconcatenated_filename.
37961
37962 2008-09-01  Bruno Haible  <bruno@clisp.org>
37963
37964         Split module 'concat-filename' into 'concat-filename' (LGPL) and
37965         'xconcat-filename' (GPL).
37966         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
37967         (License): Change to LGPLv2+.
37968         * modules/xconcat-filename: New file.
37969         * lib/concat-filename.h (concatenated_filename): Change specification.
37970         (xconcatenated_filename): New declaration.
37971         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
37972         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
37973         memory situations.
37974         * lib/xconcat-filename.c: New file.
37975         * NEWS: Mention the change.
37976         * lib/findprog.c: Include concat-filename.h, not filename.h.
37977         (find_in_path): Use xconcatenated_filename instead of
37978         concatenated_filename.
37979         * lib/javacomp.c: Include concat-filename.h, not filename.h.
37980         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
37981         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
37982         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
37983         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
37984         instead of concatenated_filename.
37985         * lib/javaexec.c: Include concat-filename.h, not filename.h.
37986         (execute_java_class): Use xconcatenated_filename instead of
37987         concatenated_filename.
37988         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
37989         * modules/javacomp (Depends-on): Likewise.
37990         * modules/javaexec (Depends-on): Likewise.
37991
37992 2008-09-01  Bruno Haible  <bruno@clisp.org>
37993
37994         Split module 'filename' into 'filename' and 'concat-filename'.
37995         * modules/filename: Keep only lib/filename.h.
37996         (License): Change to LGPLv2+.
37997         * modules/concat-filename: New file, extracted from modules/filename.
37998         * lib/filename.h (concatenated_filename): Remove declaration.
37999         * lib/concat-filename.h: New file, extracted from lib/filename.h.
38000         * lib/concat-filename.c: Include concat-filename.h.
38001         * NEWS: Mention the change.
38002
38003 2008-09-01  Simon Josefsson  <simon@josefsson.org>
38004
38005         * lib/bitrotate.h (rotl8, rotr8): Add.
38006
38007         * modules/bitrotate (configure.ac): Need
38008         AC_REQUIRE([AC_C_INLINE]).
38009         (Description): Mention stdint.h.  Reported by Bruno Haible
38010         <bruno@clisp.org>.
38011
38012         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
38013         Paolo Bonzini <bonzini@gnu.org>.
38014
38015 2008-08-31  Bruno Haible  <bruno@clisp.org>
38016
38017         Assume Solaris specific bi-arch conventions on Solaris systems.
38018         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
38019         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
38020         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
38021         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
38022         like acl_libdirstem.
38023         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
38024         acl_libdirstem.
38025         * NEWS: Mention the change.
38026         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
38027
38028 2008-08-31  Jim Meyering  <meyering@redhat.com>
38029
38030         * lib/strftime.h: Add comments describing the two added arguments.
38031
38032         remove duplicate #include directives
38033         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
38034         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
38035
38036 2008-08-31  Bruno Haible  <bruno@clisp.org>
38037
38038         New module 'sigpipe-die'.
38039         * modules/sigpipe-die: New file.
38040         * lib/sigpipe-die.h: New file.
38041         * lib/sigpipe-die.c: New file.
38042         * MODULES.html.sh (Signal handling): Add sigpipe-die.
38043
38044 2008-08-31  Bruno Haible  <bruno@clisp.org>
38045
38046         Don't override previously installed signal handlers.
38047         * lib/fatal-signal.c (saved_sigactions): New variable.
38048         (uninstall_handlers): Reset the signal to the saved handler, not
38049         to SIG_DFL (except when ignored).
38050         (install_handlers): Save the previous handlers.
38051
38052 2008-08-30  Bruno Haible  <bruno@clisp.org>
38053
38054         * gnulib-tool (func_reset_sigpipe): New function.
38055         (func_get_automake_snippet, func_modules_transitive_closure,
38056         func_import): Invoke it before a join command that reads from stdin,
38057         to avoid "echo: write error: Broken pipe" error messages on stderr.
38058         Reported by Sam Steingold <sds@gnu.org>.
38059
38060 2008-08-30  Bruno Haible  <bruno@clisp.org>
38061
38062         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
38063         Code copied from m4/open.m4.
38064         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
38065         access and the filename ends in a slash. Code copied from lib/open.c.
38066         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
38067         * tests/test-fopen.c (main): Check against bug with trailing slash.
38068
38069 2008-08-29  Bruno Haible  <bruno@clisp.org>
38070
38071         Avoid some "gcc -pedantic" warnings.
38072         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
38073         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
38074         * lib/dirent.in.h: Likewise.
38075         * lib/fcntl.in.h: Likewise.
38076         * lib/float.in.h: Likewise.
38077         * lib/iconv.in.h: Likewise.
38078         * lib/inttypes.in.h: Likewise.
38079         * lib/locale.in.h: Likewise.
38080         * lib/math.in.h: Likewise.
38081         * lib/netinet_in.in.h: Likewise.
38082         * lib/search.in.h: Likewise.
38083         * lib/signal.in.h: Likewise.
38084         * lib/stdarg.in.h: Likewise.
38085         * lib/stdint.in.h: Likewise.
38086         * lib/stdio.in.h: Likewise.
38087         * lib/stdlib.in.h: Likewise.
38088         * lib/string.in.h: Likewise.
38089         * lib/strings.in.h: Likewise.
38090         * lib/sys_select.in.h: Likewise.
38091         * lib/sys_socket.in.h: Likewise.
38092         * lib/sys_stat.in.h: Likewise.
38093         * lib/sys_time.in.h: Likewise.
38094         * lib/sysexits.in.h: Likewise.
38095         * lib/time.in.h: Likewise.
38096         * lib/unistd.in.h: Likewise.
38097         * lib/wchar.in.h: Likewise.
38098         * lib/wctype.in.h: Likewise.
38099         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
38100         * modules/fchdir (Makefile.am): Likewise.
38101         * modules/fcntl (Makefile.am): Likewise.
38102         * modules/float (Makefile.am): Likewise.
38103         * modules/iconv_open (Makefile.am): Likewise.
38104         * modules/inttypes (Makefile.am): Likewise.
38105         * modules/locale (Makefile.am): Likewise.
38106         * modules/math (Makefile.am): Likewise.
38107         * modules/netinet_in (Makefile.am): Likewise.
38108         * modules/search (Makefile.am): Likewise.
38109         * modules/signal (Makefile.am): Likewise.
38110         * modules/stdarg (Makefile.am): Likewise.
38111         * modules/stdint (Makefile.am): Likewise.
38112         * modules/stdio (Makefile.am): Likewise.
38113         * modules/stdlib (Makefile.am): Likewise.
38114         * modules/string (Makefile.am): Likewise.
38115         * modules/strings (Makefile.am): Likewise.
38116         * modules/sys_select (Makefile.am): Likewise.
38117         * modules/sys_socket (Makefile.am): Likewise.
38118         * modules/sys_stat (Makefile.am): Likewise.
38119         * modules/sys_time (Makefile.am): Likewise.
38120         * modules/sysexits (Makefile.am): Likewise.
38121         * modules/time (Makefile.am): Likewise.
38122         * modules/unistd (Makefile.am): Likewise.
38123         * modules/wchar (Makefile.am): Likewise.
38124         * modules/wctype (Makefile.am): Likewise.
38125         Reported by Reuben Thomas <rrt@sc3d.org>.
38126
38127 2008-08-29  Bruno Haible  <bruno@clisp.org>
38128
38129         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
38130         any more.
38131
38132 2008-08-29  Simon Josefsson  <simon@josefsson.org>
38133
38134         * MODULES.html.sh (Misc): Add bitrotate.
38135
38136         * modules/bitrotate: New file.
38137
38138         * lib/bitrotate.h: New file.
38139
38140         * modules/bitrotate-tests: New file.
38141
38142         * tests/test-bitrotate.c: New file.
38143
38144         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
38145         on the bitrotate module.
38146
38147         * lib/arctwo.c: Use new bitrotate module.
38148
38149 2008-08-29  Jim Meyering  <meyering@redhat.com>
38150
38151         bootstrap: merge changes from coreutils
38152         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
38153         of copied files.  Remove a kludge, now that this is fixed.
38154         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
38155         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
38156         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
38157
38158 2008-08-29  Bruno Haible  <bruno@clisp.org>
38159
38160         * MODULES.html.sh: Remove --cvs-urls option.
38161
38162 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
38163
38164         maint.mk: adjust to file name change
38165         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
38166
38167 2008-08-28  Jim Meyering  <meyering@redhat.com>
38168
38169         * modules/getndelim2 (License): Relicense to LGPLv2+.
38170         Approved by Richard Stallman for the version of 1995, and by
38171         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
38172
38173 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
38174
38175         * lib/getdelim.c (flockfile, funlockfile): Make all of them
38176         dummy if one is not available.  Do not touch them if
38177         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
38178         (getc_maybe_unlocked): New.
38179         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
38180
38181 2008-08-26  Eric Blake  <ebb9@byu.net>
38182
38183         doc/INSTALL: resync from autoconf
38184         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
38185         (INSTALL_PRELUDE): Delete; this is done more efficiently by
38186         moving...
38187         * install.texi [!autoconf]: ...here.  Resync from autoconf.
38188         * INSTALL: Regenerate.
38189         * INSTALL.ISO: New file.
38190         * INSTALL.UTF-8: Likewise.
38191
38192 2008-08-26  Jim Meyering  <meyering@redhat.com>
38193
38194         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
38195         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
38196         these definitions conditional, so that they may be overridden, too.
38197
38198 2008-08-26  Bruno Haible  <bruno@clisp.org>
38199
38200         Generate INSTALL file variants with prettier quotes.
38201         * doc/Makefile (INSTALL_PRELUDE): New macro.
38202         (INSTALL): Use it.
38203         (INSTALL.ISO, INSTALL.UTF-8): New rules.
38204
38205 2008-08-26  Bruno Haible  <bruno@clisp.org>
38206
38207         Run makeinfo in an English locale.
38208         * doc/Makefile (MAKEINFO): New variable.
38209
38210 2008-08-26  Bruno Haible  <bruno@clisp.org>
38211
38212         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
38213         Suggested by Eric Blake.
38214
38215 2008-08-25  Bruno Haible  <bruno@clisp.org>
38216
38217         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
38218
38219 2008-08-25  Eric Blake  <ebb9@byu.net>
38220
38221         c-stack: test that stack overflow can be caught
38222         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
38223         that platform allows handling stack overflow; at least OS/2 EMX
38224         has sigaltstack, but crashes before transferring control to
38225         handler on stack overflow.
38226         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
38227         check for HAVE_STACK_OVERFLOW_HANDLING.
38228         Reported by Elbert Pol.
38229
38230 2008-08-25  Bruno Haible  <bruno@clisp.org>
38231
38232         * doc/posix-functions/strftime.texi: Fix description of strftime
38233         module.
38234
38235 2008-08-24  Bruno Haible  <bruno@clisp.org>
38236
38237         * tests/uniwidth/test-uc_width2.c: New file.
38238         * tests/uniwidth/test-uc_width2.sh: New file.
38239         * modules/uniwidth/width-tests (Files): Add the new files.
38240         (TESTS): Add uniwidth/test-uc_width2.sh.
38241         (TESTS_ENVIRONMENT): New variable.
38242         (check_PROGRAMS): Add test-uc_width2.
38243         (test_uc_width2_SOURCES): New variable.
38244
38245         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
38246         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
38247         not 0x00AB.
38248         Reported by Alexander V. Lukyanov <lav@netis.ru>.
38249
38250 2008-08-22  Eric Blake  <ebb9@byu.net>
38251
38252         test-lock, test-tls: mention why a test is skipped
38253         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
38254         skipped.
38255         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
38256
38257         count-one-bits: relax license
38258         * modules/count-one-bits (License): Relicense to LGPLv2+.
38259         Suggested by Ludovic Courtès, approved by Ben Pfaff.
38260
38261 2008-08-22  Andreas Schwab  <schwab@suse.de>
38262
38263         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
38264         Remove spurious space in assignment.
38265
38266 2008-08-21  Simon Josefsson  <simon@josefsson.org>
38267
38268         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
38269         Paul Eggert <eggert@CS.UCLA.EDU>.
38270
38271 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
38272
38273         * modules/gettext: Add m4/threadlib.m4.
38274
38275 2008-08-19  Eric Blake  <ebb9@byu.net>
38276
38277         test-c-stack: fix compilation failure on FreeBSD 5.0
38278         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
38279         headers before <sys/resource.h>.
38280         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
38281         the bug.
38282         Reported by Nelson H. F. Beebe.
38283
38284         strverscmp: migrate from "strverscmp.h" to <string.h>
38285         * modules/string (Makefile.am): Add new hooks.
38286         * modules/strverscmp (Files): Remove strverscmp.h.
38287         (Depends-on): Add string.
38288         (configure.ac): Add indicator.
38289         (Include): Mention new header.
38290         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
38291         defaults.
38292         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
38293         results.
38294         * lib/strverscmp.h: Delete.
38295         * lib/string.in.h (strverscmp): Provide declaration, when needed.
38296         * tests/test-strverscmp.c (includes): Adjust client.
38297         * lib/check-version.c (includes): Likewise.
38298         * NEWS: Document the change.
38299
38300         strverscmp: add unit test
38301         * modules/strverscmp-tests: New file.
38302         * tests/test-strverscmp.c: Likewise.
38303
38304 2008-08-19  Simon Josefsson  <simon@josefsson.org>
38305
38306         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
38307         regarding Windows crypto stuff, from Mono.
38308
38309 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
38310
38311         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
38312         if present, for intel RND.  Return error on failures.
38313
38314 2008-08-18  Ben Pfaff  <blp@gnu.org>
38315
38316         gitlog-to-changelog: give better diagnostic for failed pipe-open
38317         * build-aux/gitlog-to-changelog: Improve error message: suggest
38318         that the version of Git may be too old.
38319
38320 2008-08-18  Simon Josefsson  <simon@josefsson.org>
38321
38322         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
38323         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
38324
38325 2008-08-18  Bruno Haible  <bruno@clisp.org>
38326
38327         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
38328         pthread_in_use().
38329
38330 2008-08-18  Bruno Haible  <bruno@clisp.org>
38331
38332         * lib/glthread/threadlib.c: Include <pthread.h>.
38333
38334 2008-08-18  Bruno Haible  <bruno@clisp.org>
38335
38336         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
38337         glthread_recursive_lock_* macros.
38338         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
38339         Fix syntax error.
38340
38341 2008-08-18  Bruno Haible  <bruno@clisp.org>
38342
38343         * lib/glthread/thread.c: Avoid forcing a context switch right after
38344         thread creation.
38345
38346 2008-08-17  Bruno Haible  <bruno@clisp.org>
38347
38348         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
38349         * lib/glthread/thread.h: Provide Win32 specific implementation.
38350         * modules/thread (Files): Add lib/glthread/thread.c.
38351         (Depends-on): Add lock.
38352         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
38353
38354 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38355
38356         New module 'yield'.
38357         * modules/yield: New file.
38358         * lib/glthread/yield.h: New file.
38359         * m4/yield.m4: New file.
38360         * MODULES.html.sh (Multithreading): Add yield.
38361
38362 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38363
38364         New module 'thread'.
38365         * modules/thread: New file.
38366         * lib/glthread/thread.h: New file.
38367         * m4/thread.m4: New file.
38368         * MODULES.html.sh (Multithreading): Add thread.
38369
38370 2008-08-17  Bruno Haible  <bruno@clisp.org>
38371
38372         * lib/glthread/lock.h: Include <stdlib.h> always.
38373         * lib/glthread/tls.h: Likewise.
38374         * lib/glthread/cond.h: Likewise.
38375
38376 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38377
38378         New module 'cond'.
38379         * modules/cond: New file.
38380         * lib/glthread/cond.h: New file.
38381         * lib/glthread/cond.c: New file.
38382         * m4/cond.m4: New file.
38383         * MODULES.html.sh (Multithreading): Add cond.
38384
38385 2008-08-16  Eric Blake  <ebb9@byu.net>
38386
38387         c-stack: fix regression on Irix 5.3 from 2008-06-21
38388         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
38389         sa_sigaction...
38390         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
38391         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
38392         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
38393         * modules/signal (Makefile.am): Use the value.
38394         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
38395         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
38396         * doc/posix-headers/signal.texi (signal.h): Document this
38397         portability issue.
38398         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
38399         Reported by Tom G. Christensen.
38400
38401 2008-08-17  Bruno Haible  <bruno@clisp.org>
38402
38403         New module 'threadlib'.
38404         * modules/threadlib: New file.
38405         * lib/glthread/threadlib.c: New file, extracted from
38406         lib/glthread/lock.c.
38407         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
38408         functions.
38409         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
38410         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
38411         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
38412         macros.
38413         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
38414         (gl_DISABLE_THREADS): Remove macro.
38415         * modules/lock (Files): Remove build-aux/config.rpath.
38416         (Depends-on): Remove havelib. Add threadlib.
38417         (configure.ac-early): Remove section.
38418         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
38419         * modules/tls (Depends-on): Remove lock. Add threadlib.
38420         (Link): New section, copied from threadlib.
38421         * MODULES.html.sh (Multithreading): Add threadlib.
38422
38423 2008-08-14  Bruno Haible  <bruno@clisp.org>
38424
38425         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
38426         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
38427         glthread_rwlock_unlock, glthread_rwlock_destroy,
38428         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
38429         glthread_recursive_lock_destroy): Define as macros always.
38430         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
38431         glthread_lock_lock.
38432         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
38433         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
38434         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
38435         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
38436         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
38437         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
38438         (glthread_recursive_lock_lock_func): Renamed from
38439         glthread_recursive_lock_lock.
38440         (glthread_recursive_lock_unlock_func): Renamed from
38441         glthread_recursive_lock_unlock.
38442         (glthread_recursive_lock_destroy_func): Renamed from
38443         glthread_recursive_lock_destroy.
38444
38445 2008-08-14  Bruno Haible  <bruno@clisp.org>
38446
38447         * lib/glthread/lock.h: Renamed from lib/lock.h.
38448         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
38449         * lib/glthread/tls.h: Renamed from lib/tls.h.
38450         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
38451         * lib/fstrcmp.c: Update includes.
38452         * lib/strsignal.c: Update includes.
38453         * modules/lock (Files, Makefile.am): Update.
38454         (Include): Change to "glthread/lock.h".
38455         * modules/tls (Files, Makefile.am): Update.
38456         (Include): Change to "glthread/tls.h".
38457         * tests/test-lock.c: Update includes.
38458         * tests/test-tls.c: Update includes.
38459         * NEWS: Mention the renamed header files.
38460
38461 2008-08-11  Jim Meyering  <meyering@redhat.com>
38462
38463         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
38464
38465 2008-08-11  Eric Blake  <ebb9@byu.net>
38466
38467         test-c-stack: avoid C99-ism
38468         * tests/test-c-stack.c (main): Fix whitespace, move declaration
38469         before statement.
38470         Reported by Alain Guibert.
38471
38472 2008-08-10  Jim Meyering  <meyering@redhat.com>
38473
38474         ensure that return value of uinttostr et al are not ignored
38475         * lib/inttostr.h (__GNUC_PREREQ): Define.
38476         (__attribute_warn_unused_result__): Define.
38477         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
38478
38479 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
38480
38481         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
38482         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
38483
38484 2008-08-07  Jim Meyering  <meyering@redhat.com>
38485
38486         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
38487
38488         * modules/mkstemp (License): Relicense under LGPLv2+.
38489         * modules/tempname (License): Likewise.
38490
38491 2008-08-06  Bruno Haible  <bruno@clisp.org>
38492
38493         * lib/poll.c (poll): Further micro-optimization.
38494
38495 2008-08-06  Jim Meyering  <meyering@redhat.com>
38496
38497         inet_pton.c: use locale-independent tolower
38498         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
38499         (inet_pton6): Use c_tolower rather than tolower.
38500         * modules/inet_pton (Depends-on): Add c-ctype.
38501
38502 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
38503
38504         * lib/poll.c (poll): Avoid division when timeout is 0, cache
38505         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
38506
38507 2008-08-06  Jim Meyering  <meyering@redhat.com>
38508
38509         * modules/inet_pton (License): Relicense under LGPLv2+.
38510
38511 2008-08-03  Bruno Haible  <bruno@clisp.org>
38512
38513         Additional non-aborting API for lock and tls.
38514         * lib/lock.h: Include <errno.h>.
38515         (glthread_lock_init): New macro/function.
38516         (gl_lock_init): Define as wrapper around glthread_lock_init.
38517         (glthread_lock_lock): New macro/function.
38518         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
38519         (glthread_lock_unlock): New macro/function.
38520         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
38521         (glthread_lock_destroy): New macro/function.
38522         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
38523         (glthread_rwlock_init): New macro/function.
38524         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
38525         (glthread_rwlock_rdlock): New macro/function.
38526         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
38527         (glthread_rwlock_wrlock): New macro/function.
38528         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
38529         (glthread_rwlock_unlock): New macro/function.
38530         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
38531         (glthread_rwlock_destroy): New macro/function.
38532         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
38533         (glthread_recursive_lock_init): New macro/function.
38534         (gl_recursive_lock_init): Define as wrapper around
38535         glthread_recursive_lock_init.
38536         (glthread_recursive_lock_lock): New macro/function.
38537         (gl_recursive_lock_lock): Define as wrapper around
38538         glthread_recursive_lock_lock.
38539         (glthread_recursive_lock_unlock): New macro/function.
38540         (gl_recursive_lock_unlock): Define as wrapper around
38541         glthread_recursive_lock_unlock.
38542         (glthread_recursive_lock_destroy): New macro/function.
38543         (gl_recursive_lock_destroy): Define as wrapper around
38544         glthread_recursive_lock_destroy.
38545         (glthread_once): New macro/function.
38546         (gl_once): Define as wrapper around glthread_once.
38547         Update function declarations.
38548         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
38549         glthread_rwlock_init. Return error code.
38550         (glthread_rwlock_rdlock_multithreaded): Renamed from
38551         glthread_rwlock_rdlock. Return error code.
38552         (glthread_rwlock_wrlock_multithreaded): Renamed from
38553         glthread_rwlock_wrlock. Return error code.
38554         (glthread_rwlock_unlock_multithreaded): Renamed from
38555         glthread_rwlock_unlock. Return error code.
38556         (glthread_rwlock_destroy_multithreaded): Renamed from
38557         glthread_rwlock_destroy. Return error code.
38558         (glthread_recursive_lock_init_multithreaded): Renamed from
38559         glthread_recursive_lock_init. Return error code.
38560         (glthread_recursive_lock_lock_multithreaded): Renamed from
38561         glthread_recursive_lock_lock. Return error code.
38562         (glthread_recursive_lock_unlock_multithreaded): Renamed from
38563         glthread_recursive_lock_unlock. Return error code.
38564         (glthread_recursive_lock_destroy_multithreaded): Renamed from
38565         glthread_recursive_lock_destroy. Return error code.
38566         (glthread_once_call): Make static.
38567         (glthread_once_multithreaded): Renamed from glthread_once.
38568         * lib/tls.h: Include <errno.h>.
38569         (glthread_tls_key_init): New macro/function.
38570         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
38571         (glthread_tls_set): New macro/function.
38572         (gl_tls_set): Define as wrapper around glthread_tls_set.
38573         (glthread_tls_key_destroy): New macro/function.
38574         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
38575         Update function declarations.
38576         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
38577         glthread_tls_get.
38578         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38579
38580 2008-08-04  Eric Blake  <ebb9@byu.net>
38581
38582         gnumakefile: use space, not TAB, outside of targets
38583         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
38584
38585 2008-08-02  Jim Meyering  <meyering@redhat.com>
38586
38587         getdate.y: avoid locale-dependent date parsing failure
38588         In Turkish locales, getdate would fail to recognize keywords
38589         containing a lowercase "i".  The solution is not to rely on
38590         locale-sensitive case-conversion.
38591         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
38592         (lookup_word): Use c_toupper in place of toupper.
38593         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
38594         Reported by Vefa Bicakci <bicave@superonline.com> in
38595         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
38596         * modules/getdate (Depends-on): Add c-ctype.
38597
38598 2008-08-02  Bruno Haible  <bruno@clisp.org>
38599
38600         * gnulib-tool (func_import): When updating or creating a .gitignore
38601         file, prepend each added line with a slash, and ignore leading slashes
38602         from the existing lines.
38603         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
38604
38605 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38606
38607         Portability fix for GNU make 3.79.1.
38608         * top/GNUmakefile: Avoid 'else COND', which older GNU make
38609         versions do not understand.
38610
38611 2008-08-01  Bruno Haible  <bruno@clisp.org>
38612
38613         Work around bug of HP-UX 10.20 cc with -0.0 literal.
38614         * tests/test-isnanf.h (zero): New variable.
38615         (main): Avoid literal -0.0f.
38616         * tests/test-isnand.h (zero): New variable.
38617         (main): Avoid literal -0.0.
38618         * tests/test-isnanl.h (zero): New variable.
38619         (main): Avoid literal -0.0L.
38620         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
38621         (test_float, test_double, test_long_double): Avoid literals -0.0f,
38622         -0.0, -0.0L.
38623         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
38624         (test_signbitd): Avoid literal -0.0.
38625         (test_signbitl): Avoid literal -0.0L.
38626         * tests/test-ceilf1.c (zero): New variable.
38627         (main): Avoid literal -0.0f.
38628         * tests/test-ceill.c (zero): New variable.
38629         (main): Avoid literal -0.0L.
38630         * tests/test-floorf1.c (zero): New variable.
38631         (main): Avoid literal -0.0f.
38632         * tests/test-floorl.c (zero): New variable.
38633         (main): Avoid literal -0.0L.
38634         * tests/test-roundf1.c (zero): New variable.
38635         (main): Avoid literal -0.0f.
38636         * tests/test-round1.c (zero): New variable.
38637         (main): Avoid literal -0.0.
38638         * tests/test-roundl.c (zero): New variable.
38639         (main): Avoid literal -0.0L.
38640         * tests/test-truncf1.c (zero): New variable.
38641         (main): Avoid literal -0.0f.
38642         * tests/test-trunc1.c (zero): New variable.
38643         (main): Avoid literal -0.0.
38644         * tests/test-truncl.c (zero): New variable.
38645         (main): Avoid literal -0.0L.
38646         * tests/test-frexp.c (zero): New variable.
38647         (main): Avoid literal -0.0.
38648         * tests/test-frexpl.c (zero): New variable.
38649         (main): Avoid literal -0.0L.
38650         * tests/test-ldexpl.c (zero): New variable.
38651         (main): Avoid literal -0.0L.
38652         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38653         (zerod, zerol): New variables.
38654         (test_function): Avoid literals -0.0, -0.0L.
38655         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38656         (zerod, zerol): New variables.
38657         (test_function): Avoid literals -0.0, -0.0L.
38658         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38659         (zerod, zerol): New variables.
38660         (test_function): Avoid literals -0.0, -0.0L.
38661         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38662         (zerod, zerol): New variables.
38663         (test_function): Avoid literals -0.0, -0.0L.
38664         * tests/test-strtod.c (zero): New variable.
38665         (main): Avoid literal -0.0.
38666         Reported by Jonathan C. Patschke <jp@centtech.com>.
38667
38668 2008-07-31  Jim Meyering  <meyering@redhat.com>
38669
38670         sha256.h: correct definition of SHA224_DIGEST_SIZE
38671         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
38672         Reported by Paulie Pena IV <paulie4@gmail.com>.
38673         Define as 224 / 8, rather than as a literal.
38674         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
38675         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
38676         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
38677
38678 2008-07-31  Bruno Haible  <bruno@clisp.org>
38679
38680         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
38681         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
38682         Reported by Jonathan Patschke <jp@centtech.com>.
38683
38684 2008-07-31  Bruno Haible  <bruno@clisp.org>
38685
38686         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
38687         Reported by Paolo Bonzini <bonzini@gnu.org>.
38688
38689 2008-07-30  Eric Blake  <ebb9@byu.net>
38690
38691         test-strtod: allow compilation without -lm
38692         * tests/test-strtod.c (main): Avoid link dependence on fabs.
38693         Reported by Dennis Clarke <blastwave@gmail.com>.
38694
38695 2008-07-28  Jim Meyering  <meyering@redhat.com>
38696
38697         bootstrap: work also when there are no .po files in po/
38698         * build-aux/bootstrap (update_po_files): Complete the change
38699         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
38700
38701 2008-07-27  Jim Meyering  <meyering@redhat.com>
38702
38703         * users.txt: Add zile.
38704
38705 2008-07-26  Ben Pfaff  <blp@gnu.org>
38706
38707         Add missing dependencies on new m4/exponent[fdl].m4 files.
38708         * modules/isnanf-nolibm: Add m4/exponentf.m4.
38709         * modules/isnand-nolibm: Add m4/exponentd.m4.
38710         * modules/isnanl-nolibm: Add m4/exponentl.m4.
38711         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
38712         m4/isnan[fdl].m4, because the macros actually used moved.
38713         Reported by Jim Meyering.
38714
38715 2008-07-14  Ben Pfaff  <blp@gnu.org>
38716
38717         Add isinf module.
38718         * lib/isinf.c: New file.
38719         * lib/math.in.h: Define isinf macro if we have decided to replace
38720         it.
38721         * m4/isinf.m4: New file.
38722         * m4/math_h.m4: Initialize and substitute variables for isinf
38723         module.
38724         * modules/isinf: New file.
38725         * modules/isinf-tests: New file.
38726         * modules/math: Add substitutions for new module.
38727         * tests/test-isinf.c: New file.
38728         * doc/posix-functions/isinf.texi: Mention new module.
38729         * MODULES.html.sh: Mention new module.
38730
38731 2008-07-14  Ben Pfaff  <blp@gnu.org>
38732
38733         Factor out some macros for use by additional modules.
38734         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
38735         exponentf.m4.
38736         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
38737         exponentd.m4.
38738         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
38739         file exponentl.m4.
38740         * m4/exponentf.m4: New file.
38741         * m4/exponentd.m4: New file.
38742         * m4/exponentl.m4: New file.
38743         * modules/isnanf: Use new file m4/exponentf.m4.
38744         * modules/isnand: Use new file m4/exponentd.m4.
38745         * modules/isnanl: Use new file m4/exponentl.m4.
38746
38747 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
38748
38749         mktime.c: normalize tp->tm_isdst value to -1/0/1.
38750         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
38751         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
38752         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
38753
38754         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
38755         readlink on platforms without PATH_MAX.
38756
38757 2008-07-21  Eric Blake  <ebb9@byu.net>
38758
38759         Warn, not fail, on stale version.
38760         * top/GNUmakefile (_curr-ver): Tone down previous patch.
38761
38762         Don't allow installation with stale devel version number.
38763         * top/GNUmakefile (_is-install-target): New macro.
38764         (_curr-ver): Forbid installation with stale version number.
38765
38766 2008-07-20  Bruno Haible  <bruno@clisp.org>
38767
38768         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
38769         TESTS_ENVIRONMENT.
38770         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
38771
38772 2008-07-20  Bruno Haible  <bruno@clisp.org>
38773
38774         * lib/c-stack.h (c_stack_action): Add documentation.
38775         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
38776
38777 2008-07-20  Bruno Haible  <bruno@clisp.org>
38778
38779         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
38780         * modules/readlink (License): Likewise.
38781
38782 2008-07-17  Eric Blake  <ebb9@byu.net>
38783
38784         * modules/c-stack (Link): Fix typo.
38785
38786         Make c-stack use libsigsegv, when available.
38787         * modules/c-stack (Depends-on): Add libsigsegv.
38788         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
38789         needed.
38790         * lib/c-stack.c (SIGSTKSZ): Define fallback.
38791         (segv_handler, overflow_handler, c_stack_action)
38792         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
38793         implementation when libsigsegv is available, but only when using
38794         the library is necessary.
38795         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
38796         comment, explaining why XSI check fails on Linux.
38797         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
38798         * tests/test-c-stack2.sh: Tweak skip message.
38799         * NEWS: Document new link-time requirements.
38800
38801 2008-07-16  Eric Blake  <ebb9@byu.net>
38802
38803         c-stack: Expose false positives when not using libsigsegv.
38804         * modules/c-stack-tests (Files): Expand test.
38805         * tests/test-c-stack.c (main): Add means to conditionally trigger
38806         non-overflow SIGSEGV.
38807         * tests/test-c-stack2.sh: New file.
38808
38809 2008-07-14  Bruno Haible  <bruno@clisp.org>
38810
38811         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
38812         Reported by Eric Blake.
38813
38814 2008-07-14  Sam Steingold  <sds@gnu.org>
38815             Bruno Haible  <bruno@clisp.org>
38816
38817         New module libsigsegv.
38818         * modules/libsigsegv: New file.
38819         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
38820         modifications.
38821         * MODULES.html.sh (Signal handling): New section.
38822
38823 2008-07-14  Bruno Haible  <bruno@clisp.org>
38824
38825         * modules/unictype/ctype-* (Description): Add the word "function".
38826         Improves the resulting doc in MODULES.html.
38827
38828 2008-07-12  Ben Pfaff  <blp@gnu.org>
38829
38830         Add longlong module.
38831         * modules/longlong: New file.
38832
38833 2008-07-12  Bruno Haible  <bruno@clisp.org>
38834
38835         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
38836         to empty.
38837
38838 2008-07-10  Ben Pfaff  <blp@gnu.org>
38839
38840         Add isnan module.
38841         * doc/posix-functions/isnan.texi: Mention new module.
38842         * lib/math.in.h: Define isnan macro if we have decided to replace
38843         it.
38844         * m4/isnan.m4: New file.
38845         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
38846         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
38847         also.
38848         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
38849         redundancy.
38850         * m4/math_h.m4: Initialize and substitute variables for isnan
38851         module.
38852         * modules/isnan: New file.
38853         * modules/isnan-tests: New file.
38854         * modules/math: Add substitutions for new module.
38855         * tests/test-isnan.c: New file.
38856         * MODULES.html.sh: Mention new module.
38857
38858 2008-07-10  Ben Pfaff  <blp@gnu.org>
38859
38860         Add isnanf module.
38861         * lib/isnanf.m4: New file.
38862         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
38863         (gl_HAVE_ISNANF_IN_LIBM): New macro.
38864         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
38865         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
38866         * modules/isnanf: New file.
38867         * modules/isnanf-tests: New file.
38868         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
38869         files.
38870         * tests/test-isnanf-nolibm.c: factored most of its contents into
38871         new file tests/test-isnanf.h.
38872         * tests/test-isnanf.h: New file.
38873         * tests/test-isnanf.c: New file.
38874         * MODULES.html.sh: Mention new module.
38875         * doc/glibc-functions/isnanf.texi: Mention new module.
38876
38877 2008-07-10  Ben Pfaff  <blp@gnu.org>
38878
38879         Add isnand module.
38880         * lib/isnand.h: New file.
38881         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
38882         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
38883         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
38884         functionality also.
38885         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
38886         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
38887         (gl_HAVE_ISNAND_IN_LIBM): New macro.
38888         * modules/isnand: New file.
38889         * modules/isnand-tests: New file.
38890         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
38891         files.
38892         * tests/test-isnand-nolibm.c: factored most of its contents into
38893         new file tests/test-isnand.h.
38894         * tests/test-isnand.h: New file.
38895         * tests/test-isnand.c: New file.
38896         * MODULES.html.sh: Mention new module.
38897
38898 2008-07-10  Ben Pfaff  <blp@gnu.org>
38899
38900         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
38901         * lib/isnand.h: Rename lib/isnand-nolibm.h.
38902         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
38903         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
38904         * modules/isnanf-nolibm: Update references to renamed files.
38905         * modules/isnand-nolibm: Likewise.
38906         * modules/isnanf-nolibm-tests: Likewise.
38907         * modules/isnand-nolibm-tests: Likewise.
38908         * lib/frexp.c: Likewise.
38909         * lib/isfinite.c: Likewise.
38910         * lib/signbitd.c: Likewise.
38911         * lib/signbitf.c: Likewise.
38912         * lib/vasnprintf.c: Likewise.
38913         * tests/test-ceilf1.c: Likewise.
38914         * tests/test-ceilf2.c: Likewise.
38915         * tests/test-floorf1.c: Likewise.
38916         * tests/test-floorf2.c: Likewise.
38917         * tests/test-frexp.c: Likewise.
38918         * tests/test-round1.c: Likewise.
38919         * tests/test-round2.c: Likewise.
38920         * tests/test-roundf1.c: Likewise.
38921         * tests/test-strtod.c: Likewise.
38922         * tests/test-trunc1.c: Likewise.
38923         * tests/test-trunc2.c: Likewise.
38924         * tests/test-truncf1.c: Likewise.
38925         * tests/test-truncf2.c: Likewise.
38926         * NEWS: Mention the renamed header files.
38927
38928 2008-07-11  Jim Meyering  <meyering@redhat.com>
38929
38930         vc-list-files: make the last-resort awk code more portable
38931         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
38932         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
38933         does not support it.
38934
38935 2008-07-10  Eric Blake  <ebb9@byu.net>
38936
38937         Work with tar's bootstrap.
38938         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
38939         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
38940         an m4 comment.
38941
38942 2008-07-09  Jim Meyering  <meyering@redhat.com>
38943
38944         posix-shell.m4: fix typo that made this test malfunction
38945         * m4/posix-shell.m4: Remove capitalization in variable name.
38946
38947 2008-07-08  Bruno Haible  <bruno@clisp.org>
38948
38949         * m4/onceonly.m4: Update comments.
38950         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38951
38952 2008-07-04  Jim Meyering  <meyering@redhat.com>
38953
38954         * users.txt: Add vc-dwim.
38955         (bison, coreutils): Use the gitweb URL.
38956
38957 2008-07-03  Jim Meyering  <meyering@redhat.com>
38958
38959         * users.txt: Add libffcall.  From Sam Steingold.
38960
38961 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
38962
38963         getdate.y: do not ignore TZ with relative day, month or year offset
38964         * lib/getdate.y (get_date): Move the tz-handling block to follow the
38965         relative-date-handling, since otherwise, the latter would clobber the
38966         sole output (an updated Start value) of the tz-handling block.
38967         * tests/test-getdate.c: Tests for the fix
38968
38969 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38970
38971         Recognize 'foo_LIBRARIES += libgnu.a'.
38972         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
38973         makefile snippet has already specified an installation location,
38974         also using '+='.
38975
38976 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
38977
38978         getdate.y: factor out common actions
38979         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
38980         Use them in place of open-coded actions.
38981
38982 2008-07-01  Simon Josefsson  <simon@josefsson.org>
38983
38984         Add self-test for getdate module.
38985         * modules/getdate-tests: New file.
38986         * tests/test-getdate.c: New file.
38987
38988 2008-06-29  Bruno Haible  <bruno@clisp.org>
38989
38990         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
38991         .gitignore.
38992         Reported by Sylvain Beucler <beuc@beuc.net>.
38993
38994 2008-06-29  Bruno Haible  <bruno@clisp.org>
38995
38996         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
38997         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
38998
38999 2008-06-29  Bruno Haible  <bruno@clisp.org>
39000
39001         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
39002         EXTRA_DIST.
39003         Reported by Sylvain Beucler <beuc@beuc.net>.
39004
39005 2008-06-26  Jim Meyering  <meyering@redhat.com>
39006
39007         make several modules depend on the "open" module
39008         This provides slightly increased consistency when opening-for-write
39009         the name of a non-directory spelled with a trailing slash.
39010         * modules/chdir-safer: Likewise.
39011         * modules/chown: Likewise.
39012         * modules/clean-temp: Likewise.
39013         * modules/copy-file: Likewise.
39014         * modules/fchdir: Likewise.
39015         * modules/fcntl-safer: Likewise.
39016         * modules/pipe: Likewise.
39017         * modules/utime: Likewise.
39018         Prompted by Eric Blake and Bruno Haible.
39019
39020 2008-06-24  Andreas Schwab  <schwab@suse.de>
39021
39022         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
39023         literals can be used as initializers for global variables.
39024
39025 2008-06-23  Eric Blake  <ebb9@byu.net>
39026
39027         Make gnulib-cache.m4 easier to diff.
39028         * gnulib-tool (func_import): Allow newlines when reading cached
39029         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
39030
39031 2008-06-23  Bruno Haible  <bruno@clisp.org>
39032
39033         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
39034         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
39035         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
39036         m4/signalblocking.m4.
39037         (gl_PREREQ_SIGACTION): Don't invoke it.
39038         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
39039         gl_PREREQ_SIG_HANDLER_H.
39040         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39041         Don't check for sigaction here.
39042
39043 2008-06-23  Bruno Haible  <bruno@clisp.org>
39044
39045         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
39046         (install_handlers): Don't set the SA_RESETHAND flag.
39047
39048 2008-06-23  Bruno Haible  <bruno@clisp.org>
39049
39050         * m4/sigaction.m4: Comment fixes.
39051         * lib/signal.in.h: Likewise.
39052
39053 2008-06-23  Eric Blake  <ebb9@byu.net>
39054
39055         Fix typo.
39056         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
39057
39058         Avoid SA_ namespace.
39059         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
39060         Reported by Ralf Wildenhues.
39061
39062         Avoid test failure due to SA_RESTORER.
39063         * tests/test-sigaction.c (SA_MASK): New macro.
39064         (main): Avoid failing due to extension flags being set.
39065         Reported by Jim Meyering.
39066
39067         Revert use of sig-handler.h in sigprocmask.c.
39068         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
39069         it requires the existence of struct sigaction.
39070         * lib/sigprocmask.c (handler_t): Restore typedef.
39071         (rpl_signal, old_handlers): Use local type.
39072
39073 2008-06-22  Bruno Haible  <bruno@clisp.org>
39074
39075         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
39076         conditionally.
39077         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39078
39079 2008-06-22  Bruno Haible  <bruno@clisp.org>
39080
39081         * doc/posix-functions/siginterrupt.texi: Move note.
39082
39083         * lib/signal.in.h (SA_RESTART): New macro.
39084         * lib/sigaction.c: Update comment.
39085
39086         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
39087
39088         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
39089         (gl_PREREQ_SIGPROCMASK): Invoke it.
39090         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
39091
39092         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
39093
39094         * lib/sigprocmask.c: Update a comment.
39095
39096 2008-06-21  Eric Blake  <ebb9@byu.net>
39097
39098         Use sigaction module rather than signal().
39099         * modules/c-stack (Depends-on): Add sigaction.
39100         * modules/fatal-signal (Depends-on): Likewise.
39101         * modules/nanosleep (Depends-on): Likewise.
39102         * modules/sigprocmask (Files): Add sig-handler.h.
39103         * modules/sigaction (Files): Likewise.
39104         * lib/sig-handler.h (get_handler): New file, suggested by Paul
39105         Eggert.
39106         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
39107         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
39108         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
39109         (init_fatal_signals): Likewise.
39110         * lib/nanosleep.c (rpl_nanosleep): Likewise.
39111         (siginterrupt): Delete fallback.
39112         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
39113         instead.
39114         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
39115         siginterrupt.
39116
39117         New module sigaction, for mingw.
39118         * modules/sigaction: New module...
39119         * modules/sigaction-tests: ...and its test.
39120         * m4/sigaction.m4: New file.
39121         * lib/sigaction.c: Likewise.
39122         * tests/test-sigaction.c: Likewise.
39123         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
39124         * modules/signal (Makefile.am): Likewise.
39125         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
39126         needed.
39127         * doc/posix-headers/signal.texi (signal.h): Mention provided
39128         types.
39129         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
39130         that sigaction is preferable.
39131         * doc/posix-functions/sigaction.texi (sigaction): Mention new
39132         module.
39133         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39134         sigaction.
39135
39136         Improve robustness of sigprocmask by overriding signal.
39137         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
39138         is in use.
39139         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
39140         (SIGKILL, SIGSTOP): Provide fallbacks.
39141         (rpl_signal): Implement.
39142         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
39143         signal can be called inside handlers.
39144
39145         Fix nanosleep module on mingw.
39146         * modules/nanosleep (Depends-on): Add sys_select.
39147         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
39148
39149         Fix licensing of sigprocmask.
39150         * modules/raise (License): Relicense as LGPL.
39151
39152 2008-06-21  Bruno Haible  <bruno@clisp.org>
39153
39154         * lib/propername.c (proper_name_utf8): Don't use the transliterated
39155         result if it contains question marks.
39156         Reported by Michael Geng <linux@michaelgeng.de>.
39157
39158 2008-06-19  Bruno Haible  <bruno@clisp.org>
39159
39160         Fix CVS-ism.
39161         * doc/gnulib.texi: Include updated-stamp.texi.
39162         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
39163         (updated-stamp.texi): New rule.
39164         (gnulib.info): Depend on it.
39165         * doc/.gitignore: Add updated-stamp.texi.
39166         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
39167
39168 2008-06-19  Bruno Haible  <bruno@clisp.org>
39169
39170         * doc/Makefile (gnulib.info): Update and simplify dependencies.
39171         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39172
39173 2008-06-19  Eric Blake  <ebb9@byu.net>
39174
39175         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
39176         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
39177         Reported by Stepan Kasal.
39178
39179 2008-06-18  Bruno Haible  <bruno@clisp.org>
39180
39181         * lib/fatal-signal.c (init_fatal_signals): Add comment.
39182         Reported by Eric Blake.
39183
39184 2008-06-18  Eric Blake  <ebb9@byu.net>
39185
39186         Work around cygwin 1.5.25 strsignal bug.
39187         * tests/test-strsignal.c: Allow for const char *.
39188         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
39189
39190 2008-06-18  Simon Josefsson  <simon@josefsson.org>
39191
39192         * users.txt: Update URL to article and add author/date
39193         information.
39194
39195 2008-06-17  Bruno Haible  <bruno@clisp.org>
39196
39197         New macro gl_DISABLE_THREADS.
39198         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
39199         if the user did not pass --enable-threads or --disable-threads option.
39200         (gl_DISABLE_THREADS): New macro.
39201         Reported by Eric Blake <ebb9@byu.net>.
39202
39203 2008-06-17  Bruno Haible  <bruno@clisp.org>
39204
39205         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
39206         when the macro ignores it.
39207         Based on a patch by Eric Blake <ebb9@byu.net>.
39208
39209 2008-06-17  Bruno Haible  <bruno@clisp.org>
39210
39211         * modules/tls (License): Change to LGPLv2+.
39212         Reported by Eric Blake.
39213
39214 2008-06-17  Eric Blake  <ebb9@byu.net>
39215
39216         Simplify c-stack prerequisites.
39217         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
39218         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
39219         no longer requires <ucontext.h> to exist.  Optimize setrlimit
39220         check.
39221         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
39222         <sys/resource.h>.
39223
39224         Move c-stack test into testsuite.
39225         * modules/c-stack-tests: New file.
39226         * lib/c-stack.c [DEBUG]: Move test program...
39227         * tests/test-c-stack.c: ...into this new file.  Skip rather than
39228         fail test if sigaltstack is lacking.
39229         * tests/test-c-stack.sh: New driver file.
39230
39231 2008-06-16  Eric Blake  <ebb9@byu.net>
39232
39233         Use raise module consistently.
39234         * modules/fatal-signal (Depends-on): Add raise.
39235         * modules/sigprocmask (Depends-on): Likewise.
39236         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
39237         * lib/sigprocmask.c (sigprocmask): Likewise.
39238         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39239         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
39240
39241         Fix compliance bug in sigpending.
39242         * lib/sigprocmask.c (sigpending): Return pending array via
39243         parameter, not return value.
39244
39245 2008-06-14  Eric Blake  <ebb9@byu.net>
39246
39247         Improve obstack-printf test code.
39248         * tests/test-obstack-printf.c (test_function): Fix comment, and
39249         simplify usage of obstack_* in macros.  Add a test for coverage.
39250         Reported by Bruno Haible.
39251
39252 2008-06-14  Bruno Haible  <bruno@clisp.org>
39253
39254         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
39255         array size as a constant, not as a const variable.
39256         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
39257         AC_USE_SYSTEM_EXTENSIONS.
39258         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
39259         Test whether the obstack_printf function actually exists.
39260         * modules/obstack-printf (Depends-on): Add extensions.
39261         (Include): Remove obstack.h.
39262         * modules/obstack-printf-posix (Depends-on): Add extensions.
39263         (Include): Remove obstack.h.
39264
39265 2008-06-13  Eric Blake  <ebb9@byu.net>
39266
39267         Add obstack-printf and obstack-printf-posix modules.
39268         * modules/obstack-printf: New file.
39269         * modules/obstack-printf-posix: Likewise.
39270         * MODULES.html.sh (Misc): Mention them.
39271         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
39272         Likewise.
39273         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
39274         Likewise.
39275         * modules/stdio (Makefile.am): Accomodate new modules.
39276         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39277         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
39278         Declare.
39279         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
39280         functions.
39281         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
39282         (gl_REPLACE_OBSTACK_PRINTF): New macros
39283         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
39284         * tests/test-obstack-printf.c: New file.
39285         * modules/obstack-printf-tests: Likewise.
39286         * modules/obstack-printf-posix-tests: Likewise.
39287
39288 2008-06-11  Bruno Haible  <bruno@clisp.org>
39289
39290         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
39291         * lib/open.c: Include errno.h.
39292         (open): Fail when attempting to write to a file that has a trailing
39293         slash.
39294         * tests/test-open.c (main): Test against trailing slash bug.
39295         * doc/posix-functions/open.texi: Mention the trailing slash bug.
39296
39297 2008-06-10  Bruno Haible  <bruno@clisp.org>
39298
39299         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
39300         for $? to work inside the trap command, with various /bin/sh-s.
39301         * tests/test-vc-list-files-cvs.sh: Likewise.
39302
39303 2008-06-10  Bruno Haible  <bruno@clisp.org>
39304
39305         * lib/acl-internal.h: Don't include gettext.h here.
39306         * lib/set-mode-acl.c: Include gettext.h here.
39307         * lib/copy-acl.c: Likewise.
39308
39309 2008-06-10  Bruno Haible  <bruno@clisp.org>
39310
39311         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
39312         * lib/wait-process.c (wait_subprocess): Likewise.
39313         * lib/execute.h (execute): Add termsigp argument.
39314         * lib/execute.c (execute): Likewise.
39315         * lib/csharpcomp.c (compile_csharp_using_pnet,
39316         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
39317         * lib/csharpexec.c (execute_csharp_using_pnet,
39318         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
39319         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
39320         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
39321         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
39322         is_jikes_present): Update.
39323         * lib/javaexec.c (execute_java_class): Update.
39324         * lib/javaversion.c (execute_and_read_line): Update.
39325         * NEWS: Document the changes.
39326         Reported by Eric Blake.
39327
39328 2008-06-10  Eric Blake  <ebb9@byu.net>
39329
39330         Add missing include.
39331         * tests/test-strstr.c (includes): Add <signal.h>.
39332         * tests/test-strcasestr.c (includes): Likewise.
39333         * tests/test-memmem.c (includes): Likewise.
39334
39335 2008-06-10  Bruno Haible  <bruno@clisp.org>
39336
39337         * lib/wait-process.c (wait_subprocess): Add an assertion.
39338
39339 2008-06-10  Bruno Haible  <bruno@clisp.org>
39340
39341         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
39342
39343 2008-06-10  Bruno Haible  <bruno@clisp.org>
39344
39345         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
39346         using alarm().
39347         * tests/test-strcasestr.c (main): Likewise.
39348         * tests/test-strstr.c (main): Likewise.
39349
39350 2008-06-09  Bruno Haible  <bruno@clisp.org>
39351
39352         Work around the Solaris 10 ACE ACLs ABI change.
39353         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
39354         declare if ACL_NO_TRIVIAL is present.
39355         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
39356         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
39357         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
39358         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
39359         define if ACL_NO_TRIVIAL is present.
39360         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
39361         and use the current ABI.
39362         (file_has_acl): Use same #if condition as elsewhere.
39363         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
39364         in use, and use the current ABI.
39365         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
39366         Reported by Jim Meyering.
39367
39368 2008-06-09  Eric Blake  <ebb9@byu.net>
39369
39370         Work around environments that (stupidly) ignore SIGALRM.
39371         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
39372         before using alarm().
39373         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39374         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
39375         Reported by Ian Beckwith <ianb@erislabs.net>.
39376
39377         Produce autobuild blurb earlier in log.
39378         * modules/autobuild (configure.ac-early): Move AB_INIT here.
39379
39380 2008-06-09  Jim Meyering  <meyering@redhat.com>
39381         and OndÅ™ej Vašík  <ovasik@redhat.com>
39382
39383         utimens.c: correct kernel bug work-around
39384         OndÅ™ej Vašík found that the invalid return value of 280 indicates
39385         failure, not success, and the kernel bug we're trying to work
39386         around affects not just the utimensat call, but also the fallback
39387         futimens call.
39388         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
39389         not success.
39390         [HAVE_FUTIMENS]: Use the same work-around, here.
39391
39392 2008-06-09  Jim Meyering  <meyering@redhat.com>
39393
39394         add more guards around definition of ACE_-related code
39395         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
39396         ALLOW and ACE_OWNER are also defined.
39397
39398 2008-06-08  Bruno Haible  <bruno@clisp.org>
39399
39400         * lib/acl-internal.h: Add me as co-author.
39401         * lib/file-has-acl.c: Likewise.
39402         * lib/set-mode-acl.c: Likewise.
39403         * lib/copy-acl.c: Likewise.
39404
39405 2008-06-08  Bruno Haible  <bruno@clisp.org>
39406
39407         Add support for AIX ACLs.
39408         * lib/acl-internal.h (acl_nontrivial): New declaration.
39409         * lib/file-has-acl.c (acl_nontrivial): New function.
39410         (file_has_acl): Add implementation using AIX 4 ACL API.
39411         * lib/set-mode-acl.c (qset_acl): Likewise.
39412         * lib/copy-acl.c (qcopy_acl): Likewise.
39413
39414 2008-06-08  Bruno Haible  <bruno@clisp.org>
39415
39416         Add support for HP-UX ACLs.
39417         * lib/acl-internal.h (acl_nontrivial): New declaration.
39418         * lib/file-has-acl.c (acl_nontrivial): New function.
39419         (file_has_acl): Add implementation using HP-UX 11 ACL API.
39420         * lib/set-mode-acl.c (qset_acl): Likewise.
39421         * lib/copy-acl.c (qcopy_acl): Likewise.
39422
39423 2008-06-08  Bruno Haible  <bruno@clisp.org>
39424
39425         Add support for Cygwin ACLs.
39426         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
39427         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
39428         the chmod_or_fchmod call.
39429         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
39430
39431 2008-06-08  Bruno Haible  <bruno@clisp.org>
39432
39433         Fix bug with setuid modes in Solaris 10+ code.
39434         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
39435         succeeded, when the mode contains some special bits.
39436
39437 2008-06-08  Bruno Haible  <bruno@clisp.org>
39438
39439         Add support for Solaris 7..10 ACLs.
39440         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
39441         declarations.
39442         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
39443         functions.
39444         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
39445         * lib/set-mode-acl.c (qset_acl): Likewise.
39446         * lib/copy-acl.c (qcopy_acl): Likewise.
39447
39448 2008-06-08  Bruno Haible  <bruno@clisp.org>
39449
39450         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
39451         declaration.
39452         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
39453         (acl_access_nontrivial): Remove MacOS X case.
39454         (file_has_acl): Use acl_extended_nontrivial.
39455         * lib/copy-acl.c (qcopy_acl): Likewise.
39456
39457 2008-06-08  Bruno Haible  <bruno@clisp.org>
39458
39459         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
39460
39461 2008-06-08  Jim Meyering  <meyering@redhat.com>
39462
39463         * modules/acl (Maintainer): Add Bruno Haible.
39464
39465 2008-06-07  Bruno Haible  <bruno@clisp.org>
39466
39467         Improve support for Tru64 ACLs.
39468         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
39469         ACL on OSF/1.
39470
39471 2008-06-07  Bruno Haible  <bruno@clisp.org>
39472
39473         Add support for MacOS X ACLs.
39474         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
39475         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
39476         * lib/set-mode-acl.c (qset_acl): Likewise.
39477         * lib/copy-acl.c (qcopy_acl): Likewise.
39478
39479 2008-06-07  Bruno Haible  <bruno@clisp.org>
39480
39481         Fix memory leak introduced on 2008-05-22.
39482         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
39483         use.
39484
39485 2008-06-07  Bruno Haible  <bruno@clisp.org>
39486
39487         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
39488         to construct an empty ACL.
39489
39490 2008-06-07  Bruno Haible  <bruno@clisp.org>
39491
39492         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
39493         precisely.
39494         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
39495
39496 2008-06-07  Bruno Haible  <bruno@clisp.org>
39497
39498         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
39499         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
39500
39501 2008-06-07  Bruno Haible  <bruno@clisp.org>
39502
39503         * doc/posix-functions/_setjmp.texi: Explain the use of this function
39504         regardless of POSIX.
39505         * doc/posix-functions/_longjmp.texi: Likewise.
39506         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
39507         SystemV platform in this case.
39508
39509 2008-06-06  Eric Blake  <ebb9@byu.net>
39510
39511         Document abort() bugs.
39512         * doc/posix-functions/abort.texi (abort): Mention anomalies.
39513
39514         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
39515         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
39516         sigsetjmp.
39517         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
39518         siglongjmp, but only as a macro.
39519         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
39520         is obsolete.
39521         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
39522
39523         Tweak documentation to cover cygwin argz bugs.
39524         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
39525         argz bug fix; no code change needed since no cygwin releases
39526         occurred between the last fix and the bug being tested.
39527         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
39528         module and recently fixed cygwin bugs.
39529         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
39530         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
39531         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
39532         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
39533         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
39534         Likewise.
39535         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
39536         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
39537         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
39538         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
39539         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
39540         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
39541         Likewise.
39542
39543         Avoid gcc warning on cygwin.
39544         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
39545         !ACL_NO_TRIVIAL]: Avoid unused variable.
39546
39547 2008-06-05  Eric Blake  <ebb9@byu.net>
39548
39549         Be tolerant of UNKNOWN version in gnulib-tool test dir.
39550         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
39551         git-version-gen fails to come up with a version.
39552         Reported by Simon Josefsson.
39553
39554 2008-06-05  Jim Meyering  <meyering@redhat.com>
39555             Paul Eggert  <eggert@cs.ucla.edu>
39556
39557         utimens.c: work around a probable Linux kernel bug
39558         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
39559         appears to be a kernel bug that causes utimensat to return 280
39560         instead of 0, indicating success.
39561
39562 2008-06-04  Bruno Haible  <bruno@clisp.org>
39563
39564         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
39565         2008-06-01 commit.
39566
39567 2008-06-04  Bruno Haible  <bruno@clisp.org>
39568
39569         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
39570         * lib/file-has-acl.c (acl_access_nontrivial): New function.
39571         (file_has_acl): Use it. Save errno afterwards.
39572         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
39573
39574 2008-06-03  Bruno Haible  <bruno@clisp.org>
39575
39576         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
39577         draft code. Simplify #ifs.
39578         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
39579         Put Solaris code after POSIX-draft code. Fix comments regarding
39580         Solaris 10, HP-UX. Mention Cygwin.
39581         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
39582
39583 2008-06-03  Eric Blake  <ebb9@byu.net>
39584
39585         Provide fallback for older kernels.
39586         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
39587         Provide runtime fallback if kernel lacks support.
39588         Reported by Mike Frysinger.
39589
39590 2008-06-02  Bruno Haible  <bruno@clisp.org>
39591
39592         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
39593         it exists.
39594
39595 2008-06-02  Bruno Haible  <bruno@clisp.org>
39596
39597         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
39598         * lib/copy-acl.c (qcopy_acl): Update comment.
39599
39600 2008-06-02  Bruno Haible  <bruno@clisp.org>
39601
39602         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
39603         like ACL APIs.
39604
39605 2008-06-02  Bruno Haible  <bruno@clisp.org>
39606
39607         * tests/test-file-has-acl.sh: Use different code for Cygwin.
39608         * tests/test-set-mode-acl.sh: Likewise.
39609         * tests/test-copy-acl.sh: Likewise.
39610         * tests/test-copy-file.sh: Likewise.
39611
39612 2008-06-02  Bruno Haible  <bruno@clisp.org>
39613
39614         * tests/test-file-has-acl.sh: Remove unused code.
39615
39616 2008-06-01  Bruno Haible  <bruno@clisp.org>
39617
39618         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
39619         (copy_acl): Just a wrapper around qcopy_acl that emits the error
39620         messages.
39621         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
39622
39623 2008-06-01  Bruno Haible  <bruno@clisp.org>
39624
39625         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
39626         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
39627         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
39628         APIs.
39629         * modules/acl-tests (configure.ac): Remove tests now contained in
39630         m4/acl.m4.
39631
39632 2008-06-02  Jim Meyering  <meyering@redhat.com>
39633
39634         announce-gen: use a better key-server host name
39635         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
39636         it may be more consistently reliable.  Suggested by Werner Koch
39637         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
39638
39639 2008-06-01  Bruno Haible  <bruno@clisp.org>
39640
39641         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
39642         Reported by Voroskoi Andras <voroskoi@gmail.com>.
39643
39644 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
39645
39646         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
39647
39648 2008-06-01  Bruno Haible  <bruno@clisp.org>
39649
39650         New ACL tests.
39651         * tests/test-file-has-acl.sh: New file.
39652         * tests/test-file-has-acl.c: New file.
39653         * tests/test-set-mode-acl.sh: New file.
39654         * tests/test-set-mode-acl.c: New file.
39655         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
39656         * tests/test-copy-acl.c: New file.
39657         * modules/acl-tests: New file, based on modules/copy-file-tests.
39658         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
39659         (Depends-on): Add acl-tests.
39660         (configure.ac): Remove checks.
39661         (Makefile.am): Don't create test-sameacls program here any more.
39662
39663 2008-06-01  Bruno Haible  <bruno@clisp.org>
39664
39665         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
39666         * tests/test-sameacls.c: Include progname.h.
39667         (main): Invoke set_program_name. Portability fixes for MacOS X,
39668         Solaris, HP-UX.
39669
39670 2008-06-01  Bruno Haible  <bruno@clisp.org>
39671
39672         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
39673         function.
39674         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
39675
39676 2008-06-01  Bruno Haible  <bruno@clisp.org>
39677
39678         * modules/rpmatch (Depends-on): Add strdup.
39679
39680 2008-06-01  Bruno Haible  <bruno@clisp.org>
39681
39682         * lib/pipe.c: Include unistd-safer.h.
39683         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
39684         * modules/pipe (Depends-on): Add unistd-safer.
39685
39686 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39687
39688         * modules/autobuild (configure.ac): Call AB_INIT.
39689
39690 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39691
39692         * tests/test-getaddrinfo.c: Don't print debug messages by default.
39693         Suggested by Bruno Haible <bruno@clisp.org>.
39694
39695 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39696
39697         * tests/test-base64.c: Cast size_t to unsigned long when invoking
39698         printf.  Use %lu instead of %d.  Reported by Bruno Haible
39699         <bruno@clisp.org>.
39700
39701 2008-05-29  Eric Blake  <ebb9@byu.net>
39702
39703         Prefer new POSIX 200x interfaces over futimesat.
39704         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
39705         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
39706         when available.
39707         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
39708
39709 2008-05-28  Bruno Haible  <bruno@clisp.org>
39710
39711         * modules/stpcpy (License): Change to LGPLv2+.
39712         Requested by David Lutterkort <dlutter@redhat.com>.
39713
39714 2008-05-27  Bruno Haible  <bruno@clisp.org>
39715
39716         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
39717         current mingw.
39718         Reported by Jose E. Marchesi <jemarch@gnu.org>.
39719
39720 2008-05-27  Bruno Haible  <bruno@clisp.org>
39721
39722         * modules/iconv_open (Link): New section, from module 'iconv'.
39723         * modules/striconv (Link): Likewise.
39724         * modules/striconveh (Link): Likewise.
39725         * modules/xstriconv (Link): Likewise.
39726         * modules/unicodeio (Link): Likewise.
39727         * modules/propername (Link): Likewise.
39728         Reported by Jim Meyering.
39729
39730 2008-05-26  Jim Meyering  <meyering@redhat.com>
39731
39732         sha256: do not artificially restrict buffer length to be < 2^32
39733         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
39734         uint32_t to size_t.
39735         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
39736         to match.
39737
39738         avoid unaligned access errors, e.g., on sparc
39739         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
39740         direct access through a possibly-unaligned uint64* pointer.
39741         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
39742         direct access through a possibly-unaligned uint32* pointer.
39743         Prompted by this patch from Tom "spot" Callaway:
39744         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
39745
39746         sha512.c: fix typo in comment
39747         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
39748
39749 2008-05-25  Bruno Haible  <bruno@clisp.org>
39750
39751         * lib/set-mode-acl.c: Renamed from lib/acl.c.
39752         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
39753         (Makefile.am): Update lib_SOURCES.
39754
39755 2008-05-25  Bruno Haible  <bruno@clisp.org>
39756
39757         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
39758
39759 2008-05-25  Jim Meyering  <meyering@redhat.com>
39760
39761         useless-if-before-free: freed expr may have white-space differences
39762         * build-aux/useless-if-before-free: Recognize cases in which the
39763         freed expression differs from the tested one in embedded white
39764         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
39765         $1 was used, so we can't make any regexp shy.  Improved tests now
39766         detect this.
39767
39768         useless-if-before-free: accept white space in the expression.
39769         * build-aux/useless-if-before-free: For now, any white space
39770         in the expression must be identical in the free argument.
39771
39772         useless-if-before-free: efficiency tweak
39773         * build-aux/useless-if-before-free: Make the expression-matching
39774         regexp "shy".
39775         Make the *outer* regexp shy, not the expr-matching one.
39776
39777         update code-in-comment to accept cast of free arg
39778         * build-aux/useless-if-before-free: Update regexp.
39779
39780 2008-05-25  Bruno Haible  <bruno@clisp.org>
39781
39782         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
39783         * modules/copy-file-tests (Files, Makefile.am): Update.
39784         * tests/test-copy-file.c (func_test_copy): Update.
39785
39786 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
39787
39788         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
39789
39790 2008-05-23  Bruno Haible  <bruno@clisp.org>
39791
39792         Improve support for ACLs on OSF/1.
39793         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
39794         Remove fallback for unknown flavors of ACLs.
39795
39796 2008-05-22  Bruno Haible  <bruno@clisp.org>
39797
39798         Add support for ACLs on OSF/1.
39799         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
39800         replacements.
39801         (acl_free_text): New macro fallback.
39802         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
39803         acl_free.
39804         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
39805         acl_free_text function. Require AC_C_INLINE.
39806
39807 2008-05-22  Bruno Haible  <bruno@clisp.org>
39808
39809         Make copy_acl work on MacOS X 10.5.
39810         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
39811         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
39812         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
39813         If MODE_INSIDE_ACL, don't assume that every system has the same text
39814         representation for ACLs as FreeBSD.
39815         * lib/copy-acl.c (copy_acl): Add support for platforms with
39816         !MODE_INSIDE_ACL.
39817         * lib/file-has-acl.c (file_has_acl): Likewise.
39818         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
39819         FreeBSD, MacOS X, or IRIX, respectively.
39820
39821 2008-05-22  Bruno Haible  <bruno@clisp.org>
39822
39823         * lib/acl.h: Don't include <sys/acl.h>.
39824         (GETACLCNT): Move fallback to lib/acl-internal.h.
39825         * lib/acl-internal.h: Include <sys/acl.h> here.
39826         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
39827
39828 2008-05-22  Bruno Haible  <bruno@clisp.org>
39829
39830         Split off copy_acl function to separate file.
39831         * lib/copy-acl.c: New file, extracted from lib/acl.c.
39832         * lib/acl.c (copy_acl): Moved function to separate file.
39833         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
39834         * modules/acl (Files): Add lib/copy-acl.c.
39835         (Makefiles.am): Augment lib_SOURCES.
39836
39837 2008-05-22  Bruno Haible  <bruno@clisp.org>
39838
39839         * modules/copy-file-tests: New file.
39840         * tests/test-copy-file.sh: New file.
39841         * tests/test-copy-file.c: New file.
39842         * tests/test-copy-file-sameacls.c: New file.
39843
39844 2008-05-22  Eric Blake  <ebb9@byu.net>
39845
39846         Avoid gcc warning.
39847         * tests/test-memcmp.c (main): Pass NULL indirectly.
39848
39849 2008-05-21  Bruno Haible  <bruno@clisp.org>
39850
39851         Add reference doc about ACLs.
39852         * doc/acl-resources.txt: New file.
39853         * doc/acl-cygwin.txt: New file.
39854
39855 2008-05-21  Bruno Haible  <bruno@clisp.org>
39856
39857         Avoid one more warning from gcc.
39858         * lib/vasnprintf.c (IF_LINT): Update comments.
39859         (VASNPRINTF): Use it also for the 'prefix' array initializer.
39860
39861 2008-05-21  Jim Meyering  <meyering@redhat.com>
39862
39863         avoid a warning from gcc
39864         * lib/vasnprintf.c (IF_LINT): Define.
39865         (scale10_round_decimal_long_double):
39866         Use it to avoid a "may be used uninitialized" warning.
39867         (scale10_round_decimal_double): Likewise.
39868
39869 2008-05-21  Simon Josefsson  <simon@josefsson.org>
39870
39871         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
39872         declared.
39873
39874 2008-05-20  Bruno Haible  <bruno@clisp.org>
39875
39876         * tests/test-memcmp.c (main): Test also the sign of the result. Test
39877         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
39878
39879 2008-05-20  Simon Josefsson  <simon@josefsson.org>
39880
39881         * modules/memcmp-tests: New file.
39882         * tests/test-memcmp.c: New file.
39883
39884 2008-05-19  Bruno Haible  <bruno@clisp.org>
39885
39886         * modules/propername (Notice, configure.ac): Put quoted "..." into
39887         --keyword option.
39888         * lib/propername.h: Update comments accordingly.
39889         Reported by Eric Blake.
39890
39891 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
39892
39893         * modules/getpass-gnu (Depends-on): Add fseeko.
39894
39895 2008-05-19  Simon Josefsson  <simon@josefsson.org>
39896
39897         * modules/base64-tests: New file.
39898
39899 2008-05-19  Bo Borgerson <gigabo@gmail.com>
39900
39901         * lib/base64.c (base64_decode_ctx): If a decode context structure
39902         was passed in use it to ignore newlines.  If a context structure
39903         was _not_ passed in, continue to treat newlines as garbage (this
39904         is the historical behavior).  Formerly base64_decode.
39905         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
39906         takes a decode context structure.
39907         * lib/base64.h (base64_decode): Macro for four-argument calls.
39908         (base64_decode_alloc): Likewise.
39909         * lib/base64.c (base64_decode_ctx): If a decode context structure
39910         was passed in use it to ignore newlines.  If a context structure
39911         was _not_ passed in, continue to treat newlines as garbage (this
39912         is the historical behavior).  Formerly base64_decode.
39913         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
39914         takes a decode context structure.
39915         * lib/base64.h (base64_decode): Macro for four-argument calls.
39916         (base64_decode_alloc): Likewise.
39917
39918 2008-05-19  Jim Meyering  <meyering@redhat.com>
39919
39920         avoid a warning from gcc
39921         * lib/trim.c (IF_LINT): Define.
39922         (trim2): Use it to avoid a "may be used uninitialized" warning.
39923
39924         Fix doc typo.
39925         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
39926
39927 2008-05-19  Bruno Haible  <bruno@clisp.org>
39928
39929         * doc/glibc-functions/getpass.texi: Document limits of other
39930         implementations.
39931
39932 2008-05-19  Simon Josefsson  <simon@josefsson.org>
39933             Bruno Haible <bruno@clisp.org>
39934
39935         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
39936
39937 2008-05-18  Bruno Haible  <bruno@clisp.org>
39938
39939         * modules/propername: New file, from GNU gettext.
39940         * lib/propername.h: New file, from GNU gettext.
39941         * lib/propername.c: New file, from GNU gettext.
39942         * MODULES.html.sh (Internationalization functions): Add propername.
39943
39944 2008-05-16  Jim Meyering  <meyering@redhat.com>
39945             Bruno Haible  <bruno@clisp.org>
39946
39947         Avoid some warnings from "gcc -Wshadow".
39948         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
39949
39950 2008-05-15  Eric Blake  <ebb9@byu.net>
39951
39952         Extend previous patch to cygwin 1.7.0.
39953         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
39954         fast implementation in cygwin >= 1.7.0.
39955         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39956         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39957
39958 2008-05-15  Bruno Haible  <bruno@clisp.org>
39959
39960         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
39961         implementation in glibc >= 2.9.
39962         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39963         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39964
39965 2008-05-15  Bruno Haible  <bruno@clisp.org>
39966
39967         * MODULES.html.sh (Internationalization functions): Remove linebreak.
39968         (Unicode string functions): Add unilbrk/*.
39969         Reported by Karl Berry.
39970
39971 2008-05-15  Eric Blake  <ebb9@byu.net>
39972
39973         Fix violation of <stdbool.h> replacement in regex.
39974         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
39975         * lib/regexec.c (re_search_internal): Likewise.
39976         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
39977
39978 2008-05-15  Jim Meyering  <meyering@redhat.com>
39979
39980         avoid distracting test output when git or cvs is not found
39981         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
39982         * tests/test-vc-list-files-git.sh: Likewise.
39983
39984 2008-05-15  Eric Blake  <ebb9@byu.net>
39985
39986         Glibc finally accepted the memmem speedup code, bugzilla #5514.
39987         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
39988         glibc version.
39989         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
39990         * doc/posix-functions/strstr.texi (strstr): Likewise.
39991         * lib/str-two-way.h (MAX): Sychronize with glibc.
39992
39993 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
39994
39995         * lib/regcomp.c (optimize_utf8): Add a note on why we test
39996         opr.ctx_type.
39997         (calc_first): Initialize constraint field.
39998         (duplicate_node_closure): Use it instead of special casing ANCHORS.
39999         Fix grammar.
40000         (duplicate_node): Merge constraint field for all node types.
40001         (calc_eclosure_iter): Look at constraint field for all node types.
40002         * lib/regex_internal.c (create_cd_newstate): Don't look at
40003         opr.ctx_type.
40004
40005 2008-05-14  Bruno Haible  <bruno@clisp.org>
40006
40007         Help GCC to do better code generation.
40008         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
40009         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
40010         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
40011         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
40012         Declare with attribute 'malloc' if supported.
40013
40014 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
40015
40016         use "echo STR|wc -c" rather than unportable "expr length STR"
40017         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
40018         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
40019
40020 2008-05-14  Jim Meyering  <meyering@redhat.com>
40021
40022         use dd ibs=$n count=1 ... rather than less-portable head -c$n
40023         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
40024         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
40025         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
40026         via Collin Lasse.
40027
40028 2008-05-14  Eric Blake  <ebb9@byu.net>
40029
40030         Avoid quadratic growth in gl_LIBSOURCES.
40031         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
40032         Suggested by Bruno Haible.
40033
40034         Test xmemdup0.
40035         * modules/xmemdup0-tests: New file.
40036         * tests/test-xmemdup0.c: Likewise.
40037
40038 2008-05-13  Eric Blake  <ebb9@byu.net>
40039
40040         Split xmemdup0 into its own module.
40041         * modules/xmemdup0: New file.
40042         * lib/xmemdup0.h: Likewise.
40043         * lib/xmemdup0.c: Likewise.
40044         * MODULES.html.sh (Memory management functions): Add xmemdup0.
40045         * lib/xalloc.h (xmemdup0): Remove.
40046         * lib/xmalloc.c (xmemdup0): Likewise.
40047
40048 2008-05-13  Eric Blake  <ebb9@byu.net>
40049             Bruno Haible  <bruno@clisp.org>
40050
40051         Reduce number of forks required during autoconf.
40052         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
40053         and gl_LIBSOURCES_DIR.
40054         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
40055         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
40056         m4_syscmd per file.
40057         <m4_foreach_w>: Move...
40058         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
40059
40060 2008-05-13  Eric Blake  <ebb9@byu.net>
40061
40062         * gnulib-tool: Fix various comment typos.
40063
40064 2008-05-12  Bruno Haible  <bruno@clisp.org>
40065
40066         Tailor the linebreaking algorithm.
40067         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
40068
40069 2008-05-12  Bruno Haible  <bruno@clisp.org>
40070
40071         Update to Unicode 5.0.0.
40072         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40073         LBP_JV, LBP_JT. Redistribute values.
40074         (unilbrk_table): Change size.
40075         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
40076         Unicode TR#14 rev. 22.
40077         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40078         LBP_JV, LBP_JT. Redistribute values.
40079         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
40080         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
40081         Update.
40082         * lib/unilbrk/lbrkprop1.h: Regenerated.
40083         * lib/unilbrk/lbrkprop2.h: Regenerated.
40084         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
40085         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
40086         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
40087         Likewise.
40088         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
40089         Likewise.
40090         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
40091         result.
40092         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
40093         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
40094         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
40095         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
40096         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
40097         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
40098
40099 2008-05-11  Bruno Haible  <bruno@clisp.org>
40100
40101         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
40102
40103 2008-05-11  Bruno Haible  <bruno@clisp.org>
40104
40105         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
40106         * modules/unilbrk/gen-lbrk: New file.
40107
40108 2008-05-11  Bruno Haible  <bruno@clisp.org>
40109
40110         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
40111         * m4/sha512.m4 (gl_SHA512): Likewise.
40112
40113 2008-05-11  Jim Meyering  <meyering@redhat.com>
40114
40115         New modules: crypto/sha256, crypto/sha512 (from coreutils)
40116         * modules/crypto/sha256: New file.
40117         * modules/crypto/sha512: Likewise.
40118         * lib/sha256.c: Likewise.
40119         * lib/sha256.h: Likewise.
40120         * lib/sha512.c: Likewise.
40121         * lib/sha512.h: Likewise.
40122         * lib/u64.h: Likewise.
40123         * m4/sha256.m4: Likewise.
40124         * m4/sha512.m4: Likewise.
40125         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
40126
40127 2008-05-10  Bruno Haible  <bruno@clisp.org>
40128
40129         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
40130         (Input/Output <stdio.h>): Add xprintf.
40131         (Signal handling <signal.h>): Add strsignal.
40132         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
40133         (Core language properties): Add func.
40134         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
40135         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
40136         strings.
40137         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
40138         (Input/output): New section.
40139         (File system functions): Add openat-die, stat-macros.
40140         (Networking functions): Add sockets.
40141         (Unicode string functions): Add unictype/*.
40142         (Support for building libraries and executables): Add gperf.
40143         (Support for building documentation): Add agpl-3.0.
40144         (Misc): Add nocrash.
40145
40146 2008-05-10  Bruno Haible  <bruno@clisp.org>
40147
40148         * modules/unictype/gen-ctype: New file.
40149
40150 2008-05-10  Jim Meyering  <meyering@redhat.com>
40151
40152         Make chdir-safer.c more efficient on a system with no symlinks.
40153         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
40154         also if ELOOP is zero.  Suggested by Bruno Haible.
40155
40156         Make chdir-safer.c slightly safer.
40157         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
40158         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
40159
40160         Avoid compile failure on systems without ELOOP (like mingw).
40161         * lib/chdir-safer.c (ELOOP): Define if not already defined.
40162         Reported by Bruno Haible.
40163
40164 2008-05-10  Bruno Haible  <bruno@clisp.org>
40165
40166         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
40167         (is_utf8_encoding): Use a case-insensitive comparison.
40168         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
40169         streq.
40170
40171 2008-05-10  Bruno Haible  <bruno@clisp.org>
40172
40173         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
40174         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
40175         * lib/unilbrk/ulc-common.h (iconv_string_length,
40176         iconv_string_keeping_offsets): Remove declarations.
40177         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
40178         Don't include <iconv.h>, streq.h, xsize.h.
40179         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
40180         conversion.
40181         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
40182         <iconv.h>, streq.h, xsize.h.
40183         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
40184         conversion.
40185         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
40186         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
40187         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
40188         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
40189
40190 2008-05-10  Bruno Haible  <bruno@clisp.org>
40191
40192         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
40193         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
40194
40195         * modules/unilbrk/u32-width-linebreaks-tests: New file.
40196         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
40197
40198         * modules/unilbrk/u16-width-linebreaks-tests: New file.
40199         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
40200
40201         * modules/unilbrk/u8-width-linebreaks-tests: New file.
40202         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
40203
40204         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
40205         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
40206
40207         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
40208         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
40209
40210         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
40211         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
40212
40213         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
40214         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
40215
40216 2008-05-10  Bruno Haible  <bruno@clisp.org>
40217
40218         Split up 'linebreak' module.
40219         * lib/unilbrk.h: New file, based on lib/linebreak.h.
40220         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
40221         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
40222         modifications.
40223         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
40224         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
40225         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
40226         lib/linebreak.c.
40227         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
40228         lib/linebreak.c.
40229         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
40230         lib/linebreak.c.
40231         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
40232         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
40233         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
40234         lib/linebreak.c.
40235         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
40236         lib/linebreak.c.
40237         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
40238         lib/linebreak.c.
40239         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
40240         lib/linebreak.c.
40241         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
40242         lib/linebreak.c.
40243         * modules/unilbrk/base: New file.
40244         * modules/unilbrk/tables: New file.
40245         * modules/unilbrk/u8-possible-linebreaks: New file.
40246         * modules/unilbrk/u16-possible-linebreaks: New file.
40247         * modules/unilbrk/u32-possible-linebreaks: New file.
40248         * modules/unilbrk/ulc-common: New file.
40249         * modules/unilbrk/ulc-possible-linebreaks: New file.
40250         * modules/unilbrk/u8-width-linebreaks: New file.
40251         * modules/unilbrk/u16-width-linebreaks: New file.
40252         * modules/unilbrk/u32-width-linebreaks: New file.
40253         * modules/unilbrk/ulc-width-linebreaks: New file.
40254         * lib/linebreak.h: Remove file.
40255         * lib/linebreak.c: Remove file.
40256         * m4/linebreak.m4: Remove file.
40257         * modules/linebreak: Remove file.
40258         * NEWS: Mention the changes.
40259
40260 2008-05-09  Eric Blake  <ebb9@byu.net>
40261
40262         Add xmemdup0.
40263         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
40264         implementation.
40265         * lib/xmalloc.c (xmemdup0): New C implementation.
40266
40267 2008-05-08  Bruno Haible  <bruno@clisp.org>
40268
40269         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
40270
40271 2008-05-07  Eric Blake  <ebb9@byu.net>
40272
40273         Support cross-compilation of <wctype.h>.
40274         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
40275         AC_CACHE_CHECK.
40276
40277 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
40278
40279         * build-aux/vc-list-files: Add support for bzr.
40280
40281 2008-05-03  Jim Meyering  <meyering@redhat.com>
40282
40283         avoid failed assertion with tight malloc
40284         * tests/test-getndelim2.c: Correct an off-by-one assertion.
40285
40286 2008-05-03  Simon Josefsson  <simon@josefsson.org>
40287
40288         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
40289         are needed from arpa/inet.h.
40290         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
40291         Reported by Bruno Haible.
40292
40293 2008-05-02  Jim Meyering  <meyering@redhat.com>
40294
40295         avoid compilation error on FreeBSD 6
40296         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
40297
40298 2008-05-01  Jim Meyering  <meyering@redhat.com>
40299
40300         useless-if-before-free: correct --help's exit status description
40301         * build-aux/useless-if-before-free (usage): Like grep, exit 0
40302         for one or more matches, etc.  Reported by Bruno Haible.
40303
40304         vc-list-files: make the stand-alone gnulib test work
40305         * modules/vc-list-files-tests (configure.ac):
40306         Define and AC_SUBST abs_aux_dir.
40307         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
40308         $(abs_top_srcdir) to each script and having each of them
40309         duplicate the work of setting PATH, set PATH here, using
40310         the new variable, abs_aux_dir instead.
40311         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
40312         * tests/test-vc-list-files-git.sh: Likewise.
40313         Reported by Bruno Haible.
40314
40315 2008-05-01  Bruno Haible  <bruno@clisp.org>
40316
40317         * lib/getndelim2.c (getndelim2): Fix newsize computation during
40318         reallocation. Rename 'done' to 'found_delimiter'.
40319
40320 2008-05-01  Jim Meyering  <meyering@redhat.com>
40321
40322         vc-list-files: accommodate /bin/sh like the one from Solaris 10
40323         * build-aux/vc-list-files: Use `...`, not $(...).
40324
40325 2008-04-30  Jim Meyering  <meyering@redhat.com>
40326
40327         add tests for vc-list-files
40328         * modules/vc-list-files-tests: New module.
40329         * tests/test-vc-list-files-cvs.sh: New file.
40330         * tests/test-vc-list-files-git.sh: New file.
40331
40332         avoid a warning from gcc
40333         * lib/getndelim2.c (IF_LINT): Define.
40334         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
40335
40336         vc-list-files: work properly with build-aux/cvsu, too
40337         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
40338         to all cvs-based clauses.
40339
40340         vc-list-files: work properly in the CVS+awk case, too
40341         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
40342
40343         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
40344         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
40345         take more than one file argument, so .  Add quotes, just in case $dir
40346         ever contains a shell meta-character.  Prompted by Soren Hansen in
40347         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
40348
40349 2008-04-29  Eric Blake  <ebb9@byu.net>
40350
40351         Optimize getndelim2 to use block operations when possible.
40352         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
40353         freadseek, and memchr2.
40354         * lib/getndelim2.c (getndelim2): Use them for block reads.
40355
40356 2008-04-29  Bruno Haible  <bruno@clisp.org>
40357
40358         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
40359         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40360         * modules/inet_ntop (Depends-on): Add extensions.
40361         * modules/inet_pton (Depends-on): Likewise.
40362         Reported by Simon Josefsson.
40363
40364 2008-04-29  Jim Meyering  <meyering@redhat.com>
40365
40366         When the is more than one match in a block, match all of them.
40367         * build-aux/useless-if-before-free: Iterate through each block
40368         until there are no more matches.
40369
40370         Fix broken useless-if-before-free script.
40371         * build-aux/useless-if-before-free: Fix typo: missing "?" after
40372         the expression to match cast of argument to free-like function.
40373
40374 2008-04-29  Eric Blake  <ebb9@byu.net>
40375
40376         Use new header.
40377         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
40378
40379 2008-04-29  Jim Meyering  <meyering@redhat.com>
40380
40381         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
40382         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
40383         by gnulib to exist and to declare e.g., inet_ntop.
40384         Don't include "inet_ntop.h", now removed.
40385
40386         * m4/arpa_inet_h.m4: Remove trailing blanks.
40387
40388 2008-04-29  Eric Blake  <ebb9@byu.net>
40389
40390         Silence valgrind on safe reads beyond potential array bounds.
40391         * lib/rawmemchr.valgrind: New file.
40392         * lib/strchrnul.valgrind: Likewise.
40393         * modules/rawmemchr (Files): Distribute new file.
40394         * modules/strchrnul (Files): Likewise.
40395         Suggested by Bruno Haible.
40396
40397 2008-04-29  Bruno Haible  <bruno@clisp.org>
40398
40399         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
40400         (inet_ntop, inet_pton): Change portability warning's wording.
40401         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
40402         Invoke gl_CHECK_NEXT_HEADERS.
40403         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
40404         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
40405         set ARPA_INET_H.
40406         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40407         * modules/arpa_inet (Description): No longer only for systems that
40408         lack it.
40409         (Depends-on): Add include_next.
40410         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
40411         HAVE_ARPA_INET_H.
40412
40413 2008-04-29  Jim Meyering  <meyering@redhat.com>
40414
40415         * modules/mkdir (License): Re-license as LGPLv2+.
40416
40417 2008-04-29  Bruno Haible  <bruno@clisp.org>
40418
40419         * modules/rawmemchr (Maintainer): Set to Eric.
40420         * modules/strchrnul (Maintainer): Likewise.
40421
40422 2008-04-29  Simon Josefsson  <simon@josefsson.org>
40423
40424         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
40425         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
40426
40427         * modules/arpa_inet (arpa/inet.h): Use them.
40428
40429 2008-04-28  Eric Blake  <ebb9@byu.net>
40430
40431         Test getndelim2.
40432         * modules/getndelim2-tests: New file.
40433         * tests/test-getndelim2.c: Likewise.
40434         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
40435         stream.
40436         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
40437
40438         * MODULES.html.sh: Document new module.
40439
40440 2008-04-20  Bruno Haible  <bruno@clisp.org>
40441
40442         * lib/c-stack.c (die): Use raise.
40443         * modules/c-stack (Depends-on): Add raise.
40444
40445 2008-04-28  Bruno Haible  <bruno@clisp.org>
40446
40447         Expect rpmatch to be declared.
40448         * lib/yesno.c (rpmatch): Remove declaration.
40449
40450         Declare rpmatch.
40451         * lib/stdlib.in.h (rpmatch): New declaration.
40452         * lib/rpmatch.c: Include <stdlib.h> first.
40453         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
40454         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
40455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
40456         HAVE_RPMATCH.
40457         * modules/rpmatch (Depends-on): Add stdlib, extensions.
40458         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40459         (Include): Set to <stdlib.h>.
40460         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
40461         HAVE_RPMATCH.
40462         * NEWS: Document the change.
40463
40464 2008-04-28  Bruno Haible  <bruno@clisp.org>
40465
40466         Change rpmatch to use nl_langinfo when appropriate.
40467         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
40468         (N_): New macro.
40469         (localized_pattern): New function/macro.
40470         (try): Remove match, nomatch arguments. Copy the pattern into safe
40471         memory before caching it.
40472         (rpmatch): Use localized_pattern. Add translator comments.
40473         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
40474         Suggested by Eric Blake.
40475         * modules/rpmatch (Depends-on): Add stdbool.
40476
40477 2008-04-28  Eric Blake  <ebb9@byu.net>
40478
40479         Add rawmemchr module, matching glibc.
40480         * modules/string (Makefile.am): New indicator.
40481         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
40482         * lib/string.in.h (rawmemchr): Declare when appropriate.
40483         * modules/rawmemchr: New file.
40484         * m4/rawmemchr.m4: Likewise.
40485         * lib/rawmemchr.c: Likewise.
40486         * modules/rawmemchr-tests: Likewise.
40487         * tests/test-rawmemchr.c: Likewise.
40488         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
40489         module.
40490         * modules/strchrnul (Depends-on): Add rawmemchr.
40491         * lib/strchrnul.c (strchrnul): Optimize a corner case.
40492
40493         Whitespace cleanup.
40494         * tests/test-strchrnul.c: Reindent.
40495         * lib/strchrnul.c: Likewise.
40496
40497         Optimize and test strchrnul.
40498         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
40499         * modules/strchrnul-tests: New file.
40500         * tests/test-strchrnul.c: Likewise.
40501
40502         Remove intprops dependency.
40503         * modules/memchr (Depends-on): Remove intprops.
40504         * modules/memrchr (Depends-on): Likewise.
40505         * modules/memchr2 (Depends-on): Likewise.
40506         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
40507         * lib/memrchr.c (__memrchr): Likewise.
40508         * lib/memrchr2.c (memchr2): Likewise.
40509         Reported by Simon Josefsson.
40510
40511 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40512
40513         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
40514         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40515
40516 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40517
40518         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
40519
40520         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
40521
40522         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
40523
40524         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
40525         declarations.
40526         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
40527
40528         * m4/inet_pton.m4: Don't check for header files.
40529
40530         * m4/inet_ntop.m4: Don't check for header files.
40531
40532 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40533
40534         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
40535         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
40536         trigger for cygwin).
40537         Reported by Bruno Haible  <bruno@clisp.org>.
40538
40539 2008-04-28  Bruno Haible  <bruno@clisp.org>
40540
40541         * doc/posix-functions/strdup.texi: Mention mingw problem.
40542
40543 2008-04-27  Bruno Haible  <bruno@clisp.org>
40544
40545         * modules/stat-time-tests (Depends-on): Add sleep.
40546         * tests/test-stat-time.c (force_unlink): New function.
40547         (cleanup): Use it.
40548         (test_mtime): Remove the ctime related tests.
40549         (test_ctime): New function, containing the ctime related tests.
40550         (main): Call test_ctime, except on native Windows platforms.
40551
40552 2008-04-27  Bruno Haible  <bruno@clisp.org>
40553
40554         * lib/rpmatch.c (rpmatch): Add some comments.
40555         Reported by James Youngman <jay@gnu.org>.
40556
40557 2008-04-27  Bruno Haible  <bruno@clisp.org>
40558
40559         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
40560         quiet NaNs.
40561
40562 2008-04-27  Bruno Haible  <bruno@clisp.org>
40563
40564         Make test-yesno.sh work on mingw.
40565         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
40566         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
40567         (main): Set stdin to binary mode.
40568         * modules/yesno-tests (Depends-on): Add binary-io.
40569
40570 2008-04-27  Bruno Haible  <bruno@clisp.org>
40571
40572         Fix 'isfinite' on x86, x86_64, ia64 platforms.
40573         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
40574         argument that lie outside the IEEE 854 domain.
40575         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
40576         (gl_ISFINITE): Use it.
40577         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
40578
40579 2008-04-27  Bruno Haible  <bruno@clisp.org>
40580
40581         Allow local renaming in config.h.
40582         * lib/memrchr.c (memrchr): Don't undefine outside libc.
40583
40584 2008-04-27  Bruno Haible  <bruno@clisp.org>
40585
40586         * lib/memchr.c (__memchr): Change type of 'i'.
40587         * lib/memchr2.c (memchr2): Likewise.
40588
40589 2008-04-26  Eric Blake  <ebb9@byu.net>
40590         and Bruno Haible  <bruno@clisp.org>
40591
40592         Optimize and test memrchr.
40593         * modules/memrchr (Depends-on): Add intprops.
40594         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
40595         * modules/memrchr-tests: New file.
40596         * tests/test-memrchr.c: New file.
40597
40598 2008-04-26  Bruno Haible  <bruno@clisp.org>
40599
40600         Add tentative support for DragonFly BSD.
40601         * lib/stdio-impl.h: Add macros for DragonFly BSD.
40602         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
40603         fp.
40604         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40605         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
40606         * lib/fpurge.c (fpurge): Likewise.
40607         * lib/freadable.c (freaadable): Likewise.
40608         * lib/freadahead.c (freadahead): Likewise.
40609         * lib/freading.c (freading): Likewise.
40610         * lib/freadptr.c (freadptr): Likewise.
40611         * lib/freadseek.c (freadptrinc): Likewise.
40612         * lib/fseeko.c (fseeko): Likewise.
40613         * lib/fseterr.c (fseterr): Likewise.
40614         * lib/fwritable.c (fwritable): Likewise.
40615         * lib/fwriting.c (fwriting): Likewise.
40616
40617 2008-04-26  Bruno Haible  <bruno@clisp.org>
40618
40619         * lib/stdio-impl.h: New file.
40620         * lib/fbufmode.c: Include stdio-impl.h.
40621         (fbufmode): Use fp_, remove redundant #defines.
40622         * lib/fflush.c: Include stdio-impl.h.
40623         (clear_ungetc_buffer): Remove redundant #defines.
40624         * lib/fpurge.c: Include stdio-impl.h.
40625         (fpurge): Remove redundant #defines.
40626         * lib/freadable.c: Include stdio-impl.h.
40627         (freadable): Remove redundant #defines.
40628         * lib/freadahead.c: Include stdio-impl.h.
40629         (freadahead): Remove redundant #defines.
40630         * lib/freading.c: Include stdio-impl.h.
40631         (freading): Remove redundant #defines.
40632         * lib/freadptr.c: Include stdio-impl.h.
40633         (freadptr): Remove redundant #defines.
40634         * lib/freadseek.c: Include stdio-impl.h.
40635         (freadptrinc): Remove redundant #defines.
40636         * lib/fseeko.c: Include stdio-impl.h.
40637         (rpl_fseeko): Remove redundant #defines.
40638         * lib/fseterr.c: Include stdio-impl.h.
40639         (fseterr): Remove redundant #defines.
40640         * lib/fwritable.c: Include stdio-impl.h.
40641         (fwritable: Remove redundant #defines.
40642         * lib/fwriting.c: Include stdio-impl.h.
40643         (fwriting): Remove redundant #defines.
40644         * modules/fbufmode (Files): Add lib/stdio-impl.h.
40645         * modules/fflush (Files): Likewise.
40646         * modules/fpurge (Files): Likewise.
40647         * modules/freadable (Files): Likewise.
40648         * modules/freadahead (Files): Likewise.
40649         * modules/freading (Files): Likewise.
40650         * modules/freadptr (Files): Likewise.
40651         * modules/freadseek (Files): Likewise.
40652         * modules/fseeko (Files): Likewise.
40653         * modules/fseterr (Files): Likewise.
40654         * modules/fwritable (Files): Likewise.
40655         * modules/fwriting (Files): Likewise.
40656
40657 2008-04-26  Bruno Haible  <bruno@clisp.org>
40658
40659         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40660         restore_seek_optimization, update_fpos_cache): New functions, extracted
40661         from rpl_fflush.
40662         (rpl_fflush): Use them.
40663         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
40664         (gl_REPLACE_FFLUSH): Use it.
40665
40666 2008-04-26  Bruno Haible  <bruno@clisp.org>
40667
40668         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
40669         on Solaris.
40670         * tests/test-xstrtoimax.sh: Likewise.
40671         * tests/test-xstrtoumax.sh: Likewise.
40672         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40673
40674 2008-04-26  Bruno Haible  <bruno@clisp.org>
40675
40676         * modules/memchr-tests: New file.
40677         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
40678
40679 2008-04-26  Eric Blake  <ebb9@byu.net>
40680             Bruno Haible  <bruno@clisp.org>
40681
40682         * lib/memchr.c: Include intprops.h.
40683         (__memchr): Optimize parallel detection of matching bytes. Rename local
40684         variables. Add explanatory comments.
40685
40686 2008-04-26  Bruno Haible  <bruno@clisp.org>
40687
40688         Fix module 'memchr', broken since 2000-10-28.
40689         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
40690
40691 2008-04-26  Bruno Haible  <bruno@clisp.org>
40692
40693         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
40694         comments.
40695
40696 2008-04-25  Eric Blake  <ebb9@byu.net>
40697
40698         Use native fstatat on cygwin 1.7.0.
40699         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
40700         first.
40701
40702 2008-04-23  Eric Blake  <ebb9@byu.net>
40703
40704         Improve memchr2 performance.
40705         * lib/memchr2.c (memchr2): Further optimize parallel detection of
40706         NUL bytes.
40707         * modules/memchr2 (Depends-on): Use intprops.h.
40708
40709 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40710
40711         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
40712         an inline function instead of a CPP macro.  Patch by Ben Pfaff
40713         <blp@cs.stanford.edu>.
40714
40715 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40716
40717         * lib/arpa_inet.in.h: New file.
40718
40719         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
40720         (Makefile.am): Sed in substitute header file.
40721
40722         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
40723         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
40724
40725         * modules/inet_ntop (configure.ac): Use
40726         gl_ARPA_INET_MODULE_INDICATOR.
40727
40728         * modules/inet_pton (configure.ac): Use
40729         gl_ARPA_INET_MODULE_INDICATOR.
40730
40731 2008-04-22  Jim Meyering  <meyering@redhat.com>
40732
40733         * modules/verify (License): Re-license as LGPLv2+.
40734
40735 2008-04-22  Simon Josefsson  <simon@josefsson.org>
40736
40737         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
40738         parameter to void* as per POSIX standard (MinGW uses char*).
40739
40740 2008-04-21  Bruno Haible  <bruno@clisp.org>
40741
40742         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
40743         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
40744         Define to replacements if REPLACE_ISWCNTRL is 1.
40745         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
40746         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
40747         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
40748         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
40749         what it fixes.
40750         * doc/posix-functions/iswalpha.texi: Likewise.
40751         * doc/posix-functions/iswblank.texi: Likewise.
40752         * doc/posix-functions/iswcntrl.texi: Likewise.
40753         * doc/posix-functions/iswdigit.texi: Likewise.
40754         * doc/posix-functions/iswgraph.texi: Likewise.
40755         * doc/posix-functions/iswlower.texi: Likewise.
40756         * doc/posix-functions/iswprint.texi: Likewise.
40757         * doc/posix-functions/iswpunct.texi: Likewise.
40758         * doc/posix-functions/iswspace.texi: Likewise.
40759         * doc/posix-functions/iswupper.texi: Likewise.
40760         * doc/posix-functions/iswxdigit.texi: Likewise.
40761         Reported by Alain Guibert.
40762
40763 2008-04-21  Bruno Haible  <bruno@clisp.org>
40764
40765         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
40766         Patch by Alain Guibert.
40767
40768 2008-04-21  Bruno Haible  <bruno@clisp.org>
40769
40770         Fix test failures on mingw.
40771         * tests/test-xstrtol.c (print_no_progname): New function.
40772         (main): Install it in error_print_progname hook.
40773         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
40774         * tests/test-xstrtoimax.sh: Likewise.
40775         * tests/test-xstrtoumax.sh: Likewise.
40776
40777 2008-04-21  Bruno Haible  <bruno@clisp.org>
40778
40779         Fix test failure on mingw.
40780         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
40781
40782 2008-04-21  Bruno Haible  <bruno@clisp.org>
40783
40784         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
40785         Actually assign a value.
40786
40787 2008-04-20  Bruno Haible  <bruno@clisp.org>
40788
40789         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
40790         take 2.
40791         * lib/canonicalize.c (canonicalize_file_name): Elide if the
40792         'canonicalize-lgpl' module is also used.
40793         * lib/canonicalize-lgpl.c: Undo last change.
40794         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
40795
40796 2008-04-20  Bruno Haible  <bruno@clisp.org>
40797
40798         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
40799         config.h. Provide _mkdir based fallback for mingw.
40800         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
40801         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
40802         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
40803         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
40804         rather than defining mkdir in config.h.
40805         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
40806         (gl_SYS_STAT_H_DEFAULTS): New macro.
40807         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
40808         HAVE_IO_H any more.
40809         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
40810         HAVE_DECL_MKDIR and HAVE_IO_H.
40811
40812 2008-04-20  Bruno Haible  <bruno@clisp.org>
40813
40814         * lib/isapipe.c: Port to native Windows platforms.
40815
40816 2008-04-20  Bruno Haible  <bruno@clisp.org>
40817
40818         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
40819
40820 2008-04-21  Eric Blake  <ebb9@byu.net>
40821
40822         Work around preprocessors that don't handle UINTMAX_MAX.
40823         * lib/memchr2.c (memchr2): Avoid embedded #if.
40824         Reported by Alain Guibert, fix suggested by Bruno Haible.
40825
40826 2008-04-21  Simon Josefsson  <simon@josefsson.org>
40827
40828         * doc/posix-functions/strftime.texi (strftime): Explain better
40829         Windows incompatibility.  Suggested by Micah Cowan
40830         <micah@cowan.name>.
40831
40832 2008-04-20  Bruno Haible  <bruno@clisp.org>
40833
40834         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
40835         unistr/u8-mblen.
40836
40837 2008-04-20  Bruno Haible  <bruno@clisp.org>
40838
40839         Fix test failure on platforms with non-GNU iconv.
40840         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
40841         (U_TO_U8): Use it, rather than u16_to_u8.
40842         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
40843         units at the end of the input string.
40844         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
40845
40846 2008-04-20  Bruno Haible  <bruno@clisp.org>
40847
40848         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
40849         when the resulting length is 0.
40850         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
40851
40852 2008-04-20  Bruno Haible  <bruno@clisp.org>
40853
40854         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
40855         works.
40856         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
40857
40858 2008-04-20  Bruno Haible  <bruno@clisp.org>
40859
40860         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
40861         * modules/tsearch-tests (configure.ac): Test for initstate function.
40862
40863 2008-04-20  Bruno Haible  <bruno@clisp.org>
40864
40865         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
40866         for nlink_t if missing.
40867         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
40868
40869 2008-04-19  Bruno Haible  <bruno@clisp.org>
40870
40871         Work around snprintf bug on Linux libc5.
40872         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
40873         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40874         gl_SNPRINTF_SIZE1.
40875         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40876         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
40877         that test failed.
40878         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
40879         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
40880         * modules/snprintf (Files): Add m4/printf.m4.
40881         * modules/vsnprintf (Files): Likewise.
40882         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
40883         * doc/posix-functions/vsnprintf.texi: Likewise.
40884
40885 2008-04-19  Bruno Haible  <bruno@clisp.org>
40886
40887         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
40888         from 0.0058 to less than 10^-7.
40889
40890 2008-04-19  Bruno Haible  <bruno@clisp.org>
40891
40892         Fix rounding when a precision is given.
40893         * lib/vasnprintf.c (is_borderline): New function.
40894         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
40895         9...9x.
40896         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
40897         %e, %g.
40898         * tests/test-vasprintf-posix.c (test_function): Likewise.
40899         * tests/test-snprintf-posix.h (test_function): Likewise.
40900         * tests/test-sprintf-posix.h (test_function): Likewise.
40901         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
40902         * tests/test-printf-posix.h (test_function): Likewise.
40903         * tests/test-printf-posix.output: Update.
40904         Reported by John Darrington <john@darrington.wattle.id.au> via
40905         Ben Pfaff <blp@cs.stanford.edu>.
40906
40907 2008-04-18  Simon Josefsson  <simon@josefsson.org>
40908
40909         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
40910         Suggested by Bruno Haible <bruno@clisp.org>.
40911
40912 2008-04-17  Bruno Haible  <bruno@clisp.org>
40913
40914         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
40915         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
40916         implementation.
40917         Patch by Bruce Merry <bmerry@gmail.com>.
40918
40919 2008-04-17  Simon Josefsson  <simon@josefsson.org>
40920
40921         * doc/posix-functions/strftime.texi (strftime): Mention that %e
40922         doesn't work under Windows.
40923
40924 2008-04-16  Bruno Haible  <bruno@clisp.org>
40925
40926         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
40927         New macros.
40928         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
40929         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
40930         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
40931         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
40932         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
40933         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
40934         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
40935         macros.
40936         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
40937         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
40938         Northern Sotho, Uighur.
40939
40940 2008-04-16  Bruno Haible  <bruno@clisp.org>
40941
40942         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
40943         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
40944         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
40945         Reported by Daniel Bergström <daniel@octocode.com>.
40946
40947 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
40948             Bruno Haible  <bruno@clisp.org>
40949
40950         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
40951         function.
40952         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
40953         New functions, mostly extracted from gl_locale_name_default.
40954         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
40955
40956 2008-04-16  Eric Blake  <ebb9@byu.net>
40957
40958         Adjust strtod detection to catch glibc 2.7 bug.
40959         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
40960         Reported by John Gatewood Ham.
40961
40962 2008-04-16  Bruno Haible  <bruno@clisp.org>
40963
40964         Add tentative support for Linux libc5.
40965         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
40966         * lib/fpurge.c (fpurge): Likewise.
40967         * lib/freadable.c (freadable): Likewise.
40968         * lib/freadahead.c (freadahead): Likewise.
40969         * lib/freading.c (freading): Likewise.
40970         * lib/freadptr.c (freadptr): Likewise.
40971         * lib/freadseek.c (freadptrinc): Likewise.
40972         * lib/fseeko.c (rpl_fseeko): Likewise.
40973         * lib/fseterr.c (fseterr): Likewise.
40974         * lib/fwritable.c (fwritable): Likewise.
40975         * lib/fwriting.c (fwriting): Likewise.
40976         Reported by Alain Guibert <alguibert+bts@free.fr>.
40977
40978 2008-04-15  Bruno Haible  <bruno@clisp.org>
40979
40980         * modules/mathl (configure.ac): Define module indicator.
40981
40982 2008-04-15  Bruno Haible  <bruno@clisp.org>
40983
40984         * lib/logl.c (logl): Remove unused variables.
40985
40986 2008-04-15  Bruno Haible  <bruno@clisp.org>
40987
40988         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
40989         fails.
40990
40991 2008-04-15  Bruno Haible  <bruno@clisp.org>
40992
40993         * lib/trim.c (trim2): Fix argument of isspace() macro.
40994
40995 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
40996
40997         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
40998         to 0.
40999         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
41000
41001 2008-04-14  Bruno Haible  <bruno@clisp.org>
41002
41003         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
41004         AC_LANG_PROGRAM argument.
41005         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
41006         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
41007         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41008         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
41009         * m4/math_h.m4 (gl_MATH_H): Likewise.
41010         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
41011         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41012         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
41013         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
41014         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
41015         * m4/regex.m4 (gl_REGEX): Likewise.
41016         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
41017         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
41018         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41019         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
41020         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
41021         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41022         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41023         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
41024
41025 2008-04-14  Jim Meyering  <meyering@redhat.com>
41026
41027         test-strtod: fix typos: s/abs/fabs/
41028         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
41029
41030 2008-04-13  Bruno Haible  <bruno@clisp.org>
41031
41032         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
41033         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
41034         module is also used and while not building the reloc-wrapper.
41035
41036 2008-04-13  Bruno Haible  <bruno@clisp.org>
41037
41038         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
41039
41040 2008-04-13  Bruno Haible  <bruno@clisp.org>
41041
41042         Fix AIX compilation failure introduced on 2008-04-02.
41043         * tests/test-frexp.c (exp): Undefine before redefining.
41044         * tests/test-frexpl.c (exp): Likewise.
41045
41046 2008-04-13  Bruno Haible  <bruno@clisp.org>
41047
41048         Work around a HP-UX stdio bug.
41049         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
41050         * tests/test-ftello.c (main): Likewise.
41051         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
41052         * doc/posix-functions/ftello.texi: Likewise.
41053
41054 2008-04-13  Bruno Haible  <bruno@clisp.org>
41055
41056         Make test-signbit pass on HP-UX/hppa.
41057         * tests/test-signbit.c (minus_zerol): New variable.
41058         (test_signbitl): Use it.
41059
41060 2008-04-13  Bruno Haible  <bruno@clisp.org>
41061
41062         Make truncl work on OSF/1 4.0.
41063         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
41064         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41065         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41066         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
41067         HAVE_DECL_TRUNCL.
41068         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
41069         HAVE_DECL_TRUNCL.
41070         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
41071
41072 2008-04-13  Bruno Haible  <bruno@clisp.org>
41073
41074         * lib/unictype.h: Remove trailing comma from enumeration definitions.
41075
41076 2008-04-13  Bruno Haible  <bruno@clisp.org>
41077
41078         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
41079         expression, so as to avoid HP-UX 11 cc compiler bug.
41080
41081 2008-04-13  Bruno Haible  <bruno@clisp.org>
41082
41083         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
41084
41085 2008-04-13  Bruno Haible  <bruno@clisp.org>
41086
41087         * lib/git-merge-changelog.c: Remove empty declaration outside of
41088         functions.
41089
41090 2008-04-13  Bruno Haible  <bruno@clisp.org>
41091
41092         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
41093
41094 2008-04-13  Bruno Haible  <bruno@clisp.org>
41095
41096         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
41097         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
41098         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
41099         also if it exists but lacks definitions of the SHUT_* macros.
41100         * modules/sys_socket (Description): Update.
41101         Reported by Elbert Pol <e.pol@chello.nl>.
41102
41103 2008-04-13  Bruno Haible  <bruno@clisp.org>
41104
41105         * lib/localcharset.c (OS2): Don't redefine if already defined.
41106         Reported by Elbert Pol <e.pol@chello.nl>.
41107
41108 2008-04-13  Bruno Haible  <bruno@clisp.org>
41109
41110         * lib/binary-io.h [__EMX__]: Include <io.h>.
41111         Reported by Elbert Pol <e.pol@chello.nl>.
41112
41113 2008-04-12  Bruno Haible  <bruno@clisp.org>
41114
41115         * lib/fpucw.h: Enable the definitions also for x86_64.
41116         Needed for NetBSD/x86_64.
41117         Reported by Thomas Klausner <tk@giga.or.at>.
41118
41119 2008-04-12  Bruno Haible  <bruno@clisp.org>
41120
41121         * tests/test-strtod.c: Include isnand.h.
41122         (main): Use isnand instead of isnan.
41123         Reported by Jim Meyering.
41124
41125 2008-04-12  Bruno Haible  <bruno@clisp.org>
41126
41127         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
41128         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
41129
41130 2008-04-12  Jim Meyering  <meyering@redhat.com>
41131
41132         * m4/math_h.m4 (gl_MATH_H): Fix typos.
41133
41134 2008-04-12  Bruno Haible  <bruno@clisp.org>
41135
41136         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
41137         Reported by Elbert Pol <e.pol@chello.nl>.
41138
41139 2008-04-12  Eric Blake  <ebb9@byu.net>
41140
41141         Work around Solaris 10 math.h bug.
41142         * m4/math_h.m4 (gl_MATH_H): Check for bug.
41143         (gl_MATH_H_DEFAULTS): Set up default.
41144         * modules/math (Makefile.am): Replace new indicators.
41145         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
41146         * tests/test-math.c (main): Test this.
41147         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
41148         * doc/posix-headers/math.texi (math.h): Mention bug.
41149         Reported by Nelson H. F. Beebe and Jim Meyering.
41150
41151 2008-04-11  Bruno Haible  <bruno@clisp.org>
41152
41153         Adapt to future versions of Apple GCC.
41154         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
41155         Reported by Peter O'Gorman <peter@pogma.com>.
41156
41157 2008-04-11  Bruno Haible  <bruno@clisp.org>
41158
41159         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
41160
41161 2008-04-11  Bruno Haible  <bruno@clisp.org>
41162
41163         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
41164
41165         * modules/getaddrinfo-tests (Makefile.am): Define
41166         test_getaddrinfo_LDADD.
41167
41168 2008-04-11  Bruno Haible  <bruno@clisp.org>
41169
41170         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
41171         (init): Fix syntax error.
41172         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
41173         is declared.
41174
41175 2008-04-11  Bruno Haible  <bruno@clisp.org>
41176
41177         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
41178         * modules/glob (Depends-on): Add stdbool.
41179
41180 2008-04-11  Bruno Haible  <bruno@clisp.org>
41181
41182         * lib/trim.c: Include <string.h>.
41183
41184 2008-04-11  Eric Blake  <ebb9@byu.net>
41185
41186         Avoid compile failure on OS/2.
41187         * lib/regex_internal.h (internal_function): Disable optimization
41188         on OS/2 (__EMX__), where it caused compiler error.
41189         Reported by Elbert Pol.
41190
41191 2008-04-11  Bruno Haible  <bruno@clisp.org>
41192
41193         Flush the standard error stream before aborting. Needed on mingw.
41194         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
41195         * tests/test-array_list.c (ASSERT): Likewise.
41196         * tests/test-array_oset.c (ASSERT): Likewise.
41197         * tests/test-avltree_list.c (ASSERT): Likewise.
41198         * tests/test-avltree_oset.c (ASSERT): Likewise.
41199         * tests/test-avltreehash_list.c (ASSERT): Likewise.
41200         * tests/test-binary-io.c (ASSERT): Likewise.
41201         * tests/test-byteswap.c (ASSERT): Likewise.
41202         * tests/test-c-ctype.c (ASSERT): Likewise.
41203         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
41204         * tests/test-c-strcasestr.c (ASSERT): Likewise.
41205         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
41206         * tests/test-c-strstr.c (ASSERT): Likewise.
41207         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
41208         * tests/test-canonicalize.c (ASSERT): Likewise.
41209         * tests/test-carray_list.c (ASSERT): Likewise.
41210         * tests/test-ceilf1.c (ASSERT): Likewise.
41211         * tests/test-ceilf2.c (ASSERT): Likewise.
41212         * tests/test-ceill.c (ASSERT): Likewise.
41213         * tests/test-count-one-bits.c (ASSERT): Likewise.
41214         * tests/test-fbufmode.c (ASSERT): Likewise.
41215         * tests/test-fflush2.c (ASSERT): Likewise.
41216         * tests/test-floorf1.c (ASSERT): Likewise.
41217         * tests/test-floorf2.c (ASSERT): Likewise.
41218         * tests/test-floorl.c (ASSERT): Likewise.
41219         * tests/test-fopen.c (ASSERT): Likewise.
41220         * tests/test-fpending.c (ASSERT): Likewise.
41221         * tests/test-fprintf-posix.c (ASSERT): Likewise.
41222         * tests/test-fpurge.c (ASSERT): Likewise.
41223         * tests/test-freadable.c (ASSERT): Likewise.
41224         * tests/test-freadahead.c (ASSERT): Likewise.
41225         * tests/test-freading.c (ASSERT): Likewise.
41226         * tests/test-freadptr.c (ASSERT): Likewise.
41227         * tests/test-freadptr2.c (ASSERT): Likewise.
41228         * tests/test-freadseek.c (ASSERT): Likewise.
41229         * tests/test-freopen.c (ASSERT): Likewise.
41230         * tests/test-frexp.c (ASSERT): Likewise.
41231         * tests/test-frexpl.c (ASSERT): Likewise.
41232         * tests/test-fseek.c (ASSERT): Likewise.
41233         * tests/test-fseeko.c (ASSERT): Likewise.
41234         * tests/test-fstrcmp.c (ASSERT): Likewise.
41235         * tests/test-ftell.c (ASSERT): Likewise.
41236         * tests/test-ftello.c (ASSERT): Likewise.
41237         * tests/test-func.c (ASSERT): Likewise.
41238         * tests/test-fwritable.c (ASSERT): Likewise.
41239         * tests/test-fwriting.c (ASSERT): Likewise.
41240         * tests/test-getdelim.c (ASSERT): Likewise.
41241         * tests/test-getline.c (ASSERT): Likewise.
41242         * tests/test-i-ring.c (ASSERT): Likewise.
41243         * tests/test-iconv-utf.c (ASSERT): Likewise.
41244         * tests/test-iconv.c (ASSERT): Likewise.
41245         * tests/test-isfinite.c (ASSERT): Likewise.
41246         * tests/test-isnand.c (ASSERT): Likewise.
41247         * tests/test-isnanf.c (ASSERT): Likewise.
41248         * tests/test-isnanl.h (ASSERT): Likewise.
41249         * tests/test-ldexpl.c (ASSERT): Likewise.
41250         * tests/test-linked_list.c (ASSERT): Likewise.
41251         * tests/test-linkedhash_list.c (ASSERT): Likewise.
41252         * tests/test-localename.c (ASSERT): Likewise.
41253         * tests/test-lseek.c (ASSERT): Likewise.
41254         * tests/test-mbscasecmp.c (ASSERT): Likewise.
41255         * tests/test-mbscasestr1.c (ASSERT): Likewise.
41256         * tests/test-mbscasestr2.c (ASSERT): Likewise.
41257         * tests/test-mbscasestr3.c (ASSERT): Likewise.
41258         * tests/test-mbscasestr4.c (ASSERT): Likewise.
41259         * tests/test-mbschr.c (ASSERT): Likewise.
41260         * tests/test-mbscspn.c (ASSERT): Likewise.
41261         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
41262         * tests/test-mbspbrk.c (ASSERT): Likewise.
41263         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
41264         * tests/test-mbsrchr.c (ASSERT): Likewise.
41265         * tests/test-mbsspn.c (ASSERT): Likewise.
41266         * tests/test-mbsstr1.c (ASSERT): Likewise.
41267         * tests/test-mbsstr2.c (ASSERT): Likewise.
41268         * tests/test-mbsstr3.c (ASSERT): Likewise.
41269         * tests/test-memchr2.c (ASSERT): Likewise.
41270         * tests/test-memmem.c (ASSERT): Likewise.
41271         * tests/test-open.c (ASSERT): Likewise.
41272         * tests/test-printf-frexp.c (ASSERT): Likewise.
41273         * tests/test-printf-frexpl.c (ASSERT): Likewise.
41274         * tests/test-printf-posix.c (ASSERT): Likewise.
41275         * tests/test-quotearg.c (ASSERT): Likewise.
41276         * tests/test-rbtree_list.c (ASSERT): Likewise.
41277         * tests/test-rbtree_oset.c (ASSERT): Likewise.
41278         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
41279         * tests/test-round1.c (ASSERT): Likewise.
41280         * tests/test-roundf1.c (ASSERT): Likewise.
41281         * tests/test-roundl.c (ASSERT): Likewise.
41282         * tests/test-signbit.c (ASSERT): Likewise.
41283         * tests/test-sleep.c (ASSERT): Likewise.
41284         * tests/test-snprintf-posix.c (ASSERT): Likewise.
41285         * tests/test-snprintf.c (ASSERT): Likewise.
41286         * tests/test-sprintf-posix.c (ASSERT): Likewise.
41287         * tests/test-stat-time.c (ASSERT): Likewise.
41288         * tests/test-strcasestr.c (ASSERT): Likewise.
41289         * tests/test-strerror.c (ASSERT): Likewise.
41290         * tests/test-striconv.c (ASSERT): Likewise.
41291         * tests/test-striconveh.c (ASSERT): Likewise.
41292         * tests/test-striconveha.c (ASSERT): Likewise.
41293         * tests/test-strsignal.c (ASSERT): Likewise.
41294         * tests/test-strstr.c (ASSERT): Likewise.
41295         * tests/test-strtod.c (ASSERT): Likewise.
41296         * tests/test-trunc1.c (ASSERT): Likewise.
41297         * tests/test-trunc2.c (ASSERT): Likewise.
41298         * tests/test-truncf1.c (ASSERT): Likewise.
41299         * tests/test-truncf2.c (ASSERT): Likewise.
41300         * tests/test-truncl.c (ASSERT): Likewise.
41301         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
41302         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
41303         * tests/test-vasnprintf.c (ASSERT): Likewise.
41304         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
41305         * tests/test-vasprintf.c (ASSERT): Likewise.
41306         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
41307         * tests/test-vprintf-posix.c (ASSERT): Likewise.
41308         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
41309         * tests/test-vsnprintf.c (ASSERT): Likewise.
41310         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
41311         * tests/test-wcwidth.c (ASSERT): Likewise.
41312         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
41313         * tests/test-xprintf-posix.c (ASSERT): Likewise.
41314         * tests/test-xvasprintf.c (ASSERT): Likewise.
41315         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
41316         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
41317         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
41318         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
41319         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
41320         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
41321         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
41322         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
41323         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
41324         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
41325         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
41326         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
41327         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
41328         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
41329         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
41330         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
41331         * tests/unictype/test-block_list.c (ASSERT): Likewise.
41332         * tests/unictype/test-block_of.c (ASSERT): Likewise.
41333         * tests/unictype/test-block_test.c (ASSERT): Likewise.
41334         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
41335         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
41336         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
41337         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
41338         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
41339         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
41340         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
41341         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
41342         * tests/unictype/test-combining.c (ASSERT): Likewise.
41343         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
41344         * tests/unictype/test-digit.c (ASSERT): Likewise.
41345         * tests/unictype/test-mirror.c (ASSERT): Likewise.
41346         * tests/unictype/test-numeric.c (ASSERT): Likewise.
41347         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
41348         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
41349         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
41350         * tests/unictype/test-scripts.c (ASSERT): Likewise.
41351         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
41352         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
41353         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
41354         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
41355         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
41356         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
41357         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
41358         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
41359         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
41360         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
41361         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
41362         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
41363         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
41364         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
41365         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
41366         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
41367         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
41368         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
41369         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
41370         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
41371         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
41372         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
41373         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
41374         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
41375         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
41376         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
41377         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
41378         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
41379         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
41380         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
41381         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
41382         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
41383         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
41384         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
41385         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
41386         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
41387         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
41388         Reported by Eric Blake.
41389
41390 2008-04-11  Bruno Haible  <bruno@clisp.org>
41391
41392         * lib/wchar.in.h: Tweak comment.
41393
41394 2008-04-11  Bruno Haible  <bruno@clisp.org>
41395
41396         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
41397         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
41398         gl_COMMON.
41399         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
41400
41401 2008-04-11  Bruno Haible  <bruno@clisp.org>
41402
41403         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
41404
41405 2008-04-11  Simon Josefsson  <simon@josefsson.org>
41406
41407         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
41408         of attempting to use non-existing /dev/*random.  Based on patch
41409         from Adam Strzelecki <ono@java.pl> in
41410         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
41411
41412 2008-04-08  Bruno Haible  <bruno@clisp.org>
41413
41414         Add tentative support for emx+gcc.
41415         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
41416         * lib/fpurge.c (fpurge): Likewise.
41417         * lib/freadable.c (freadable): Likewise.
41418         * lib/freadahead.c (freadahead): Likewise.
41419         * lib/freading.c (freading): Likewise.
41420         * lib/freadptr.c (freadptr): Likewise.
41421         * lib/freadseek.c (freadptrinc): Likewise.
41422         * lib/fseeko.c (rpl_fseeko): Likewise.
41423         * lib/fseterr.c (fseterr): Likewise.
41424         * lib/fwritable.c (fwritable): Likewise.
41425         * lib/fwriting.c (fwriting): Likewise.
41426         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
41427
41428 2008-04-09  Eric Blake  <ebb9@byu.net>
41429
41430         Avoid some autoconf warnings.
41431         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
41432         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
41433         * m4/afs.m4 (gl_AFS): Likewise.
41434         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
41435         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
41436         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41437         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
41438         (gl_INTEGER_TYPE_SUFFIX): Likewise.
41439         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
41440         (AC_CHECK_DECLS_ONCE): Likewise.
41441         Rename file...
41442         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
41443         gnulib-tool requires autoconf 2.59 or better.
41444         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
41445
41446 2008-04-08  Eric Blake  <ebb9@byu.net>
41447
41448         Use 'git describe --match' if present (added in git 1.5.5).
41449         * build-aux/git-version-gen: Limit result to tags that match 'v*'
41450         if possible.
41451
41452 2008-04-08  Bruno Haible  <bruno@clisp.org>
41453
41454         Add tentative support for OpenServer.
41455         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
41456         _ptr, _cnt.
41457         * lib/fpurge.c (fpurge): Likewise.
41458         * lib/freadable.c (freadable): Likewise.
41459         * lib/freadahead.c (freadahead): Likewise.
41460         * lib/freading.c (freading): Likewise.
41461         * lib/freadptr.c (freadptr): Likewise.
41462         * lib/freadseek.c (freadptrinc): Likewise.
41463         * lib/fseeko.c (rpl_fseeko): Likewise.
41464         * lib/fseterr.c (fseterr): Likewise.
41465         * lib/fwritable.c (fwritable): Likewise.
41466         * lib/fwriting.c (fwriting): Likewise.
41467         Reported by Roger Cornelius <rac@tenzing.org> and
41468         Brian K. White <brian@aljex.com>.
41469
41470 2008-04-06  Jim Meyering  <meyering@redhat.com>
41471
41472         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
41473
41474 2008-04-06  Bruno Haible  <bruno@clisp.org>
41475
41476         Avoid possible error with non-ASCII bytes in UTF-8 locales.
41477         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
41478         * tests/test-printf-posix.sh: Likewise.
41479         * tests/test-vfprintf-posix.sh: Likewise.
41480         * tests/test-vprintf-posix.sh: Likewise.
41481         * tests/test-xprintf-posix.sh: Likewise.
41482
41483 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41484
41485         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
41486         hide error from 'ls', needed on OS/2.
41487         Report by Elbert Pol <elbert.pol@gmail.com>.
41488
41489 2008-04-04  Eric Blake  <ebb9@byu.net>
41490
41491         Make test-fseeko.c failures meaningful.
41492         * tests/test-fseeko.c: Print line number on failure.
41493         * tests/test-fseek.c: Likewise.
41494         Reported by Nelson H. F. Beebe.
41495
41496         Improve strtod bug detection check.
41497         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
41498         required for Solaris 10.
41499         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
41500
41501 2008-04-04  Bruno Haible  <bruno@clisp.org>
41502
41503         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
41504         by m4/setenv.m4.
41505
41506 2008-04-03  Eric Blake  <ebb9@byu.net>
41507
41508         Ensure sane .version contents.
41509         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
41510         version string.
41511         * build-aux/git-version-gen: Improve documentation.
41512
41513         Make GNU make output nicer.
41514         * top/GNUmakefile [!_have-Makefile]: Add dependency on
41515         MAKECMDGOALS to enforce message for all command line targets.  Set
41516         srcdir for use in maint.mk.
41517
41518         Another maintainer tweak.
41519         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
41520         a target that regenerates version.
41521
41522 2008-04-03  Jim Meyering  <meyering@redhat.com>
41523
41524         vc-list-files: don't cause coreutils "make po-check" failure
41525         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
41526
41527 2008-04-03  Eric Blake  <ebb9@byu.net>
41528
41529         Allow VPATH usage of vc-list-files.
41530         * build-aux/vc-list-files (scriptversion): Add timestamp.
41531         (options): Add --help, --version, -C.
41532         (CVS): Support installed cvsu.
41533
41534 2008-04-02  Bruno Haible  <bruno@clisp.org>
41535
41536         Avoid some "statement with no effect" warnings from gcc.
41537         * tests/test-wctype.c (main): Explicitly ignore unused values.
41538         Reported by Jim Meyering.
41539
41540 2008-04-02  Jim Meyering  <meyering@redhat.com>
41541
41542         Avoid some warnings from "gcc -Wshadow".
41543         * tests/test-frexp.c (exp): Define to a different identifier.
41544         * tests/test-frexpl.c (exp): Likewise.
41545
41546 2008-04-03  Jim Meyering  <meyering@redhat.com>
41547
41548         bootstrap: remove dangling *.[ch] symlinks from lib
41549         * build-aux/bootstrap [dangling symlink removal]: Move find's
41550         -depth option to precede all others, to avoid a warning.
41551         Remove *.[ch] files too, and from "$source_base" (usually lib/).
41552
41553 2008-04-02  Bruno Haible  <bruno@clisp.org>
41554
41555         Avoid some warnings from "gcc -Wshadow".
41556         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
41557         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
41558         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
41559         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
41560         Reported by Jim Meyering.
41561
41562 2008-04-01  Bruno Haible  <bruno@clisp.org>
41563
41564         Fix test to work on IRIX 6.5 with cc.
41565         * tests/test-math.c (numeric_equal): New function.
41566         (main): Use it.
41567
41568 2008-04-01  Bruno Haible  <bruno@clisp.org>
41569
41570         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
41571
41572 2008-04-01  Bruno Haible  <bruno@clisp.org>
41573
41574         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
41575         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41576         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
41577         (Depends-on): Remove math.
41578
41579         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
41580         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41581         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
41582         (Depends-on): Remove math.
41583
41584         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
41585         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41586         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
41587         (Depends-on): Remove math.
41588         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
41589         (Depends-on): Remove math.
41590
41591         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
41592         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41593         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
41594         (Depends-on): Remove math.
41595         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
41596         (Depends-on): Remove math.
41597
41598         * tests/test-round1.c: Include nan.h.
41599         (main): Use NaNd instead of NAN.
41600         * modules/round-tests (Files): Add tests/nan.h.
41601
41602         * tests/test-trunc1.c: Include nan.h.
41603         (main): Use NaNd instead of NAN.
41604         * modules/trunc-tests (Files): Add tests/nan.h.
41605
41606         * tests/test-roundf1.c: Include nan.h.
41607         (main): Use NaNf instead of NAN.
41608         * modules/roundf-tests (Files): Add tests/nan.h.
41609
41610         * tests/test-truncf1.c: Include nan.h.
41611         (main): Use NaNf instead of NAN.
41612         * modules/truncf-tests (Files): Add tests/nan.h.
41613
41614         * tests/test-ceilf1.c: Include nan.h.
41615         (main): Use NaNf instead of NAN.
41616         * modules/ceilf-tests (Files): Add tests/nan.h.
41617
41618         * tests/test-floorf1.c: Include nan.h.
41619         (main): Use NaNf instead of NAN.
41620         * modules/floorf-tests (Files): Add tests/nan.h.
41621
41622         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
41623         (main): Use NaNf instead of NAN.
41624         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
41625
41626         * tests/test-isnand.c: Include nan.h instead of <math.h>.
41627         (main): Use NaNd instead of NAN.
41628         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
41629
41630         * tests/test-frexp.c: Include nan.h.
41631         (main): Use NaNd instead of NAN.
41632         * modules/frexp-tests (Files): Add tests/nan.h.
41633
41634         * lib/isnan.c: Don't include <math.h>.
41635         (FUNC): Don't use NAN macro.
41636         * modules/isnand-nolibm (Depends-on): Remove math.
41637         * modules/isnanf-nolibm (Depends-on): Remove math.
41638         * modules/isnanl (Depends-on): Remove math.
41639         * modules/isnanl-nolibm (Depends-on): Remove math.
41640
41641         * tests/nan.h: New file.
41642
41643 2008-04-01  Eric Blake  <ebb9@byu.net>
41644
41645         Fix typos.
41646         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
41647         values to be the right type.
41648
41649         For now, cater to gnulib strtod inaccuracies.
41650         * tests/test-strtod.c (main): Allow 1-ulp error on expected
41651         fractional results.  While not as nice from a QoI perspective, it
41652         is a quicker patch than correctly implementing decimal to binary
41653         rounding.
41654
41655 2008-03-31  Eric Blake  <ebb9@byu.net>
41656
41657         Guarantee a definition of NAN.
41658         * lib/math.in.h (NAN): Define if missing.
41659         * tests/test-math.c (main): Test it.
41660         * doc/posix-headers/math.texi (math.h): Document this.
41661         * lib/isnan.c (rpl_isnand): Use it.
41662         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
41663         * tests/test-floorf1.c (NaN): Likewise.
41664         * tests/test-frexp.c (NaN): Likewise.
41665         * tests/test-isnand.c (NaN): Likewise.
41666         * tests/test-isnanf.c (NaN): Likewise.
41667         * tests/test-round1.c (NaN): Likewise.
41668         * tests/test-roundf1.c (NaN): Likewise.
41669         * tests/test-snprintf-posix.h (NaN): Likewise.
41670         * tests/test-sprintf-posix.h (NaN): Likewise.
41671         * tests/test-trunc1.c (NaN): Likewise.
41672         * tests/test-truncf1.c (NaN): Likewise.
41673         * tests/test-vasnprintf-posix.c (NaN): Likewise.
41674         * tests/test-vasprintf-posix.c (NaN): Likewise.
41675         * modules/isnand-nolibm (Depends-on): Add math.
41676         * modules/isnanf-nolibm (Depends-on): Likewise.
41677         * modules/isnanl (Depends-on): Likewise.
41678         * modules/isnanl-nolibm (Depends-on): Likewise.
41679         * modules/snprintf-posix-tests (Depends-on): Likewise.
41680         * modules/sprintf-posix-tests (Depends-on): Likewise.
41681         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
41682         * modules/vsprintf-posix-tests (Depends-on): Likewise.
41683         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
41684         * modules/vasprintf-posix-tests (Depends-on): Likewise.
41685
41686 2008-03-31  Bruno Haible  <bruno@clisp.org>
41687
41688         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
41689         * doc/posix-functions/strtod.texi: Likewise.
41690
41691 2008-03-31  Bruno Haible  <bruno@clisp.org>
41692
41693         * tests/test-strtod.c (main): Don't use C99 syntax.
41694
41695 2008-03-31  Bruno Haible  <bruno@clisp.org>
41696
41697         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
41698         Reported by Eric Blake.
41699
41700 2008-03-31  Jim Meyering  <meyering@redhat.com>
41701
41702         Don't compare actual signbit return values.
41703         * tests/test-strtod.c (main): Rather, compare only their
41704         zero/non-zero nature.
41705
41706 2008-03-31  Eric Blake  <ebb9@byu.net>
41707
41708         More strtod documentation.
41709         * doc/posix-functions/strtod.texi (strtod): Interpret more test
41710         failures as distinct bugs.
41711
41712 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41713
41714         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
41715         Problem reported by Erik Benada in
41716         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
41717
41718 2008-03-30  Bruno Haible  <bruno@clisp.org>
41719
41720         * tests/test-strtod.c: Add comments about which assertion fails on which
41721         platform.
41722         * doc/posix-functions/strtod.texi: Add info about many more platforms.
41723
41724 2008-03-30  Eric Blake  <ebb9@byu.net>
41725
41726         Test signbit behavior on zeros.
41727         * tests/test-signbit.c (test_signbitf): Add tests for zero.
41728         (test_signbitd, test_signbitl): Likewise.
41729
41730         More strtod touchups.
41731         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
41732         sign of negative underflow, for now.  Use .5, not .1.
41733         * doc/posix-functions/strtod.texi (strtod): Mention these
41734         limitations.
41735         Reported by Jim Meyering.
41736
41737 2008-03-30  Bruno Haible  <bruno@clisp.org>
41738
41739         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
41740         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
41741
41742 2008-03-30  Bruno Haible  <bruno@clisp.org>
41743
41744         Avoid failure when attempting to return empty iconv results on some
41745         platforms.
41746         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
41747         allocation, don't report ENOMEM when the resulting string is empty.
41748
41749 2008-03-30  Bruno Haible  <bruno@clisp.org>
41750
41751         Fix buffer overrun.
41752         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
41753         Don't consider the width for tmp_length. Check count against tmp_length
41754         before doing the padding. Ensure enough allocation during padding.
41755
41756 2008-03-30  Eric Blake  <ebb9@byu.net>
41757
41758         strtod touchups.
41759         * lib/strtod.c (strtod): Avoid compiler warnings.
41760         Reported by Jim Meyering.
41761
41762 2008-03-30  Bruno Haible  <bruno@clisp.org>
41763
41764         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
41765         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
41766         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
41767         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
41768         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
41769         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
41770         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
41771         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
41772
41773         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
41774         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
41775         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
41776         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
41777         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
41778         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
41779         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
41780         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
41781
41782         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
41783         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
41784         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
41785         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
41786         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
41787         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
41788         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
41789         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
41790
41791         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
41792         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
41793
41794         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
41795         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
41796
41797         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
41798         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
41799
41800         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
41801         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
41802         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
41803
41804         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
41805         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
41806         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
41807
41808         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
41809         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
41810         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
41811
41812         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
41813         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
41814         * modules/vasprintf (Depends-on): Add EOVERFLOW.
41815
41816         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
41817         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
41818         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
41819         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
41820         (Depends-on): Add EOVERFLOW.
41821         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
41822         (Depends-on): Add EOVERFLOW.
41823         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41824         (Depends-on): Add EOVERFLOW.
41825         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41826         (Depends-on): Add EOVERFLOW.
41827         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41828         (Depends-on): Add EOVERFLOW.
41829         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41830         (Depends-on): Add EOVERFLOW.
41831         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41832         (Depends-on): Add EOVERFLOW.
41833         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41834         (Depends-on): Add EOVERFLOW.
41835
41836         * lib/sprintf.c (EOVERFLOW): Remove fallback.
41837         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
41838         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
41839
41840         * lib/snprintf.c (EOVERFLOW): Remove fallback.
41841         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
41842         * modules/snprintf (Depends-on): Add EOVERFLOW.
41843
41844         * lib/poll.c (EOVERFLOW): Remove fallback.
41845         * modules/poll (Depends-on): Add EOVERFLOW.
41846
41847         * lib/getugroups.c (EOVERFLOW): Remove fallback.
41848         * modules/getugroups (Depends-on): Add EOVERFLOW.
41849
41850         * lib/getdelim.c (EOVERFLOW): Remove fallback.
41851         * modules/getdelim (Depends-on): Add EOVERFLOW.
41852
41853         * lib/ftell.c (EOVERFLOW): Remove fallback.
41854         * modules/ftell (Depends-on): Add EOVERFLOW.
41855
41856         * lib/fprintf.c (EOVERFLOW): Remove fallback.
41857         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
41858         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
41859
41860         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
41861
41862         * modules/EOVERFLOW-tests: New file.
41863         * tests/test-EOVERFLOW.c: New file.
41864
41865         * modules/EOVERFLOW: New file.
41866         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
41867
41868 2008-03-30  Bruno Haible  <bruno@clisp.org>
41869
41870         Fix bug introduced on 2007-06-10.
41871         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
41872         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
41873
41874 2008-03-30  Bruno Haible  <bruno@clisp.org>
41875
41876         Improve freadseek's efficiency after ungetc.
41877         * lib/freadseek.c: Include freadahead.h.
41878         (freadptrinc): New function, extracted from freadseek.
41879         (freadseek): Use it in a loop. Use freadahead to determine the number
41880         of loop iterations.
41881         * modules/freadseek (Depends-on): Add freadahead.
41882         (configure.ac): Require AC_C_INLINE.
41883
41884 2008-03-30  Bruno Haible  <bruno@clisp.org>
41885
41886         * lib/freadseek.c (freadseek): Don't ignore the return value of
41887         freadptr.
41888
41889 2008-03-29  Eric Blake  <ebb9@byu.net>
41890
41891         Add hex float support.
41892         * modules/strtod (Depends-on): Add c-ctype.
41893         (Link): Mention POW_LIB.
41894         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
41895         whitespace between 'e' and exponent.
41896         * tests/test-strtod.c (main): Enable hex float tests.
41897         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
41898         now provides.
41899
41900         Document various strtod bugs, with some fixes.
41901         * doc/posix-functions/strtod.texi (strtod): Document bugs with
41902         "-0x", "inf", "nan", and hex constants.
41903         * doc/posix-functions/atof.texi (atof): Likewise.
41904         * modules/stdlib (Makefile.am): Support strtod.
41905         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
41906         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
41907         detect additional strtod bugs.
41908         * lib/stdlib.in.h (rpl_strtod): Add declarations.
41909         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
41910         bool where appropriate.  Parse 'inf' and 'nan'.
41911         * tests/test-strtod.c: New file.
41912         * modules/strtod (Depends-on): Add stdbool, stdlib.
41913         (configure.ac): Turn on module indicator.
41914         * modules/strtod-tests: New module.
41915
41916 2008-03-29  Eric Blake  <ebb9@byu.net>
41917
41918         Fix ftell on mingw.
41919         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
41920         * modules/ftell-tests (Depends-on): Add binary-io.
41921         * modules/ftello-tests (Depends-on): Likewise.
41922         * tests/test-ftell.c (main): Enhance test to cover behavior after
41923         ungetc.  Enforce binary mode.
41924         * tests/test-ftello.c (main): Likewise.
41925
41926         Pass test-freadseek on cygwin.
41927         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
41928         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
41929         ungetc buffer.
41930
41931         * tests/test-fflush2.c (main): Fix typo.
41932
41933 2008-03-29  Bruno Haible  <bruno@clisp.org>
41934
41935         * tests/test-fflush2.c (main): Temporarily disable the contents of
41936         this test.
41937         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
41938         Reported by Eric Blake.
41939
41940 2008-03-28  Simon Josefsson  <simon@josefsson.org>
41941
41942         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
41943         (GC_SHA224_DIGEST_SIZE): Add.
41944
41945         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
41946         (gc_hash_digest_length): Likewise.
41947         (gc_hash_buffer): Likewise.
41948
41949 2008-03-25  Bruno Haible  <bruno@clisp.org>
41950
41951         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
41952         detail which gettext release to use.
41953         Reported by Simon Josefsson.
41954
41955 2008-03-26  Jim Meyering  <meyering@redhat.com>
41956
41957         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
41958         * modules/gnumakefile (clean-GNUmakefile): Also, use
41959         test ... && ... || : syntax rather than if-then ... fi.
41960
41961         gnumakefile: Don't double-quote-expand $(VPATH) value.
41962         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
41963
41964 2008-03-24  Eric Blake  <ebb9@byu.net>
41965
41966         Alter GNUmakefile to install into top directory.
41967         * modules/maintainer-makefile: Split, and add dependency...
41968         * modules/gnumakefile: to this new module.
41969         * build-aux/GNUmakefile: Move...
41970         * top/GNUmakefile: ...here.
41971         * build-aux/maint.mk: Move...
41972         * top/maint.mk: ...here.
41973         * MODULES.html.sh (Support for maintaining...): Document new
41974         module.
41975
41976 2008-03-23  Bruno Haible  <bruno@clisp.org>
41977
41978         * gnulib-tool: New options --vc-files, --no-vc-files.
41979         (func_usage): Document them.
41980         (vc_files): New variable.
41981         (func_import): Consider vc_files.
41982         (func_create_testdir): Set vc_files to empty.
41983         Suggested by Jim Meyering and Karl Berry.
41984
41985 2008-03-23  Bruno Haible  <bruno@clisp.org>
41986
41987         Fix regex compilation error on HP-UX 11.
41988         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
41989         * modules/regex (Files): Add m4/mbstate_t.m4.
41990         Reported by Ton Voon <ton.voon@altinity.com>.
41991
41992 2008-03-23  Bruno Haible  <bruno@clisp.org>
41993
41994         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
41995
41996 2008-03-23  Eric Blake  <ebb9@byu.net>
41997             Bruno Haible  <bruno@clisp.org>
41998
41999         Install files from top/ in the destination directory.
42000         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
42001         augmentation also for the files from top/.
42002         (func_import, func_create_testdir): Rewrite file names:
42003         top/filename -> filename.
42004
42005 2008-03-23  Bruno Haible  <bruno@clisp.org>
42006
42007         Tweak "gnulib --version" output.
42008         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
42009
42010 2008-03-23  Bruno Haible  <bruno@clisp.org>
42011
42012         Tweak "gnulib --version" output.
42013         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
42014         rather than contents of ChangeLog, when possible.
42015
42016 2008-03-21  Eric Blake  <ebb9@byu.net>
42017
42018         More --version tweaks.
42019         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
42020         date of last ChangeLog entry.
42021
42022 2008-03-21  Jim Meyering  <meyering@redhat.com>
42023
42024         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
42025
42026 2008-03-20  Eric Blake  <ebb9@byu.net>
42027
42028         VPATH fix.
42029         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
42030
42031 2008-03-20  Simon Josefsson  <simon@josefsson.org>
42032
42033         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
42034         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
42035
42036 2008-03-20  Eric Blake  <ebb9@byu.net>
42037
42038         Sync GNUmakefile with coreutils.
42039         * build-aux/GNUmakefile (have-Makefile): Rename...
42040         (_have-Makefile): ...to this, for namespace consideration.
42041         (GNUmakefile.cfg): Include, if present.
42042         (_autoreconf): Define a default.
42043         (_is-dist-target): New rule for rebuilds to pick up intra-release
42044         version.
42045         (maint-cfg.mk): Rename...
42046         (cfg.mk): ...to this.
42047
42048 2008-03-18  Jim Meyering  <meyering@redhat.com>
42049
42050         New script and module: mktempd
42051         * MODULES.html.sh (maint+release support): Add mktempd.
42052         * build-aux/mktempd: New file.
42053         * modules/mktempd: New file.
42054
42055 2008-03-15  Jim Meyering  <meyering@redhat.com>
42056
42057         Undo last change.
42058         * lib/sha1.c, lib/md5.c: 63 != ~63.
42059         Reported by Andreas Schwab.
42060
42061         sha1.c, md5.c: Hoist a redundant expression.
42062         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
42063         "ctx->buflen" only once, before calling *_process_block.
42064         * lib/md5.c (md5_process_bytes): Likewise.
42065
42066 2008-03-14  Eric Blake  <ebb9@byu.net>
42067
42068         Bump copyright year in files generated by gnulib-tool.
42069         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
42070         gnulib-tool, rather than hard-coding it.
42071
42072         Fix 'gnulib-tool --version' output to work with git.
42073         * gnulib-tool (func_gnulib_dir): New function, extracted from...
42074         (startup): ...here.
42075         (func_version): Use it to invoke git-version-gen, rather than
42076         relying on CVS keyword expansion.  Modernize wording.
42077         (cvsdatestamp, last_checkin_date, version): Kill unused
42078         variables.
42079
42080 2008-03-12  Jim Meyering  <meyering@redhat.com>
42081
42082         Recognize optional cast of the argument to free.
42083         * build-aux/useless-if-before-free: Update regexps.
42084
42085         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
42086
42087 2008-03-11  Bruno Haible  <bruno@clisp.org>
42088
42089         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
42090         by a single package.
42091         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
42092         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
42093         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
42094         Reported by Sam Steingold <sds@gnu.org>.
42095
42096 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42097
42098         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
42099         repositories.
42100
42101 2008-03-11  Bruno Haible  <bruno@clisp.org>
42102
42103         Avoid conflicts between local macro definitions.
42104         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
42105         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
42106
42107 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
42108             Bruno Haible  <bruno@clisp.org>
42109
42110         Make va_copy work with some version of xlc on AIX 5.1.
42111         * lib/stdarg.in.h: New file.
42112         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
42113         On AIX, use a <stdarg.h> file substitute.
42114         * modules/stdarg (Files): Add lib/stdarg.in.h.
42115         (Depends-on): Add include_next.
42116         (Makefile.am): Build a stdarg.h substitute if requested.
42117         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
42118
42119 2008-03-10  Bruno Haible  <bruno@clisp.org>
42120
42121         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
42122         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42123         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42124
42125 2008-03-10  Bruno Haible  <bruno@clisp.org>
42126
42127         * modules/stdlib (Depends-on): Add include_next, remove
42128         absolute-header.
42129
42130 2008-03-09  Bruno Haible  <bruno@clisp.org>
42131
42132         * lib/freadahead.h (freadahead): Document more precisely.
42133         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
42134         the sum of both buffer sizes.
42135         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
42136         * NEWS: Document the change.
42137
42138 2008-03-09  Bruno Haible  <bruno@clisp.org>
42139
42140         Extend freadptr to return also the buffer size.
42141         * lib/freadptr.h (freadptr): Add sizep argument.
42142         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
42143         (freadptr): Add sizep argument. Determine buffer size like freadahead
42144         does.
42145         * tests/test-freadptr.c: Don't include freadahead.h.
42146         (main): Adapt for new calling convention of freadptr.
42147         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
42148         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
42149         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
42150         tests/test-freadptr2.sh.
42151         (Depends): Remove freadahead.
42152         (TESTS): Add test-freadptr2.sh.
42153         (check_PROGRAMS): Add test-freadptr2.
42154
42155 2008-03-09  Bruno Haible  <bruno@clisp.org>
42156
42157         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
42158         Report and solution by Simon Josefsson.
42159
42160 2008-03-06  Bruno Haible  <bruno@clisp.org>
42161
42162         Make fflush after ungetc work on BSD platforms.
42163         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
42164         * tests/test-fflush2.c: New file.
42165         * tests/test-fflush2.sh: New file.
42166         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
42167         tests/test-fflush2.c.
42168         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
42169         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
42170
42171 2008-03-06  Eric Blake  <ebb9@byu.net>
42172
42173         Likewise for ftello.
42174         * modules/ftello (Dependencies): Add extensions.
42175         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
42176
42177 2008-03-06  Bruno Haible  <bruno@clisp.org>
42178
42179         * modules/fseeko (Dependencies): Add extensions.
42180         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
42181         Needed on glibc systems.
42182
42183 2008-03-06  Bruno Haible  <bruno@clisp.org>
42184
42185         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
42186         email address.
42187         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42188
42189 2008-03-06  Bruno Haible  <bruno@clisp.org>
42190
42191         * users.txt: Add libgnupdf.
42192
42193 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
42194
42195         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
42196         (Header File Substitutes, Function Substitutes,
42197         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
42198         (Build robot for gnulib): Fix typo.
42199
42200 2008-03-06  Bruno Haible  <bruno@clisp.org>
42201
42202         * doc/gnulib-tool.texi (VCS Issues): Small updates.
42203         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42204
42205 2008-03-06  Bruno Haible  <bruno@clisp.org>
42206
42207         * doc/func.texi: New file, extracted from doc/gnulib.texi.
42208         * doc/gnulib.texi: Include it.
42209
42210 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42211
42212         * modules/func (License): Change license to unlimited; there was
42213         no LGPL parts in the module anyway.
42214
42215 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42216
42217         * modules/__func__: Renamed to modules/func.
42218         * modules/__func__-tests: Renamed to modules/func-tests.
42219         * tests/test-__func__.c: Renamed to tests/test-func.c.
42220         * m4/__func__.m4: Renamed to m4/func.m4.
42221         * doc/gnulib.texi (__func__): Section renamed to func.
42222         Suggested by Eric Blake <ebb9@byu.net>.
42223
42224 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42225
42226         * doc/gnulib.texi (__func__): Use C99 terminology when talking
42227         about __func__.  Make example self-contained.  Suggested by Eric
42228         Blake <ebb9@byu.net>.
42229
42230         * tests/test-__func__.c (main): Avoid extraneous () around __func.
42231         Suggested by Eric Blake <ebb9@byu.net>.
42232
42233 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42234
42235         * modules/__func__: New file.
42236         * modules/__func__-tests: New file.
42237         * tests/test-__func__.c: New file.
42238         * m4/__func__.m4: New file.
42239         * doc/gnulib.texi (__func__): Document __func__ module.
42240
42241 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42242
42243         * modules/byteswap (License): Re-license as LGPLv2+.
42244
42245 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42246
42247         * doc/Makefile: Add pdf target.
42248
42249 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42250
42251         * modules/inline (License): Use 'unlimited', since there are only
42252         *.m4 files in this module.
42253
42254 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42255             Bruno Haible  <bruno@clisp.org>
42256
42257         Add support for HP C 7.1 on OpenVMS 8.3.
42258         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
42259
42260 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42261
42262         Update VMS specifics.
42263         * lib/getopt.c [VMS]: Remove include of unixlib.h.
42264
42265 2008-03-02  Jim Meyering  <meyering@redhat.com>
42266
42267         Remove the last dependency on the "free" module.
42268         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
42269         Reported by Bob Proulx.
42270
42271         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
42272
42273         Remove useless "if" tests before free.  Deprecate "free" module.
42274         * doc/posix-functions/free.texi: Mention that this
42275         module is no longer useful.
42276         * modules/free (Notice): Say this module is obsolete.
42277         * modules/readutmp (Depends-on): Remove free.
42278         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
42279         * lib/putenv.c (putenv): Likewise.
42280         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
42281         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
42282         * tests/test-c-strcasestr.c (main): Likewise.
42283         * tests/test-c-strstr.c (main): Likewise.
42284         * tests/test-mbscasestr1.c (main): Likewise.
42285         * tests/test-mbscasestr2.c (main): Likewise.
42286         * tests/test-mbsstr1.c (main): Likewise.
42287         * tests/test-mbsstr2.c (main): Likewise.
42288         * tests/test-memmem.c (main): Likewise.
42289         * tests/test-strcasestr.c (main): Likewise.
42290         * tests/test-striconv.c (main): Likewise.
42291         * tests/test-striconveh.c (main): Likewise.
42292         * tests/test-striconveha.c (main): Likewise.
42293         * tests/test-strstr.c (main): Likewise.
42294
42295         * build-aux/git-version-gen: Adjust a comment and the Usage string.
42296
42297         bootstrap: sync from coreutils again
42298         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
42299
42300 2008-03-01  Jim Meyering  <meyering@redhat.com>
42301
42302         bootstrap: sync from coreutils
42303         * build-aux/bootstrap (update_po_files): Copy a .po file into place
42304         also when the target doesn't exist.
42305
42306 2008-03-01  Eric Blake  <ebb9@byu.net>
42307
42308         Fix bugs in last patch.
42309         * lib/memchr2.c (memchr2): Fix typo.
42310         * tests/test-memchr2.c: Test previous bug, and don't use GNU
42311         extension.
42312         Reported by Bruce Korb.
42313
42314         New module 'memchr2'.
42315         * modules/memchr2: New file.
42316         * modules/memchr2-tests: Likewise.
42317         * lib/memchr2.h: Likewise.
42318         * lib/memchr2.c: Likewise, based on memchr.c.
42319         * tests/test-memchr2.c: New test.
42320         * MODULES.html.sh (String handling): Add memchr2.
42321
42322 2008-02-29  Bruno Haible  <bruno@clisp.org>
42323
42324         * modules/freadseek-tests: New file.
42325         * tests/test-freadseek.sh: New file.
42326         * tests/test-freadseek.c: New file.
42327
42328         New module 'freadseek'.
42329         * modules/freadseek: New file.
42330         * lib/freadseek.h: New file.
42331         * lib/freadseek.c: New file.
42332         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
42333
42334 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
42335
42336         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
42337         wydawca.
42338
42339         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
42340         program_invocation_name and program_invocation_short_name are
42341         present.
42342
42343 2008-02-28  Bruno Haible  <bruno@clisp.org>
42344
42345         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
42346         * tests/test-freadptr.sh: Also test non-seekable stdin.
42347
42348 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
42349
42350         * build-aux/bootstrap (source_base, m4_base)
42351         (doc_base, tests_base): New variables.
42352         (gnulib_tool_options): Do not hardcode base directories, use
42353         the above variables instead.
42354
42355 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
42356
42357         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
42358
42359 2008-02-28  Bruno Haible  <bruno@clisp.org>
42360
42361         * modules/freadptr-tests: New file.
42362         * tests/test-freadptr.sh: New file.
42363         * tests/test-freadptr.c: New file.
42364
42365         New module 'freadptr'.
42366         * modules/freadptr: New file.
42367         * lib/freadptr.h: New file.
42368         * lib/freadptr.c: New file.
42369         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
42370
42371 2008-02-26  Karl Berry  <karl@freefriends.org>
42372
42373         Sync from Libtool:
42374         * libltdl/argz.c (argz_add, argz_count): New functions.
42375         * libltdl/argz.in.h: Declare them.
42376         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
42377
42378 2008-02-22  Bruno Haible  <bruno@clisp.org>
42379
42380         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
42381         is a pointer type.  Needed for HP-UX 10.
42382         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
42383         * doc/posix-functions/gmtime_r.texi: Likewise.
42384         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42385
42386 2008-02-24  Bruno Haible  <bruno@clisp.org>
42387
42388         * modules/environ-tests: New file.
42389         * tests/test-environ.c: New file.
42390
42391         New module 'environ'.
42392         * modules/environ: New file.
42393         * lib/unistd.in.h (environ): New declaration.
42394         * m4/environ.m4: New file.
42395         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
42396         after use.
42397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
42398         HAVE_DECL_ENVIRON.
42399         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
42400         HAVE_DECL_ENVIRON.
42401         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
42402         wrong claim that 'environ' is missing on some systems.
42403         * modules/execute (Depends-on): Add environ.
42404         * lib/execute.c (environ): Remove fallback declaration.
42405         * modules/pipe (Depends-on): Add environ.
42406         * lib/pipe.c (environ): Remove fallback declaration.
42407         * modules/setenv (Depends-on): Add environ.
42408         * lib/setenv.c (environ): Remove fallback declaration.
42409         * modules/unsetenv (Depends-on): Add environ.
42410         * lib/unsetenv.c (environ): Remove fallback declaration.
42411         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
42412         m4/environ.m4.
42413         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
42414         (gl_PREREQ_UNSETENV): Likewise.
42415
42416 2008-02-24  Bruno Haible  <bruno@clisp.org>
42417
42418         * doc/posix-functions/environ.texi: Document the MacOS X problem.
42419
42420 2008-02-20  Bob Proulx  <bob@proulx.com>
42421
42422         Enable use of older two part flavor 'git describe'.
42423         * build-aux/git-version-gen: If using the older two part flavor of
42424         git version then recreate the third part now present in the
42425         newer three part flavor of git describe.
42426
42427 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
42428
42429         * lib/fts.c (fts_build): Typo correction to comment.
42430
42431 2008-02-17  Bruno Haible  <bruno@clisp.org>
42432
42433         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
42434         generating no-op conflicts.
42435
42436 2008-02-17  Bruno Haible  <bruno@clisp.org>
42437
42438         Speed up by 10%.
42439         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
42440         result_entries, rather than an index-based loop.
42441
42442 2008-02-17  Bruno Haible  <bruno@clisp.org>
42443
42444         Speed up by 25%.
42445         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
42446         'hashcode_cached'.
42447         (entry_create): New function.
42448         (entry_hashcode): Use the cached hashcode if possible.
42449         (read_changelog_file, try_split_merged_entry): Use entry_create.
42450
42451 2008-02-17  Bruno Haible  <bruno@clisp.org>
42452
42453         Speed up from O(n^2) to O(n) for long ChangeLog files.
42454         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
42455         (read_changelog_file): Change implementation of entries_reversed list
42456         to rbtreehash.
42457         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
42458
42459 2008-02-17  Bruno Haible  <bruno@clisp.org>
42460
42461         New option --split-merged-entry.
42462         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
42463         (find_paragraph_end, try_split_merged_entry): New functions.
42464         (long_options): Add option --split-merged-entry.
42465         (usage): Document option --split-merged-entry.
42466         (main): Implement option --split-merged-entry.
42467         Reported by Eric Blake.
42468
42469 2008-02-17  Bruno Haible  <bruno@clisp.org>
42470
42471         * lib/git-merge-changelog.c: Include c-strstr.h.
42472         (main): Support the "git pull --rebase" situation.
42473         * modules/git-merge-changelog (Depends-on): Add c-strstr.
42474         Reported by Eric Blake.
42475
42476 2008-02-16  Eric Blake  <ebb9@byu.net>
42477
42478         Avoid doubling \ in common case of "c-maybe" quoting style.
42479         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
42480         eliding outer quotes.
42481         * lib/quotearg.h: Document this.
42482         * tests/test-quotearg.c (result_strings, inputs, results_g)
42483         (flag_results, locale_results): Test it by adding a new string to
42484         each test group.
42485         (compare_strings): Test new string.
42486
42487 2008-02-13  Eric Blake  <ebb9@byu.net>
42488
42489         Avoid trigraph quoting in default output.
42490         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
42491         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
42492         unless explicitly requested.
42493         * tests/test-quotearg.c (flag_results, main): Add additional tests.
42494
42495 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
42496
42497         Don't rely on signed integer overflowing to negative value.
42498         * lib/getugroups.c (getugroups): Include <limits.h>.
42499         Instead, compare against INT_MAX, and increment only if the test passes.
42500
42501 2008-02-13  Jim Meyering  <meyering@redhat.com>
42502         and Eric Blake  <ebb9@byu.net>
42503
42504         Avoid shadowing warning and compile errors on Linux.
42505         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
42506         forwarding macros on Linux.
42507         (dcgettext): Define a stub, for Linux.
42508         (results_g, main): Avoid warnings.
42509
42510 2008-02-12  Eric Blake  <ebb9@byu.net>
42511
42512         Silence warning in last patch.
42513         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
42514
42515         Quotearg part 4: add tests, fix c-maybe colon quoting.
42516         * lib/quotearg.h: Improve documentation.
42517         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
42518         escapes when adding outer quotes.  When quoting trigraphs, use
42519         valid C notation.  When quoting NUL, omit extra characters if next
42520         character is not digit.  Alter prototype.
42521         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
42522         callers.
42523         * modules/quotearg-tests: New module.
42524         * tests/test-quotearg.c: New test.
42525
42526 2008-02-07  Eric Blake  <ebb9@byu.net>
42527
42528         Quotearg part 3: add flag to control outer quote elision.
42529         * lib/quotearg.h (c_maybe_quoting_style): New style.
42530         (enum quoting_flags): Better documentation of flags.
42531         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
42532         c-maybe style.
42533         (quotearg_buffer_restyled): Handle new flag to elide outer
42534         quotes.
42535
42536         Quotearg part 2: add flag that can control NUL elision.
42537         * lib/quotearg.h (set_quoting_flags): New prototype.
42538         * lib/quotearg.c (struct quoting_options): Add flag field.
42539         (set_quoting_flags): New function.
42540         (quotearg_buffer_restyled): Add flags parameter.
42541         (quotearg_alloc_mem): Set the flag if length cannot be returned.
42542         (quotearg_n_options): Set the flag, since length cannot be
42543         returned.
42544         (quoting_options_from_style): Default flags correctly.
42545
42546         Quotearg part 1: more wrappers, restore quotearg_char state.
42547         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
42548         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
42549         (quotearg_colon_mem): New wrappers.
42550         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
42551         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
42552         functions.
42553         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
42554         (quotearg_colon_mem): New functions.
42555
42556 2008-02-11  Bruno Haible  <bruno@clisp.org>
42557
42558         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
42559         library in the current directory: it does not work with parallel make.
42560         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42561
42562 2008-02-11  Bruno Haible  <bruno@clisp.org>
42563
42564         * .gitattributes: New file.
42565
42566 2008-02-11  Jim Meyering  <meyering@redhat.com>
42567
42568         useless-if-before-free: Fix reversed exit values.
42569         * build-aux/useless-if-before-free: Use correct values
42570         for EXIT_MATCH and EXIT_NO_MATCH.
42571
42572         * build-aux/useless-if-before-free: Close stdout carefully.
42573
42574 2008-02-10  Bruno Haible  <bruno@clisp.org>
42575
42576         New module 'git-merge-changelog'.
42577         * modules/git-merge-changelog: New file.
42578         * lib/git-merge-changelog.c: New file.
42579
42580 2008-02-10  Jim Meyering  <meyering@redhat.com>
42581
42582         useless-if-before-free: New option: --list (-l).
42583
42584         useless-if-before-free: Don't exit immediately upon open failure.
42585         * build-aux/useless-if-before-free: Exit 2 for errors.
42586         Upon failure to open a file, don't exit immediately.
42587         Rather, just warn and continue with any remaining files.
42588
42589 2008-02-10  Bruno Haible  <bruno@clisp.org>
42590
42591         New abstract list operation 'node_set_value'.
42592         * lib/gl_list.h (gl_list_node_set_value): New function.
42593         (struct gl_list_implementation): New field node_set_value.
42594         * lib/gl_list.c (gl_list_node_set_value): New function.
42595         * lib/gl_array_list.c (gl_array_node_set_value): New function.
42596         (gl_array_list_implementation): Update.
42597         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
42598         (gl_carray_list_implementation): Update.
42599         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
42600         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
42601         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
42602         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
42603         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
42604         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
42605         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
42606         Update.
42607         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
42608         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
42609         (gl_sublist_list_implementation): Update.
42610
42611 2008-02-10  Bruno Haible  <bruno@clisp.org>
42612
42613         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
42614         Needed when ELEMENT is #defined to 'some_type *'.
42615
42616 2008-02-10  Jim Meyering  <meyering@redhat.com>
42617
42618         New script and module: useless-if-before-free
42619         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
42620         * build-aux/useless-if-before-free: New file.
42621         * modules/useless-if-before-free: New file.
42622
42623         * build-aux/gitlog-to-changelog: Use committer date, not author date.
42624
42625         xstrtol_error: Fix typo.
42626         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
42627         s/exit_failure/exit_status/.
42628
42629 2008-02-09  Jim Meyering  <meyering@redhat.com>
42630
42631         New script and module: gitlog-to-changelog
42632         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
42633         * modules/gitlog-to-changelog: New file.
42634         * build-aux/gitlog-to-changelog: New file.
42635
42636 2008-02-08  Jim Meyering  <meyering@redhat.com>
42637
42638         Avoid two "parameter unused" warnings.
42639         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
42640         Mark "st" as used.
42641
42642         Use "git COMMAND", not "git-COMMAND".
42643         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
42644         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
42645         * build-aux/git-version-gen: Use "git status", not "git-status".
42646
42647 2008-02-07  Bruno Haible  <bruno@clisp.org>
42648
42649         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
42650         Avoids a crash on Windows Vista.
42651         Reported by Adam Strzelecki <ono@java.pl> via
42652         Simon Josefsson <simon@josefsson.org>.
42653
42654 2008-02-06  Bruno Haible  <bruno@clisp.org>
42655
42656         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
42657         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
42658         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
42659         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
42660         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42661         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42662         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
42663         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
42664         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42665         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42666         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42667         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42668         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42669         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42670         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42671         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
42672         left-adjust flag.
42673         * tests/test-snprintf-posix.h (test_function): Likewise.
42674         * tests/test-sprintf-posix.h (test_function): Likewise.
42675         * tests/test-vasprintf-posix.c (test_function): Likewise.
42676         * doc/posix-functions/fprintf.texi: Update.
42677         * doc/posix-functions/printf.texi: Update.
42678         * doc/posix-functions/snprintf.texi: Update.
42679         * doc/posix-functions/sprintf.texi: Update.
42680         * doc/posix-functions/vfprintf.texi: Update.
42681         * doc/posix-functions/vprintf.texi: Update.
42682         * doc/posix-functions/vsnprintf.texi: Update.
42683         * doc/posix-functions/vsprintf.texi: Update.
42684         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42685
42686 2008-02-06  Bruno Haible  <bruno@clisp.org>
42687
42688         Fix bug introduced on 2008-01-26.
42689         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
42690
42691 2008-02-06  Bruno Haible  <bruno@clisp.org>
42692
42693         Fix bug introduced on 2007-06-10.
42694         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
42695         !NEED_PRINTF_FLAG_ZERO.
42696
42697 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
42698
42699         getloadavg: use libperfstat on AIX5
42700         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
42701
42702 2008-02-03  Bruno Haible  <bruno@clisp.org>
42703
42704         * lib/diffseq.h: Add comments about required #includes.
42705         Reported by Michael Biggs <gnulib@doubleplum.net>.
42706
42707 2008-02-01  Bruno Haible  <bruno@clisp.org>
42708
42709         * users.txt: Add gnuit.
42710
42711 2008-01-31  Bruno Haible  <bruno@clisp.org>
42712
42713         * lib/md4.c (set_uint32): Mark as inline.
42714         * lib/md5.c (set_uint32): Likewise.
42715         * lib/sha1.c (set_uint32): Likewise.
42716         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
42717         * m4/md5.m4 (gl_MD5): Likewise.
42718         * m4/sha1.m4 (gl_SHA1): Likewise.
42719
42720 2008-01-31  Jim Meyering  <meyering@redhat.com>
42721
42722         Use "sizeof VAR", rather than a literal "4".
42723         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
42724         * lib/md4.c (md4_read_ctx): Likewise.
42725         * lib/sha1.c (sha1_read_ctx): Likewise.
42726
42727 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42728
42729         * tests/test-sha1.c: New file, based on test-md5.c.
42730
42731         * modules/crypto/sha1-tests: New file.
42732
42733 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42734
42735         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
42736
42737 2008-01-31  Jim Meyering  <meyering@redhat.com>
42738
42739         Prefer "sizeof v" over the equivalent "4".
42740         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
42741         * lib/md5.c (set_uint32): Likewise.
42742         * lib/sha1.c (set_uint32): Likewise.
42743
42744 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42745
42746         * lib/sha1.c (set_uint32): Mark function as static.
42747
42748 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42749
42750         md2: clarify comments to say that alignment is not required.
42751         * lib/md2.h: Remove warning about alignment in comment.
42752         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
42753         never been required.
42754
42755 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42756
42757         md4: adapt alignment constraint fix from sha1.
42758         * lib/md4.c (set_uint32): New function, from sha1.c
42759         (md4_read_ctx): Use it.
42760         (md4_finish_ctx): Doc fix.
42761         * lib/md4.h: Doc fix.
42762
42763 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42764
42765         md5: adapt alignment constraint fix from sha1.
42766         * lib/md5.c (set_uint32): New function, from sha1.c
42767         (md5_read_ctx): Use it.
42768         (md5_finish_ctx): Doc fix.
42769         * lib/md5.h: Doc fix.
42770
42771 2008-01-30  Peter Palfrader  <weasel@debian.org>
42772
42773         sha1: remove the result buffer alignment constraint
42774         * lib/sha1.c (set_uint32): New function.
42775         (sha1_read_ctx): Rewrite to remove the result buffer alignment
42776         constraint.
42777         (sha1_finish_ctx): Remove comment warning about alignment constraint.
42778         * lib/sha1.h: Likewise.
42779
42780 2008-01-30  Andreas Schwab  <schwab@suse.de>
42781             Bruno Haible  <bruno@clisp.org>
42782
42783         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
42784         correct definition of LDBL_MIN_EXP.
42785
42786 2008-01-30  Karl Berry  <karl@gnu.org>
42787
42788         * config/srclist-update: try to preserve x bit on updates.
42789         * config/srclistvars.sh: update for karl.
42790
42791 2008-01-29  Jim Meyering  <meyering@redhat.com>
42792
42793         vasnprintf.c: Avoid warning about unused label
42794         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
42795         "overflow" label definition and associated code with the
42796         same cpp condition that guards the sole use of that label.
42797
42798 2008-01-26  Bruno Haible  <bruno@clisp.org>
42799
42800         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
42801         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
42802         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
42803         * lib/isnanl-nolibm.h (isnanl): Likewise.
42804         Reported by Paul Eggert <eggert@cs.ucla.edu>.
42805
42806 2008-01-26  Bruno Haible  <bruno@clisp.org>
42807
42808         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
42809         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
42810
42811 2008-01-26  Bruno Haible  <bruno@clisp.org>
42812
42813         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
42814         GCC >= 4.0 built-in.
42815         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
42816
42817 2008-01-26  Bruno Haible  <bruno@clisp.org>
42818
42819         Rename isnan, applicable to 'double' only, to isnand.
42820         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
42821         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
42822         (configure.ac): Update.
42823         (Include): Replace "isnan.h" with "isnand.h".
42824         * m4/isnand.m4: Renamed from m4/isnan.m4.
42825         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
42826         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
42827         instead of isnan.c.
42828         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
42829         instead of HAVE_ISNAN_IN_LIBC.
42830         (isnand): Renamed from isnan.
42831         * lib/isnand.c: New file.
42832         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
42833         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
42834         (Makefile.am): Update.
42835         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
42836         Include isnand.h instead of isnan.h.
42837         (main): Test isnand instead of isnan.
42838         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
42839         isnan-nolibm.
42840         * modules/frexp (Depends-on): Likewise.
42841         * modules/frexp-tests (Depends-on): Likewise.
42842         * modules/frexp-nolibm (Depends-on): Likewise.
42843         * modules/frexp-nolibm-tests (Depends-on): Likewise.
42844         * modules/isfinite (Depends-on): Likewise.
42845         * modules/round-tests (Depends-on): Likewise.
42846         * modules/signbit (Depends-on): Likewise.
42847         * modules/signbit-tests (Depends-on): Likewise.
42848         * modules/snprintf-posix (Depends-on): Likewise.
42849         * modules/sprintf-posix (Depends-on): Likewise.
42850         * modules/trunc-tests (Depends-on): Likewise.
42851         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42852         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42853         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42854         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42855         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42856         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42857         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42858         * modules/vasnprintf-posix (Depends-on): Likewise.
42859         * modules/vasprintf-posix (Depends-on): Likewise.
42860         * modules/vfprintf-posix (Depends-on): Likewise.
42861         * modules/vsnprintf-posix (Depends-on): Likewise.
42862         * modules/vsprintf-posix (Depends-on): Likewise.
42863         * lib/frexp.c: Include isnand.h instead of isnan.h.
42864         (ISNAN): Set to isnand instead of isnan.
42865         * lib/isfinite.c: Include isnand.h instead of isnan.h.
42866         (gl_isfinited): Use isnand instead of isnan.
42867         * lib/signbitd.c: Include isnand.h instead of isnan.h.
42868         (gl_signbitd): Use isnand instead of isnan.
42869         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
42870         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
42871         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
42872         (main): Use isnand instead of isnan.
42873         * tests/test-round1.c: Include isnand.h.
42874         (main): Use isnand instead of isnan.
42875         * tests/test-round2.c: Include isnand.h instead of isnan.h.
42876         (ISNAN): Set to isnand instead of isnan.
42877         * tests/test-trunc1.c: Include isnand.h.
42878         (main): Use isnand instead of isnan.
42879         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
42880         (equal): Use isnand instead of isnan.
42881         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
42882         isnand-nolibm.
42883         * NEWS: Mention the change.
42884
42885 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
42886             Bruno Haible  <bruno@clisp.org>
42887
42888         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
42889         the GCC builtins for signbits are present and set
42890         REPLACE_SIGNBIT_USING_GCC if so.
42891         * lib/math.in.h (signbit): Define using GCC builtins if
42892         REPLACE_SIGNBIT_USING_GCC is set.
42893         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
42894         REPLACE_SIGNBIT_USING_GCC.
42895         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
42896
42897 2008-01-25  Jim Meyering  <meyering@redhat.com>
42898
42899         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
42900         * lib/poll.c: Include <config.h>, not "config.h".
42901         * tests/test-getaddrinfo.c: Likewise.
42902
42903 2008-01-25  Simon Josefsson  <simon@josefsson.org>
42904
42905         * modules/sockets-tests: New file.
42906
42907 2008-01-24  Simon Josefsson  <simon@josefsson.org>
42908
42909         * modules/sockets: New module, can be used to call WSA_Startup and
42910         WSA_Cleanup when needed.
42911
42912         * lib/sockets.h, lib/sockets.c: New files.
42913
42914         * m4/sockets.m4: New file.
42915
42916         * tests/test-sockets.c: New file.
42917
42918 2008-01-19  Bruno Haible  <bruno@clisp.org>
42919
42920         * doc/posix-headers: Renamed from doc/headers.
42921         * doc/posix-functions: Renamed from doc/functions.
42922         * doc/gnulib.texi: Update.
42923
42924 2008-01-19  Bruno Haible  <bruno@clisp.org>
42925
42926         * doc/glibc-functions/strcasestr.texi: Include contents of
42927         doc/functions/strcasestr.texi, fixing the list of platforms.
42928         * doc/functions/strcasestr.texi: Remove file.
42929
42930 2008-01-19  Bruno Haible  <bruno@clisp.org>
42931
42932         * doc/glibc-functions/memmem.texi: Include contents of
42933         doc/functions/memmem.texi.
42934         * doc/functions/memmem.texi: Remove file.
42935
42936 2008-01-18  Bruno Haible  <bruno@clisp.org>
42937
42938         * doc/glibc-functions/*.texi: New files.
42939         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
42940         to use the new files.
42941
42942 2008-01-17  Bruno Haible  <bruno@clisp.org>
42943
42944         * tests/test-gethostname.c (main): Fix printf statement.
42945
42946 2008-01-17  Simon Josefsson  <simon@josefsson.org>
42947
42948         * modules/gethostname-tests: New file.
42949
42950         * tests/test-gethostname.c: New file.
42951
42952 2008-01-17  Simon Josefsson  <simon@josefsson.org>
42953
42954         * lib/gethostname.c: Include string.h unconditionally, strncpy is
42955         used by the UNAME case.  Reported by Bruno Haible
42956         <bruno@clisp.org>.
42957
42958 2008-01-17  Eric Blake  <ebb9@byu.net>
42959
42960         Convert c-strcasestr to be more efficient.
42961         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
42962         (Depends-on): Add c-strcase, remove malloca, strnlen.
42963         * tests/test-c-strcasestr.c (main): Enhance test.
42964         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
42965
42966 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
42967
42968         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
42969         Use it in creating po/Makevars.
42970
42971 2008-01-15  Simon Josefsson  <simon@josefsson.org>
42972
42973         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
42974         Applications that requires it should initialize libgcrypt
42975         manually.
42976
42977 2008-01-16  Simon Josefsson  <simon@josefsson.org>
42978
42979         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
42980
42981 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
42982
42983         Fix problem with getdate on mingw32 reported by Simon Josefsson
42984         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
42985         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
42986         tzname", when deciding whether to declare tzname.
42987         * lib/strftime.c (tzname): Likewise.
42988
42989 2008-01-15  Bruno Haible  <bruno@clisp.org>
42990
42991         Work around a MacOS X 10.5 bug in frexpl().
42992         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
42993         * doc/functions/frexpl.texi: Document the bug.
42994         Reported by Elias Pipping <pipping@gentoo.org>.
42995
42996 2008-01-14  Eric Blake  <ebb9@byu.net>
42997
42998         Touch up previous patch.
42999         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
43000         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
43001
43002         Convert strcasestr module to use Two-Way algorithm.
43003         * modules/strcasestr-simple: New module, based on the old
43004         strcasestr, but with Two-Way rather than KMP.
43005         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
43006         * lib/string.in.h (rpl_strcasestr): Declare.
43007         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
43008         performance.
43009         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
43010         * modules/string (Makefile.am): Support strcasestr.
43011         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
43012         * modules/strcasestr-tests (Depends-on): Check for alarm.
43013         * tests/test-strcasestr.c: Augment test.
43014         * lib/str-two-way.h: Clean up stray macro.
43015         * NEWS: Document new module.
43016         * MODULES.html.sh (string handling): Likewise.
43017         * doc/functions/strcasestr.texi: New file.
43018         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
43019         here, since it is not a POSIX function.
43020
43021 2008-01-14  Colin Watson  <cjwatson@debian.org>
43022             Bruno Haible  <bruno@clisp.org>
43023
43024         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
43025         works fine; if not, set REPLACE_STRSIGNAL.
43026         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
43027         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43028         REPLACE_STRSIGNAL.
43029         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
43030         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
43031         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
43032
43033 2008-01-14  Bruno Haible  <bruno@clisp.org>
43034
43035         * modules/strsignal (Include): Change to <string.h>.
43036
43037 2008-01-14  Colin Watson  <cjwatson@debian.org>
43038
43039         * modules/argp (Notice): Add a notice recommending to change
43040         XGETTEXT_OPTIONS.
43041         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
43042
43043 2008-01-13  Colin Watson  <cjwatson@debian.org>
43044
43045         * modules/strsignal-tests: New file.
43046         * tests/test-strsignal.c: New file.
43047
43048         * lib/strsignal.c: New file, from glibc with modifications.
43049         * lib/siglist.h: New file, from glibc with modifications.
43050         * lib/string.in.h (strsignal): New declaration.
43051         * m4/strsignal.m4: New file.
43052         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43053         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
43054         * modules/strsignal: New file.
43055         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
43056         HAVE_DECL_STRSIGNAL.
43057
43058 2008-01-13  Bruno Haible  <bruno@clisp.org>
43059
43060         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
43061         locale encoding is not ASCII. Needed for OpenBSD 4.0.
43062         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43063         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43064
43065 2008-01-13  Bruno Haible  <bruno@clisp.org>
43066
43067         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
43068         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
43069         * lib/argp.h (__attribute__): Likewise.
43070         * lib/c-stack.c (__attribute__): Likewise.
43071         * lib/error.h (__attribute__): Likewise.
43072         * lib/fts.c (__attribute__): Likewise.
43073         * lib/openat.h (__attribute__): Likewise.
43074         * lib/stdio.in.h (__attribute__): Likewise.
43075         * lib/string.in.h (__attribute__): Likewise.
43076         * lib/utimens.c (__attribute__): Likewise.
43077         * lib/vasnprintf.h (__attribute__): Likewise.
43078         * lib/xalloc.h (__attribute__): Likewise.
43079         * lib/xprintf.h (__attribute__): Likewise.
43080         * lib/xstrtol.h (__attribute__): Likewise.
43081         * lib/xvasprintf.h (__attribute__): Likewise.
43082
43083 2008-01-12  Bruno Haible  <bruno@clisp.org>
43084
43085         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
43086         * doc/glibc-headers/a.out.texi: New file.
43087         * doc/glibc-headers/aliases.texi: New file.
43088         * doc/glibc-headers/alloca.texi: New file.
43089         * doc/glibc-headers/ar.texi: New file.
43090         * doc/glibc-headers/argp.texi: New file.
43091         * doc/glibc-headers/argz.texi: New file.
43092         * doc/glibc-headers/byteswap.texi: New file.
43093         * doc/glibc-headers/crypt.texi: New file.
43094         * doc/glibc-headers/endian.texi: New file.
43095         * doc/glibc-headers/envz.texi: New file.
43096         * doc/glibc-headers/err.texi: New file.
43097         * doc/glibc-headers/error.texi: New file.
43098         * doc/glibc-headers/execinfo.texi: New file.
43099         * doc/glibc-headers/fpu_control.texi: New file.
43100         * doc/glibc-headers/fstab.texi: New file.
43101         * doc/glibc-headers/fts.texi: New file.
43102         * doc/glibc-headers/getopt.texi: New file.
43103         * doc/glibc-headers/ieee754.texi: New file.
43104         * doc/glibc-headers/ifaddrs.texi: New file.
43105         * doc/glibc-headers/libintl.texi: New file.
43106         * doc/glibc-headers/mcheck.texi: New file.
43107         * doc/glibc-headers/mntent.texi: New file.
43108         * doc/glibc-headers/obstack.texi: New file.
43109         * doc/glibc-headers/paths.texi: New file.
43110         * doc/glibc-headers/printf.texi: New file.
43111         * doc/glibc-headers/pty.texi: New file.
43112         * doc/glibc-headers/resolv.texi: New file.
43113         * doc/glibc-headers/shadow.texi: New file.
43114         * doc/glibc-headers/sysexits.texi: New file.
43115         * doc/glibc-headers/ttyent.texi: New file.
43116
43117 2008-01-12  Jim Meyering  <meyering@redhat.com>
43118
43119         announce-gen: emit Gnulib's git-based version string.
43120         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
43121         New option --gnulib-version=V, where V is expected to be
43122         the output of running git describe in the gnulib directory.
43123         (get_tool_versions): Request feedback on xdelta.  I suspect it's
43124         not useful, and plan to stop publishing an xdelta file with each
43125         coreutils release.
43126
43127         * build-aux/announce-gen: Also check for lzma-compressed files.
43128
43129 2008-01-11  Bruno Haible  <bruno@clisp.org>
43130
43131         * tests/test-memmem.c (main): Increase maximum allowed time.
43132         * tests/test-strstr.c (main): Likewise.
43133
43134 2008-01-11  Bruno Haible  <bruno@clisp.org>
43135
43136         * doc/functions/memmem.texi: Add more precisions about platforms.
43137         * doc/functions/strstr.texi: Likewise.
43138
43139 2008-01-10  Eric Blake  <ebb9@byu.net>
43140
43141         * m4/strstr.m4: Delete cruft from copy-n-paste.
43142         Reported by Bruno Haible.
43143
43144 2008-01-10  Bruno Haible  <bruno@clisp.org>
43145
43146         Make c-strstr rely on strstr.
43147         * lib/c-strstr.c: Don't include str-kmp.h.
43148         (c_strstr): Define in terms of strstr.
43149         * modules/c-strstr (Files): Remove lib/str-kmp.h.
43150         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
43151
43152 2008-01-10  Bruno Haible  <bruno@clisp.org>
43153
43154         * doc/gnulib.texi (String Functions in C Locale): New section.
43155         * doc/c-ctype.texi: New file.
43156         * doc/c-strcase.texi: New file.
43157         * doc/c-strcaseeq.texi: New file.
43158         * doc/c-strcasestr.texi: New file.
43159         * doc/c-strstr.texi: New file.
43160         * doc/c-strtod.texi: New file.
43161         * doc/c-strtold.texi: New file.
43162
43163 2008-01-10  Eric Blake  <ebb9@byu.net>
43164
43165         * lib/relocatable.h: Fix a comment.
43166
43167 2008-01-10  Eric Blake  <ebb9@byu.net>
43168
43169         Share two-way algorithm.
43170         * lib/str-two-way.h: New file, merged from...
43171         * lib/memmem.c: ...here...
43172         * lib/strstr.c: ...and here.
43173         * modules/memmem (Files): Use it.
43174         * modules/strstr (Files): Likewise.
43175
43176         Avoid quadratic strstr implementations.
43177         * lib/strstr.c: New file.
43178         * m4/strstr.m4: Likewise.
43179         * modules/strstr: Likewise.
43180         * modules/strstr-tests: Likewise.
43181         * tests/test-strstr.c: Likewise.
43182         * lib/string.in.h (rpl_strstr): Declare.
43183         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
43184         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
43185         * modules/string (Makefile.am): Likewise.
43186         * MODULES.html.sh (string handling): Mention new module.
43187         * doc/functions/strstr.texi (strstr): Document the bug.
43188
43189 2008-01-10  Bruno Haible  <bruno@clisp.org>
43190
43191         * lib/relocatable.h (relocate): State whether result is freshly
43192         allocated or not.
43193         * lib/relocatable.c (relocate): Return a freshly allocated string
43194         instead of a pointer to a privately held string.
43195         Reported by Sylvain Beucler <beuc@gnu.org>.
43196
43197 2008-01-10  Colin Watson  <cjwatson@debian.org>
43198
43199         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
43200         s/S_ISNLK/S_ISLNK/.
43201
43202 2008-01-09  Bruno Haible  <bruno@clisp.org>
43203
43204         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
43205         and other files.
43206         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
43207         if it's only a guess.
43208         * modules/memmem: Simplify by depending on memmem-simple.
43209
43210 2008-01-09  Bruno Haible  <bruno@clisp.org>
43211
43212         Work around OpenBSD 4.0 tdelete() bug.
43213         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
43214         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
43215         macros and don't redefine the enum values.
43216         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
43217         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
43218         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
43219
43220 2008-01-09  Bruno Haible  <bruno@clisp.org>
43221
43222         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
43223         (main): Don't perform the tests if setlocale did not install a UTF-8
43224         locale. Needed on OpenBSD 4.0.
43225         * modules/wcwidth-tests (Depends-on): Add localcharset.
43226
43227 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43228
43229         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
43230         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
43231         * NEWS: announce this.
43232         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
43233
43234 2008-01-09  Simon Josefsson  <simon@josefsson.org>
43235         and Eric Blake  <ebb9@byu.net>
43236
43237         Add memmem-simple module.
43238         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
43239         (gl_FUNC_MEMMEM): Separate performance from presence checks.
43240         * modules/memmem-simple: New file.
43241         * modules/memmem (Description): Tweak.
43242         * MODULES.html.sh (string handling): Mention new module.
43243         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
43244         addressed by memmem-simple.
43245         * NEWS: Document the difference.
43246
43247 2008-01-09  Eric Blake  <ebb9@byu.net>
43248
43249         Give gcc some memmem optimization hints.
43250         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
43251         (strcasestr): Declare as pure.
43252         * modules/memmem (Maintainer): Claim my implementation.
43253
43254 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43255
43256         Support AIX 6.1 and higher.
43257         * build-aux/config.libpath: Likewise.
43258         * build-aux/config.rpath: Likewise.
43259
43260 2008-01-08  Jim Meyering  <meyering@redhat.com>
43261             Bruno Haible  <bruno@clisp.org>
43262
43263         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
43264         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
43265         Reported by Peter Fales in
43266         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
43267
43268 2008-01-08  Bruno Haible  <bruno@clisp.org>
43269
43270         * modules/unictype/category-of (Depends-on): Add
43271         unictype/category-none.
43272         * modules/unictype/category-and-tests (Depends-on): Add
43273         unictype/category-{L,N,Lu,Nd}.
43274         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
43275         * modules/unictype/category-or-tests (Depends-on): Add
43276         unictype/category-{L,N}.
43277         * modules/unictype/category-name-tests (Depends-on): Add
43278         unictype/category-{Z,Nl}.
43279         Reported by Simon Josefsson.
43280
43281 2008-01-08  Bruno Haible  <bruno@clisp.org>
43282
43283         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
43284         convention better.
43285         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
43286         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
43287         Reported by Peter Miller <millerp@canb.auug.org.au>.
43288
43289 2008-01-08  Eric Blake  <ebb9@byu.net>
43290
43291         Rewrite memmem to guarantee linear complexity without malloc.
43292         * lib/memmem.c (memmem): Use Two-Way rather than
43293         Knuth-Morris-Pratt, to allow O(1) space usage.
43294         (critical_factorization, two_way_short_needle)
43295         (two_way_long_needle): New functions.
43296         (knuth_morris_pratt): Delete.
43297         * modules/memmem (Depends-on): No longer need malloca or stdbool.
43298         Add stdint.
43299         * tests/test-memmem.c (main): Add tests for periodic needle and
43300         sublinear performance.
43301         * doc/functions/memmem.texi (memmem): Document other deficiencies
43302         in cygwin and older glibc.
43303
43304 2008-01-08  Bruno Haible  <bruno@clisp.org>
43305
43306         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
43307         augmentation.
43308
43309 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
43310
43311         Add a configure time option: --disable-acl.
43312         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
43313         AC_ARG_ENABLE(acl).
43314
43315 2008-01-06  Simon Josefsson  <simon@josefsson.org>
43316
43317         * tests/test-localename.c: Don't include obsolete "setenv.h".
43318
43319         * modules/localename-tests (Depends-on): Need unsetenv.
43320
43321 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43322
43323         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
43324
43325 2008-01-06  Colin Watson  <cjwatson@debian.org>
43326
43327         * users.txt: Add man-db.
43328
43329 2008-01-07  Bruno Haible  <bruno@clisp.org>
43330
43331         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
43332         previous section name.
43333
43334 2008-01-07  Bruno Haible  <bruno@clisp.org>
43335
43336         * lib/progname.c (set_program_name): Don't strip off a leading
43337         "lt-" prefix outside a .libs directory.
43338         Suggested by Paul Eggert.
43339
43340 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
43341             Bruno Haible  <bruno@clisp.org>
43342
43343         Improve memory cleanup in 'relocatable' module.
43344         * lib/relocatable.h (compute_curr_prefix): Change return type to
43345         'char *'.
43346         * lib/relocatable.c (compute_curr_prefix): Change return type to
43347         'char *'. Free curr_installdir after use.
43348         (relocate): Free curr_prefix_better after use.
43349         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
43350
43351 2008-01-01  Bruno Haible  <bruno@clisp.org>
43352
43353         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
43354         failure on older glibc systems.
43355         Reported by Peter Fales <psfales@alcatel-lucent.com>.
43356
43357 2008-01-05  Eric Blake  <ebb9@byu.net>
43358
43359         Avoid quadratic system memmem.
43360         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
43361         Reported by Ralf Wildenhues.
43362
43363         Fix memmem test for mingw.
43364         * modules/memmem-tests (configure.ac): Check for alarm.
43365         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
43366         it.
43367         * doc/functions/memmem.texi: New file.
43368         * doc/gnulib.texi (Function Substitutes): Add memmem.
43369         Reported by Bruno Haible.
43370
43371 2008-01-04  Bruno Haible  <bruno@clisp.org>
43372
43373         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
43374         Require gl_HEADER_STRINGS_H_DEFAULTS, not
43375         gl_HEADER_STRING_H_DEFAULTS.
43376
43377 2008-01-04  Eric Blake  <ebb9@byu.net>
43378
43379         Shorten duration of memmem test.
43380         * tests/test-memmem.c (main): Use alarm to declare failure if test
43381         is taking too long.
43382         Reported by Ralf Wildenhues.
43383
43384 2007-12-21  Simon Josefsson  <simon@josefsson.org>
43385
43386         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
43387         string, needed by strerror.
43388
43389 2008-01-03  Colin Watson  <cjwatson@debian.org>
43390             Bruno Haible  <bruno@clisp.org>
43391
43392         * doc/gnulib-tool.texi (Localization): New section.
43393
43394 2008-01-02  Bruno Haible  <bruno@clisp.org>
43395
43396         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
43397         variables to 'unsigned char *' type.
43398         Reported by Paul Eggert.
43399
43400 2008-01-02  Jim Meyering  <jim@meyering.net>
43401
43402         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
43403
43404 2007-12-31  Jim Meyering  <jim@meyering.net>
43405
43406         Avoid use of private FTS type name.
43407         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
43408
43409 2007-12-30  Karl Berry  <karl@gnu.org>
43410
43411         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
43412         work around defect in Texinfo and/or the standalone Info browser.
43413
43414 2007-12-30  Bruno Haible  <bruno@clisp.org>
43415
43416         Unify 5 copies of the KMP code.
43417         * lib/str-kmp.h: New file.
43418         * lib/c-strcasestr.c: Include str-kmp.h.
43419         (knuth_morris_pratt): Remove function.
43420         (c_strcasestr): Update.
43421         * lib/c-strstr.c: Include str-kmp.h.
43422         (knuth_morris_pratt): Remove function.
43423         (c_strcasestr): Update.
43424         * lib/mbscasestr.c: Include str-kmp.h.
43425         (knuth_morris_pratt_unibyte): Remove function.
43426         * lib/mbsstr.c: Include str-kmp.h.
43427         (knuth_morris_pratt_unibyte): Remove function.
43428         * lib/strcasestr.c: Include str-kmp.h.
43429         (knuth_morris_pratt): Remove function.
43430         (strcasestr): Update.
43431         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
43432         * modules/c-strstr (Files): Likewise.
43433         * modules/mbscasestr (Files): Likewise.
43434         * modules/mbsstr (Files): Likewise.
43435         * modules/strcasestr (Files): Likewise.
43436         Suggested by Paul Eggert.
43437
43438 2007-12-30  Bruno Haible  <bruno@clisp.org>
43439
43440         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
43441         defined.
43442
43443 2007-12-30  Bruno Haible  <bruno@clisp.org>
43444
43445         * lib/xmalloca.h: Include xalloc.h.
43446         (xnmalloca): New macro.
43447
43448 2007-12-30  Bruno Haible  <bruno@clisp.org>
43449
43450         * lib/malloca.h (nmalloca): New macro.
43451         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
43452         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
43453         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
43454         knuth_morris_pratt_multibyte): Likewise.
43455         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
43456         knuth_morris_pratt_multibyte): Likewise.
43457         * lib/memmem.c (knuth_morris_pratt): Likewise.
43458         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
43459
43460 2007-12-25  Bruno Haible  <bruno@clisp.org>
43461
43462         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
43463         * lib/glob.c: Don't include openat.h.
43464         (link_exists2_p): Add back the code that deals with the
43465         !GLOB_ALTDIRFUNC case.
43466         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
43467         let it do the filename concatenation.
43468         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
43469         * modules/glob (Depends-on): Remove openat.
43470
43471 2007-12-31  Bruno Haible  <bruno@clisp.org>
43472
43473         * modules/dirfd (License): Change to LGPLv2+.
43474         Approved by Jim Meyering.
43475
43476 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43477
43478         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
43479         when multiplying M by sizeof (size_t).
43480
43481 2007-12-10  Martin Lambers  <marlam@marlam.de>
43482
43483         Override getpagesize on mingw.
43484         * lib/getpagesize.c: New file.
43485         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
43486         * modules/getpagesize (Files): Add lib/getpagesize.c.
43487         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
43488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43489         REPLACE_GETPAGESIZE.
43490         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
43491
43492 2007-12-25  Bruno Haible  <bruno@clisp.org>
43493
43494         * modules/localcharset (Notice): New field.
43495         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
43496         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
43497
43498 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43499             Bruno Haible  <bruno@clisp.org>
43500
43501         Avoid using the syntax symbol() in formatted documentation.
43502         * MODULES.html.sh (func_module): When replacing symbol() with a
43503         hyperlink, remove the parentheses. Show an error if some remain.
43504         Recognize and render the '...' syntax.
43505         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
43506         Rework. Add paragraph about GCC's inlining.
43507         * doc/alloca.texi: Likewise.
43508         * doc/error.texi: Remove parentheses from symbol reference.
43509         * doc/gnulib-intro.texi: Likewise.
43510         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
43511         * modules/fnmatch (Description): Reword to say "the ... function".
43512         * modules/full-read (Description): Likewise.
43513         * modules/full-write (Description): Likewise.
43514         * modules/safe-read (Description): Likewise.
43515         * modules/safe-write (Description): Likewise.
43516         * modules/strchrnul (Description): Likewise.
43517         * modules/trim (Description): Likewise.
43518         * modules/error (Description): Remove parentheses from symbol
43519         references.
43520         * modules/verror (Description): Likewise.
43521         Reported by Karl Berry.
43522
43523 2007-12-25  Bruno Haible  <bruno@clisp.org>
43524
43525         Fixup after 2007-10-16 commit.
43526         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
43527
43528 2007-12-24  Bruno Haible  <bruno@clisp.org>
43529
43530         Make --enable-relocatable work with DESTDIR.
43531         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
43532         to compute installdir from destprog.
43533         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
43534         also set the RELOC_DESTDIR variable.
43535         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43536
43537 2007-12-24  Bruno Haible  <bruno@clisp.org>
43538
43539         Fix link error due to xalloc_die().
43540         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
43541         of xreadlink.
43542         * lib/relocwrapper.c: Update comments.
43543         * build-aux/install-reloc: Remove xreadlink.c from file list.
43544         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
43545         xreadlink.c.
43546         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43547
43548 2007-12-24  Bruno Haible  <bruno@clisp.org>
43549
43550         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
43551         * lib/setenv.h: Remove file.
43552         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
43553         lib/setenv.h.
43554         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
43555         (Depends-on): Add stdlib.
43556         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
43557         gl_FUNC_UNSETENV.
43558         (Include): Replace setenv.h with <stdlib.h>.
43559         * modules/unsetenv: New file.
43560         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
43561         * lib/unsetenv.c: Include <stdlib.h> first.
43562         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
43563         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
43564         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
43565         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
43566         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
43567         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43568         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
43569         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43570         * doc/functions/unsetenv.texi: Update.
43571         * modules/xsetenv (Depends-on): Add unsetenv.
43572         * modules/getdate (Depends-on): Likewise.
43573         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
43574         * lib/xsetenv.c: Don't include setenv.h.
43575         * lib/getdate.y: Likewise.
43576         * lib/relocwrapper.c: Likewise.
43577         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
43578         (Depends-on): Add stdlib.
43579         * NEWS: Mention the changes.
43580         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43581
43582 2007-12-23  Bruno Haible  <bruno@clisp.org>
43583
43584         * lib/memmem.c (memmem): Use lowercase variable names. Tab
43585         indentation.
43586
43587 2007-12-23  Bruno Haible  <bruno@clisp.org>
43588
43589         * lib/c-strcasestr.c: Add more comments.
43590         * lib/c-strstr.c: Likewise.
43591         * lib/mbscasestr.c: Likewise.
43592         * lib/mbsstr.c: Likewise.
43593         * lib/strcasestr.c: Likewise.
43594         * lib/memmem.c: Likewise.
43595
43596 2007-12-23  Bruno Haible  <bruno@clisp.org>
43597
43598         * tests/test-memmem.c: Include <string.h> first.
43599
43600 2007-12-22  Bruno Haible  <bruno@clisp.org>
43601
43602         * gnulib-tool (func_create_testdir): Change $auxdir while generating
43603         the contents of $testsbase.
43604         Reported by Ralf Wildenhues.
43605
43606 2007-12-22  Bruno Haible  <bruno@clisp.org>
43607
43608         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
43609         two variables local_ldadd_before, local_ldadd_last.
43610
43611 2007-12-20  Eric Blake  <ebb9@byu.net>
43612
43613         Work around circular library issue when cross-compiling.
43614         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
43615         that progname.o does not need to pull in rpl_memcmp.
43616
43617 2007-12-19  Eric Blake  <ebb9@byu.net>
43618
43619         Fix memmem to avoid O(n^2) worst-case complexity.
43620         * lib/memmem.c (knuth_morris_pratt): New function.
43621         (memmem): Use it if first few naive iterations fail.
43622         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
43623         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
43624         * modules/memchr (License): Likewise.
43625         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
43626         malloca.
43627         * tests/test-memmem.c: Rewrite, borrowing ideas from
43628         test-mbsstr1.c; the old version wouldn't even compile!
43629         * modules/memmem-tests: New file.
43630         * lib/string.in.h (rpl_memmem): Add declaration.
43631         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
43632         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
43633         REPLACE_MEMMEM.
43634
43635 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43636
43637         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
43638         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
43639         before any system include files, and undef after them all.  This
43640         should fix a problem on VMS reported by John E. Malmberg in
43641         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
43642
43643 2007-12-17  Eric Blake  <ebb9@byu.net>
43644
43645         Revert addition of verify, for BSD/OS.
43646         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
43647         can't handle large files, for the sake of obsolete platforms.
43648         * modules/fseeko (Depends-on): Remove verify.
43649         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
43650         * doc/functions/ftello.texi (ftello): Likewise.
43651         * doc/functions/fgetpos.texi (fgetpos): Likewise.
43652         Reported by Larry Jones.
43653
43654 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
43655
43656         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
43657         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
43658
43659 2007-12-17  Jim Meyering  <meyering@redhat.com>
43660
43661         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
43662         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
43663         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
43664         * modules/getcwd (Depends-on): Add openat.
43665         Reported by Petr Salinger.
43666
43667 2007-12-17  Bruno Haible  <bruno@clisp.org>
43668
43669         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
43670         avoid a segmentation fault of the configure test on x86_64 systems.
43671
43672 2007-12-15  Jim Meyering  <meyering@redhat.com>
43673
43674         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
43675
43676 2007-12-13  Eric Blake  <ebb9@byu.net>
43677
43678         Another fseek test.
43679         * tests/test-fseek.c (main): Also test ungetc handling.
43680         * tests/test-fseeko.c (main): Likewise.
43681         * modules/fseeko (Depends-on): Add verify.
43682         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
43683         large.
43684         Reported by Larry Jones.
43685
43686         Fix fseeko on mingw.
43687         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
43688         seek.
43689
43690         Beef up fseek tests.
43691         * tests/test-fseek.c (main): Also test eof handling.
43692         * tests/test-fseeko.c (main): Likewise.
43693         Reported by Larry Jones.
43694
43695 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
43696
43697         Fix fseeko on BSD-based platforms.
43698         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
43699         successful seek.
43700
43701 2007-12-12  Eric Blake  <ebb9@byu.net>
43702
43703         Allow circular dependency of separate libtests.a
43704         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
43705         when use_libtests.
43706
43707 2007-12-11  Eric Blake  <ebb9@byu.net>
43708
43709         Fix bug with -0.0L in previous patch.
43710         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
43711         * tests/test-isnan.c (main): Also test on zeroes.
43712         * tests/test-isnanf.c (main): Likewise.
43713         * tests/test-isnanl.h (main): Likewise.
43714
43715         Detect pseudo-denormals on x86 even when cross-compiling.
43716         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
43717         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
43718         invalid bit patterns that happen to satisfy ==.
43719
43720         Avoid link failures with separate libtests.a.
43721         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
43722         last, to satisfy circular dependencies.
43723
43724 2007-12-11  Eric Blake  <ebb9@byu.net>
43725         and Bruno Haible  <bruno@clisp.org>
43726
43727         Fix OpenBSD 4.0 <float.h> handling of long double.
43728         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
43729         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
43730         * doc/headers/float.texi (float.h): Document OpenBSD bug.
43731
43732 2007-12-11  Jim Meyering  <meyering@redhat.com>
43733
43734         * users.txt: Add libvirt.
43735
43736         Support versions of autoconf prior to 2.59c.
43737         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
43738         if it is not already defined.
43739
43740 2007-12-09  Bruno Haible  <bruno@clisp.org>
43741
43742         Let 'gnulib-tool --import' collect sources needed for the tests in
43743         tests/ rather than in lib/.
43744         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
43745         argument. If true, add rules to generate libtests.a, and put libtests.a
43746         into $(LDADD). Consider source files in subdirectories and set
43747         uses_subdirs.
43748         (func_emit_initmacro_start, func_emit_initmacro_end,
43749         func_emit_initmacro_done): Pass all arguments explicitly.
43750         (func_import): Determine two module lists main_modules,
43751         testsrelated_modules. Determine use_libtests. Determine two variables
43752         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
43753         instead of just sed_transform_lib_file. Determine two variables
43754         main_files and testsrelated_files. Compute 'files' as the union of
43755         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
43756         func_add_or_update. In the generated gnulib-comp.m4, collect the
43757         object files for tests/ in different variables than those for lib/.
43758         Substitute LIBTESTS_LIBDEPS.
43759         (func_create_testdir): Combine the uses_subdirs results from
43760         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
43761
43762 2007-12-09  Bruno Haible  <bruno@clisp.org>
43763
43764         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
43765         the build-aux directory.
43766
43767 2007-12-09  Bruno Haible  <bruno@clisp.org>
43768
43769         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
43770         introduced on 2006-09-09.
43771
43772 2007-12-07  Jim Meyering  <meyering@redhat.com>
43773
43774         Let these macros work also with autoconf-2.59.
43775         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
43776         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
43777         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
43778
43779 2007-12-06  Jim Meyering  <meyering@redhat.com>
43780
43781         Avoid a configure-time syntax error in gl_FUNC_ACL.
43782         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
43783         function in each branch, before testing the cache variable.
43784
43785 2007-12-04  Eric Blake  <ebb9@byu.net>
43786
43787         Make scripts executable.
43788         * build-aux/config.guess: Add execute permissions.
43789         * build-aux/config.sub: Likewise.
43790         * build-aux/gendocs.sh: Likewise.
43791
43792         Fix frexp on mingw.
43793         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
43794         cross-compiling.
43795         * doc/functions/frexp.texi (frexp): Document the bug.
43796
43797         Make cygwin fseeko check more reliable.
43798         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
43799         version numbers, rather than unrelated feature check.
43800         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
43801         * doc/functions/ftello.texi (ftello): Likewise.
43802         Reported by Bruno Haible.
43803
43804         * m4/strerror.m4: Bump version number.
43805
43806 2007-12-03  Bruno Haible  <bruno@clisp.org>
43807
43808         * doc/functions/mprotect.texi: Mention the mingw problem.
43809
43810 2007-12-03  Eric Blake  <ebb9@byu.net>
43811
43812         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
43813         REPLACE_STRERROR is initialized before this macro.
43814
43815 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
43816
43817         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
43818         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
43819         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
43820         put -lsec in even for programs other than 'ls'.  This fixes a problem
43821         for gettext reported by Bruno Haible in
43822         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
43823         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
43824         Add support for Solaris 10.  This isn't efficient, but should get the
43825         job done for now.
43826
43827 2007-12-03  James Youngman  <jay@gnu.org>
43828
43829         * doc/regexprops-generic.texi: change "an close-group" to "a
43830         close-group" and "illegal" to "not allowed".
43831
43832 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43833
43834         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
43835         pr_byname.h. Needed for the rare case when the maintainer has done
43836         "make maintainer-clean" in the source directory and then attempts a
43837         build outside the source directory.
43838         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
43839         scripts_byname.h.
43840
43841 2007-12-02  Martin Lambers <marlam@marlam.de>
43842             Bruno Haible  <bruno@clisp.org>
43843
43844         * lib/getpagesize.h: Remove file.
43845         * lib/unistd.in.h: Include declaration of getpagesize here.
43846         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
43847         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
43848         HAVE_SYS_PARAM_H.
43849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
43850         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
43851         * modules/getpagesize (Files): Remove lib/getpagesize.h.
43852         (Depends-on): Add unistd.
43853         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43854         (Include): Use <unistd.h> instead of getpagesize.h.
43855         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
43856         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
43857         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
43858         gl_GETPAGESIZE invocation, already handled by module dependency.
43859         * lib/pagealign_alloc.c: Don't include getpagesize.h.
43860
43861 2007-12-02  Bruno Haible  <bruno@clisp.org>
43862
43863         * modules/strings-tests: New file.
43864         * tests/test-strings.c: New file.
43865
43866         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
43867         * lib/strings.in.h: New file.
43868         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
43869         * m4/strings_h.m4: New file.
43870         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
43871         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
43872         * modules/strings: New file.
43873         * modules/string (Makefile.am): Update.
43874         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
43875         Reported by Karl Berry.
43876
43877 2007-12-01  Eric Blake  <ebb9@byu.net>
43878
43879         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
43880         accomodate fix in cygwin 1.5.25.
43881
43882 2007-12-01  Jim Meyering  <meyering@redhat.com>
43883
43884         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
43885         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
43886         that would inhibit utf8-optimization of a regexp containing line-
43887         or buffer-anchors, e.g., `^', `$'.
43888
43889 2007-11-30  Bruno Haible  <bruno@clisp.org>
43890
43891         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
43892         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
43893         glthread_recursive_lock_init.
43894         * lib/lock.c (glthread_recursive_lock_init)
43895         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
43896         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43897
43898 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
43899
43900         New function qset_acl, like set_acl but with syscall semantics.
43901         * lib/acl.h (qset_acl): New decl.
43902         * lib/acl.c (qset_acl): New function.
43903         (set_acl): Use new function.  Use more-consistent diagnostics.
43904
43905 2007-11-28  Jim Meyering  <meyering@redhat.com>
43906
43907         * modules/physmem (License): Change from GPL to LGPLv2+.
43908
43909 2007-11-26  Bruno Haible  <bruno@clisp.org>
43910
43911         * lib/vasnprintf.c (decode_long_double): Don't abort if the
43912         'long double' type has excess precision.
43913         Reported by Jim Meyering in
43914         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
43915
43916 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43917
43918         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
43919         Sync from <http://gnu.org/licenses>.
43920         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
43921         with license text from same location.
43922         * doc/maintain.texi, doc/standards.texi:  Sync from
43923         <http://savannah.gnu.org/projects/gnustandards>.
43924
43925 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
43926         and Jim Meyering  <meyering@redhat.com>
43927
43928         Adjust getdate' grammar to accept a slightly more regular language.
43929         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
43930         Before, the former was rejected.
43931         * lib/getdate.y (digits_to_date_time): New function, factored
43932         out of ...
43933         (number): ...here.  Just call digits_to_date_time.
43934         (hybrid): New non-terminal to handle an <unsigned number,
43935         signed relative offset> sequence consistently.
43936
43937 2007-11-18  Jim Meyering  <meyering@redhat.com>
43938
43939         Pull my changes from coreutils:
43940         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
43941         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
43942         use of $gnulib_tool_option_extras, so that it's separated from the
43943         preceding argument.
43944
43945         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
43946         * build-aux/bootstrap (cp_mark_as_generated): Create any required
43947         parent destination directories before copying a file into place.
43948
43949 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
43950
43951         bootstrap: work also with 4-argument variant of AC_INIT
43952         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
43953
43954 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
43955
43956         Port test-getaddrinfo to Solaris.
43957         Problem reported by Bruno Haible in
43958         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
43959         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
43960         explanation of setting 'hints'.
43961         Don't reject an implementation merely because it returns EAI_SERVICE.
43962         (EAI_SERVICE): Define to 0 if not defined.
43963
43964 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
43965
43966         The license of gnu-make and posix-shell is now "GPLed build tool".
43967         * modules/gnu-make (License): Likewise.
43968         * modules/posix-shell (License): Likewise.
43969
43970         New module posix-shell, for determining a POSIX shell
43971         or perhaps something that is close enough to a POSIX shell.
43972         * m4/posix-shell.m4: New file.
43973         * modules/posix-shell: New file.
43974
43975         * MODULES.html.sh: Mention new module.
43976
43977         New module gnu-make, for determining whether we're using GNU Make.
43978         * m4/gnu-make.m4: New file.
43979         * modules/gnu-make: New file.
43980         * MODULES.html.sh: Mention new module.
43981
43982 2007-11-14  Jim Meyering  <meyering@redhat.com>
43983
43984         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
43985         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
43986         use this macro to create a function _definition_.
43987         Remove useless "#undef ARGMATCH_DIE".
43988
43989 2007-11-14  Bruno Haible  <bruno@clisp.org>
43990
43991         * lib/config.charset: Update for OpenBSD 4.1.
43992         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
43993
43994 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
43995
43996         Document 64-bit #if problems in stdint.texi.
43997         * doc/headers/stdint.texi (stdint.h): Mention problems with
43998         64-bit-#if, and how to work around them.
43999
44000         Don't insist on 'long long int' support in the preprocessor.  It
44001         breaks too many things.  For example, PRIdMAX still uses a 'long
44002         long int' format with the latest Sun compiler, even though
44003         HAVE_LONG_LONG_INT isn't defined due to that compiler's
44004         preprocessor problem.  This causes the latest coreutils to dump
44005         core on Solaris 10 sparc with the Sun C compiler.
44006         Instead, fix the 2007-10-16 problem in a different way, by evaluating
44007         the troublesome expressions at configure-time, not at #if-time.
44008         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
44009         preprocessor.
44010         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
44011         compile-time C checks, done at 'configure'-time.
44012         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
44013         * modules/inttypes (Makefile): Substitute the new symbols that
44014         gl_INTTYPES_H now generates.
44015         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
44016
44017 2007-11-12  Bruno Haible  <bruno@clisp.org>
44018
44019         Tests for Unicode character classification functions.
44020
44021         * modules/unictype/bidicategory-byname-tests: New file.
44022         * modules/unictype/bidicategory-name-tests: New file.
44023         * modules/unictype/bidicategory-of-tests: New file.
44024         * modules/unictype/bidicategory-test-tests: New file.
44025         * modules/unictype/block-list-tests: New file.
44026         * modules/unictype/block-of-tests: New file.
44027         * modules/unictype/block-test-tests: New file.
44028         * modules/unictype/category-C-tests: New file.
44029         * modules/unictype/category-Cc-tests: New file.
44030         * modules/unictype/category-Cf-tests: New file.
44031         * modules/unictype/category-Cn-tests: New file.
44032         * modules/unictype/category-Co-tests: New file.
44033         * modules/unictype/category-Cs-tests: New file.
44034         * modules/unictype/category-L-tests: New file.
44035         * modules/unictype/category-Ll-tests: New file.
44036         * modules/unictype/category-Lm-tests: New file.
44037         * modules/unictype/category-Lo-tests: New file.
44038         * modules/unictype/category-Lt-tests: New file.
44039         * modules/unictype/category-Lu-tests: New file.
44040         * modules/unictype/category-M-tests: New file.
44041         * modules/unictype/category-Mc-tests: New file.
44042         * modules/unictype/category-Me-tests: New file.
44043         * modules/unictype/category-Mn-tests: New file.
44044         * modules/unictype/category-N-tests: New file.
44045         * modules/unictype/category-Nd-tests: New file.
44046         * modules/unictype/category-Nl-tests: New file.
44047         * modules/unictype/category-No-tests: New file.
44048         * modules/unictype/category-P-tests: New file.
44049         * modules/unictype/category-Pc-tests: New file.
44050         * modules/unictype/category-Pd-tests: New file.
44051         * modules/unictype/category-Pe-tests: New file.
44052         * modules/unictype/category-Pf-tests: New file.
44053         * modules/unictype/category-Pi-tests: New file.
44054         * modules/unictype/category-Po-tests: New file.
44055         * modules/unictype/category-Ps-tests: New file.
44056         * modules/unictype/category-S-tests: New file.
44057         * modules/unictype/category-Sc-tests: New file.
44058         * modules/unictype/category-Sk-tests: New file.
44059         * modules/unictype/category-Sm-tests: New file.
44060         * modules/unictype/category-So-tests: New file.
44061         * modules/unictype/category-Z-tests: New file.
44062         * modules/unictype/category-Zl-tests: New file.
44063         * modules/unictype/category-Zp-tests: New file.
44064         * modules/unictype/category-Zs-tests: New file.
44065         * modules/unictype/category-and-not-tests: New file.
44066         * modules/unictype/category-and-tests: New file.
44067         * modules/unictype/category-byname-tests: New file.
44068         * modules/unictype/category-name-tests: New file.
44069         * modules/unictype/category-none-tests: New file.
44070         * modules/unictype/category-of-tests: New file.
44071         * modules/unictype/category-or-tests: New file.
44072         * modules/unictype/category-test-withtable-tests: New file.
44073         * modules/unictype/combining-class-tests: New file.
44074         * modules/unictype/ctype-alnum-tests: New file.
44075         * modules/unictype/ctype-alpha-tests: New file.
44076         * modules/unictype/ctype-blank-tests: New file.
44077         * modules/unictype/ctype-cntrl-tests: New file.
44078         * modules/unictype/ctype-digit-tests: New file.
44079         * modules/unictype/ctype-graph-tests: New file.
44080         * modules/unictype/ctype-lower-tests: New file.
44081         * modules/unictype/ctype-print-tests: New file.
44082         * modules/unictype/ctype-punct-tests: New file.
44083         * modules/unictype/ctype-space-tests: New file.
44084         * modules/unictype/ctype-upper-tests: New file.
44085         * modules/unictype/ctype-xdigit-tests: New file.
44086         * modules/unictype/decimal-digit-tests: New file.
44087         * modules/unictype/digit-tests: New file.
44088         * modules/unictype/mirror-tests: New file.
44089         * modules/unictype/numeric-tests: New file.
44090         * modules/unictype/property-alphabetic-tests: New file.
44091         * modules/unictype/property-ascii-hex-digit-tests: New file.
44092         * modules/unictype/property-bidi-arabic-digit-tests: New file.
44093         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
44094         * modules/unictype/property-bidi-block-separator-tests: New file.
44095         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
44096         * modules/unictype/property-bidi-common-separator-tests: New file.
44097         * modules/unictype/property-bidi-control-tests: New file.
44098         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
44099         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
44100         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
44101         * modules/unictype/property-bidi-european-digit-tests: New file.
44102         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
44103         * modules/unictype/property-bidi-left-to-right-tests: New file.
44104         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
44105         * modules/unictype/property-bidi-other-neutral-tests: New file.
44106         * modules/unictype/property-bidi-pdf-tests: New file.
44107         * modules/unictype/property-bidi-segment-separator-tests: New file.
44108         * modules/unictype/property-bidi-whitespace-tests: New file.
44109         * modules/unictype/property-byname-tests: New file.
44110         * modules/unictype/property-combining-tests: New file.
44111         * modules/unictype/property-composite-tests: New file.
44112         * modules/unictype/property-currency-symbol-tests: New file.
44113         * modules/unictype/property-dash-tests: New file.
44114         * modules/unictype/property-decimal-digit-tests: New file.
44115         * modules/unictype/property-default-ignorable-code-point-tests: New file.
44116         * modules/unictype/property-deprecated-tests: New file.
44117         * modules/unictype/property-diacritic-tests: New file.
44118         * modules/unictype/property-extender-tests: New file.
44119         * modules/unictype/property-format-control-tests: New file.
44120         * modules/unictype/property-grapheme-base-tests: New file.
44121         * modules/unictype/property-grapheme-extend-tests: New file.
44122         * modules/unictype/property-grapheme-link-tests: New file.
44123         * modules/unictype/property-hex-digit-tests: New file.
44124         * modules/unictype/property-hyphen-tests: New file.
44125         * modules/unictype/property-id-continue-tests: New file.
44126         * modules/unictype/property-id-start-tests: New file.
44127         * modules/unictype/property-ideographic-tests: New file.
44128         * modules/unictype/property-ids-binary-operator-tests: New file.
44129         * modules/unictype/property-ids-trinary-operator-tests: New file.
44130         * modules/unictype/property-ignorable-control-tests: New file.
44131         * modules/unictype/property-iso-control-tests: New file.
44132         * modules/unictype/property-join-control-tests: New file.
44133         * modules/unictype/property-left-of-pair-tests: New file.
44134         * modules/unictype/property-line-separator-tests: New file.
44135         * modules/unictype/property-logical-order-exception-tests: New file.
44136         * modules/unictype/property-lowercase-tests: New file.
44137         * modules/unictype/property-math-tests: New file.
44138         * modules/unictype/property-non-break-tests: New file.
44139         * modules/unictype/property-not-a-character-tests: New file.
44140         * modules/unictype/property-numeric-tests: New file.
44141         * modules/unictype/property-other-alphabetic-tests: New file.
44142         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
44143         * modules/unictype/property-other-grapheme-extend-tests: New file.
44144         * modules/unictype/property-other-id-continue-tests: New file.
44145         * modules/unictype/property-other-id-start-tests: New file.
44146         * modules/unictype/property-other-lowercase-tests: New file.
44147         * modules/unictype/property-other-math-tests: New file.
44148         * modules/unictype/property-other-uppercase-tests: New file.
44149         * modules/unictype/property-paired-punctuation-tests: New file.
44150         * modules/unictype/property-paragraph-separator-tests: New file.
44151         * modules/unictype/property-pattern-syntax-tests: New file.
44152         * modules/unictype/property-pattern-white-space-tests: New file.
44153         * modules/unictype/property-private-use-tests: New file.
44154         * modules/unictype/property-punctuation-tests: New file.
44155         * modules/unictype/property-quotation-mark-tests: New file.
44156         * modules/unictype/property-radical-tests: New file.
44157         * modules/unictype/property-sentence-terminal-tests: New file.
44158         * modules/unictype/property-soft-dotted-tests: New file.
44159         * modules/unictype/property-space-tests: New file.
44160         * modules/unictype/property-terminal-punctuation-tests: New file.
44161         * modules/unictype/property-test-tests: New file.
44162         * modules/unictype/property-titlecase-tests: New file.
44163         * modules/unictype/property-unassigned-code-value-tests: New file.
44164         * modules/unictype/property-unified-ideograph-tests: New file.
44165         * modules/unictype/property-uppercase-tests: New file.
44166         * modules/unictype/property-variation-selector-tests: New file.
44167         * modules/unictype/property-white-space-tests: New file.
44168         * modules/unictype/property-xid-continue-tests: New file.
44169         * modules/unictype/property-xid-start-tests: New file.
44170         * modules/unictype/property-zero-width-tests: New file.
44171         * modules/unictype/scripts-tests: New file.
44172         * modules/unictype/syntax-c-ident-tests: New file.
44173         * modules/unictype/syntax-c-whitespace-tests: New file.
44174         * modules/unictype/syntax-java-ident-tests: New file.
44175         * modules/unictype/syntax-java-whitespace-tests: New file.
44176         * tests/unictype/test-bidi_byname.c: New file.
44177         * tests/unictype/test-bidi_name.c: New file.
44178         * tests/unictype/test-bidi_of.c: New file.
44179         * tests/unictype/test-bidi_test.c: New file.
44180         * tests/unictype/test-block_list.c: New file.
44181         * tests/unictype/test-block_of.c: New file.
44182         * tests/unictype/test-block_test.c: New file.
44183         * tests/unictype/test-categ_and.c: New file.
44184         * tests/unictype/test-categ_and_not.c: New file.
44185         * tests/unictype/test-categ_byname.c: New file.
44186         * tests/unictype/test-categ_name.c: New file.
44187         * tests/unictype/test-categ_none.c: New file.
44188         * tests/unictype/test-categ_of.c: New file.
44189         * tests/unictype/test-categ_or.c: New file.
44190         * tests/unictype/test-categ_test_withtable.c: New file.
44191         * tests/unictype/test-combining.c: New file.
44192         * tests/unictype/test-decdigit.c: New file.
44193         * tests/unictype/test-digit.c: New file.
44194         * tests/unictype/test-mirror.c: New file.
44195         * tests/unictype/test-numeric.c: New file.
44196         * tests/unictype/test-pr_byname.c: New file.
44197         * tests/unictype/test-pr_test.c: New file.
44198         * tests/unictype/test-predicate-part1.h: New file.
44199         * tests/unictype/test-predicate-part2.h: New file.
44200         * tests/unictype/test-scripts.c: New file.
44201         * tests/unictype/test-sy_c_ident.c: New file.
44202         * tests/unictype/test-sy_java_ident.c: New file.
44203
44204         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
44205         for Unicode 5.0.0.
44206         * tests/unictype/test-categ_Cc.c: Likewise.
44207         * tests/unictype/test-categ_Cf.c: Likewise.
44208         * tests/unictype/test-categ_Cn.c: Likewise.
44209         * tests/unictype/test-categ_Co.c: Likewise.
44210         * tests/unictype/test-categ_Cs.c: Likewise.
44211         * tests/unictype/test-categ_L.c: Likewise.
44212         * tests/unictype/test-categ_Ll.c: Likewise.
44213         * tests/unictype/test-categ_Lm.c: Likewise.
44214         * tests/unictype/test-categ_Lo.c: Likewise.
44215         * tests/unictype/test-categ_Lt.c: Likewise.
44216         * tests/unictype/test-categ_Lu.c: Likewise.
44217         * tests/unictype/test-categ_M.c: Likewise.
44218         * tests/unictype/test-categ_Mc.c: Likewise.
44219         * tests/unictype/test-categ_Me.c: Likewise.
44220         * tests/unictype/test-categ_Mn.c: Likewise.
44221         * tests/unictype/test-categ_N.c: Likewise.
44222         * tests/unictype/test-categ_Nd.c: Likewise.
44223         * tests/unictype/test-categ_Nl.c: Likewise.
44224         * tests/unictype/test-categ_No.c: Likewise.
44225         * tests/unictype/test-categ_P.c: Likewise.
44226         * tests/unictype/test-categ_Pc.c: Likewise.
44227         * tests/unictype/test-categ_Pd.c: Likewise.
44228         * tests/unictype/test-categ_Pe.c: Likewise.
44229         * tests/unictype/test-categ_Pf.c: Likewise.
44230         * tests/unictype/test-categ_Pi.c: Likewise.
44231         * tests/unictype/test-categ_Po.c: Likewise.
44232         * tests/unictype/test-categ_Ps.c: Likewise.
44233         * tests/unictype/test-categ_S.c: Likewise.
44234         * tests/unictype/test-categ_Sc.c: Likewise.
44235         * tests/unictype/test-categ_Sk.c: Likewise.
44236         * tests/unictype/test-categ_Sm.c: Likewise.
44237         * tests/unictype/test-categ_So.c: Likewise.
44238         * tests/unictype/test-categ_Z.c: Likewise.
44239         * tests/unictype/test-categ_Zl.c: Likewise.
44240         * tests/unictype/test-categ_Zp.c: Likewise.
44241         * tests/unictype/test-categ_Zs.c: Likewise.
44242         * tests/unictype/test-ctype_alnum.c: Likewise.
44243         * tests/unictype/test-ctype_alpha.c: Likewise.
44244         * tests/unictype/test-ctype_blank.c: Likewise.
44245         * tests/unictype/test-ctype_cntrl.c: Likewise.
44246         * tests/unictype/test-ctype_digit.c: Likewise.
44247         * tests/unictype/test-ctype_graph.c: Likewise.
44248         * tests/unictype/test-ctype_lower.c: Likewise.
44249         * tests/unictype/test-ctype_print.c: Likewise.
44250         * tests/unictype/test-ctype_punct.c: Likewise.
44251         * tests/unictype/test-ctype_space.c: Likewise.
44252         * tests/unictype/test-ctype_upper.c: Likewise.
44253         * tests/unictype/test-ctype_xdigit.c: Likewise.
44254         * tests/unictype/test-decdigit.h: Likewise.
44255         * tests/unictype/test-digit.h: Likewise.
44256         * tests/unictype/test-numeric.h: Likewise.
44257         * tests/unictype/test-pr_alphabetic.c: Likewise.
44258         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
44259         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44260         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
44261         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
44262         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
44263         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
44264         * tests/unictype/test-pr_bidi_control.c: Likewise.
44265         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
44266         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
44267         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44268         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44269         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44270         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44271         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44272         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44273         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
44274         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
44275         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
44276         * tests/unictype/test-pr_combining.c: Likewise.
44277         * tests/unictype/test-pr_composite.c: Likewise.
44278         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44279         * tests/unictype/test-pr_dash.c: Likewise.
44280         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44281         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
44282         * tests/unictype/test-pr_deprecated.c: Likewise.
44283         * tests/unictype/test-pr_diacritic.c: Likewise.
44284         * tests/unictype/test-pr_extender.c: Likewise.
44285         * tests/unictype/test-pr_format_control.c: Likewise.
44286         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44287         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44288         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44289         * tests/unictype/test-pr_hex_digit.c: Likewise.
44290         * tests/unictype/test-pr_hyphen.c: Likewise.
44291         * tests/unictype/test-pr_id_continue.c: Likewise.
44292         * tests/unictype/test-pr_id_start.c: Likewise.
44293         * tests/unictype/test-pr_ideographic.c: Likewise.
44294         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
44295         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
44296         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44297         * tests/unictype/test-pr_iso_control.c: Likewise.
44298         * tests/unictype/test-pr_join_control.c: Likewise.
44299         * tests/unictype/test-pr_left_of_pair.c: Likewise.
44300         * tests/unictype/test-pr_line_separator.c: Likewise.
44301         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44302         * tests/unictype/test-pr_lowercase.c: Likewise.
44303         * tests/unictype/test-pr_math.c: Likewise.
44304         * tests/unictype/test-pr_non_break.c: Likewise.
44305         * tests/unictype/test-pr_not_a_character.c: Likewise.
44306         * tests/unictype/test-pr_numeric.c: Likewise.
44307         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44308         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
44309         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
44310         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44311         * tests/unictype/test-pr_other_id_start.c: Likewise.
44312         * tests/unictype/test-pr_other_lowercase.c: Likewise.
44313         * tests/unictype/test-pr_other_math.c: Likewise.
44314         * tests/unictype/test-pr_other_uppercase.c: Likewise.
44315         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
44316         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
44317         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
44318         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
44319         * tests/unictype/test-pr_private_use.c: Likewise.
44320         * tests/unictype/test-pr_punctuation.c: Likewise.
44321         * tests/unictype/test-pr_quotation_mark.c: Likewise.
44322         * tests/unictype/test-pr_radical.c: Likewise.
44323         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44324         * tests/unictype/test-pr_soft_dotted.c: Likewise.
44325         * tests/unictype/test-pr_space.c: Likewise.
44326         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44327         * tests/unictype/test-pr_titlecase.c: Likewise.
44328         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44329         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44330         * tests/unictype/test-pr_uppercase.c: Likewise.
44331         * tests/unictype/test-pr_variation_selector.c: Likewise.
44332         * tests/unictype/test-pr_white_space.c: Likewise.
44333         * tests/unictype/test-pr_xid_continue.c: Likewise.
44334         * tests/unictype/test-pr_xid_start.c: Likewise.
44335         * tests/unictype/test-pr_zero_width.c: Likewise.
44336         * tests/unictype/test-sy_c_whitespace.c: Likewise.
44337         * tests/unictype/test-sy_java_whitespace.c: Likewise.
44338
44339 2007-11-12  Bruno Haible  <bruno@clisp.org>
44340
44341         Unicode character classification functions.
44342         * lib/unictype.h: New file.
44343         * modules/unictype/base: New file.
44344         * modules/unictype/category-L: New file.
44345         * modules/unictype/category-Lu: New file.
44346         * modules/unictype/category-Ll: New file.
44347         * modules/unictype/category-Lt: New file.
44348         * modules/unictype/category-Lm: New file.
44349         * modules/unictype/category-Lo: New file.
44350         * modules/unictype/category-M: New file.
44351         * modules/unictype/category-Mn: New file.
44352         * modules/unictype/category-Mc: New file.
44353         * modules/unictype/category-Me: New file.
44354         * modules/unictype/category-N: New file.
44355         * modules/unictype/category-Nd: New file.
44356         * modules/unictype/category-Nl: New file.
44357         * modules/unictype/category-No: New file.
44358         * modules/unictype/category-P: New file.
44359         * modules/unictype/category-Pc: New file.
44360         * modules/unictype/category-Pd: New file.
44361         * modules/unictype/category-Ps: New file.
44362         * modules/unictype/category-Pe: New file.
44363         * modules/unictype/category-Pi: New file.
44364         * modules/unictype/category-Pf: New file.
44365         * modules/unictype/category-Po: New file.
44366         * modules/unictype/category-S: New file.
44367         * modules/unictype/category-Sm: New file.
44368         * modules/unictype/category-Sc: New file.
44369         * modules/unictype/category-Sk: New file.
44370         * modules/unictype/category-So: New file.
44371         * modules/unictype/category-Z: New file.
44372         * modules/unictype/category-Zs: New file.
44373         * modules/unictype/category-Zl: New file.
44374         * modules/unictype/category-Zp: New file.
44375         * modules/unictype/category-C: New file.
44376         * modules/unictype/category-Cc: New file.
44377         * modules/unictype/category-Cf: New file.
44378         * modules/unictype/category-Cs: New file.
44379         * modules/unictype/category-Co: New file.
44380         * modules/unictype/category-Cn: New file.
44381         * modules/unictype/category-or: New file.
44382         * modules/unictype/category-of: New file.
44383         * modules/unictype/category-test: New file.
44384         * modules/unictype/category-test-withtable: New file.
44385         * modules/unictype/category-byname: New file.
44386         * modules/unictype/category-none: New file.
44387         * modules/unictype/category-and: New file.
44388         * modules/unictype/category-and-not: New file.
44389         * modules/unictype/category-name: New file.
44390         * modules/unictype/combining-class: New file.
44391         * modules/unictype/category-all: New file.
44392         * modules/unictype/bidicategory-all: New file.
44393         * modules/unictype/bidicategory-byname: New file.
44394         * modules/unictype/bidicategory-name: New file.
44395         * modules/unictype/bidicategory-of: New file.
44396         * modules/unictype/bidicategory-test: New file.
44397         * modules/unictype/decimal-digit: New file.
44398         * modules/unictype/digit: New file.
44399         * modules/unictype/numeric: New file.
44400         * modules/unictype/mirror: New file.
44401         * modules/unictype/property-white-space: New file.
44402         * modules/unictype/property-alphabetic: New file.
44403         * modules/unictype/property-other-alphabetic: New file.
44404         * modules/unictype/property-not-a-character: New file.
44405         * modules/unictype/property-default-ignorable-code-point: New file.
44406         * modules/unictype/property-other-default-ignorable-code-point: New
44407         file.
44408         * modules/unictype/property-deprecated: New file.
44409         * modules/unictype/property-logical-order-exception: New file.
44410         * modules/unictype/property-variation-selector: New file.
44411         * modules/unictype/property-private-use: New file.
44412         * modules/unictype/property-unassigned-code-value: New file.
44413         * modules/unictype/property-uppercase: New file.
44414         * modules/unictype/property-other-uppercase: New file.
44415         * modules/unictype/property-lowercase: New file.
44416         * modules/unictype/property-other-lowercase: New file.
44417         * modules/unictype/property-titlecase: New file.
44418         * modules/unictype/property-soft-dotted: New file.
44419         * modules/unictype/property-id-start: New file.
44420         * modules/unictype/property-other-id-start: New file.
44421         * modules/unictype/property-id-continue: New file.
44422         * modules/unictype/property-other-id-continue: New file.
44423         * modules/unictype/property-xid-start: New file.
44424         * modules/unictype/property-xid-continue: New file.
44425         * modules/unictype/property-pattern-white-space: New file.
44426         * modules/unictype/property-pattern-syntax: New file.
44427         * modules/unictype/property-join-control: New file.
44428         * modules/unictype/property-grapheme-base: New file.
44429         * modules/unictype/property-grapheme-extend: New file.
44430         * modules/unictype/property-other-grapheme-extend: New file.
44431         * modules/unictype/property-grapheme-link: New file.
44432         * modules/unictype/property-bidi-control: New file.
44433         * modules/unictype/property-bidi-left-to-right: New file.
44434         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
44435         * modules/unictype/property-bidi-arabic-right-to-left: New file.
44436         * modules/unictype/property-bidi-european-digit: New file.
44437         * modules/unictype/property-bidi-eur-num-separator: New file.
44438         * modules/unictype/property-bidi-eur-num-terminator: New file.
44439         * modules/unictype/property-bidi-arabic-digit: New file.
44440         * modules/unictype/property-bidi-common-separator: New file.
44441         * modules/unictype/property-bidi-block-separator: New file.
44442         * modules/unictype/property-bidi-segment-separator: New file.
44443         * modules/unictype/property-bidi-whitespace: New file.
44444         * modules/unictype/property-bidi-non-spacing-mark: New file.
44445         * modules/unictype/property-bidi-boundary-neutral: New file.
44446         * modules/unictype/property-bidi-pdf: New file.
44447         * modules/unictype/property-bidi-embedding-or-override: New file.
44448         * modules/unictype/property-bidi-other-neutral: New file.
44449         * modules/unictype/property-hex-digit: New file.
44450         * modules/unictype/property-ascii-hex-digit: New file.
44451         * modules/unictype/property-ideographic: New file.
44452         * modules/unictype/property-unified-ideograph: New file.
44453         * modules/unictype/property-radical: New file.
44454         * modules/unictype/property-ids-binary-operator: New file.
44455         * modules/unictype/property-ids-trinary-operator: New file.
44456         * modules/unictype/property-zero-width: New file.
44457         * modules/unictype/property-space: New file.
44458         * modules/unictype/property-non-break: New file.
44459         * modules/unictype/property-iso-control: New file.
44460         * modules/unictype/property-format-control: New file.
44461         * modules/unictype/property-dash: New file.
44462         * modules/unictype/property-hyphen: New file.
44463         * modules/unictype/property-punctuation: New file.
44464         * modules/unictype/property-line-separator: New file.
44465         * modules/unictype/property-paragraph-separator: New file.
44466         * modules/unictype/property-quotation-mark: New file.
44467         * modules/unictype/property-sentence-terminal: New file.
44468         * modules/unictype/property-terminal-punctuation: New file.
44469         * modules/unictype/property-currency-symbol: New file.
44470         * modules/unictype/property-math: New file.
44471         * modules/unictype/property-other-math: New file.
44472         * modules/unictype/property-paired-punctuation: New file.
44473         * modules/unictype/property-left-of-pair: New file.
44474         * modules/unictype/property-combining: New file.
44475         * modules/unictype/property-composite: New file.
44476         * modules/unictype/property-decimal-digit: New file.
44477         * modules/unictype/property-numeric: New file.
44478         * modules/unictype/property-diacritic: New file.
44479         * modules/unictype/property-extender: New file.
44480         * modules/unictype/property-ignorable-control: New file.
44481         * modules/unictype/property-test: New file.
44482         * modules/unictype/property-byname: New file.
44483         * modules/unictype/property-all: New file.
44484         * modules/unictype/scripts: New file.
44485         * modules/unictype/scripts-all: New file.
44486         * modules/unictype/block-of: New file.
44487         * modules/unictype/block-test: New file.
44488         * modules/unictype/block-list: New file.
44489         * modules/unictype/block-all: New file.
44490         * modules/unictype/syntax-c-whitespace: New file.
44491         * modules/unictype/syntax-java-whitespace: New file.
44492         * modules/unictype/syntax-c-ident: New file.
44493         * modules/unictype/syntax-java-ident: New file.
44494         * modules/unictype/ctype-alnum: New file.
44495         * modules/unictype/ctype-alpha: New file.
44496         * modules/unictype/ctype-cntrl: New file.
44497         * modules/unictype/ctype-digit: New file.
44498         * modules/unictype/ctype-graph: New file.
44499         * modules/unictype/ctype-lower: New file.
44500         * modules/unictype/ctype-print: New file.
44501         * modules/unictype/ctype-punct: New file.
44502         * modules/unictype/ctype-space: New file.
44503         * modules/unictype/ctype-upper: New file.
44504         * modules/unictype/ctype-xdigit: New file.
44505         * modules/unictype/ctype-blank: New file.
44506         * lib/unictype/bidi_byname.c: New file.
44507         * lib/unictype/bidi_name.c: New file.
44508         * lib/unictype/bidi_of.c: New file.
44509         * lib/unictype/bidi_test.c: New file.
44510         * lib/unictype/bitmap.h: New file.
44511         * lib/unictype/block_test.c: New file.
44512         * lib/unictype/blocks.c: New file.
44513         * lib/unictype/categ_C.c: New file.
44514         * lib/unictype/categ_Cc.c: New file.
44515         * lib/unictype/categ_Cf.c: New file.
44516         * lib/unictype/categ_Cn.c: New file.
44517         * lib/unictype/categ_Co.c: New file.
44518         * lib/unictype/categ_Cs.c: New file.
44519         * lib/unictype/categ_L.c: New file.
44520         * lib/unictype/categ_Ll.c: New file.
44521         * lib/unictype/categ_Lm.c: New file.
44522         * lib/unictype/categ_Lo.c: New file.
44523         * lib/unictype/categ_Lt.c: New file.
44524         * lib/unictype/categ_Lu.c: New file.
44525         * lib/unictype/categ_M.c: New file.
44526         * lib/unictype/categ_Mc.c: New file.
44527         * lib/unictype/categ_Me.c: New file.
44528         * lib/unictype/categ_Mn.c: New file.
44529         * lib/unictype/categ_N.c: New file.
44530         * lib/unictype/categ_Nd.c: New file.
44531         * lib/unictype/categ_Nl.c: New file.
44532         * lib/unictype/categ_No.c: New file.
44533         * lib/unictype/categ_P.c: New file.
44534         * lib/unictype/categ_Pc.c: New file.
44535         * lib/unictype/categ_Pd.c: New file.
44536         * lib/unictype/categ_Pe.c: New file.
44537         * lib/unictype/categ_Pf.c: New file.
44538         * lib/unictype/categ_Pi.c: New file.
44539         * lib/unictype/categ_Po.c: New file.
44540         * lib/unictype/categ_Ps.c: New file.
44541         * lib/unictype/categ_S.c: New file.
44542         * lib/unictype/categ_Sc.c: New file.
44543         * lib/unictype/categ_Sk.c: New file.
44544         * lib/unictype/categ_Sm.c: New file.
44545         * lib/unictype/categ_So.c: New file.
44546         * lib/unictype/categ_Z.c: New file.
44547         * lib/unictype/categ_Zl.c: New file.
44548         * lib/unictype/categ_Zp.c: New file.
44549         * lib/unictype/categ_Zs.c: New file.
44550         * lib/unictype/categ_and.c: New file.
44551         * lib/unictype/categ_and_not.c: New file.
44552         * lib/unictype/categ_byname.c: New file.
44553         * lib/unictype/categ_name.c: New file.
44554         * lib/unictype/categ_none.c: New file.
44555         * lib/unictype/categ_of.c: New file.
44556         * lib/unictype/categ_or.c: New file.
44557         * lib/unictype/categ_test.c: New file.
44558         * lib/unictype/combining.c: New file.
44559         * lib/unictype/ctype_alnum.c: New file.
44560         * lib/unictype/ctype_alpha.c: New file.
44561         * lib/unictype/ctype_blank.c: New file.
44562         * lib/unictype/ctype_cntrl.c: New file.
44563         * lib/unictype/ctype_digit.c: New file.
44564         * lib/unictype/ctype_graph.c: New file.
44565         * lib/unictype/ctype_lower.c: New file.
44566         * lib/unictype/ctype_print.c: New file.
44567         * lib/unictype/ctype_punct.c: New file.
44568         * lib/unictype/ctype_space.c: New file.
44569         * lib/unictype/ctype_upper.c: New file.
44570         * lib/unictype/ctype_xdigit.c: New file.
44571         * lib/unictype/decdigit.c: New file.
44572         * lib/unictype/digit.c: New file.
44573         * lib/unictype/identsyntaxmap.h: New file.
44574         * lib/unictype/mirror.c: New file.
44575         * lib/unictype/numeric.c: New file.
44576         * lib/unictype/pr_alphabetic.c: New file.
44577         * lib/unictype/pr_ascii_hex_digit.c: New file.
44578         * lib/unictype/pr_bidi_arabic_digit.c: New file.
44579         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
44580         * lib/unictype/pr_bidi_block_separator.c: New file.
44581         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
44582         * lib/unictype/pr_bidi_common_separator.c: New file.
44583         * lib/unictype/pr_bidi_control.c: New file.
44584         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
44585         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
44586         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
44587         * lib/unictype/pr_bidi_european_digit.c: New file.
44588         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
44589         * lib/unictype/pr_bidi_left_to_right.c: New file.
44590         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
44591         * lib/unictype/pr_bidi_other_neutral.c: New file.
44592         * lib/unictype/pr_bidi_pdf.c: New file.
44593         * lib/unictype/pr_bidi_segment_separator.c: New file.
44594         * lib/unictype/pr_bidi_whitespace.c: New file.
44595         * lib/unictype/pr_byname.c: New file.
44596         * lib/unictype/pr_byname.gperf: New file.
44597         * lib/unictype/pr_combining.c: New file.
44598         * lib/unictype/pr_composite.c: New file.
44599         * lib/unictype/pr_currency_symbol.c: New file.
44600         * lib/unictype/pr_dash.c: New file.
44601         * lib/unictype/pr_decimal_digit.c: New file.
44602         * lib/unictype/pr_default_ignorable_code_point.c: New file.
44603         * lib/unictype/pr_deprecated.c: New file.
44604         * lib/unictype/pr_diacritic.c: New file.
44605         * lib/unictype/pr_extender.c: New file.
44606         * lib/unictype/pr_format_control.c: New file.
44607         * lib/unictype/pr_grapheme_base.c: New file.
44608         * lib/unictype/pr_grapheme_extend.c: New file.
44609         * lib/unictype/pr_grapheme_link.c: New file.
44610         * lib/unictype/pr_hex_digit.c: New file.
44611         * lib/unictype/pr_hyphen.c: New file.
44612         * lib/unictype/pr_id_continue.c: New file.
44613         * lib/unictype/pr_id_start.c: New file.
44614         * lib/unictype/pr_ideographic.c: New file.
44615         * lib/unictype/pr_ids_binary_operator.c: New file.
44616         * lib/unictype/pr_ids_trinary_operator.c: New file.
44617         * lib/unictype/pr_ignorable_control.c: New file.
44618         * lib/unictype/pr_iso_control.c: New file.
44619         * lib/unictype/pr_join_control.c: New file.
44620         * lib/unictype/pr_left_of_pair.c: New file.
44621         * lib/unictype/pr_line_separator.c: New file.
44622         * lib/unictype/pr_logical_order_exception.c: New file.
44623         * lib/unictype/pr_lowercase.c: New file.
44624         * lib/unictype/pr_math.c: New file.
44625         * lib/unictype/pr_non_break.c: New file.
44626         * lib/unictype/pr_not_a_character.c: New file.
44627         * lib/unictype/pr_numeric.c: New file.
44628         * lib/unictype/pr_other_alphabetic.c: New file.
44629         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
44630         * lib/unictype/pr_other_grapheme_extend.c: New file.
44631         * lib/unictype/pr_other_id_continue.c: New file.
44632         * lib/unictype/pr_other_id_start.c: New file.
44633         * lib/unictype/pr_other_lowercase.c: New file.
44634         * lib/unictype/pr_other_math.c: New file.
44635         * lib/unictype/pr_other_uppercase.c: New file.
44636         * lib/unictype/pr_paired_punctuation.c: New file.
44637         * lib/unictype/pr_paragraph_separator.c: New file.
44638         * lib/unictype/pr_pattern_syntax.c: New file.
44639         * lib/unictype/pr_pattern_white_space.c: New file.
44640         * lib/unictype/pr_private_use.c: New file.
44641         * lib/unictype/pr_punctuation.c: New file.
44642         * lib/unictype/pr_quotation_mark.c: New file.
44643         * lib/unictype/pr_radical.c: New file.
44644         * lib/unictype/pr_sentence_terminal.c: New file.
44645         * lib/unictype/pr_soft_dotted.c: New file.
44646         * lib/unictype/pr_space.c: New file.
44647         * lib/unictype/pr_terminal_punctuation.c: New file.
44648         * lib/unictype/pr_test.c: New file.
44649         * lib/unictype/pr_titlecase.c: New file.
44650         * lib/unictype/pr_unassigned_code_value.c: New file.
44651         * lib/unictype/pr_unified_ideograph.c: New file.
44652         * lib/unictype/pr_uppercase.c: New file.
44653         * lib/unictype/pr_variation_selector.c: New file.
44654         * lib/unictype/pr_white_space.c: New file.
44655         * lib/unictype/pr_xid_continue.c: New file.
44656         * lib/unictype/pr_xid_start.c: New file.
44657         * lib/unictype/pr_zero_width.c: New file.
44658         * lib/unictype/scripts.c: New file.
44659         * lib/unictype/sy_c_ident.c: New file.
44660         * lib/unictype/sy_c_whitespace.c: New file.
44661         * lib/unictype/sy_java_ident.c: New file.
44662         * lib/unictype/sy_java_whitespace.c: New file.
44663
44664         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
44665         Unicode 5.0.0.
44666         * lib/unictype/blocks.h: Likewise.
44667         * lib/unictype/categ_C.h: Likewise.
44668         * lib/unictype/categ_Cc.h: Likewise.
44669         * lib/unictype/categ_Cf.h: Likewise.
44670         * lib/unictype/categ_Cn.h: Likewise.
44671         * lib/unictype/categ_Co.h: Likewise.
44672         * lib/unictype/categ_Cs.h: Likewise.
44673         * lib/unictype/categ_L.h: Likewise.
44674         * lib/unictype/categ_Ll.h: Likewise.
44675         * lib/unictype/categ_Lm.h: Likewise.
44676         * lib/unictype/categ_Lo.h: Likewise.
44677         * lib/unictype/categ_Lt.h: Likewise.
44678         * lib/unictype/categ_Lu.h: Likewise.
44679         * lib/unictype/categ_M.h: Likewise.
44680         * lib/unictype/categ_Mc.h: Likewise.
44681         * lib/unictype/categ_Me.h: Likewise.
44682         * lib/unictype/categ_Mn.h: Likewise.
44683         * lib/unictype/categ_N.h: Likewise.
44684         * lib/unictype/categ_Nd.h: Likewise.
44685         * lib/unictype/categ_Nl.h: Likewise.
44686         * lib/unictype/categ_No.h: Likewise.
44687         * lib/unictype/categ_P.h: Likewise.
44688         * lib/unictype/categ_Pc.h: Likewise.
44689         * lib/unictype/categ_Pd.h: Likewise.
44690         * lib/unictype/categ_Pe.h: Likewise.
44691         * lib/unictype/categ_Pf.h: Likewise.
44692         * lib/unictype/categ_Pi.h: Likewise.
44693         * lib/unictype/categ_Po.h: Likewise.
44694         * lib/unictype/categ_Ps.h: Likewise.
44695         * lib/unictype/categ_S.h: Likewise.
44696         * lib/unictype/categ_Sc.h: Likewise.
44697         * lib/unictype/categ_Sk.h: Likewise.
44698         * lib/unictype/categ_Sm.h: Likewise.
44699         * lib/unictype/categ_So.h: Likewise.
44700         * lib/unictype/categ_Z.h: Likewise.
44701         * lib/unictype/categ_Zl.h: Likewise.
44702         * lib/unictype/categ_Zp.h: Likewise.
44703         * lib/unictype/categ_Zs.h: Likewise.
44704         * lib/unictype/categ_of.h: Likewise.
44705         * lib/unictype/combining.h: Likewise.
44706         * lib/unictype/ctype_alnum.h: Likewise.
44707         * lib/unictype/ctype_alpha.h: Likewise.
44708         * lib/unictype/ctype_blank.h: Likewise.
44709         * lib/unictype/ctype_cntrl.h: Likewise.
44710         * lib/unictype/ctype_digit.h: Likewise.
44711         * lib/unictype/ctype_graph.h: Likewise.
44712         * lib/unictype/ctype_lower.h: Likewise.
44713         * lib/unictype/ctype_print.h: Likewise.
44714         * lib/unictype/ctype_punct.h: Likewise.
44715         * lib/unictype/ctype_space.h: Likewise.
44716         * lib/unictype/ctype_upper.h: Likewise.
44717         * lib/unictype/ctype_xdigit.h: Likewise.
44718         * lib/unictype/decdigit.h: Likewise.
44719         * lib/unictype/digit.h: Likewise.
44720         * lib/unictype/mirror.h: Likewise.
44721         * lib/unictype/numeric.h: Likewise.
44722         * lib/unictype/pr_alphabetic.h: Likewise.
44723         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44724         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44725         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44726         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44727         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44728         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44729         * lib/unictype/pr_bidi_control.h: Likewise.
44730         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44731         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44732         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44733         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44734         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44735         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44736         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44737         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44738         * lib/unictype/pr_bidi_pdf.h: Likewise.
44739         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44740         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44741         * lib/unictype/pr_combining.h: Likewise.
44742         * lib/unictype/pr_composite.h: Likewise.
44743         * lib/unictype/pr_currency_symbol.h: Likewise.
44744         * lib/unictype/pr_dash.h: Likewise.
44745         * lib/unictype/pr_decimal_digit.h: Likewise.
44746         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44747         * lib/unictype/pr_deprecated.h: Likewise.
44748         * lib/unictype/pr_diacritic.h: Likewise.
44749         * lib/unictype/pr_extender.h: Likewise.
44750         * lib/unictype/pr_format_control.h: Likewise.
44751         * lib/unictype/pr_grapheme_base.h: Likewise.
44752         * lib/unictype/pr_grapheme_extend.h: Likewise.
44753         * lib/unictype/pr_grapheme_link.h: Likewise.
44754         * lib/unictype/pr_hex_digit.h: Likewise.
44755         * lib/unictype/pr_hyphen.h: Likewise.
44756         * lib/unictype/pr_id_continue.h: Likewise.
44757         * lib/unictype/pr_id_start.h: Likewise.
44758         * lib/unictype/pr_ideographic.h: Likewise.
44759         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44760         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44761         * lib/unictype/pr_ignorable_control.h: Likewise.
44762         * lib/unictype/pr_iso_control.h: Likewise.
44763         * lib/unictype/pr_join_control.h: Likewise.
44764         * lib/unictype/pr_left_of_pair.h: Likewise.
44765         * lib/unictype/pr_line_separator.h: Likewise.
44766         * lib/unictype/pr_logical_order_exception.h: Likewise.
44767         * lib/unictype/pr_lowercase.h: Likewise.
44768         * lib/unictype/pr_math.h: Likewise.
44769         * lib/unictype/pr_non_break.h: Likewise.
44770         * lib/unictype/pr_not_a_character.h: Likewise.
44771         * lib/unictype/pr_numeric.h: Likewise.
44772         * lib/unictype/pr_other_alphabetic.h: Likewise.
44773         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44774         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44775         * lib/unictype/pr_other_id_continue.h: Likewise.
44776         * lib/unictype/pr_other_id_start.h: Likewise.
44777         * lib/unictype/pr_other_lowercase.h: Likewise.
44778         * lib/unictype/pr_other_math.h: Likewise.
44779         * lib/unictype/pr_other_uppercase.h: Likewise.
44780         * lib/unictype/pr_paired_punctuation.h: Likewise.
44781         * lib/unictype/pr_paragraph_separator.h: Likewise.
44782         * lib/unictype/pr_pattern_syntax.h: Likewise.
44783         * lib/unictype/pr_pattern_white_space.h: Likewise.
44784         * lib/unictype/pr_private_use.h: Likewise.
44785         * lib/unictype/pr_punctuation.h: Likewise.
44786         * lib/unictype/pr_quotation_mark.h: Likewise.
44787         * lib/unictype/pr_radical.h: Likewise.
44788         * lib/unictype/pr_sentence_terminal.h: Likewise.
44789         * lib/unictype/pr_soft_dotted.h: Likewise.
44790         * lib/unictype/pr_space.h: Likewise.
44791         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44792         * lib/unictype/pr_titlecase.h: Likewise.
44793         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44794         * lib/unictype/pr_unified_ideograph.h: Likewise.
44795         * lib/unictype/pr_uppercase.h: Likewise.
44796         * lib/unictype/pr_variation_selector.h: Likewise.
44797         * lib/unictype/pr_white_space.h: Likewise.
44798         * lib/unictype/pr_xid_continue.h: Likewise.
44799         * lib/unictype/pr_xid_start.h: Likewise.
44800         * lib/unictype/pr_zero_width.h: Likewise.
44801         * lib/unictype/scripts.h: Likewise.
44802         * lib/unictype/scripts_byname.gperf: Likewise.
44803         * lib/unictype/sy_c_ident.h: Likewise.
44804         * lib/unictype/sy_c_whitespace.h: Likewise.
44805         * lib/unictype/sy_java_ident.h: Likewise.
44806         * lib/unictype/sy_java_whitespace.h: Likewise.
44807
44808         * lib/unictype/Makefile: New file.
44809         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
44810         glibc.
44811         * lib/unictype/3level.h: New file, copied from glibc.
44812         * lib/unictype/3levelbit.h: New file.
44813
44814 2007-11-11  Bruno Haible  <bruno@clisp.org>
44815
44816         * modules/gperf: New file.
44817         * modules/iconv_open (Depends-on): Add it.
44818         (Makefile.am): Remove the GPERF definition.
44819
44820 2007-11-11  Bruno Haible  <bruno@clisp.org>
44821
44822         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
44823         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
44824
44825 2007-11-11  Bruno Haible  <bruno@clisp.org>
44826
44827         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
44828         (usage): Remove function.
44829
44830 2007-11-11  Bruno Haible  <bruno@clisp.org>
44831
44832         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
44833         gl_FUNC_CEILF_LIBS.
44834         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
44835         gl_FUNC_CEIL_LIBS.
44836         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
44837         gl_FUNC_CEILL_LIBS.
44838         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
44839         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
44840         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
44841
44842 2007-11-11  Bruno Haible  <bruno@clisp.org>
44843
44844         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
44845         roundf were declared but do not exist on functions.
44846         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
44847         roundl were declared but do not exist on functions.
44848         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
44849         HAVE_FLOORL_AND_CEILL, respectively.
44850         Needed for Sun C on Solaris 10.
44851
44852 2007-11-11  Bruno Haible  <bruno@clisp.org>
44853
44854         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
44855         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
44856         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
44857         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
44858         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
44859         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
44860         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
44861         HAVE_DECL_ROUNDF.
44862         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
44863         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
44864         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
44865         of HAVE_DECL_ROUND*.
44866         * modules/math (Makefile.am): Update.
44867
44868 2007-11-10  Bruno Haible  <bruno@clisp.org>
44869
44870         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
44871         ptrdiff_t as m4/intl.m4.
44872
44873 2007-11-10  Jim Meyering  <meyering@redhat.com>
44874
44875         Avoid link failure for the argmatch test.
44876         * tests/test-argmatch.c (usage): Define function to avoid a link
44877         failure: argmatch_die requires a usage function.
44878
44879 2007-11-09  Bruno Haible  <bruno@clisp.org>
44880
44881         * doc/functions/snprintf.texi: Mention BeOS deficiency.
44882         * doc/functions/vsnprintf.texi: Likewise.
44883         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
44884         with a size argument < 2.
44885
44886 2007-11-09  Bruno Haible  <bruno@clisp.org>
44887
44888         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
44889         buffer. Fixes an inefficiency introduced on 2007-11-03.
44890
44891 2007-11-09  Bruno Haible  <bruno@clisp.org>
44892
44893         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
44894         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
44895
44896 2007-11-08  Jim Meyering  <meyering@redhat.com>
44897
44898         Change cache variable name prefix "jm_" to "gl_" everywhere.
44899         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
44900         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
44901         * m4/uptime.m4: s/gl_/jm_/
44902
44903 2007-11-07  Bruno Haible  <bruno@clisp.org>
44904
44905         Update to GNU gettext 0.17.
44906         * m4/intl.m4: Update to GNU gettext 0.17.
44907         * m4/po.m4: Likewise.
44908         * modules/gettext (Files): Remove m4/ulonglong.m4.
44909         (configure.ac): Require gettext infrastructure from version 0.17.
44910
44911 2007-11-06  Bruno Haible  <bruno@clisp.org>
44912
44913         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
44914         symbolic values are not defined in a public header.
44915         * lib/freadable.c (freadable) [QNX]: Likewise.
44916         * lib/freadahead.c (freadahead) [QNX]: Likewise.
44917         * lib/freading.c (freading) [QNX]: Likewise.
44918         * lib/fseterr.c (fseterr) [QNX]: Likewise.
44919         * lib/fwritable.c (fwritable) [QNX]: Likewise.
44920         * lib/fwriting.c (fwriting) [QNX]: Likewise.
44921         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
44922         Reported by Alain Magloire.
44923
44924         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
44925
44926 2007-11-05  Bruno Haible  <bruno@clisp.org>
44927
44928         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
44929         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
44930         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
44931         Reported by Eric Blake.
44932
44933 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44934             Bruno Haible  <bruno@clisp.org>
44935
44936         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
44937         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
44938         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
44939         (malloc): Undefine also before including <stdlib.h>.
44940         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
44941         Needed on OSF/1 4.0.
44942
44943 2007-11-05  Jim Meyering  <meyering@redhat.com>
44944
44945         git-version-gen: sync from coreutils.
44946         * build-aux/git-version-gen: Add comments.
44947         Change the first '-' to '.' in the snapshot version string,
44948         e.g., 6.9-377-08144 -> 6.9.377-08144
44949         Remove first parameter.
44950         Don't declare a version "-dirty" merely because a time
44951         stamp has changed.
44952
44953 2007-11-04  Bruno Haible  <bruno@clisp.org>
44954
44955         * lib/lock.h: Protect all macro definitions containing an 'if'
44956         statement through a "do { ... } while (0)".
44957         * lib/tls.h: Likewise.
44958
44959 2007-11-04  Bruno Haible  <bruno@clisp.org>
44960
44961         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
44962
44963 2007-11-04  Bruno Haible  <bruno@clisp.org>
44964
44965         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
44966         * modules/fprintf-posix (Depends-on): Add nocrash.
44967         * modules/snprintf-posix (Depends-on): Likewise.
44968         * modules/sprintf-posix (Depends-on): Likewise.
44969         * modules/vasnprintf-posix (Depends-on): Likewise.
44970         * modules/vasprintf-posix (Depends-on): Likewise.
44971         * modules/vfprintf-posix (Depends-on): Likewise.
44972         * modules/vsnprintf-posix (Depends-on): Likewise.
44973         * modules/vsprintf-posix (Depends-on): Likewise.
44974         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44975         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44976         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44977         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44978         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44979         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44980         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44981
44982 2007-11-04  Bruno Haible  <bruno@clisp.org>
44983
44984         * modules/nocrash: New file.
44985         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
44986         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
44987
44988 2007-11-04  Bruno Haible  <bruno@clisp.org>
44989
44990         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
44991         precision handling.
44992         * tests/test-vasprintf-posix.c (test_function): Likewise.
44993         * tests/test-snprintf-posix.h (test_function): Likewise.
44994         * tests/test-sprintf-posix.h (test_function): Likewise.
44995
44996         Fix *printf behaviour for large precisions on mingw and BeOS.
44997         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
44998         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
44999         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
45000         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45001         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45002         gl_PRINTF_PRECISION and test its result. Invoke
45003         gl_PREREQ_VASNPRINTF_PRECISION.
45004         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45005         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45006         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45007         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45008         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45009         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45010         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45011         * doc/functions/fprintf.texi: Update.
45012         * doc/functions/printf.texi: Update.
45013         * doc/functions/snprintf.texi: Update.
45014         * doc/functions/sprintf.texi: Update.
45015         * doc/functions/vfprintf.texi: Update.
45016         * doc/functions/vprintf.texi: Update.
45017         * doc/functions/vsnprintf.texi: Update.
45018         * doc/functions/vsprintf.texi: Update.
45019
45020 2007-11-04  Bruno Haible  <bruno@clisp.org>
45021
45022         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
45023
45024 2007-11-04  Bruno Haible  <bruno@clisp.org>
45025
45026         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
45027         Reported by Sylvain Beucler <beuc@gnu.org>.
45028
45029 2007-11-03  Bruno Haible  <bruno@clisp.org>
45030
45031         * tests/test-fprintf-posix2.sh: New file.
45032         * tests/test-fprintf-posix2.c: New file.
45033         * modules/fprintf-posix-tests (Files): Add them.
45034         (TESTS): Add test-fprintf-posix2.sh.
45035         (configure.ac): Check for getrlimit and setrlimit.
45036         (check_PROGRAMS): Add test-fprintf-posix2.
45037
45038         * tests/test-printf-posix2.sh: New file.
45039         * tests/test-printf-posix2.c: New file.
45040         * modules/printf-posix-tests (Files): Add them.
45041         (TESTS): Add test-printf-posix2.sh.
45042         (configure.ac): Check for getrlimit and setrlimit.
45043         (check_PROGRAMS): Add test-printf-posix2.
45044
45045         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
45046         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
45047         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
45048         (decode_double): New function, copied from decode_long_double.
45049         (scale10_round_decimal_decoded): New function, extracted from
45050         scale10_round_decimal_long_double.
45051         (scale10_round_decimal_long_double): Use it.
45052         (scale10_round_decimal_double): New function.
45053         (floorlog10): New function.
45054         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
45055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
45056         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45057         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45058         gl_PRINTF_ENOMEM and test its result. Invoke
45059         gl_PREREQ_VASNPRINTF_ENOMEM.
45060         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45061         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45062         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45063         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45064         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45065         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45066         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45067         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
45068         * modules/snprintf-posix (Depends-on): Likewise.
45069         * modules/sprintf-posix (Depends-on): Likewise.
45070         * modules/vasnprintf-posix (Depends-on): Likewise.
45071         * modules/vasprintf-posix (Depends-on): Likewise.
45072         * modules/vfprintf-posix (Depends-on): Likewise.
45073         * modules/vsnprintf-posix (Depends-on): Likewise.
45074         * modules/vsprintf-posix (Depends-on): Likewise.
45075         * doc/functions/fprintf.texi: Update.
45076         * doc/functions/printf.texi: Update.
45077         * doc/functions/snprintf.texi: Update.
45078         * doc/functions/sprintf.texi: Update.
45079         * doc/functions/vfprintf.texi: Update.
45080         * doc/functions/vprintf.texi: Update.
45081         * doc/functions/vsnprintf.texi: Update.
45082         * doc/functions/vsprintf.texi: Update.
45083
45084 2007-11-03  Bruno Haible  <bruno@clisp.org>
45085
45086         * modules/frexp-nolibm-tests: New file.
45087
45088         * modules/frexp-nolibm: New file.
45089         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
45090
45091 2007-11-03  Bruno Haible  <bruno@clisp.org>
45092
45093         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
45094         value is C99 compliant.
45095         Needed for OSF/1 5.1.
45096
45097 2007-11-03  Bruno Haible  <bruno@clisp.org>
45098
45099         Fix out-of-memory handling of vasnprintf.
45100         * lib/printf-parse.c: Include <errno.h>.
45101         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
45102         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
45103         is already set.
45104
45105 2007-11-02  Eric Blake  <ebb9@byu.net>
45106
45107         Fix tests on cygwin.
45108         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
45109
45110 2007-11-01  Bruno Haible  <bruno@clisp.org>
45111
45112         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
45113         warning.
45114         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
45115         needed for POSIX compatibility.
45116
45117 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45118
45119         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
45120         for compatibility with GNU.
45121
45122 2007-11-01  Bruno Haible  <bruno@clisp.org>
45123
45124         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
45125         (putenv): Renamed from rpl_putenv. Change argument type from
45126         'const char *' to 'char *'.
45127         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
45128         of defining putenv in config.h, just set REPLACE_PUTENV.
45129         * modules/putenv (Depends-on): Add stdlib.
45130         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45131         (Include): Use <stdlib.h>.
45132         * lib/stdlib.in.h (putenv): New declaration.
45133         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
45134         REPLACE_PUTENV.
45135         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
45136         REPLACE_PUTENV.
45137         Needed for MacOS X 10.5.0.
45138         Reported by Peter O'Gorman <peter@pogma.com>.
45139
45140 2007-11-01  Jim Meyering  <meyering@redhat.com>
45141
45142         Treat an empty date string exactly like "0".
45143         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
45144         if the remaining date string (to be parsed) is empty, use "0".
45145         Reported by Mischa Molhoek and discussed in this thread:
45146         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
45147
45148 2007-10-31  Bruno Haible  <bruno@clisp.org>
45149
45150         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
45151         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
45152         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
45153         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
45154         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
45155         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
45156
45157 2007-10-31  Bruno Haible  <bruno@clisp.org>
45158
45159         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
45160         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
45161         (AC_TYPE_LONG_LONG_INT): Use it.
45162         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
45163         it as well.
45164         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
45165         to m4/longlong.m4.
45166         * modules/stdint (Files): Remove m4/ulonglong.m4.
45167         * modules/strtoull (Files): Use m4/longlong.m4 instead of
45168         m4/ulonglong.m4.
45169         * modules/strtoumax (Files): Likewise.
45170
45171 2007-10-30  Bruno Haible  <bruno@clisp.org>
45172
45173         * modules/xvasprintf-posix: New file.
45174         Suggested by Eric Blake.
45175
45176 2007-10-30  Bruno Haible  <bruno@clisp.org>
45177
45178         * modules/xprintf-posix-tests: New file.
45179         * tests/test-xprintf-posix.sh: New file.
45180         * tests/test-xprintf-posix.c: New file.
45181         * tests/test-xfprintf-posix.c: New file.
45182
45183         * modules/xprintf-posix: New file.
45184
45185 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45186
45187         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
45188         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
45189         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
45190
45191 2007-10-29  Bruno Haible  <bruno@clisp.org>
45192
45193         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
45194         contain the special marker '_cv_'.
45195         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45196         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45197         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45198         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
45199         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45200         Reported by Ralf Wildenhues.
45201
45202 2007-10-29  Bruno Haible  <bruno@clisp.org>
45203
45204         * gnulib-tool (func_import): When --lgpl is not specified, set
45205         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
45206         GPLv3.
45207         Reported by Simon Josefsson.
45208
45209 2007-10-28  Bruno Haible  <bruno@clisp.org>
45210
45211         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
45212         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
45213         HAVE_DECL_ISFINITE.
45214         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45215         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
45216         HAVE_DECL_ISFINITE.
45217
45218 2007-10-28  Bruno Haible  <bruno@clisp.org>
45219
45220         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
45221         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
45222
45223 2007-10-28  Bruno Haible  <bruno@clisp.org>
45224
45225         Fix link errors with Sun C 5.0 on Solaris 10.
45226         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
45227         function is declared but not present in the compiler's libm.
45228         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
45229         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
45230         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
45231         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
45232         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
45233         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
45234         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
45235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45236         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
45237         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
45238         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
45239         HAVE_DECL_FLOORL.
45240
45241 2007-10-28  Bruno Haible  <bruno@clisp.org>
45242
45243         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
45244         gl_FUNC_FLOORL. Cache the result.
45245         (gl_FUNC_FLOORL): Use it.
45246         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
45247         gl_FUNC_CEILL. Cache the result.
45248         (gl_FUNC_CEILL): Use it.
45249
45250         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
45251         gl_FUNC_FLOOR. Cache the result.
45252         (gl_FUNC_FLOOR): Use it.
45253         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
45254         gl_FUNC_CEIL. Cache the result.
45255         (gl_FUNC_CEIL): Use it.
45256
45257         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
45258         gl_FUNC_FLOORF. Cache the result.
45259         (gl_FUNC_FLOORF): Use it.
45260         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
45261         gl_FUNC_CEILF. Cache the result.
45262         (gl_FUNC_CEILF): Use it.
45263
45264 2007-10-28  Bruno Haible  <bruno@clisp.org>
45265
45266         * gnulib-tool: Allow specifying the LGPL version number through
45267         --lgpl=2 or --lgpl=3.
45268         (func_usage): Document --lgpl with argument.
45269         Handle --lgpl=... arguments.
45270         (func_import): Recognize also gl_LGPL calls with an argument. When
45271         --lgpl=2 is used and the module's license is just LGPL, report an
45272         error. Set sed_transform_lib_file according to the lgpl variable. In
45273         the generated files, use --lgpl or gl_LGPL invocations with argument,
45274         if necessary.
45275         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
45276         an LGPv2+ license.
45277         * doc/gnulib-tool.texi (Modified imports): Update explanation of
45278         gl_LGPL macro.
45279
45280 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45281             Bruno Haible  <bruno@clisp.org>
45282
45283         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
45284         (u16_uctomb_aux): Likewise.
45285         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
45286         !HAVE_INLINE.
45287         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
45288
45289 2007-10-28  Bruno Haible  <bruno@clisp.org>
45290
45291         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
45292         Invoke AM_GETTEXT_OPTION if it exists.
45293         * modules/vasprintf: Likewise.
45294         * modules/verror: Likewise.
45295         * modules/xprintf: Likewise.
45296         * modules/xvasprintf: Likewise.
45297
45298 2007-10-27  Ben Pfaff  <blp@gnu.org>
45299
45300         * lib/math.in.h: Define isfinite macro and prototypes for
45301         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
45302         implementations.
45303         * m4/math_h.m4: New substitutions for isfinite module.
45304         * lib/isfinite.c: New file.
45305         * m4/isfinite.m4: New file.
45306         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
45307         * modules/isfinite: New file.
45308         * modules/isfinite-tests: New file.
45309         * tests/tests-isfinite.c: New file.
45310         * doc/functions/isfinite.texi: Mention isfinite module.
45311         * MODULES.html.sh: Mention new module.
45312
45313 2007-10-27  Ben Pfaff  <blp@gnu.org>
45314
45315         Ralf Wildenhues reported that Tru64 4.0D declares the round
45316         functions but does not have definitions.
45317         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
45318         cannot be found in any library, set the output variable to
45319         "missing" instead of "".
45320         * m4/round.m4: Also use our substitute if we cannot find round in
45321         any library, even if it is declared.
45322         * m4/roundf.m4: Likewise for roundf.
45323         * m4/roundl.m4: Likewise for roundl.
45324         * lib/math.in.h: Undefine roundf, round, roundl before defining
45325         their replacements, to allow for hypothetical systems where these
45326         may be defined as macros but not available in libraries.
45327
45328 2007-10-27  Bruno Haible  <bruno@clisp.org>
45329
45330         * doc/gnulib.texi: Invoke @firstparagraphindent.
45331         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
45332         changes in gnulib.
45333         (Source changes): New section.
45334
45335 2007-10-26  Bruno Haible  <bruno@clisp.org>
45336
45337         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
45338         borrowed from autoconf.
45339
45340 2007-10-26  Bruno Haible  <bruno@clisp.org>
45341
45342         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
45343         strerror returned the empty string. Needed on HP-UX 11.00.
45344
45345 2007-10-24  Micah Cowan  <micah@cowan.name>
45346
45347         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
45348         * build-aux/bootstrap: Remove support for now-unnecessary option,
45349         --cvs-user, and envvars CVS_USER, CVS_RSH.
45350
45351 2007-10-24  Jim Meyering  <meyering@redhat.com>
45352
45353         Avoid diagnostics from sha1sum when there is no cached checksum.
45354         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
45355         if the po.s1 file hasn't been created yet.
45356
45357         * build-aux/bootstrap: Sync from coreutils:
45358         2007-10-24  Jim Meyering  <meyering@redhat.com>
45359         Get gnulib from the git repository, not from an obsolete cvs one.
45360         * build-aux/bootstrap: Suggestion from Micah Cowan.
45361         2007-10-04  Jim Meyering  <jim@meyering.net>
45362         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
45363         (update_po_files): Work also when there are no .po files in po/.
45364
45365 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45366
45367         * README: Append ".git" to git and cg examples.
45368         Problem reported by Benoit Sigoure.
45369
45370 2007-10-23  Micah Cowan  <micah@cowan.name>
45371
45372         * users.txt: Add wget.
45373
45374 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45375
45376         Fix linking of some unistdio tests on FreeBSD.
45377         * modules/unistdio/u16-vsnprintf-tests
45378         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
45379         * modules/unistdio/u16-vsprintf-tests
45380         (test_u16_vsnprintf1_LDADD): Likewise.
45381         * modules/unistdio/u32-vsnprintf-tests
45382         (test_u32_vsnprintf1_LDADD): Likewise.
45383         * modules/unistdio/u32-vsprintf-tests
45384         (test_u32_vsprintf1_LDADD): Likewise.
45385         * modules/unistdio/u8-vsnprintf-tests
45386         (test_u8_vsnprintf1_LDADD): Likewise.
45387         * modules/unistdio/u8-vsprintf-tests
45388         (test_u8_vsprintf1_LDADD): Likewise.
45389         * modules/unistdio/ulc-vsnprintf-tests
45390         (test_ulc_vsnprintf1_LDADD): Likewise.
45391         * modules/unistdio/ulc-vsprintf-tests
45392         (test_ulc_vsprintf1_LDADD): Likewise.
45393
45394         Fix linking of some uniconv tests on FreeBSD.
45395         * modules/uniconv/u16-conv-from-enc-tests
45396         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
45397         * modules/uniconv/u16-conv-to-enc-tests
45398         (test_u16_conv_to_enc_LDADD): Likewise.
45399         * modules/uniconv/u16-strconv-from-enc-tests
45400         (test_u16_strconv_from_enc_LDADD): Likewise.
45401         * modules/uniconv/u16-strconv-to-enc-tests
45402         (test_u16_strconv_to_enc_LDADD): Likewise.
45403         * modules/uniconv/u32-conv-from-enc-tests
45404         (test_u32_conv_from_enc_LDADD): Likewise.
45405         * modules/uniconv/u32-conv-to-enc-tests
45406         (test_u32_conv_to_enc_LDADD): Likewise.
45407         * modules/uniconv/u32-strconv-from-enc-tests
45408         (test_u32_strconv_from_enc_LDADD): Likewise.
45409         * modules/uniconv/u32-strconv-to-enc-tests
45410         (test_u32_strconv_to_enc_LDADD): Likewise.
45411         * modules/uniconv/u8-conv-from-enc-tests
45412         (test_u8_conv_from_enc_LDADD): Likewise.
45413         * modules/uniconv/u8-conv-to-enc-tests
45414         (test_u8_conv_to_enc_LDADD): Likewise.
45415         * modules/uniconv/u8-strconv-from-enc-tests
45416         (test_u8_strconv_from_enc_LDADD): Likewise.
45417         * modules/uniconv/u8-strconv-to-enc-tests
45418         (test_u8_strconv_to_enc_LDADD): Likewise.
45419
45420 2007-10-22  Bruno Haible  <bruno@clisp.org>
45421
45422         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
45423         size.
45424
45425 2007-10-22  Eric Blake  <ebb9@byu.net>
45426
45427         Tweak x*printf documentation.
45428         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
45429         variable name and comments.
45430         Suggested by Bruno Haible.
45431
45432 2007-10-22  Bruno Haible  <bruno@clisp.org>
45433
45434         * lib/acl.c (copy_acl): Fix file name in comment.
45435
45436 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45437
45438         Fix Tru64 problem with stdbool.h.
45439         * lib/stdbool.in.h (false, true):
45440         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
45441         Don't declare as an enum in this situation; it runs afoul of Tru64.
45442         Problem reported by Steven M. Schweda in
45443         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
45444
45445 2007-10-22  Eric Blake  <ebb9@byu.net>
45446
45447         Also wrap vf?printf.
45448         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
45449         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
45450         (xvprintf, xvfprintf): New functions.
45451
45452 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45453
45454         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
45455         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
45456
45457         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
45458         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
45459
45460 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45461
45462         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
45463         by Bruno Haible.
45464
45465 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45466
45467         * lib/getloadavg.c
45468         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
45469         Undef `sys' after including sys/table.h, for Tru64 4.0D.
45470
45471         * tests/test-i-ring.c: Work for C89.
45472
45473 2007-10-22  Bruno Haible  <bruno@clisp.org>
45474
45475         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
45476         -1u, in preprocessor expression, so that we don't test for the bug
45477         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
45478         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
45479
45480 2007-10-22  Eric Blake  <ebb9@byu.net>
45481
45482         * tests/test-yesno.sh: Silence stderr during test.
45483
45484 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45485
45486         * modules/crypto/gc-camellia: New file.
45487
45488         * m4/gc-camellia.m4: New file.
45489
45490         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
45491
45492         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
45493
45494 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45495
45496         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
45497         --help to stdout.  Reported by sms@antinode.org (Steven
45498         M. Schweda).
45499
45500 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45501
45502         * users.txt: Fix link to libksba.
45503
45504 2007-10-21  Ben Pfaff  <blp@gnu.org>
45505
45506         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
45507         round.c roundf implementation that depends on floorf and ceilf to
45508         be tested unconditionally.
45509
45510 2007-10-21  Ben Pfaff  <blp@gnu.org>
45511
45512         * m4/check-libm-func.m4: Removed.
45513         * m4/check-math-lib.m4: New file.
45514         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
45515         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
45516         definition and lack of AC_LIBOBJ([roundf]).
45517         * m4/roundl.m4: Ditto, and similarly for roundl.
45518         * modules/round: Reference new m4 file.
45519         * modules/roundf: Ditto.
45520         * modules/roundl: Ditto.
45521         * tests/test-round2.c (main): Use ROUND instead of round.
45522         Bug report from Bruno Haible.
45523
45524 2007-10-21  Bruno Haible  <bruno@clisp.org>
45525
45526         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
45527         context.
45528
45529 2007-10-21  Bruno Haible  <bruno@clisp.org>
45530
45531         * tests/test-wcwidth.c (main): Allow negative result for some control
45532         characters.
45533
45534         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
45535         Needed on OSF/1 5.1.
45536
45537 2007-10-21  Bruno Haible  <bruno@clisp.org>
45538
45539         * tests/test-floorf1.c: Include isnanf.h.
45540         (main): Use isnanf() instead of isnan().
45541         * tests/test-ceilf1.c: Include isnanf.h.
45542         (main): Use isnanf() instead of isnan().
45543         * tests/test-truncf1.c: Include isnanf.h.
45544         (main): Use isnanf() instead of isnan().
45545         * tests/test-roundf1.c: Include isnanf.h.
45546         (main): Use isnanf() instead of isnan().
45547
45548 2007-10-21  Eric Blake  <ebb9@byu.net>
45549
45550         * users.txt: Update URL for m4.
45551
45552 2007-10-21  Bruno Haible  <bruno@clisp.org>
45553
45554         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
45555
45556 2007-10-21  Bruno Haible  <bruno@clisp.org>
45557
45558         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
45559         Git's management files if the CVS files are not present.
45560
45561 2007-10-20  Bruno Haible  <bruno@clisp.org>
45562
45563         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
45564         gcc-3.4.x.
45565
45566 2007-10-20  Ben Pfaff  <blp@gnu.org>
45567
45568         * lib/math.in.h: Declare round, roundf, roundl if we are providing
45569         implementations.
45570         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
45571         * lib/round.c: New file.
45572         * lib/roundf.c: New file.
45573         * lib/roundl.c: New file.
45574         * m4/round.m4: New file.
45575         * m4/roundf.m4: New file.
45576         * m4/roundl.m4: New file.
45577         * m4/check-libm-func-m4: New file.
45578         * modules/math: Replace round, roundf, roundl related @VARS@ in
45579         math.in.h.
45580         * modules/round: New file.
45581         * modules/round-tests: New file.
45582         * modules/roundf: New file.
45583         * modules/roundf-tests: New file.
45584         * modules/roundl: New file.
45585         * modules/roundl-tests: New file.
45586         * tests/test-round1.c: New file.
45587         * tests/test-round2.c: New file.
45588         * tests/test-roundf1.c: New file.
45589         * tests/test-roundf2.c: New file.
45590         * tests/test-roundl.c: New file.
45591         * doc/functions/round.texi: Mention round module.
45592         * doc/functions/roundf.texi: Mention roundf module.
45593         * doc/functions/roundl.texi: Mention roundl module.
45594         * MODULES.html.sh: Mention new modules.
45595         Thanks to Bruno Haible for suggestions.
45596
45597 2007-10-20  Jim Meyering  <meyering@redhat.com>
45598
45599         * lib/xprintf.c: Include <config.h> unconditionally.
45600
45601         Change xprintf's license to GPL.
45602         * modules/xprintf (License): s/LGPL/GPL/, since this module
45603         depends on modules (exit and exitfail) which are GPL.
45604         Suggestion from Bruno Haible.
45605
45606         xprintf fixes.
45607         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
45608         Use a clearer diagnostic.
45609         Patch from Bruno Haible.
45610
45611 2007-10-20  Bruno Haible  <bruno@clisp.org>
45612
45613         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
45614         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
45615         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45616
45617 2007-10-20  Bruno Haible  <bruno@clisp.org>
45618
45619         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
45620         precision in the comparison result > x - 1 or similar.
45621         * tests/test-ceilf2.c (correct_result_p): Likewise.
45622         * tests/test-truncf2.c (correct_result_p): Likewise.
45623         * tests/test-trunc2.c (correct_result_p): Likewise.
45624         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45625
45626 2007-10-20  Bruno Haible  <bruno@clisp.org>
45627
45628         * modules/ceil: New file.
45629         * m4/ceil.m4: New file.
45630         * doc/functions/ceil.texi: Mention the 'ceil' module.
45631
45632 2007-10-20  Bruno Haible  <bruno@clisp.org>
45633
45634         * modules/floor: New file.
45635         * m4/floor.m4: New file.
45636         * doc/functions/floor.texi: Mention the 'floor' module.
45637
45638 2007-10-20  Bruno Haible  <bruno@clisp.org>
45639
45640         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
45641         of %a.
45642         * modules/floorf-tests (Depends-on): Likewise.
45643         * modules/truncf-tests (Depends-on): Likewise.
45644         * modules/trunc-tests (Depends-on): Likewise.
45645         Reported by Ben Pfaff.
45646
45647 2007-10-19  Jim Meyering  <meyering@redhat.com>
45648
45649         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
45650         Don't bother testing specific errno values.  Just test ferror.
45651
45652         New module: xprintf
45653         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
45654
45655 2007-10-19  Bruno Haible  <bruno@clisp.org>
45656
45657         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
45658         syntax.
45659         * modules/javaexec (Makefile.am): Likewise.
45660         * modules/relocatable-prog (Makefile.am): Likewise.
45661         Suggested by Jim Meyering.
45662
45663 2007-10-18  Bruno Haible  <bruno@clisp.org>
45664
45665         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
45666         Reported by Jim Meyering.
45667
45668 2007-10-18  Eric Blake  <ebb9@byu.net>
45669
45670         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
45671
45672 2007-10-18  Bruno Haible  <bruno@clisp.org>
45673
45674         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
45675         the format string into writable memory. Needed in Fortify conditions.
45676
45677 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
45678             Bruno Haible  <bruno@clisp.org>
45679
45680         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
45681         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
45682         * modules/trim (Depends-on): Add mbchar.
45683         (configure.ac): Add gl_FUNC_MBRTOWC.
45684         (Makefile.am): Augment lib_SOURCES.
45685
45686 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
45687
45688         Modify glob.c to use fstatat and dirfd, to simplify it.
45689         Suggested by Eric Blake.
45690         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
45691         Don't include <stdbool.h>; not used.
45692         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
45693         (link_exists_p): Simplify implementation, since we can now assume
45694         dirfd and fstatat.
45695         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
45696
45697 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45698
45699         * gnulib-tool (func_get_dependencies): Fix sed script to
45700         match only tests.
45701
45702 2007-10-17  Bruno Haible  <bruno@clisp.org>
45703
45704         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
45705         allow locale names without encoding suffix.
45706         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
45707         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
45708
45709 2007-10-16  Bruno Haible  <bruno@clisp.org>
45710
45711         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
45712         * lib/getgroups.c (getgroups): Likewise.
45713         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
45714
45715 2007-10-16  Bruno Haible  <bruno@clisp.org>
45716
45717         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
45718         * modules/malloc-posix (License): Likewise.
45719         * modules/realloc-posix (License): Likewise.
45720         * modules/calloc-posix (License): Likewise.
45721         * modules/intprops (License): Change from GPL to LGPL, with
45722         Paul Eggert's approval.
45723
45724 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45725
45726         Merge glibc changes into lib/glob.c.
45727
45728         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
45729         2007-10-15 04:59:03 UTC.  Here are the changes:
45730
45731         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
45732
45733         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
45734
45735         * lib/glob.c: Add some branch prediction throughout.
45736
45737         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
45738
45739         [BZ #5103]
45740         * lib/glob.c (glob): Recognize patterns starting \/.
45741
45742         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
45743
45744         [BZ #3996]
45745         * lib/glob.c (attribute_hidden): Define if not defined.
45746         (glob): Unescape dirname, filename or username when needed and not
45747         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
45748         is NULL.  Handle unescaped [ in pattern without closing ].
45749         Don't pass GLOB_CHECK down to recursive glob for directories.
45750         (__glob_pattern_type): New function.
45751         (__glob_pattern_p): Implement using __glob_pattern_type.
45752         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
45753         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
45754         Remove unreachable code.
45755
45756         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
45757
45758         * lib/glob.c (glob_in_dir): Add some comments and asserts to
45759         explain why there are no leaks.
45760
45761         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
45762
45763         [BZ #3253]
45764         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
45765         time, rather allocate increasingly bigger arrays of pointers, if
45766         possible with alloca, if too large with malloc.
45767
45768 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45769
45770         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
45771         Problem reported by H.Merijn Brand in
45772         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
45773         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
45774         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
45775
45776 2007-10-15  Bruno Haible  <bruno@clisp.org>
45777
45778         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
45779         with explicit rpl_ prefix.
45780         * lib/fopen.c (fopen): Likewise.
45781         * lib/freopen.c (freopen): Likewise.
45782         * lib/iconv.c (iconv): Likewise.
45783         * lib/iconv_close.c (iconv_close): Likewise.
45784
45785 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45786
45787         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
45788
45789 2007-10-15  Bruno Haible  <bruno@clisp.org>
45790
45791         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
45792         <stddef.h> instead of <stdlib.h> since we only need NULL.
45793         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45794
45795 2007-10-15  Bruno Haible  <bruno@clisp.org>
45796
45797         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
45798         Replace paragraph talking about LIBOBJS.
45799         Reported by Colin Watson <cjwatson@debian.org>.
45800
45801 2007-10-15  Bruno Haible  <bruno@clisp.org>
45802
45803         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
45804         <stdlib.h> before using NULL.
45805
45806 2007-10-15  Simon Josefsson  <simon@josefsson.org>
45807
45808         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
45809         Reported by Albert Chin <china@thewrittenword.com>.
45810
45811 2007-10-14  Bruno Haible  <bruno@clisp.org>
45812
45813         * modules/iconv_open-utf-tests: New file.
45814         * tests/test-iconv-utf.c: New file.
45815
45816         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
45817         * modules/iconv_open-utf: New file.
45818         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
45819         (iconv, iconv_close): New declarations.
45820         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
45821         be defined.
45822         (iconv_open): Add special handling of conversion between UTF-8 and
45823         UTF-{16,32}{BE,LE}.
45824         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
45825         * lib/iconv_close.c: New file.
45826         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
45827         gl_FUNC_ICONV_OPEN.
45828         (gl_FUNC_ICONV_OPEN): Use it.
45829         (gl_FUNC_ICONV_OPEN_UTF): New macro.
45830         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
45831         and REPLACE_ICONV_UTF.
45832         * modules/iconv_open (Depends-on): Add c-strcase.
45833         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
45834         ICONV_CONST.
45835         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
45836
45837 2007-10-13  Albert Chin  <china@thewrittenword.com>
45838             Bruno Haible  <bruno@clisp.org>
45839
45840         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
45841         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
45842
45843 2007-10-13  Bruno Haible  <bruno@clisp.org>
45844
45845         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
45846         defined, use the ISO C99 inline semantics.
45847         * lib/argp.h (ARGP_EI): Likewise.
45848
45849 2007-10-13  Bruno Haible  <bruno@clisp.org>
45850
45851         Handle 'inline' change in gcc 4.3.0.
45852         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
45853         argp_fmtstream_write, argp_fmtstream_set_lmargin,
45854         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
45855         argp_fmtstream_point): Disable 'extern' declaration if the function
45856         definition is going to be provided inline.
45857         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
45858         semantics, not the ISO C99 inline semantics.
45859         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
45860         'extern' declaration if the function definition is going to be provided
45861         inline.
45862         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
45863         the GNU C inline semantics, not the ISO C99 inline semantics. With
45864         GCC 4.2, avoid a warning.
45865
45866 2007-10-13  Bruno Haible  <bruno@clisp.org>
45867
45868         * lib/freading.h (freading): Enable the use of __freading for
45869         glibc >= 2.7.
45870         * lib/freading.c (freading): Likewise.
45871
45872 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45873
45874         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
45875         "warning: C99 inline functions are not supported; using GNU89".
45876
45877 2007-10-12  Bruno Haible  <bruno@clisp.org>
45878
45879         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
45880         of 2.
45881         * tests/test-ceilf2.c: New file.
45882         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
45883
45884         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
45885         * modules/ceilf-tests: Update.
45886
45887 2007-10-12  Bruno Haible  <bruno@clisp.org>
45888
45889         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
45890         of 2.
45891         * tests/test-floorf2.c: New file.
45892         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
45893
45894         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
45895         * modules/floorf-tests: Update.
45896
45897 2007-10-12  Bruno Haible  <bruno@clisp.org>
45898
45899         * tests/test-trunc2.c: New file.
45900         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
45901
45902         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
45903         * modules/trunc-tests: Update.
45904
45905 2007-10-12  Bruno Haible  <bruno@clisp.org>
45906
45907         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
45908         of 2.
45909         * tests/test-truncf2.c: New file.
45910         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
45911
45912         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
45913         * modules/truncf-tests: Update.
45914
45915 2007-10-11  Eric Blake  <ebb9@byu.net>
45916
45917         Don't claim strerror is broken on Interix.
45918         * doc/functions/strerror.texi (strerror): Known broken systems are
45919         now Solaris 8, and not Interix.
45920         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
45921         Interix on cross-compile.
45922         Reported by Martin Koeppe in
45923         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
45924
45925 2007-10-11  Bruno Haible  <bruno@clisp.org>
45926
45927         * modules/i-ring-tests: New file.
45928         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
45929         instead of assert.
45930
45931 2007-10-11  Bruno Haible  <bruno@clisp.org>
45932
45933         * modules/filenamecat-tests: New file.
45934         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
45935         * lib/filenamecat.c: Remove test code.
45936
45937 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45938
45939         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
45940
45941         * lib/strerror.c: Include <string.h> always, to test interface,
45942         and to remove the need for the dummy.
45943         Include intprops.h to compute width instead of doing it ourselves
45944         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
45945         (strerror): Define it to return NULL if there's no system strerror.
45946         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
45947         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
45948         ancient pre-strerror Unix systems well any more.  Saying "unknown
45949         system error" is enough.
45950         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
45951         simpler strerror.c implementation.
45952         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
45953         Simplify the tests to reflect the simpler strerror implementation.
45954         * modules/strerror (Depends-on): Add intprops.
45955
45956 2007-10-09  Eric Blake  <ebb9@byu.net>
45957
45958         Silence test-fpending.
45959         * modules/fpending-tests (Files): Add wrapper script.
45960         * tests/test-fpending.sh: New file.
45961
45962 2007-10-09  Bruno Haible  <bruno@clisp.org>
45963
45964         * MODULES.html.sh (func_module): Don't create a hyperlink for
45965         function names like 'printf_frexp'.
45966         (Misc): Add crc, memxor.
45967         (Characteristics of floating types): New section.
45968         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
45969         isnanf-nolibm, signbit, trunc, truncf, truncl.
45970         (Enhancements for ISO C 99 functions): New subsection Input/output.
45971         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
45972         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
45973         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
45974         (Compatibility checks for POSIX:2001 functions): Add clock-time.
45975         (Enhancements for POSIX:2001 functions): Add chdir-long.
45976         (File system functions): Add areadlink, chdir-safer, read-file.
45977         Remove cycle-check.
45978         (File system as inode set): New section.
45979         (Date and time): Add gethrxtime.
45980         (Multithreading): Add openmp.
45981         (Internationalization functions): Add localename.
45982         (Unicode string functions): Add unistr/u*-mbsnlen.
45983         (Support for maintaining and releasing projects): Add git-version-gen.
45984         (Lone files): Remove directories.
45985
45986 2007-10-08  Ben Pfaff  <blp@gnu.org>
45987
45988         * lib/xmalloca.h: Fix typo in comment.
45989
45990 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45991
45992         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
45993         when avoiding problems with integer overflow.  Use a portable test
45994         instead.
45995
45996 2007-10-08  Simon Josefsson  <simon@josefsson.org>
45997
45998         * modules/dummy (License): Change to LGPLv2+.
45999         * modules/float (License): Likewise
46000         * modules/realloc (License): Likewise
46001         * modules/stdlib (License): Likewise
46002
46003 2007-10-07  Bruno Haible  <bruno@clisp.org>
46004
46005         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
46006         * floor.c (TWO_MANT_DIG): Likewise.
46007         * ceil.c (TWO_MANT_DIG): Likewise.
46008         Reported by Ben Pfaff.
46009
46010 2007-10-07  Bruno Haible  <bruno@clisp.org>
46011
46012         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
46013         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
46014         * lib/frexp.c (FUNC): Likewise.
46015         * lib/printf-frexp.h (printf_frexp): Likewise.
46016         * lib/printf-frexpl.h (printf_frexpl): Likewise.
46017         * lib/printf-frexp.c (FUNC): Likewise.
46018         Suggested by Jim Meyering.
46019
46020 2007-10-07  Jim Meyering  <meyering@redhat.com>
46021
46022         Make xnanosleep's integer overflow test more robust.
46023         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
46024         so that gcc-4.3.0 doesn't optimize away this test for overflow.
46025
46026 2007-10-07  Bruno Haible  <bruno@clisp.org>
46027
46028         * NEWS: Mention the license change.
46029
46030         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
46031         abbreviations in the modules files.
46032
46033         Change copyright notice from GPLv2+ to GPLv3+.
46034         * README: Change copyright notice.
46035         * MODULES.html.sh: Likewise.
46036         * build-aux/bootstrap.conf: Likewise.
46037         * build-aux/config.libpath: Likewise.
46038         * build-aux/csharpcomp.sh.in: Likewise.
46039         * build-aux/csharpexec.sh.in: Likewise.
46040         * build-aux/install-reloc: Likewise.
46041         * build-aux/javacomp.sh.in: Likewise.
46042         * build-aux/javaexec.sh.in: Likewise.
46043         * build-aux/ldd.sh.in: Likewise.
46044         * build-aux/reloc-ldflags: Likewise.
46045         * build-aux/relocatable.sh.in: Likewise.
46046         * build-aux/x-to-1.in: Likewise.
46047         * check-module: Likewise.
46048         * config/srclistvars.sh: Likewise.
46049         * gnulib-tool: Likewise.
46050         * lib/acl-internal.h: Likewise.
46051         * lib/acl.c: Likewise.
46052         * lib/acl.h: Likewise.
46053         * lib/acl_entries.c: Likewise.
46054         * lib/areadlink-with-size.c: Likewise.
46055         * lib/areadlink.c: Likewise.
46056         * lib/areadlink.h: Likewise.
46057         * lib/argmatch.c: Likewise.
46058         * lib/argmatch.h: Likewise.
46059         * lib/argp-ba.c: Likewise.
46060         * lib/argp-eexst.c: Likewise.
46061         * lib/argp-fmtstream.c: Likewise.
46062         * lib/argp-fmtstream.h: Likewise.
46063         * lib/argp-fs-xinl.c: Likewise.
46064         * lib/argp-help.c: Likewise.
46065         * lib/argp-namefrob.h: Likewise.
46066         * lib/argp-parse.c: Likewise.
46067         * lib/argp-pin.c: Likewise.
46068         * lib/argp-pv.c: Likewise.
46069         * lib/argp-pvh.c: Likewise.
46070         * lib/argp-xinl.c: Likewise.
46071         * lib/argp.h: Likewise.
46072         * lib/at-func.c: Likewise.
46073         * lib/atanl.c: Likewise.
46074         * lib/backupfile.c: Likewise.
46075         * lib/backupfile.h: Likewise.
46076         * lib/basename.c: Likewise.
46077         * lib/binary-io.h: Likewise.
46078         * lib/byteswap.in.h: Likewise.
46079         * lib/c-stack.c: Likewise.
46080         * lib/c-stack.h: Likewise.
46081         * lib/c-strcasestr.c: Likewise.
46082         * lib/c-strcasestr.h: Likewise.
46083         * lib/c-strstr.c: Likewise.
46084         * lib/c-strstr.h: Likewise.
46085         * lib/c-strtod.c: Likewise.
46086         * lib/calloc.c: Likewise.
46087         * lib/canon-host.c: Likewise.
46088         * lib/canon-host.h: Likewise.
46089         * lib/canonicalize-lgpl.c: Likewise.
46090         * lib/canonicalize.c: Likewise.
46091         * lib/canonicalize.h: Likewise.
46092         * lib/ceil.c: Likewise.
46093         * lib/ceilf.c: Likewise.
46094         * lib/ceill.c: Likewise.
46095         * lib/chdir-long.c: Likewise.
46096         * lib/chdir-long.h: Likewise.
46097         * lib/chdir-safer.c: Likewise.
46098         * lib/chdir-safer.h: Likewise.
46099         * lib/chown.c: Likewise.
46100         * lib/classpath.c: Likewise.
46101         * lib/classpath.h: Likewise.
46102         * lib/clean-temp.c: Likewise.
46103         * lib/clean-temp.h: Likewise.
46104         * lib/cloexec.c: Likewise.
46105         * lib/close-stream.c: Likewise.
46106         * lib/closein.c: Likewise.
46107         * lib/closein.h: Likewise.
46108         * lib/closeout.c: Likewise.
46109         * lib/closeout.h: Likewise.
46110         * lib/concat-filename.c: Likewise.
46111         * lib/copy-file.c: Likewise.
46112         * lib/copy-file.h: Likewise.
46113         * lib/count-one-bits.h: Likewise.
46114         * lib/crc.c: Likewise.
46115         * lib/crc.h: Likewise.
46116         * lib/creat-safer.c: Likewise.
46117         * lib/csharpcomp.c: Likewise.
46118         * lib/csharpcomp.h: Likewise.
46119         * lib/csharpexec.c: Likewise.
46120         * lib/csharpexec.h: Likewise.
46121         * lib/cycle-check.c: Likewise.
46122         * lib/cycle-check.h: Likewise.
46123         * lib/diacrit.c: Likewise.
46124         * lib/diacrit.h: Likewise.
46125         * lib/diffseq.h: Likewise.
46126         * lib/dirchownmod.c: Likewise.
46127         * lib/dirent.in.h: Likewise.
46128         * lib/dirfd.c: Likewise.
46129         * lib/dirfd.h: Likewise.
46130         * lib/dirname.c: Likewise.
46131         * lib/dirname.h: Likewise.
46132         * lib/dummy.c: Likewise.
46133         * lib/dup-safer.c: Likewise.
46134         * lib/dup2.c: Likewise.
46135         * lib/eealloc.h: Likewise.
46136         * lib/error.c: Likewise.
46137         * lib/error.h: Likewise.
46138         * lib/euidaccess.c: Likewise.
46139         * lib/exclude.c: Likewise.
46140         * lib/exclude.h: Likewise.
46141         * lib/execute.c: Likewise.
46142         * lib/execute.h: Likewise.
46143         * lib/exitfail.c: Likewise.
46144         * lib/exitfail.h: Likewise.
46145         * lib/expl.c: Likewise.
46146         * lib/fatal-signal.c: Likewise.
46147         * lib/fatal-signal.h: Likewise.
46148         * lib/fbufmode.c: Likewise.
46149         * lib/fbufmode.h: Likewise.
46150         * lib/fchdir.c: Likewise.
46151         * lib/fchmodat.c: Likewise.
46152         * lib/fchownat.c: Likewise.
46153         * lib/fcntl--.h: Likewise.
46154         * lib/fcntl-safer.h: Likewise.
46155         * lib/fcntl.in.h: Likewise.
46156         * lib/fd-safer.c: Likewise.
46157         * lib/fflush.c: Likewise.
46158         * lib/file-has-acl.c: Likewise.
46159         * lib/file-set.c: Likewise.
46160         * lib/file-type.c: Likewise.
46161         * lib/file-type.h: Likewise.
46162         * lib/fileblocks.c: Likewise.
46163         * lib/filemode.c: Likewise.
46164         * lib/filemode.h: Likewise.
46165         * lib/filename.h: Likewise.
46166         * lib/filenamecat.c: Likewise.
46167         * lib/filenamecat.h: Likewise.
46168         * lib/findprog.c: Likewise.
46169         * lib/findprog.h: Likewise.
46170         * lib/float.in.h: Likewise.
46171         * lib/floor.c: Likewise.
46172         * lib/floorf.c: Likewise.
46173         * lib/floorl.c: Likewise.
46174         * lib/fopen-safer.c: Likewise.
46175         * lib/fopen.c: Likewise.
46176         * lib/fpending.c: Likewise.
46177         * lib/fpending.h: Likewise.
46178         * lib/fprintf.c: Likewise.
46179         * lib/fprintftime.h: Likewise.
46180         * lib/fpucw.h: Likewise.
46181         * lib/fpurge.c: Likewise.
46182         * lib/fpurge.h: Likewise.
46183         * lib/freadable.c: Likewise.
46184         * lib/freadable.h: Likewise.
46185         * lib/freadahead.c: Likewise.
46186         * lib/freadahead.h: Likewise.
46187         * lib/freading.c: Likewise.
46188         * lib/freading.h: Likewise.
46189         * lib/free.c: Likewise.
46190         * lib/freopen.c: Likewise.
46191         * lib/frexp.c: Likewise.
46192         * lib/frexpl.c: Likewise.
46193         * lib/fseek.c: Likewise.
46194         * lib/fseterr.c: Likewise.
46195         * lib/fseterr.h: Likewise.
46196         * lib/fstatat.c: Likewise.
46197         * lib/fstrcmp.c: Likewise.
46198         * lib/fstrcmp.h: Likewise.
46199         * lib/fsusage.c: Likewise.
46200         * lib/fsusage.h: Likewise.
46201         * lib/ftell.c: Likewise.
46202         * lib/ftello.c: Likewise.
46203         * lib/fts-cycle.c: Likewise.
46204         * lib/fts.c: Likewise.
46205         * lib/fts_.h: Likewise.
46206         * lib/full-read.c: Likewise.
46207         * lib/full-read.h: Likewise.
46208         * lib/full-write.c: Likewise.
46209         * lib/full-write.h: Likewise.
46210         * lib/fwritable.c: Likewise.
46211         * lib/fwritable.h: Likewise.
46212         * lib/fwriteerror.c: Likewise.
46213         * lib/fwriteerror.h: Likewise.
46214         * lib/fwriting.c: Likewise.
46215         * lib/fwriting.h: Likewise.
46216         * lib/gcd.c: Likewise.
46217         * lib/gcd.h: Likewise.
46218         * lib/getcwd.c: Likewise.
46219         * lib/getdate.h: Likewise.
46220         * lib/getdate.y: Likewise.
46221         * lib/getdomainname.c: Likewise.
46222         * lib/getdomainname.h: Likewise.
46223         * lib/getgroups.c: Likewise.
46224         * lib/gethostname.c: Likewise.
46225         * lib/gethrxtime.c: Likewise.
46226         * lib/gethrxtime.h: Likewise.
46227         * lib/getloadavg.c: Likewise.
46228         * lib/getndelim2.c: Likewise.
46229         * lib/getndelim2.h: Likewise.
46230         * lib/getnline.c: Likewise.
46231         * lib/getnline.h: Likewise.
46232         * lib/getopt.c: Likewise.
46233         * lib/getopt.in.h: Likewise.
46234         * lib/getopt1.c: Likewise.
46235         * lib/getopt_int.h: Likewise.
46236         * lib/getpagesize.h: Likewise.
46237         * lib/getsubopt.c: Likewise.
46238         * lib/gettime.c: Likewise.
46239         * lib/getugroups.c: Likewise.
46240         * lib/getugroups.h: Likewise.
46241         * lib/getusershell.c: Likewise.
46242         * lib/gl_anyavltree_list1.h: Likewise.
46243         * lib/gl_anyavltree_list2.h: Likewise.
46244         * lib/gl_anyhash_list1.h: Likewise.
46245         * lib/gl_anyhash_list2.h: Likewise.
46246         * lib/gl_anylinked_list1.h: Likewise.
46247         * lib/gl_anylinked_list2.h: Likewise.
46248         * lib/gl_anyrbtree_list1.h: Likewise.
46249         * lib/gl_anyrbtree_list2.h: Likewise.
46250         * lib/gl_anytree_list1.h: Likewise.
46251         * lib/gl_anytree_list2.h: Likewise.
46252         * lib/gl_anytree_oset.h: Likewise.
46253         * lib/gl_anytreehash_list1.h: Likewise.
46254         * lib/gl_anytreehash_list2.h: Likewise.
46255         * lib/gl_array_list.c: Likewise.
46256         * lib/gl_array_list.h: Likewise.
46257         * lib/gl_array_oset.c: Likewise.
46258         * lib/gl_array_oset.h: Likewise.
46259         * lib/gl_avltree_list.c: Likewise.
46260         * lib/gl_avltree_list.h: Likewise.
46261         * lib/gl_avltree_oset.c: Likewise.
46262         * lib/gl_avltree_oset.h: Likewise.
46263         * lib/gl_avltreehash_list.c: Likewise.
46264         * lib/gl_avltreehash_list.h: Likewise.
46265         * lib/gl_carray_list.c: Likewise.
46266         * lib/gl_carray_list.h: Likewise.
46267         * lib/gl_linked_list.c: Likewise.
46268         * lib/gl_linked_list.h: Likewise.
46269         * lib/gl_linkedhash_list.c: Likewise.
46270         * lib/gl_linkedhash_list.h: Likewise.
46271         * lib/gl_list.c: Likewise.
46272         * lib/gl_list.h: Likewise.
46273         * lib/gl_oset.c: Likewise.
46274         * lib/gl_oset.h: Likewise.
46275         * lib/gl_rbtree_list.c: Likewise.
46276         * lib/gl_rbtree_list.h: Likewise.
46277         * lib/gl_rbtree_oset.c: Likewise.
46278         * lib/gl_rbtree_oset.h: Likewise.
46279         * lib/gl_rbtreehash_list.c: Likewise.
46280         * lib/gl_rbtreehash_list.h: Likewise.
46281         * lib/gl_sublist.c: Likewise.
46282         * lib/gl_sublist.h: Likewise.
46283         * lib/group-member.c: Likewise.
46284         * lib/group-member.h: Likewise.
46285         * lib/hard-locale.c: Likewise.
46286         * lib/hard-locale.h: Likewise.
46287         * lib/hash-pjw.c: Likewise.
46288         * lib/hash-pjw.h: Likewise.
46289         * lib/hash-triple.c: Likewise.
46290         * lib/hash.c: Likewise.
46291         * lib/hash.h: Likewise.
46292         * lib/human.c: Likewise.
46293         * lib/human.h: Likewise.
46294         * lib/i-ring.c: Likewise.
46295         * lib/i-ring.h: Likewise.
46296         * lib/idcache.c: Likewise.
46297         * lib/imaxabs.c: Likewise.
46298         * lib/imaxdiv.c: Likewise.
46299         * lib/inet_pton.c: Likewise.
46300         * lib/inet_pton.h: Likewise.
46301         * lib/intprops.h: Likewise.
46302         * lib/inttostr.c: Likewise.
46303         * lib/inttostr.h: Likewise.
46304         * lib/inttypes.in.h: Likewise.
46305         * lib/isapipe.c: Likewise.
46306         * lib/isdir.c: Likewise.
46307         * lib/isnan.c: Likewise.
46308         * lib/isnan.h: Likewise.
46309         * lib/isnanf.c: Likewise.
46310         * lib/isnanf.h: Likewise.
46311         * lib/isnanl-nolibm.h: Likewise.
46312         * lib/isnanl.c: Likewise.
46313         * lib/isnanl.h: Likewise.
46314         * lib/javacomp.c: Likewise.
46315         * lib/javacomp.h: Likewise.
46316         * lib/javaexec.c: Likewise.
46317         * lib/javaexec.h: Likewise.
46318         * lib/javaversion.c: Likewise.
46319         * lib/javaversion.h: Likewise.
46320         * lib/javaversion.java: Likewise.
46321         * lib/lbrkprop.h: Likewise.
46322         * lib/lchmod.h: Likewise.
46323         * lib/lchown.c: Likewise.
46324         * lib/ldexpl.c: Likewise.
46325         * lib/linebreak.c: Likewise.
46326         * lib/linebreak.h: Likewise.
46327         * lib/linebuffer.c: Likewise.
46328         * lib/linebuffer.h: Likewise.
46329         * lib/locale.in.h: Likewise.
46330         * lib/logl.c: Likewise.
46331         * lib/long-options.c: Likewise.
46332         * lib/long-options.h: Likewise.
46333         * lib/lstat.c: Likewise.
46334         * lib/lstat.h: Likewise.
46335         * lib/math.in.h: Likewise.
46336         * lib/mbchar.c: Likewise.
46337         * lib/mbchar.h: Likewise.
46338         * lib/mbfile.h: Likewise.
46339         * lib/mbiter.h: Likewise.
46340         * lib/mbscasecmp.c: Likewise.
46341         * lib/mbscasestr.c: Likewise.
46342         * lib/mbschr.c: Likewise.
46343         * lib/mbscspn.c: Likewise.
46344         * lib/mbslen.c: Likewise.
46345         * lib/mbsncasecmp.c: Likewise.
46346         * lib/mbsnlen.c: Likewise.
46347         * lib/mbspbrk.c: Likewise.
46348         * lib/mbspcasecmp.c: Likewise.
46349         * lib/mbsrchr.c: Likewise.
46350         * lib/mbssep.c: Likewise.
46351         * lib/mbsspn.c: Likewise.
46352         * lib/mbsstr.c: Likewise.
46353         * lib/mbstok_r.c: Likewise.
46354         * lib/mbswidth.c: Likewise.
46355         * lib/mbswidth.h: Likewise.
46356         * lib/mbuiter.h: Likewise.
46357         * lib/memcasecmp.c: Likewise.
46358         * lib/memcasecmp.h: Likewise.
46359         * lib/memchr.c: Likewise.
46360         * lib/memcmp.c: Likewise.
46361         * lib/memcoll.c: Likewise.
46362         * lib/memcoll.h: Likewise.
46363         * lib/memcpy.c: Likewise.
46364         * lib/memrchr.c: Likewise.
46365         * lib/mkancesdirs.c: Likewise.
46366         * lib/mkdir-p.c: Likewise.
46367         * lib/mkdir-p.h: Likewise.
46368         * lib/mkdir.c: Likewise.
46369         * lib/mkdirat.c: Likewise.
46370         * lib/mkdtemp.c: Likewise.
46371         * lib/mkstemp-safer.c: Likewise.
46372         * lib/mkstemp.c: Likewise.
46373         * lib/modechange.c: Likewise.
46374         * lib/modechange.h: Likewise.
46375         * lib/mountlist.c: Likewise.
46376         * lib/mountlist.h: Likewise.
46377         * lib/mpsort.c: Likewise.
46378         * lib/nanosleep.c: Likewise.
46379         * lib/obstack.c: Likewise.
46380         * lib/obstack.h: Likewise.
46381         * lib/open-safer.c: Likewise.
46382         * lib/open.c: Likewise.
46383         * lib/openat-die.c: Likewise.
46384         * lib/openat-priv.h: Likewise.
46385         * lib/openat-proc.c: Likewise.
46386         * lib/openat.c: Likewise.
46387         * lib/openat.h: Likewise.
46388         * lib/pagealign_alloc.c: Likewise.
46389         * lib/pagealign_alloc.h: Likewise.
46390         * lib/physmem.c: Likewise.
46391         * lib/physmem.h: Likewise.
46392         * lib/pipe-safer.c: Likewise.
46393         * lib/pipe.c: Likewise.
46394         * lib/pipe.h: Likewise.
46395         * lib/posixtm.c: Likewise.
46396         * lib/posixtm.h: Likewise.
46397         * lib/posixver.c: Likewise.
46398         * lib/printf-frexp.c: Likewise.
46399         * lib/printf-frexp.h: Likewise.
46400         * lib/printf-frexpl.c: Likewise.
46401         * lib/printf-frexpl.h: Likewise.
46402         * lib/printf.c: Likewise.
46403         * lib/progname.c: Likewise.
46404         * lib/progname.h: Likewise.
46405         * lib/progreloc.c: Likewise.
46406         * lib/putenv.c: Likewise.
46407         * lib/quote.c: Likewise.
46408         * lib/quote.h: Likewise.
46409         * lib/quotearg.c: Likewise.
46410         * lib/quotearg.h: Likewise.
46411         * lib/raise.c: Likewise.
46412         * lib/readline.c: Likewise.
46413         * lib/readline.h: Likewise.
46414         * lib/readlink.c: Likewise.
46415         * lib/readtokens.c: Likewise.
46416         * lib/readtokens.h: Likewise.
46417         * lib/readtokens0.c: Likewise.
46418         * lib/readtokens0.h: Likewise.
46419         * lib/readutmp.c: Likewise.
46420         * lib/readutmp.h: Likewise.
46421         * lib/realloc.c: Likewise.
46422         * lib/relocwrapper.c: Likewise.
46423         * lib/rename-dest-slash.c: Likewise.
46424         * lib/rename.c: Likewise.
46425         * lib/rmdir.c: Likewise.
46426         * lib/rpmatch.c: Likewise.
46427         * lib/safe-read.c: Likewise.
46428         * lib/safe-read.h: Likewise.
46429         * lib/safe-write.c: Likewise.
46430         * lib/safe-write.h: Likewise.
46431         * lib/same-inode.h: Likewise.
46432         * lib/same.c: Likewise.
46433         * lib/same.h: Likewise.
46434         * lib/save-cwd.c: Likewise.
46435         * lib/save-cwd.h: Likewise.
46436         * lib/savedir.c: Likewise.
46437         * lib/savedir.h: Likewise.
46438         * lib/savewd.c: Likewise.
46439         * lib/savewd.h: Likewise.
46440         * lib/search.in.h: Likewise.
46441         * lib/setenv.c: Likewise.
46442         * lib/setenv.h: Likewise.
46443         * lib/settime.c: Likewise.
46444         * lib/sh-quote.c: Likewise.
46445         * lib/sh-quote.h: Likewise.
46446         * lib/sig2str.c: Likewise.
46447         * lib/sig2str.h: Likewise.
46448         * lib/signal.in.h: Likewise.
46449         * lib/signbitd.c: Likewise.
46450         * lib/signbitf.c: Likewise.
46451         * lib/signbitl.c: Likewise.
46452         * lib/sigprocmask.c: Likewise.
46453         * lib/sincosl.c: Likewise.
46454         * lib/sleep.c: Likewise.
46455         * lib/sprintf.c: Likewise.
46456         * lib/sqrtl.c: Likewise.
46457         * lib/stat-time.h: Likewise.
46458         * lib/stdio--.h: Likewise.
46459         * lib/stdio-safer.h: Likewise.
46460         * lib/stdlib--.h: Likewise.
46461         * lib/stdlib-safer.h: Likewise.
46462         * lib/stdlib.in.h: Likewise.
46463         * lib/stpcpy.c: Likewise.
46464         * lib/stpncpy.c: Likewise.
46465         * lib/strchrnul.c: Likewise.
46466         * lib/strcspn.c: Likewise.
46467         * lib/strerror.c: Likewise.
46468         * lib/strftime.c: Likewise.
46469         * lib/strftime.h: Likewise.
46470         * lib/striconveh.c: Likewise.
46471         * lib/striconveh.h: Likewise.
46472         * lib/striconveha.c: Likewise.
46473         * lib/striconveha.h: Likewise.
46474         * lib/stripslash.c: Likewise.
46475         * lib/strnlen1.c: Likewise.
46476         * lib/strnlen1.h: Likewise.
46477         * lib/strtod.c: Likewise.
46478         * lib/strtoimax.c: Likewise.
46479         * lib/strtok_r.c: Likewise.
46480         * lib/strtol.c: Likewise.
46481         * lib/strtoll.c: Likewise.
46482         * lib/strtoul.c: Likewise.
46483         * lib/strtoull.c: Likewise.
46484         * lib/sysexits.in.h: Likewise.
46485         * lib/tempname.c: Likewise.
46486         * lib/tempname.h: Likewise.
46487         * lib/timespec.h: Likewise.
46488         * lib/tls.c: Likewise.
46489         * lib/tls.h: Likewise.
46490         * lib/tmpdir.c: Likewise.
46491         * lib/tmpdir.h: Likewise.
46492         * lib/tmpfile-safer.c: Likewise.
46493         * lib/tmpfile.c: Likewise.
46494         * lib/trigl.c: Likewise.
46495         * lib/trigl.h: Likewise.
46496         * lib/trim.c: Likewise.
46497         * lib/trim.h: Likewise.
46498         * lib/trunc.c: Likewise.
46499         * lib/truncf.c: Likewise.
46500         * lib/truncl.c: Likewise.
46501         * lib/tsearch.c: Likewise.
46502         * lib/unicodeio.c: Likewise.
46503         * lib/unicodeio.h: Likewise.
46504         * lib/unistd--.h: Likewise.
46505         * lib/unistd-safer.h: Likewise.
46506         * lib/unistdio/ulc-fprintf.c: Likewise.
46507         * lib/unistdio/ulc-vfprintf.c: Likewise.
46508         * lib/unlinkdir.c: Likewise.
46509         * lib/unlinkdir.h: Likewise.
46510         * lib/unlocked-io.h: Likewise.
46511         * lib/unsetenv.c: Likewise.
46512         * lib/userspec.c: Likewise.
46513         * lib/utime.c: Likewise.
46514         * lib/utimecmp.c: Likewise.
46515         * lib/utimecmp.h: Likewise.
46516         * lib/utimens.c: Likewise.
46517         * lib/verify.h: Likewise.
46518         * lib/verror.c: Likewise.
46519         * lib/verror.h: Likewise.
46520         * lib/version-etc-fsf.c: Likewise.
46521         * lib/version-etc.c: Likewise.
46522         * lib/version-etc.h: Likewise.
46523         * lib/vfprintf.c: Likewise.
46524         * lib/vprintf.c: Likewise.
46525         * lib/vsprintf.c: Likewise.
46526         * lib/w32spawn.h: Likewise.
46527         * lib/wait-process.c: Likewise.
46528         * lib/wait-process.h: Likewise.
46529         * lib/wcwidth.c: Likewise.
46530         * lib/write-any-file.c: Likewise.
46531         * lib/xalloc-die.c: Likewise.
46532         * lib/xalloc.h: Likewise.
46533         * lib/xasprintf.c: Likewise.
46534         * lib/xgetcwd.c: Likewise.
46535         * lib/xgetcwd.h: Likewise.
46536         * lib/xgetdomainname.c: Likewise.
46537         * lib/xgetdomainname.h: Likewise.
46538         * lib/xgethostname.c: Likewise.
46539         * lib/xmalloc.c: Likewise.
46540         * lib/xmalloca.c: Likewise.
46541         * lib/xmalloca.h: Likewise.
46542         * lib/xmemcoll.c: Likewise.
46543         * lib/xnanosleep.c: Likewise.
46544         * lib/xreadlink.c: Likewise.
46545         * lib/xreadlink.h: Likewise.
46546         * lib/xsetenv.c: Likewise.
46547         * lib/xsetenv.h: Likewise.
46548         * lib/xstriconv.c: Likewise.
46549         * lib/xstriconv.h: Likewise.
46550         * lib/xstrndup.c: Likewise.
46551         * lib/xstrndup.h: Likewise.
46552         * lib/xstrtod.c: Likewise.
46553         * lib/xstrtod.h: Likewise.
46554         * lib/xstrtol-error.c: Likewise.
46555         * lib/xstrtol.c: Likewise.
46556         * lib/xstrtol.h: Likewise.
46557         * lib/xtime.h: Likewise.
46558         * lib/xvasprintf.c: Likewise.
46559         * lib/xvasprintf.h: Likewise.
46560         * lib/yesno.c: Likewise.
46561         * lib/yesno.h: Likewise.
46562         * posix-modules: Likewise.
46563         * tests/test-alloca-opt.c: Likewise.
46564         * tests/test-arcfour.c: Likewise.
46565         * tests/test-arctwo.c: Likewise.
46566         * tests/test-argmatch.c: Likewise.
46567         * tests/test-argp-2.sh: Likewise.
46568         * tests/test-argp.c: Likewise.
46569         * tests/test-arpa_inet.c: Likewise.
46570         * tests/test-array_list.c: Likewise.
46571         * tests/test-array_oset.c: Likewise.
46572         * tests/test-atexit.c: Likewise.
46573         * tests/test-avltree_list.c: Likewise.
46574         * tests/test-avltree_oset.c: Likewise.
46575         * tests/test-avltreehash_list.c: Likewise.
46576         * tests/test-base64.c: Likewise.
46577         * tests/test-binary-io.c: Likewise.
46578         * tests/test-byteswap.c: Likewise.
46579         * tests/test-c-ctype.c: Likewise.
46580         * tests/test-c-strcasecmp.c: Likewise.
46581         * tests/test-c-strcasestr.c: Likewise.
46582         * tests/test-c-strncasecmp.c: Likewise.
46583         * tests/test-c-strstr.c: Likewise.
46584         * tests/test-canonicalize-lgpl.c: Likewise.
46585         * tests/test-canonicalize.c: Likewise.
46586         * tests/test-carray_list.c: Likewise.
46587         * tests/test-ceilf.c: Likewise.
46588         * tests/test-ceill.c: Likewise.
46589         * tests/test-count-one-bits.c: Likewise.
46590         * tests/test-crc.c: Likewise.
46591         * tests/test-dirname.c: Likewise.
46592         * tests/test-fbufmode.c: Likewise.
46593         * tests/test-fcntl.c: Likewise.
46594         * tests/test-fflush.c: Likewise.
46595         * tests/test-floorf.c: Likewise.
46596         * tests/test-floorl.c: Likewise.
46597         * tests/test-fopen.c: Likewise.
46598         * tests/test-fprintf-posix.c: Likewise.
46599         * tests/test-fprintf-posix.h: Likewise.
46600         * tests/test-fpurge.c: Likewise.
46601         * tests/test-freadable.c: Likewise.
46602         * tests/test-freadahead.c: Likewise.
46603         * tests/test-freading.c: Likewise.
46604         * tests/test-freopen.c: Likewise.
46605         * tests/test-frexp.c: Likewise.
46606         * tests/test-frexpl.c: Likewise.
46607         * tests/test-fseek.c: Likewise.
46608         * tests/test-fseeko.c: Likewise.
46609         * tests/test-fseterr.c: Likewise.
46610         * tests/test-fstrcmp.c: Likewise.
46611         * tests/test-ftell.c: Likewise.
46612         * tests/test-ftello.c: Likewise.
46613         * tests/test-fwritable.c: Likewise.
46614         * tests/test-fwriting.c: Likewise.
46615         * tests/test-getaddrinfo.c: Likewise.
46616         * tests/test-getpass.c: Likewise.
46617         * tests/test-gettimeofday.c: Likewise.
46618         * tests/test-hmac-md5.c: Likewise.
46619         * tests/test-hmac-sha1.c: Likewise.
46620         * tests/test-iconv.c: Likewise.
46621         * tests/test-iconvme.c: Likewise.
46622         * tests/test-inttypes.c: Likewise.
46623         * tests/test-isnan.c: Likewise.
46624         * tests/test-isnanf.c: Likewise.
46625         * tests/test-isnanl-nolibm.c: Likewise.
46626         * tests/test-isnanl.c: Likewise.
46627         * tests/test-isnanl.h: Likewise.
46628         * tests/test-ldexpl.c: Likewise.
46629         * tests/test-linked_list.c: Likewise.
46630         * tests/test-linkedhash_list.c: Likewise.
46631         * tests/test-locale.c: Likewise.
46632         * tests/test-localename.c: Likewise.
46633         * tests/test-lock.c: Likewise.
46634         * tests/test-lseek.c: Likewise.
46635         * tests/test-malloca.c: Likewise.
46636         * tests/test-math.c: Likewise.
46637         * tests/test-mbscasecmp.c: Likewise.
46638         * tests/test-mbscasestr1.c: Likewise.
46639         * tests/test-mbscasestr2.c: Likewise.
46640         * tests/test-mbscasestr3.c: Likewise.
46641         * tests/test-mbscasestr4.c: Likewise.
46642         * tests/test-mbschr.c: Likewise.
46643         * tests/test-mbscspn.c: Likewise.
46644         * tests/test-mbsncasecmp.c: Likewise.
46645         * tests/test-mbspbrk.c: Likewise.
46646         * tests/test-mbspcasecmp.c: Likewise.
46647         * tests/test-mbsrchr.c: Likewise.
46648         * tests/test-mbsspn.c: Likewise.
46649         * tests/test-mbsstr1.c: Likewise.
46650         * tests/test-mbsstr2.c: Likewise.
46651         * tests/test-mbsstr3.c: Likewise.
46652         * tests/test-md5.c: Likewise.
46653         * tests/test-memmem.c: Likewise.
46654         * tests/test-netinet_in.c: Likewise.
46655         * tests/test-open.c: Likewise.
46656         * tests/test-printf-frexp.c: Likewise.
46657         * tests/test-printf-frexpl.c: Likewise.
46658         * tests/test-printf-posix.c: Likewise.
46659         * tests/test-printf-posix.h: Likewise.
46660         * tests/test-rbtree_list.c: Likewise.
46661         * tests/test-rbtree_oset.c: Likewise.
46662         * tests/test-rbtreehash_list.c: Likewise.
46663         * tests/test-read-file.c: Likewise.
46664         * tests/test-rijndael.c: Likewise.
46665         * tests/test-search.c: Likewise.
46666         * tests/test-signbit.c: Likewise.
46667         * tests/test-sleep.c: Likewise.
46668         * tests/test-snprintf-posix.c: Likewise.
46669         * tests/test-snprintf-posix.h: Likewise.
46670         * tests/test-snprintf.c: Likewise.
46671         * tests/test-sprintf-posix.c: Likewise.
46672         * tests/test-sprintf-posix.h: Likewise.
46673         * tests/test-stat-time.c: Likewise.
46674         * tests/test-stdbool.c: Likewise.
46675         * tests/test-stdint.c: Likewise.
46676         * tests/test-stdio.c: Likewise.
46677         * tests/test-stdlib.c: Likewise.
46678         * tests/test-stpncpy.c: Likewise.
46679         * tests/test-strcasestr.c: Likewise.
46680         * tests/test-striconv.c: Likewise.
46681         * tests/test-striconveh.c: Likewise.
46682         * tests/test-striconveha.c: Likewise.
46683         * tests/test-string.c: Likewise.
46684         * tests/test-sys_select.c: Likewise.
46685         * tests/test-sys_socket.c: Likewise.
46686         * tests/test-sys_stat.c: Likewise.
46687         * tests/test-sys_time.c: Likewise.
46688         * tests/test-sysexits.c: Likewise.
46689         * tests/test-time.c: Likewise.
46690         * tests/test-tls.c: Likewise.
46691         * tests/test-trunc.c: Likewise.
46692         * tests/test-truncf.c: Likewise.
46693         * tests/test-truncl.c: Likewise.
46694         * tests/test-unistd.c: Likewise.
46695         * tests/test-vasnprintf-posix.c: Likewise.
46696         * tests/test-vasnprintf-posix2.c: Likewise.
46697         * tests/test-vasnprintf.c: Likewise.
46698         * tests/test-vasprintf-posix.c: Likewise.
46699         * tests/test-vasprintf.c: Likewise.
46700         * tests/test-verify.c: Likewise.
46701         * tests/test-vfprintf-posix.c: Likewise.
46702         * tests/test-vprintf-posix.c: Likewise.
46703         * tests/test-vsnprintf-posix.c: Likewise.
46704         * tests/test-vsnprintf.c: Likewise.
46705         * tests/test-vsprintf-posix.c: Likewise.
46706         * tests/test-wchar.c: Likewise.
46707         * tests/test-wctype.c: Likewise.
46708         * tests/test-wcwidth.c: Likewise.
46709         * tests/test-xstrtol.c: Likewise.
46710         * tests/test-xvasprintf.c: Likewise.
46711         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
46712         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
46713         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46714         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46715         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46716         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
46717         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46718         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46719         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46720         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
46721         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46722         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46723         * tests/uniname/test-uninames.c: Likewise.
46724         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
46725         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
46726         * tests/unistdio/test-u16-printf1.h: Likewise.
46727         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
46728         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
46729         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
46730         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
46731         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
46732         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
46733         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
46734         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
46735         * tests/unistdio/test-u32-printf1.h: Likewise.
46736         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
46737         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
46738         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
46739         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
46740         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
46741         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
46742         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
46743         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
46744         * tests/unistdio/test-u8-printf1.h: Likewise.
46745         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
46746         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
46747         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
46748         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
46749         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
46750         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
46751         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
46752         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
46753         * tests/unistdio/test-ulc-printf1.h: Likewise.
46754         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
46755         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
46756         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
46757         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
46758         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
46759         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
46760         * tests/uniwidth/test-u16-strwidth.c: Likewise.
46761         * tests/uniwidth/test-u16-width.c: Likewise.
46762         * tests/uniwidth/test-u32-strwidth.c: Likewise.
46763         * tests/uniwidth/test-u32-width.c: Likewise.
46764         * tests/uniwidth/test-u8-strwidth.c: Likewise.
46765         * tests/uniwidth/test-u8-width.c: Likewise.
46766         * tests/uniwidth/test-uc_width.c: Likewise.
46767         * config/srclist-update: Likewise.
46768         (fixlicense): Update to GPLv3+.
46769
46770         Change copyright notice from LGPLv2.1+ to LGPLv3+.
46771         * tests/test-tsearch.c: Change copyright notice.
46772
46773         Change copyright notice from LGPLv2.0+ to LGPLv3+.
46774         * lib/c-strcaseeq.h: Change copyright notice.
46775         * lib/streq.h: Likewise.
46776         * lib/uniconv.h: Likewise.
46777         * lib/uniconv/u-conv-from-enc.h: Likewise.
46778         * lib/uniconv/u-conv-to-enc.h: Likewise.
46779         * lib/uniconv/u-strconv-from-enc.h: Likewise.
46780         * lib/uniconv/u-strconv-to-enc.h: Likewise.
46781         * lib/uniconv/u16-conv-from-enc.c: Likewise.
46782         * lib/uniconv/u16-conv-to-enc.c: Likewise.
46783         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
46784         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
46785         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
46786         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
46787         * lib/uniconv/u32-conv-from-enc.c: Likewise.
46788         * lib/uniconv/u32-conv-to-enc.c: Likewise.
46789         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
46790         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
46791         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
46792         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
46793         * lib/uniconv/u8-conv-from-enc.c: Likewise.
46794         * lib/uniconv/u8-conv-to-enc.c: Likewise.
46795         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
46796         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
46797         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
46798         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
46799         * lib/uniname.h: Likewise.
46800         * lib/uniname/uniname.c: Likewise.
46801         * lib/unistdio.h: Likewise.
46802         * lib/unistdio/u-asnprintf.h: Likewise.
46803         * lib/unistdio/u-asprintf.h: Likewise.
46804         * lib/unistdio/u-printf-args.c: Likewise.
46805         * lib/unistdio/u-printf-args.h: Likewise.
46806         * lib/unistdio/u-printf-parse.h: Likewise.
46807         * lib/unistdio/u-snprintf.h: Likewise.
46808         * lib/unistdio/u-sprintf.h: Likewise.
46809         * lib/unistdio/u-vasprintf.h: Likewise.
46810         * lib/unistdio/u-vsnprintf.h: Likewise.
46811         * lib/unistdio/u-vsprintf.h: Likewise.
46812         * lib/unistdio/u16-asnprintf.c: Likewise.
46813         * lib/unistdio/u16-asprintf.c: Likewise.
46814         * lib/unistdio/u16-printf-parse.c: Likewise.
46815         * lib/unistdio/u16-snprintf.c: Likewise.
46816         * lib/unistdio/u16-sprintf.c: Likewise.
46817         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
46818         * lib/unistdio/u16-u16-asprintf.c: Likewise.
46819         * lib/unistdio/u16-u16-snprintf.c: Likewise.
46820         * lib/unistdio/u16-u16-sprintf.c: Likewise.
46821         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
46822         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
46823         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
46824         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
46825         * lib/unistdio/u16-vasnprintf.c: Likewise.
46826         * lib/unistdio/u16-vasprintf.c: Likewise.
46827         * lib/unistdio/u16-vsnprintf.c: Likewise.
46828         * lib/unistdio/u16-vsprintf.c: Likewise.
46829         * lib/unistdio/u32-asnprintf.c: Likewise.
46830         * lib/unistdio/u32-asprintf.c: Likewise.
46831         * lib/unistdio/u32-printf-parse.c: Likewise.
46832         * lib/unistdio/u32-snprintf.c: Likewise.
46833         * lib/unistdio/u32-sprintf.c: Likewise.
46834         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
46835         * lib/unistdio/u32-u32-asprintf.c: Likewise.
46836         * lib/unistdio/u32-u32-snprintf.c: Likewise.
46837         * lib/unistdio/u32-u32-sprintf.c: Likewise.
46838         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
46839         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
46840         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
46841         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
46842         * lib/unistdio/u32-vasnprintf.c: Likewise.
46843         * lib/unistdio/u32-vasprintf.c: Likewise.
46844         * lib/unistdio/u32-vsnprintf.c: Likewise.
46845         * lib/unistdio/u32-vsprintf.c: Likewise.
46846         * lib/unistdio/u8-asnprintf.c: Likewise.
46847         * lib/unistdio/u8-asprintf.c: Likewise.
46848         * lib/unistdio/u8-printf-parse.c: Likewise.
46849         * lib/unistdio/u8-snprintf.c: Likewise.
46850         * lib/unistdio/u8-sprintf.c: Likewise.
46851         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
46852         * lib/unistdio/u8-u8-asprintf.c: Likewise.
46853         * lib/unistdio/u8-u8-snprintf.c: Likewise.
46854         * lib/unistdio/u8-u8-sprintf.c: Likewise.
46855         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
46856         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
46857         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
46858         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
46859         * lib/unistdio/u8-vasnprintf.c: Likewise.
46860         * lib/unistdio/u8-vasprintf.c: Likewise.
46861         * lib/unistdio/u8-vsnprintf.c: Likewise.
46862         * lib/unistdio/u8-vsprintf.c: Likewise.
46863         * lib/unistdio/ulc-asnprintf.c: Likewise.
46864         * lib/unistdio/ulc-asprintf.c: Likewise.
46865         * lib/unistdio/ulc-printf-parse.c: Likewise.
46866         * lib/unistdio/ulc-snprintf.c: Likewise.
46867         * lib/unistdio/ulc-sprintf.c: Likewise.
46868         * lib/unistdio/ulc-vasnprintf.c: Likewise.
46869         * lib/unistdio/ulc-vasprintf.c: Likewise.
46870         * lib/unistdio/ulc-vsnprintf.c: Likewise.
46871         * lib/unistdio/ulc-vsprintf.c: Likewise.
46872         * lib/unistr.h: Likewise.
46873         * lib/unistr/u-cpy-alloc.h: Likewise.
46874         * lib/unistr/u-cpy.h: Likewise.
46875         * lib/unistr/u-endswith.h: Likewise.
46876         * lib/unistr/u-move.h: Likewise.
46877         * lib/unistr/u-set.h: Likewise.
46878         * lib/unistr/u-startswith.h: Likewise.
46879         * lib/unistr/u-stpcpy.h: Likewise.
46880         * lib/unistr/u-stpncpy.h: Likewise.
46881         * lib/unistr/u-strcat.h: Likewise.
46882         * lib/unistr/u-strcpy.h: Likewise.
46883         * lib/unistr/u-strcspn.h: Likewise.
46884         * lib/unistr/u-strdup.h: Likewise.
46885         * lib/unistr/u-strlen.h: Likewise.
46886         * lib/unistr/u-strncat.h: Likewise.
46887         * lib/unistr/u-strncpy.h: Likewise.
46888         * lib/unistr/u-strnlen.h: Likewise.
46889         * lib/unistr/u-strpbrk.h: Likewise.
46890         * lib/unistr/u-strspn.h: Likewise.
46891         * lib/unistr/u-strstr.h: Likewise.
46892         * lib/unistr/u-strtok.h: Likewise.
46893         * lib/unistr/u16-check.c: Likewise.
46894         * lib/unistr/u16-chr.c: Likewise.
46895         * lib/unistr/u16-cmp.c: Likewise.
46896         * lib/unistr/u16-cpy-alloc.c: Likewise.
46897         * lib/unistr/u16-cpy.c: Likewise.
46898         * lib/unistr/u16-endswith.c: Likewise.
46899         * lib/unistr/u16-mblen.c: Likewise.
46900         * lib/unistr/u16-mbsnlen.c: Likewise.
46901         * lib/unistr/u16-mbtouc-aux.c: Likewise.
46902         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
46903         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
46904         * lib/unistr/u16-mbtouc.c: Likewise.
46905         * lib/unistr/u16-mbtoucr.c: Likewise.
46906         * lib/unistr/u16-move.c: Likewise.
46907         * lib/unistr/u16-next.c: Likewise.
46908         * lib/unistr/u16-prev.c: Likewise.
46909         * lib/unistr/u16-set.c: Likewise.
46910         * lib/unistr/u16-startswith.c: Likewise.
46911         * lib/unistr/u16-stpcpy.c: Likewise.
46912         * lib/unistr/u16-stpncpy.c: Likewise.
46913         * lib/unistr/u16-strcat.c: Likewise.
46914         * lib/unistr/u16-strchr.c: Likewise.
46915         * lib/unistr/u16-strcmp.c: Likewise.
46916         * lib/unistr/u16-strcpy.c: Likewise.
46917         * lib/unistr/u16-strcspn.c: Likewise.
46918         * lib/unistr/u16-strdup.c: Likewise.
46919         * lib/unistr/u16-strlen.c: Likewise.
46920         * lib/unistr/u16-strmblen.c: Likewise.
46921         * lib/unistr/u16-strmbtouc.c: Likewise.
46922         * lib/unistr/u16-strncat.c: Likewise.
46923         * lib/unistr/u16-strncmp.c: Likewise.
46924         * lib/unistr/u16-strncpy.c: Likewise.
46925         * lib/unistr/u16-strnlen.c: Likewise.
46926         * lib/unistr/u16-strpbrk.c: Likewise.
46927         * lib/unistr/u16-strrchr.c: Likewise.
46928         * lib/unistr/u16-strspn.c: Likewise.
46929         * lib/unistr/u16-strstr.c: Likewise.
46930         * lib/unistr/u16-strtok.c: Likewise.
46931         * lib/unistr/u16-to-u32.c: Likewise.
46932         * lib/unistr/u16-to-u8.c: Likewise.
46933         * lib/unistr/u16-uctomb-aux.c: Likewise.
46934         * lib/unistr/u16-uctomb.c: Likewise.
46935         * lib/unistr/u32-check.c: Likewise.
46936         * lib/unistr/u32-chr.c: Likewise.
46937         * lib/unistr/u32-cmp.c: Likewise.
46938         * lib/unistr/u32-cpy-alloc.c: Likewise.
46939         * lib/unistr/u32-cpy.c: Likewise.
46940         * lib/unistr/u32-endswith.c: Likewise.
46941         * lib/unistr/u32-mblen.c: Likewise.
46942         * lib/unistr/u32-mbsnlen.c: Likewise.
46943         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
46944         * lib/unistr/u32-mbtouc.c: Likewise.
46945         * lib/unistr/u32-mbtoucr.c: Likewise.
46946         * lib/unistr/u32-move.c: Likewise.
46947         * lib/unistr/u32-next.c: Likewise.
46948         * lib/unistr/u32-prev.c: Likewise.
46949         * lib/unistr/u32-set.c: Likewise.
46950         * lib/unistr/u32-startswith.c: Likewise.
46951         * lib/unistr/u32-stpcpy.c: Likewise.
46952         * lib/unistr/u32-stpncpy.c: Likewise.
46953         * lib/unistr/u32-strcat.c: Likewise.
46954         * lib/unistr/u32-strchr.c: Likewise.
46955         * lib/unistr/u32-strcmp.c: Likewise.
46956         * lib/unistr/u32-strcpy.c: Likewise.
46957         * lib/unistr/u32-strcspn.c: Likewise.
46958         * lib/unistr/u32-strdup.c: Likewise.
46959         * lib/unistr/u32-strlen.c: Likewise.
46960         * lib/unistr/u32-strmblen.c: Likewise.
46961         * lib/unistr/u32-strmbtouc.c: Likewise.
46962         * lib/unistr/u32-strncat.c: Likewise.
46963         * lib/unistr/u32-strncmp.c: Likewise.
46964         * lib/unistr/u32-strncpy.c: Likewise.
46965         * lib/unistr/u32-strnlen.c: Likewise.
46966         * lib/unistr/u32-strpbrk.c: Likewise.
46967         * lib/unistr/u32-strrchr.c: Likewise.
46968         * lib/unistr/u32-strspn.c: Likewise.
46969         * lib/unistr/u32-strstr.c: Likewise.
46970         * lib/unistr/u32-strtok.c: Likewise.
46971         * lib/unistr/u32-to-u16.c: Likewise.
46972         * lib/unistr/u32-to-u8.c: Likewise.
46973         * lib/unistr/u32-uctomb.c: Likewise.
46974         * lib/unistr/u8-check.c: Likewise.
46975         * lib/unistr/u8-chr.c: Likewise.
46976         * lib/unistr/u8-cmp.c: Likewise.
46977         * lib/unistr/u8-cpy-alloc.c: Likewise.
46978         * lib/unistr/u8-cpy.c: Likewise.
46979         * lib/unistr/u8-endswith.c: Likewise.
46980         * lib/unistr/u8-mblen.c: Likewise.
46981         * lib/unistr/u8-mbsnlen.c: Likewise.
46982         * lib/unistr/u8-mbtouc-aux.c: Likewise.
46983         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46984         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46985         * lib/unistr/u8-mbtouc.c: Likewise.
46986         * lib/unistr/u8-mbtoucr.c: Likewise.
46987         * lib/unistr/u8-move.c: Likewise.
46988         * lib/unistr/u8-next.c: Likewise.
46989         * lib/unistr/u8-prev.c: Likewise.
46990         * lib/unistr/u8-set.c: Likewise.
46991         * lib/unistr/u8-startswith.c: Likewise.
46992         * lib/unistr/u8-stpcpy.c: Likewise.
46993         * lib/unistr/u8-stpncpy.c: Likewise.
46994         * lib/unistr/u8-strcat.c: Likewise.
46995         * lib/unistr/u8-strchr.c: Likewise.
46996         * lib/unistr/u8-strcmp.c: Likewise.
46997         * lib/unistr/u8-strcpy.c: Likewise.
46998         * lib/unistr/u8-strcspn.c: Likewise.
46999         * lib/unistr/u8-strdup.c: Likewise.
47000         * lib/unistr/u8-strlen.c: Likewise.
47001         * lib/unistr/u8-strmblen.c: Likewise.
47002         * lib/unistr/u8-strmbtouc.c: Likewise.
47003         * lib/unistr/u8-strncat.c: Likewise.
47004         * lib/unistr/u8-strncmp.c: Likewise.
47005         * lib/unistr/u8-strncpy.c: Likewise.
47006         * lib/unistr/u8-strnlen.c: Likewise.
47007         * lib/unistr/u8-strpbrk.c: Likewise.
47008         * lib/unistr/u8-strrchr.c: Likewise.
47009         * lib/unistr/u8-strspn.c: Likewise.
47010         * lib/unistr/u8-strstr.c: Likewise.
47011         * lib/unistr/u8-strtok.c: Likewise.
47012         * lib/unistr/u8-to-u16.c: Likewise.
47013         * lib/unistr/u8-to-u32.c: Likewise.
47014         * lib/unistr/u8-uctomb-aux.c: Likewise.
47015         * lib/unistr/u8-uctomb.c: Likewise.
47016         * lib/unitypes.h: Likewise.
47017         * lib/uniwidth.h: Likewise.
47018         * lib/uniwidth/cjk.h: Likewise.
47019         * lib/uniwidth/u16-strwidth.c: Likewise.
47020         * lib/uniwidth/u16-width.c: Likewise.
47021         * lib/uniwidth/u32-strwidth.c: Likewise.
47022         * lib/uniwidth/u32-width.c: Likewise.
47023         * lib/uniwidth/u8-strwidth.c: Likewise.
47024         * lib/uniwidth/u8-width.c: Likewise.
47025         * lib/uniwidth/width.c: Likewise.
47026
47027 2007-10-07  Bruno Haible  <bruno@clisp.org>
47028
47029         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
47030         The file is still under LGPL (see modules/inttypes).
47031
47032 2007-10-06  Bruno Haible  <bruno@clisp.org>
47033
47034         * modules/trunc (Dependencies): Add 'extensions'.
47035         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
47036         Reported by Ben Pfaff <blp@gnu.org>.
47037
47038 2007-10-06  Bruno Haible  <bruno@clisp.org>
47039
47040         * modules/freopen-tests: New file.
47041         * tests/test-freopen.c: New file.
47042
47043         * modules/fopen-tests: New file.
47044         * tests/test-fopen.c: New file.
47045
47046         * modules/fopen: New file.
47047         * lib/fopen.c: New file.
47048         * m4/fopen.m4: New file.
47049         * modules/freopen: New file.
47050         * lib/freopen.c: New file.
47051         * m4/freopen.m4: New file.
47052         * lib/stdio.in.h (fopen, freopen): New declarations.
47053         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
47054         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47055         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
47056         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47057         * doc/functions/fopen.texi: Mention the 'fopen' module.
47058         * doc/functions/freopen.texi: Mention the 'freopen' module.
47059
47060 2007-10-06  Bruno Haible  <bruno@clisp.org>
47061
47062         * modules/open-tests: New file.
47063         * tests/test-open.c: New file.
47064
47065         * modules/open: New file.
47066         * lib/open.c: New file.
47067         * m4/open.m4: New file.
47068         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
47069         lib/open.c does.
47070         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
47071         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
47072         macros.
47073         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
47074         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
47075         REPLACE_OPEN.
47076         * doc/functions/open.texi: Mention the 'open' module.
47077
47078 2007-10-04  Bruno Haible  <bruno@clisp.org>
47079
47080         * modules/ceill-tests: New file.
47081         * tests/test-ceill.c: New file.
47082
47083         * modules/ceill: New file.
47084         * lib/ceill.c: Replace entire file.
47085         * m4/ceill.m4: New file.
47086         * lib/math.in.h (ceill): Replace declaration.
47087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
47088         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
47089         * doc/functions/ceill.texi: Mention the 'ceill' module.
47090         * modules/mathl (Files): Remove lib/ceill.c.
47091         (Depends-on): Add ceill.
47092
47093 2007-10-04  Bruno Haible  <bruno@clisp.org>
47094
47095         * modules/ceilf-tests: New file.
47096         * tests/test-ceilf.c: New file.
47097
47098         * modules/ceilf: New file.
47099         * lib/ceil.c: New file.
47100         * lib/ceilf.c: New file.
47101         * m4/ceilf.m4: New file.
47102         * lib/math.in.h (ceilf): New declaration.
47103         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
47104         HAVE_DECL_CEILF.
47105         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
47106         HAVE_DECL_CEILF.
47107         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
47108
47109 2007-10-04  Bruno Haible  <bruno@clisp.org>
47110
47111         * modules/floorl-tests: New file.
47112         * tests/test-floorl.c: New file.
47113
47114         * modules/floorl: New file.
47115         * lib/floorl.c: Replace entire file.
47116         * m4/floorl.m4: New file.
47117         * lib/math.in.h (floorl): Replace declaration.
47118         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
47119         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
47120         * doc/functions/floorl.texi: Mention the 'floorl' module.
47121         * modules/mathl (Files): Remove lib/floorl.c.
47122         (Depends-on): Add floorl.
47123
47124 2007-10-04  Bruno Haible  <bruno@clisp.org>
47125
47126         * modules/floorf-tests: New file.
47127         * tests/test-floorf.c: New file.
47128
47129         * modules/floorf: New file.
47130         * lib/floor.c: New file.
47131         * lib/floorf.c: New file.
47132         * m4/floorf.m4: New file.
47133         * lib/math.in.h (floorf): New declaration.
47134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
47135         HAVE_DECL_FLOORF.
47136         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
47137         HAVE_DECL_FLOORF.
47138         * doc/functions/floorf.texi: Mention the 'floorf' module.
47139
47140 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
47141             Bruno Haible  <bruno@clisp.org>
47142
47143         Advertise for the Git server instead of the CVS server.
47144         * doc/gnulib-intro.texi (Steady Development): Mention the Git
47145         repository instead of the CVS one.
47146         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
47147         about all VCS systems generically.
47148         * doc/gnulib.texi (Introduction): Capitalize `Git'.
47149
47150 2007-10-04  Bruno Haible  <bruno@clisp.org>
47151
47152         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
47153         means.
47154         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
47155
47156 2007-10-04  Bruno Haible  <bruno@clisp.org>
47157
47158         * modules/truncl-tests: New file.
47159         * tests/test-truncl.c: New file.
47160
47161         * modules/truncl: New file.
47162         * lib/truncl.c: New file.
47163         * m4/truncl.m4: New file.
47164         * lib/math.in.h (truncl): New declaration.
47165         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
47166         HAVE_DECL_TRUNCL.
47167         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
47168         HAVE_DECL_TRUNCL.
47169         * doc/functions/truncl.texi: Mention the 'truncl' module.
47170
47171 2007-10-04  Bruno Haible  <bruno@clisp.org>
47172
47173         * modules/truncf-tests: New file.
47174         * tests/test-truncf.c: New file.
47175
47176         * modules/truncf: New file.
47177         * lib/trunc.c: Make paramerizable through USE_* macros.
47178         * lib/truncf.c: New file.
47179         * m4/truncf.m4: New file.
47180         * lib/math.in.h (truncf): New declaration.
47181         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
47182         HAVE_DECL_TRUNCF.
47183         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
47184         HAVE_DECL_TRUNCF.
47185         * doc/functions/truncf.texi: Mention the 'truncf' module.
47186
47187 2007-10-03  Bruno Haible  <bruno@clisp.org>
47188
47189         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
47190         augmentation also for tests modules.
47191         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
47192         * modules/atexit-tests (Makefile.am): Likewise.
47193         * modules/binary-io-tests (Makefile.am): Likewise.
47194         * modules/c-strcase-tests (Makefile.am): Likewise.
47195         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
47196         * modules/canonicalize-tests (Makefile.am): Likewise.
47197         * modules/closein-tests (Makefile.am): Likewise.
47198         * modules/fprintf-posix-tests (Makefile.am): Likewise.
47199         * modules/freadahead-tests (Makefile.am): Likewise.
47200         * modules/fseek-tests (Makefile.am): Likewise.
47201         * modules/fseeko-tests (Makefile.am): Likewise.
47202         * modules/ftell-tests (Makefile.am): Likewise.
47203         * modules/ftello-tests (Makefile.am): Likewise.
47204         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
47205         * modules/isnanl-tests (Makefile.am): Likewise.
47206         * modules/lseek-tests (Makefile.am): Likewise.
47207         * modules/mbscasecmp-tests (Makefile.am): Likewise.
47208         * modules/mbscasestr-tests (Makefile.am): Likewise.
47209         * modules/mbschr-tests (Makefile.am): Likewise.
47210         * modules/mbscspn-tests (Makefile.am): Likewise.
47211         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
47212         * modules/mbspbrk-tests (Makefile.am): Likewise.
47213         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
47214         * modules/mbsrchr-tests (Makefile.am): Likewise.
47215         * modules/mbsspn-tests (Makefile.am): Likewise.
47216         * modules/mbsstr-tests (Makefile.am): Likewise.
47217         * modules/printf-posix-tests (Makefile.am): Likewise.
47218         * modules/snprintf-posix-tests (Makefile.am): Likewise.
47219         * modules/sprintf-posix-tests (Makefile.am): Likewise.
47220         * modules/tsearch-tests (Makefile.am): Likewise.
47221         * modules/uniname/uniname-tests (Makefile.am): Likewise.
47222         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
47223         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
47224         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
47225         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
47226         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
47227         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
47228         * modules/vprintf-posix-tests (Makefile.am): Likewise.
47229         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
47230         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
47231         * modules/xstrtoimax-tests (Makefile.am): Likewise.
47232         * modules/xstrtol-tests (Makefile.am): Likewise.
47233         * modules/xstrtoumax-tests (Makefile.am): Likewise.
47234         * modules/yesno-tests (Makefile.am): Likewise.
47235
47236 2007-10-03  Bruno Haible  <bruno@clisp.org>
47237
47238         * modules/trunc-tests: New file.
47239         * tests/test-trunc.c: New file.
47240
47241         * modules/trunc: New file.
47242         * lib/trunc.c: New file.
47243         * m4/trunc.m4: New file.
47244         * lib/math.in.h (trunc): New declaration.
47245         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
47246         HAVE_DECL_TRUNC.
47247         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
47248         HAVE_DECL_TRUNC.
47249         * doc/functions/trunc.texi: Mention the 'trunc' module.
47250
47251 2007-10-03  Bruno Haible  <bruno@clisp.org>
47252
47253         * tests/test-fpending.c: New file, mostly copied
47254         from coreutils/lib/t-fpending.c.
47255         * modules/fpending-tests: New file.
47256
47257 2007-10-03  Bruno Haible  <bruno@clisp.org>
47258
47259         Port the stdio extensions to QNX (untested).
47260         * lib/fseterr.c (fseterr): Add support for QNX.
47261         * lib/fbufmode.c (fbufmode): Likewise.
47262         * lib/freadable.c (freadable): Likewise.
47263         * lib/fwritable.c (fwritable): Likewise.
47264         * lib/freading.c (freading): Likewise.
47265         * lib/fwriting.c (fwriting): Likewise.
47266         * lib/freadahead.c (freadahed): Likewise.
47267         * lib/fpurge.c (fpurge): Likewise.
47268         * lib/fseeko.c (rpl_fseeko): Likewise.
47269
47270 2007-10-03  Bruno Haible  <bruno@clisp.org>
47271             Jim Meyering  <jim@meyering.net>
47272             Eric Blake  <ebb9@byu.net>
47273
47274         * doc/relocatable.texi: Use @command instead of @program.
47275
47276 2007-10-02  Jim Meyering  <jim@meyering.net>
47277
47278         Perform one more "_.h" -> ".in.h" substitution.
47279         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
47280         instead of unistd_.h here, too.
47281
47282 2007-10-01  Bruno Haible  <bruno@clisp.org>
47283
47284         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
47285         Needed for the alloca-opt module.
47286
47287 2007-09-30  Bruno Haible  <bruno@clisp.org>
47288
47289         * lib/alloca.in.h: Renamed from lib/alloca_.h.
47290         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
47291         alloca_.h.
47292         * lib/argz.in.h: Renamed from lib/argz_.h.
47293         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
47294         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
47295         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
47296         byteswap_.h.
47297         * lib/dirent.in.h: Renamed from lib/dirent_.h.
47298         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
47299         dirent_.h.
47300         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
47301         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
47302         fcntl_.h.
47303         * lib/float.in.h: Renamed from lib/float_.h.
47304         * modules/float (Files, Makefile.am): Use float.in.h instead of
47305         float_.h.
47306         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
47307         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
47308         fnmatch_.h.
47309         * lib/getopt.in.h: Renamed from lib/getopt_.h.
47310         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
47311         getopt_.h.
47312         * lib/glob.in.h: Renamed from lib/glob_.h.
47313         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
47314         * lib/iconv.in.h: Renamed from lib/iconv_.h.
47315         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
47316         iconv_.h.
47317         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
47318         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
47319         inttypes_.h.
47320         * lib/locale.in.h: Renamed from lib/locale_.h.
47321         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
47322         locale_.h.
47323         * lib/math.in.h: Renamed from lib/math_.h.
47324         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
47325         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
47326         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
47327         of netinet_in_.h. Add dependency.
47328         * lib/poll.in.h: Renamed from lib/poll_.h.
47329         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
47330         * lib/search.in.h: Renamed from lib/search_.h.
47331         * modules/search (Files, Makefile.am): Use search.in.h instead of
47332         search_.h.
47333         * lib/signal.in.h: Renamed from lib/signal_.h.
47334         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
47335         _signal.h.
47336         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
47337         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
47338         stdbool_.h.
47339         * lib/stdint.in.h: Renamed from lib/stdint_.h.
47340         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
47341         stdint_.h.
47342         * lib/stdio.in.h: Renamed from lib/stdio_.h.
47343         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
47344         stdio_.h.
47345         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
47346         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
47347         stdlib_.h.
47348         * lib/string.in.h: Renamed from lib/string_.h.
47349         * modules/string (Files, Makefile.am): Use string.in.h instead of
47350         string_.h.
47351         * doc/gnulib-tool.texi (Initial import): Update.
47352         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
47353         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
47354         of sys_select_.h. Add dependency.
47355         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
47356         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
47357         of sys_socket_.h.
47358         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
47359         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
47360         sys_stat_.h.
47361         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
47362         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
47363         sys_time_.h.
47364         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
47365         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
47366         sysexits_.h.
47367         * lib/time.in.h: Renamed from lib/time_.h.
47368         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
47369         * lib/unistd.in.h: Renamed from lib/unistd_.h.
47370         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
47371         unistd_.h.
47372         * lib/wchar.in.h: Renamed from lib/wchar_.h.
47373         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
47374         wchar_.h.
47375         * lib/wctype.in.h: Renamed from lib/wctype_.h.
47376         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
47377         wctype_.h.
47378         * build-aux/bootstrap (slurp): Update.
47379         * lib/.cppi-disable: Update.
47380
47381 2007-09-30  Bruno Haible  <bruno@clisp.org>
47382
47383         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
47384         Needed on BeOS.
47385
47386 2007-09-30  Bruno Haible  <bruno@clisp.org>
47387
47388         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
47389
47390 2007-09-29  Bruno Haible  <bruno@clisp.org>
47391
47392         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
47393
47394 2007-09-29  Bruno Haible  <bruno@clisp.org>
47395
47396         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
47397         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
47398         * build-aux/install-reloc: Compile also areadlink.c.
47399         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
47400
47401 2007-09-29  Bruno Haible  <bruno@clisp.org>
47402
47403         * gnulib-tool (func_emit_initmacro_done): Indentation.
47404
47405 2007-09-29  Bruno Haible  <bruno@clisp.org>
47406
47407         * README: Add CVS checkout update instructions.
47408         Info from Bob Proulx <bob@proulx.com>.
47409
47410 2007-09-28  Eric Blake  <ebb9@byu.net>
47411
47412         Provide move-if-change.
47413         * build-aux/move-if-change: New file, based on best practice
47414         rather than any canonical upstream location.
47415
47416 2007-09-28  Jim Meyering  <jim@meyering.net>
47417
47418         Fix canonicalize loop-detection corner case.
47419         Do not attempt to stat the symlink values stored via seen_triple.
47420         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
47421         on linux-2.6.18, (but not 2.6.22).
47422         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
47423         triple_compare.  The former compares dev,ino,filename, while the latter
47424         would actually stat dirname(filename) when dev and ino were equal.
47425         * lib/hash-triple.c: Install <string.h>.
47426         (STREQ): Define.
47427         (triple_compare_ino_str): New function.
47428         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
47429
47430 2007-09-28  Eric Blake  <ebb9@byu.net>
47431
47432         Enforce that AC_REPLACE_FUNCS files exist.
47433         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
47434         override check for typos.
47435
47436         Fix test-closein on Solaris 10.
47437         * tests/test-closein.c (main): Don't assume stdin can be inherited
47438         closed on all systems.
47439         * tests/test-closein.sh: Likewise.
47440         Reported by Piotr Tarnowski.
47441
47442 2007-09-28  Jim Meyering  <jim@meyering.net>
47443
47444         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
47445
47446 2007-09-27  Jim Meyering  <jim@meyering.net>
47447
47448         canonicalize: Avoid a false-positive cycle failure.
47449         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
47450         Sort.  Remove cycle-check.
47451         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
47452         not cycle-check.h.
47453         (seen_triple): New function.
47454         (canonicalize_filename_mode): Use it instead of cycle-check.
47455         * tests/test-canonicalize.c: Add a test for this bug.
47456         * tests/test-canonicalize.sh: Set up and run the test.
47457
47458         New module, file-set, from coreutils.
47459         * modules/file-set: Define it.
47460         * lib/file-set.c, lib/file-set.h: Implement.
47461
47462         New module, hash-triple, from coreutils.
47463         * modules/hash-triple: Define it.
47464         * lib/hash-triple.c, lib/hash-triple.h: Implement.
47465
47466 2007-09-25  Eric Blake  <ebb9@byu.net>
47467
47468         Fix strerror on Interix.
47469         * lib/string_.h (strerror): Declare replacement.
47470         * doc/functions/strerror.texi (strerror): Document the Interix
47471         shortcoming.
47472         * modules/string (Makefile.am): Support new hooks.
47473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
47474         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
47475         gl_FUNC_STRERROR_SEPARATE.
47476         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
47477         * lib/strerror.c (rpl_strerror): Provide replacement.
47478         * modules/strerror (Depends-on): Add string.
47479         (configure.ac): Detect use of module.
47480         * tests/test-strerror.c: New file.
47481         * modules/strerror-tests: New test module.
47482         * modules/argp (Depends-on): Add strerror.
47483         * modules/error (Depends-on): Likewise.
47484         Reported by Martin Koeppe.
47485
47486 2007-09-24  Bruno Haible  <bruno@clisp.org>
47487
47488         * README: Update git instructions.
47489
47490 2007-09-24  Eric Blake  <ebb9@byu.net>
47491
47492         Revert fpending breakage from 2007-09-08.
47493         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
47494         __fpending.c.
47495
47496 2007-09-24  Jim Meyering  <jim@meyering.net>
47497
47498         filenamecat.c: Add a test.
47499         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
47500         showing how the function works when DIR is the empty string.
47501
47502 2007-09-21  Simon Josefsson  <simon@josefsson.org>
47503
47504         * tests/test-canonicalize.sh: Turn on executable bit.
47505
47506 2007-09-19  Eric Blake  <ebb9@byu.net>
47507
47508         * README: Update CVS instructions.
47509
47510 2007-09-18  Bruno Haible  <bruno@clisp.org>
47511
47512         * modules/areadlink: New file.
47513         * lib/areadlink.h (areadlink): New declaration.
47514         * lib/areadlink.c: New file, based on lib/xreadlink.c.
47515
47516 2007-09-17  Jim Meyering  <jim@meyering.net>
47517
47518         * lib/savewd.c (ESTALE) [!defined]: Define.
47519         Reported to be required on Interix by Martin Koeppe.
47520
47521 2007-09-17  Bruno Haible  <bruno@clisp.org>
47522
47523         * gnulib-tool (func_version): Use $version.
47524
47525 2007-09-16  Bruno Haible  <bruno@clisp.org>
47526
47527         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
47528         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
47529         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
47530         Reported by Greg Schafer <gschafer@zip.com.au>.
47531
47532 2007-09-15  Bruno Haible  <bruno@clisp.org>
47533
47534         * gnulib-tool (sed): Try a little harder to make bash understand the
47535         alias.
47536         Reported by Bruce Korb <bruce.korb@gmail.com>.
47537
47538 2007-09-13  Eric Blake  <ebb9@byu.net>
47539
47540         * ChangeLog: Remove conflict markers.
47541
47542 2007-09-13  Simon Josefsson  <simon@josefsson.org>
47543
47544         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
47545         Reported by Bruno Haible <bruno@clisp.org>.
47546
47547 2007-09-12  Bruno Haible  <bruno@clisp.org>
47548
47549         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
47550         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
47551         is not defined.
47552
47553 2007-09-12  Eric Blake  <ebb9@byu.net>
47554
47555         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
47556         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
47557         Autoconf definition.
47558         * modules/euidaccess (Depends-on): Add extensions, for
47559         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
47560         * modules/fnmatch (Depends-on): Likewise.
47561         * modules/getaddrinfo (Depends-on): Likewise.
47562         * modules/getdelim (Depends-on): Likewise.
47563         * modules/getline (Depends-on): Likewise.
47564         * modules/getsubopt (Depends-on): Likewise.
47565         * modules/gettext (Depends-on): Likewise.
47566         * modules/group-member (Depends-on): Likewise.
47567         * modules/mbchar (Depends-on): Likewise.
47568         * modules/memmem (Depends-on): Likewise.
47569         * modules/mempcpy (Depends-on): Likewise.
47570         * modules/memrchr (Depends-on): Likewise.
47571         * modules/pagealign_alloc (Depends-on): Likewise.
47572         * modules/readutmp (Depends-on): Likewise.
47573         * modules/stpcpy (Depends-on): Likewise.
47574         * modules/stpncpy (Depends-on): Likewise.
47575         * modules/strchrnul (Depends-on): Likewise.
47576         * modules/strndup (Depends-on): Likewise.
47577         * modules/strsep (Depends-on): Likewise.
47578         * modules/strverscmp (Depends-on): Likewise.
47579         * modules/vasprintf (Depends-on): Likewise.
47580         * modules/wcwidth (Depends-on): Likewise.
47581         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
47582         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
47583         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
47584         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
47585         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
47586         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
47587         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
47588         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
47589         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
47590         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
47591         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47592         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
47593         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
47594         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
47595         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
47596         * m4/readutmp.m4 (gl_READUTMP): Likewise.
47597         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47598         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
47599         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47600         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
47601         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
47602         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
47603         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
47604         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
47605         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
47606         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47607         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
47608         so that lock.m4 can be used in gettext without extensions module.
47609
47610 2007-09-11  Bruno Haible  <bruno@clisp.org>
47611
47612         * m4/isc-posix.m4: Remove file.
47613         Suggested by Eric Blake.
47614
47615 2007-09-11  Eric Blake  <ebb9@byu.net>
47616
47617         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
47618
47619 2007-09-10  Bruno Haible  <bruno@clisp.org>
47620
47621         * posix-modules: Fix typo in error message.
47622         Reported by Matt <mkraai@beckman.com>.
47623
47624 2007-09-09  Bruno Haible  <bruno@clisp.org>
47625
47626         * doc/functions/getdelim.texi: Update list of platforms lacking the
47627         function.
47628         * doc/functions/getline.texi: Likewise.
47629
47630 2007-09-09  Jim Meyering  <jim@meyering.net>
47631
47632         * lib/hash.c (hash_initialize): Detect calloc failure.
47633         Reported by Bruno Haible.
47634
47635 2007-09-09  Bruno Haible  <bruno@clisp.org>
47636
47637         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
47638         malloc or realloc fails.
47639
47640 2007-09-09  Bruno Haible  <bruno@clisp.org>
47641
47642         * modules/getcwd (Depends-on): Add malloc-posix.
47643         * modules/glob (Depends-on): Likewise.
47644         * modules/putenv (Depends-on): Likewise.
47645         * modules/strdup (Depends-on): Likewise.
47646         * modules/getdelim (Depends-on): Add realloc-posix.
47647         * modules/read-file (Depends-on): Likewise.
47648
47649 2007-09-09  Bruno Haible  <bruno@clisp.org>
47650
47651         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
47652         (gl_FUNC_MALLOC_POSIX): Require it.
47653         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
47654         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
47655         * modules/realloc (Files): Add m4/malloc.m4.
47656         * modules/calloc (Files): Likewise.
47657
47658 2007-09-09  Bruno Haible  <bruno@clisp.org>
47659
47660         * modules/malloc-posix: New file.
47661         * modules/malloc (Depends-on): Add malloc-posix.
47662         * lib/malloc.c: Include errno.h.
47663         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
47664         and a POSIX-compatible malloc into a single function. Set ENOMEM
47665         when returning NULL.
47666         * m4/malloc.m4: New file.
47667         * doc/functions/malloc.texi: Mention the malloc-posix module.
47668         * lib/stdlib_.h (malloc): New declaration.
47669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47670         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
47671         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
47672         and HAVE_MALLOC_POSIX.
47673
47674 2007-09-09  Bruno Haible  <bruno@clisp.org>
47675
47676         * modules/realloc-posix: New file.
47677         * modules/realloc (Depends-on): Add realloc-posix.
47678         * lib/realloc.c: Include errno.h.
47679         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
47680         and a POSIX-compatible realloc into a single function. Set ENOMEM
47681         when returning NULL.
47682         * m4/realloc.m4: New file.
47683         * doc/functions/realloc.texi: Mention the realloc-posix module.
47684         * lib/stdlib_.h (realloc): New declaration.
47685         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47686         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
47687         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
47688         and HAVE_REALLOC_POSIX.
47689
47690 2007-09-09  Bruno Haible  <bruno@clisp.org>
47691
47692         * modules/calloc-posix: New file.
47693         * modules/calloc (Depends-on): Add calloc-posix.
47694         * lib/calloc.c: Include errno.h.
47695         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
47696         and a POSIX-compatible calloc into a single function. Set ENOMEM
47697         when returning NULL.
47698         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
47699         * doc/functions/calloc.texi: Mention the calloc-posix module.
47700         * lib/stdlib_.h (calloc): New declaration.
47701         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47702         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
47703         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
47704         and HAVE_CALLOC_POSIX.
47705
47706 2007-09-09  Bruno Haible  <bruno@clisp.org>
47707
47708         Allow for modules to show an arbitrary notice.
47709         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
47710         * gnulib-tool: New option --extract-notice.
47711         (func_usage): Document it.
47712         (sed_extract_prog): Update.
47713         (func_get_notice): New function.
47714         (func_modules_notice): New function.
47715         (func_import, func_create_testdir): Invoke it.
47716         Suggested by Jim Meyering.
47717
47718 2007-09-09  Bruno Haible  <bruno@clisp.org>
47719
47720         * gnulib-tool: New options --verbose, --quiet.
47721         (func_usage): Document them.
47722         (verbose): New variable.
47723         (func_execute_command): New function.
47724         (func_import): Don't show the module list and the file list if
47725         $verbose < 0.
47726         (func_create_testdir): Likewise. Use func_execute_command.
47727         (func_create_megatestdir): Use func_execute_command.
47728
47729 2007-09-08  Bruno Haible  <bruno@clisp.org>
47730
47731         * gnulib-tool (func_import): Prefer rsync over wget when available,
47732         for fetching the PO files.
47733
47734 2007-09-08  Bruno Haible  <bruno@clisp.org>
47735
47736         * posix-modules: New file. Portions copied from gnulib-tool.
47737         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
47738
47739 2007-09-08  Jim Meyering  <jim@meyering.net>
47740
47741         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
47742         * lib/fpending.h: Rename from __fpending.h.
47743         * lib/fpending.c: Rename from __fpending.c.
47744         Include "fpending.h", not "__fpending.h".
47745         * lib/__fpending.h, lib/__fpending.c: Remove files.
47746         * modules/fpending (Files): Reflect new file names.
47747         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
47748
47749 2007-09-08  Bruno Haible  <bruno@clisp.org>
47750
47751         * m4/inttypes-h.m4: Remove stub file.
47752
47753 2007-09-07  Simon Josefsson  <simon@josefsson.org>
47754
47755         * doc/headers/stdint.texi: Discuss #include_next issue.
47756
47757 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47758
47759         * build-aux/bootstrap: Remove obsolete comment about wget --help.
47760
47761 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47762
47763         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
47764         in variable name.
47765
47766 2007-09-03  Jim Meyering  <jim@meyering.net>
47767
47768         New module: git-version-gen.
47769         * modules/git-version-gen: New file.
47770
47771         Import changes from coreutils for bootstrap script.
47772
47773         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
47774
47775         bootstrap: uses rsync to download the .po files
47776         * build-aux/bootstrap (po_download_command_format): New global.
47777         (download_po_files): Use rsync.
47778         (update_po_files): Don't remove .po files after download,
47779         so future rsync runs can take advantage of the copies.
47780
47781         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
47782
47783         Solve the unnecessary-.po-file-regeneration problem once and for all.
47784         * build-aux/bootstrap (download_po_files): New function, renamed from
47785         get_translations.  Now, downloads, but doesn't update LINGUAS.
47786         (update_po_files): New function.
47787
47788         bootstrap: Ignore more.
47789         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
47790         uniwidth to e.g., lib/.gitignore.
47791         (slurp): Handle the sys_stat_.h -> sys mapping, too.
47792
47793         * build-aux/bootstrap: New setting: vc_ignore.
47794         (insert_sorted_if_absent): Create $file if absent.
47795         Adapt to new, possibly empty, list: $vc_ignore.
47796
47797         bootstrap: generate more ignorable names
47798         * build-aux/bootstrap (slurp): When generating ignorable names,
47799         also map .sin to .sed, .gperf to .c, and .y to .c.
47800
47801 2007-09-03  Jim Meyering  <jim@meyering.net>
47802
47803         * build-aux/git-version-gen: New file, from coreutils.  For details, see
47804         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
47805
47806 2007-09-02  Bruno Haible  <bruno@clisp.org>
47807
47808         Fix mis-recognition of 'mcs' on QNX 6.
47809         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
47810         output contains the string "Mono".
47811         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
47812         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
47813
47814 2007-09-01  Bruno Haible  <bruno@clisp.org>
47815
47816         Fix collision between uniwidth/* and linebreak modules.
47817         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
47818         u32_width): Remove declarations.
47819         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
47820         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
47821         streq3, streq2, streq1, streq0): Remove functions.
47822         (STREQ): Remove macro.
47823         (is_cjk_encoding): Remove function.
47824         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
47825         (uc_width, u8_width, u16_width, u32_width): Remove functions.
47826         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
47827         * NEWS: Document the change.
47828
47829 2007-09-01  Bruno Haible  <bruno@clisp.org>
47830
47831         * lib/streq.h: Add double-inclusion guard.
47832
47833 2007-09-01  Karl Berry  <karl@gnu.org>
47834
47835         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
47836
47837 2007-08-28  Jim Meyering  <jim@meyering.net>
47838
47839         Rename mreadlink_with_size to areadlink_with_size.
47840         * NEWS: Document the change.
47841         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
47842         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
47843         * lib/mreadlink.h: Rename this to...
47844         * lib/areadlink.h: ...this.
47845         * modules/mreadlink-with-size: Rename this to...
47846         * modules/areadlink-with-size: ...this.
47847         * lib/canonicalize.c: Reflect the renaming.
47848         * modules/canonicalize: Likewise.
47849
47850 2007-08-26  Bruno Haible  <bruno@clisp.org>
47851
47852         * gnulib-tool (func_import): When deciding which files to remove,
47853         consider also dangling symbolic links.
47854         Reported by Eric Blake.
47855
47856 2007-08-26  Bruno Haible  <bruno@clisp.org>
47857
47858         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
47859
47860 2007-08-23  Simon Josefsson  <simon@josefsson.org>
47861
47862         * lib/readline.c: Don't include getline.h, the prototype is now
47863         found in stdio.h.
47864
47865 2007-08-23  Jim Meyering  <jim@meyering.net>
47866
47867         Getdelim touchup.
47868         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
47869         around the funlockfile call, since funlockfile never sets errno.
47870         Don't set errno upon failed realloc.
47871
47872 2007-08-22  Eric Blake  <ebb9@byu.net>
47873
47874         Getline touchups.
47875         * lib/getdelim.c (getdelim): Revert regression that required *n to
47876         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
47877         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
47878         getdelim, rather than whether implementation is missing.
47879         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
47880         * lib/stdio_.h (getline): Also declare if replacement is
47881         required.
47882         * doc/functions/getdelim.texi: New file.
47883         * doc/functions/getline.texi: Likewise.
47884         * doc/gnulib.texi (Function Substitutes): Add new files.
47885         Reported by Bruno Haible.
47886
47887 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
47888
47889         * users.txt: Add Guile.
47890
47891 2007-08-22  Eric Blake  <ebb9@byu.net>
47892
47893         * tests/test-getdelim.c (main): Use remove, not unlink.
47894         * tests/test-getline.c (main): Likewise.
47895
47896         Move getline and getdelim into stdio.h, per POSIX 200x.
47897         * modules/getline (Files): Remove getline.h.
47898         (Depends-on): Add stdio.
47899         (configure.ac): Add module indicator.
47900         * modules/getdelim (Files): Remove getdelim.h.
47901         (Depends-on): Add stdio.
47902         (configure.ac): Add module indicator.
47903         * modules/stdio (Makefile.am): Work with new indicators.
47904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
47905         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
47906         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
47907         * lib/getdelim.h: Delete.
47908         * lib/getline.h: Delete.
47909         * lib/stdio_.h (getdelim, getline): Declare.
47910         * modules/getdelim-tests: New module.
47911         * modules/getline-tests: Likewise.
47912         * tests/test-getdelim.c: New file.
47913         * tests/test-getline.c: Likewise.
47914         * NEWS: Document the change.
47915         * lib/getline.c: Update choice of header.
47916         * lib/csharpcomp.c: Likewise.
47917         * lib/getpass.c: Likewise.
47918         * lib/javacomp.c: Likewise.
47919         * lib/javaversion.c: Likewise.
47920         * lib/yesno.c: Likewise.
47921         * lib/getdelim.c: Likewise.
47922         (getdelim): Set errno on failure, and avoid memory leak.
47923
47924 2007-08-19  Bruno Haible  <bruno@clisp.org>
47925
47926         * modules/closein (Depends-on): Add freadahead.
47927         * lib/closein.c: Include freadahead.h.
47928         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
47929         is zero.
47930
47931 2007-08-19  Bruno Haible  <bruno@clisp.org>
47932
47933         * modules/freadahead-tests: New file.
47934         * tests/test-freadahead.sh: New file.
47935         * tests/test-freadahead.c: New file.
47936
47937         * modules/freadahead: New file.
47938         * lib/freadahead.h: New file.
47939         * lib/freadahead.c: New file.
47940         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
47941         fbufmode, fpurge, freadable, fwritable.
47942
47943 2007-08-19  Eric Blake  <ebb9@byu.net>
47944
47945         Test yesno in combination with closein.
47946         * lib/yesno.c (yesno): Document use of stdin.
47947         * modules/yesno-tests (Files): New module.
47948         * tests/test-yesno.c (main): New file.
47949         * tests/test-yesno.sh: Likewise.
47950
47951 2007-08-19  Bruno Haible  <bruno@clisp.org>
47952
47953         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
47954         * lib/fseeko.c (rpl_fseeko): Likewise.
47955         * lib/fseterr.c (fseterr): Likewise.
47956
47957 2007-08-19  Bruno Haible  <bruno@clisp.org>
47958
47959         * tests/test-lseek.c (main): Disable a test for BeOS.
47960         * doc/functions/lseek.texi: Document the BeOS bug.
47961
47962 2007-08-19  Bruno Haible  <bruno@clisp.org>
47963             Eric Blake  <ebb9@byu.net>
47964
47965         * lib/lseek.c: Include <sys/stat.h>.
47966         (rpl_lseek): Add workaround code also for Unix platforms.
47967         Needed for BeOS.
47968         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
47969         * doc/functions/lseek.texi: Document BeOS definiency.
47970
47971 2007-08-18  Bruno Haible  <bruno@clisp.org>
47972
47973         * modules/fstrcmp-tests: New file.
47974         * tests/test-fstrcmp.c: New file.
47975
47976 2007-08-18  Bruno Haible  <bruno@clisp.org>
47977
47978         * modules/fstrcmp: New file, from GNU gettext with modifications.
47979         * lib/fstrcmp.h: New file, from GNU gettext.
47980         * lib/fstrcmp.c: New file, from GNU gettext.
47981         * MODULES.html.sh (String handling): Add fstrcmp.
47982
47983 2007-08-18  Bruno Haible  <bruno@clisp.org>
47984
47985         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
47986         'bool'.
47987         (diag, compareseq): Remove const from the ctxt argument.
47988         (USE_HEURISTIC): Undefine at the end.
47989
47990 2007-08-18  Jim Meyering  <jim@meyering.net>
47991
47992         New file: lib/idcache.h
47993         * NEWS: Mention the addition.
47994         * modules/idcache (Files): Add lib/idcache.h
47995         * lib/idcache.c: Include "idcache.h".
47996         Don't include <sys/types.h>.
47997         Add a FIXME comment.
47998         Move file-scoped "static" declarations to the top.
47999         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
48000
48001 2007-08-17  Bruno Haible  <bruno@clisp.org>
48002         and Paul Eggert  <eggert@cs.ucla.edu>
48003
48004         * MODULES.html.sh: Add diffseq.
48005         * modules/diffseq: New file.
48006         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
48007         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
48008
48009 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48010
48011         Import changes from coreutils for bootstrap script.
48012
48013         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
48014
48015         * build-aux/bootstrap (slurp): Work even in environments where
48016         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
48017         current code does not slurp files whose names start with ".", and
48018         this looks like it might be a troublesome area.
48019
48020         2007-07-11  Jim Meyering  <jim@meyering.net>
48021
48022         If there's a GPL vN copyright comment, require that N == 3.
48023
48024         2007-07-08  Jim Meyering  <jim@meyering.net>
48025
48026         Run the coreutils-specific code only if tests/Makefile.am.in exists.
48027         * build-aux/bootstrap (mam_template): Move definition out of loop.
48028
48029         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
48030
48031         * build-aux/bootstrap (symlink_to_dir): Rename function from
48032         symlink_to_gnulib.  Add a directory parameter.  Update all
48033         callers.
48034         (cp_mark_as_generated): Also check for -- and link to -- files in
48035         gl/.
48036
48037         2007-07-08  Jim Meyering  <jim@meyering.net>
48038
48039         Adapt to deeper hierarchy in gnulib.
48040         * build-aux/bootstrap (symlink_to_dir): If the destination
48041         directory doesn't exist, create it. This is required at least for
48042         "lib/uniwidth/cjk.h".
48043
48044         2007-05-15  Jim Meyering  <jim@meyering.net>
48045
48046         * build-aux/bootstrap: Now that generated Makefile.am files
48047         are no longer under version control, they must be created at
48048         bootstrap time.
48049
48050 2007-08-14  Ben Pfaff  <blp@gnu.org>
48051
48052         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
48053
48054 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48055
48056         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
48057         given the changes below.
48058         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
48059         even on hosts that have padding bits beyond the supported 64.
48060
48061 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48062
48063         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
48064         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
48065         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
48066         depends on it.
48067         (xstrtol_error): Remove.
48068         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
48069         but with a different signature.
48070         (ATTRIBUTE_NORETURN, __attribute__): New macros.
48071         * lib/xstrtol-error.c: Include exitfail.h.
48072         (xstrtol_fatal): New function, with a different signature from the
48073         old xstrtol_error, so that the caller need not worry about passing
48074         in an exit status, or about storage management of the option argument.
48075         (xstrtol_error): Now a static function.  Redo signature to
48076         implement xstrtol_fatal.  Output the correct number of hyphens in
48077         front of the option so that the caller need not worry about
48078         storage management.
48079         (N_): New macro.
48080         (_): Remove; not used now.
48081         * modules/xstrtol: Depend on getopt.
48082         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
48083         of old STRTOL_FATAL_ERROR macro.
48084         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
48085         of test program.
48086         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
48087         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
48088
48089 2007-08-08  Eric Blake  <ebb9@byu.net>
48090
48091         * lib/xstrtol-error.c: Add missing include.
48092
48093         Move xstrtol messages into gnulib domain, when --pobase is used.
48094         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
48095         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
48096         * modules/xstrtol (Files): Distribute new file.
48097         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
48098         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
48099         * tests/test-xstrtol.c: ...into new file.
48100         * tests/test-xstrtoul.c: Also test xstrtoul.
48101         * tests/test-xstrtoimax.c: Also test xstrtoimax.
48102         * tests/test-xstrtoumax.c: Also test xstrtoumax.
48103         * tests/test-xstrtol.sh: Drive the tests.
48104         * tests/test-xstrtoimax.sh: Likewise.
48105         * tests/test-xstrtoumax.sh: Likewise.
48106         * modules/xstrtol-tests: New module.
48107         * modules/xstrtoimax-tests: Likewise.
48108         * modules/xstrtoumax-tests: Likewise.
48109
48110 2007-08-08  Jim Meyering  <jim@meyering.net>
48111
48112         New function: mfile_name_concat.
48113         * lib/filenamecat.c (mfile_name_concat): New function, just like
48114         file_name_concat, but return NULL upon failure rather than exiting
48115         with a diagnostic.
48116         * lib/filenamecat.h: Declare it.
48117
48118 2007-08-07  Bruno Haible  <bruno@clisp.org>
48119
48120         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
48121         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
48122         warning from gcc.
48123         Reported by Eric Blake.
48124
48125 2007-08-07  Simon Josefsson  <simon@josefsson.org>
48126
48127         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
48128         * modules/crypto/arcfour (License): Likewise.
48129         * modules/crypto/des-tests (License): Likewise.
48130         * modules/crypto/gc-arctwo-tests (License): Likewise.
48131         * modules/crypto/gc-des-tests (License): Likewise.
48132         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
48133         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
48134         * modules/crypto/gc-md2-tests (License): Likewise.
48135         * modules/crypto/gc-md4-tests (License): Likewise.
48136         * modules/crypto/gc-md5-tests (License): Likewise.
48137         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
48138         * modules/crypto/gc-rijndael-tests (License): Likewise.
48139         * modules/crypto/gc-sha1-tests (License): Likewise.
48140         * modules/crypto/gc-tests (License): Likewise.
48141         * modules/crypto/hmac-md5 (License): Likewise.
48142         * modules/crypto/hmac-sha1 (License): Likewise.
48143         * modules/crypto/md2-tests (License): Likewise.
48144         * modules/crypto/md4-tests (License): Likewise.
48145         * modules/crypto/md5 (License): Likewise.
48146         * modules/crypto/rijndael (License): Likewise.
48147         * modules/crypto/sha1 (License): Likewise.
48148         * modules/memxor (License): Likewise.
48149
48150 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
48151         and Bruno Haible  <bruno@clisp.org>
48152
48153         * NEWS: Describe interface changes to human, xstrtol.
48154         * lib/human.h: Include <xstrtol.h>.
48155         (human_options): Return enum strtol_error, not int.  Remove
48156         bool arg; take int * instead.
48157         * lib/human.c: Don't include "gettext.h".
48158         (_): Remove; no longer used.
48159         Don't include <xstrtol.h>, since human.h does it.
48160         (human_options): Adjust to abovementioned interface changes.
48161         Do not report error to stderr; that's now the caller's
48162         responsibility.
48163         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
48164         interface change.
48165         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
48166         Str, Argument_type_string.  All uses changed.  Put " argument"
48167         in diagnostics to make them clearer.  Change wording of suffix
48168         message for clarity.
48169         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
48170         Argument_type_string.
48171         (STRTOL_FATAL_WARN): Remove; no longer used.
48172         * modules/human (Depends-on): Remove gettext-h.
48173
48174 2007-08-06  Simon Josefsson  <simon@josefsson.org>
48175
48176         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
48177
48178 2007-07-31  Bruno Haible  <bruno@clisp.org>
48179
48180         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
48181         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
48182         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
48183
48184 2007-07-31  Bruno Haible  <bruno@clisp.org>
48185
48186         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
48187         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
48188
48189 2007-07-30  Bruno Haible  <bruno@clisp.org>
48190
48191         * modules/base64 (License): Use the synonymous term "LGPLv2+".
48192         * modules/c-ctype (License): Likewise.
48193         * modules/c-strcase (License): Likewise.
48194         * modules/check-version (License): Likewise.
48195         * modules/iconv (License): Likewise.
48196         * modules/iconv_open (License): Likewise.
48197         * modules/read-file (License): Likewise.
48198         * modules/striconv (License): Likewise.
48199         * modules/strverscmp (License): Likewise.
48200         * modules/vasprintf (License): Likewise.
48201         * modules/crypto/des (License): Likewise.
48202         * modules/crypto/gc (License): Likewise.
48203         * modules/crypto/gc-arcfour (License): Likewise.
48204         * modules/crypto/gc-arctwo (License): Likewise.
48205         * modules/crypto/gc-des (License): Likewise.
48206         * modules/crypto/gc-hmac-md5 (License): Likewise.
48207         * modules/crypto/gc-hmac-sha1 (License): Likewise.
48208         * modules/crypto/gc-md2 (License): Likewise.
48209         * modules/crypto/gc-md4 (License): Likewise.
48210         * modules/crypto/gc-md5 (License): Likewise.
48211         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
48212         * modules/crypto/gc-random (License): Likewise.
48213         * modules/crypto/gc-rijndael (License): Likewise.
48214         * modules/crypto/gc-sha1 (License): Likewise.
48215         * modules/crypto/md2 (License): Likewise.
48216         * modules/crypto/md4 (License): Likewise.
48217
48218 2007-07-30  Jim Meyering  <jim@meyering.net>
48219
48220         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
48221         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
48222         it has valid stat data.  This bug would cause du not to count the
48223         sizes of inaccessible directories.
48224         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
48225         in <http://bugzilla.redhat.com/250077>.
48226
48227 2007-07-25  Peter O'Gorman  <peter@pogma.com>
48228             Bruno Haible  <bruno@clisp.org>
48229
48230         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
48231         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
48232         #include_next, gives a diagnostic about it, but reports no error in
48233         the exit code.
48234         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48235
48236 2007-07-24  Ben Pfaff  <blp@gnu.org>
48237
48238         Improve name: "count-one-bits" is better than "popcount".
48239         * MODULES.html.sh: Update name.
48240         * lib/popcount.h: Renamed lib/count-one-bits.h.
48241         (popcount): Renamed count_one_bits.
48242         (popcountl): Renamed count_one_bits_l.
48243         (popcountll): Renamed count_one_bits_ll.
48244         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
48245         * modules/popcount: Renamed module/count-one-bits.
48246         * modules/popcount-tests: Renamed module/count-one-bits-tests.
48247         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
48248
48249 2007-07-23  Ben Pfaff  <blp@gnu.org>
48250
48251         * lib/popcount.h (popcount32): Reduce size of constants, to allow
48252         better code generation, and add U to large constants to avoid
48253         warnings, in non-GCC case.
48254         Suggested by Bruno Haible.
48255
48256 2007-07-23  Ben Pfaff  <blp@gnu.org>
48257
48258         * lib/popcount.h: Use verify_true instead of if...abort.
48259         * modules/popcount: Depend on verify module.
48260         Suggested by Jim Meyering.
48261
48262 2007-07-23  Bruno Haible  <bruno@clisp.org>
48263
48264         * gnulib-tool (func_import): Create a .cvsignore file also when the
48265         directory is not yet in CVS but the toplevel directory is. When
48266         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
48267         Reported by Karl Berry.
48268
48269 2007-07-22  Ben Pfaff  <blp@gnu.org>
48270
48271         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
48272         case.
48273         Suggested by Eric Blake.
48274
48275 2007-07-22  Ben Pfaff  <blp@gnu.org>
48276
48277         New module: popcount.
48278         * MODULES.html.sh: Add popcount.
48279         * modules/popcount: New file.
48280         * modules/popcount-tests: New file.
48281         * tests/test-popcount.c: New file.
48282         * lib/popcount.h: New file.
48283         * m4/popcount.m4: New file.
48284
48285 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48286
48287         * build-aux/announce-gen: Update to GPLv3.
48288
48289         * build-aux/config.guess: Update from config.
48290
48291 2007-07-21  Bruno Haible  <bruno@clisp.org>
48292
48293         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
48294         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
48295
48296 2007-07-20  Jim Meyering  <jim@meyering.net>
48297
48298         * check-module: Diagnose a self-dependency.
48299
48300 2007-07-19  Bruno Haible  <bruno@clisp.org>
48301
48302         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
48303         empty.
48304         Reported by Eric Blake.
48305
48306 2007-07-18  Bruno Haible  <bruno@clisp.org>
48307
48308         * gnulib-tool: New options --po-base, --po-domain.
48309         (func_usage): Document them.
48310         (pobase, po_domain): New variables.
48311         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
48312         DEFAULT_TEXT_DOMAIN.
48313         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
48314         (func_import): Consider pobase and po_domain. Create a po/ directory.
48315         (func_create_testdir): Set pobase and po_domain to empty.
48316         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
48317         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
48318
48319 2007-07-18  Bruno Haible  <bruno@clisp.org>
48320
48321         * gnulib-tool (func_get_automake_snippet): Synthesize also an
48322         EXTRA_DIST augmentation for files in build-aux/.
48323
48324 2007-07-16  Bruno Haible  <bruno@clisp.org>
48325
48326         * modules/lseek (License): Use the synonymous term "LGPLv2+".
48327         * modules/getdelim (License): Likewise.
48328
48329 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48330
48331         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
48332         * modules/d-type (License): Likewise.
48333         * modules/extensions (License): Likewise.
48334         * modules/fnmatch (License): Likewise.
48335         * modules/fseeko (License): Likewise.
48336         * modules/getaddrinfo (License): Likewise.
48337         * modules/getline (License): Likewise.
48338         * modules/getlogin_r (License): Likewise.
48339         * modules/getpass (License): Likewise.
48340         * modules/gettimeofday (License): Likewise.
48341         * modules/glob (License): Likewise.
48342         * modules/inet_ntop (License): Likewise.
48343         * modules/malloc (License): Likewise.
48344         * modules/malloca (License): Likewise.
48345         * modules/memmem (License): Likewise.
48346         * modules/mempcpy (License): Likewise.
48347         * modules/memset (License): Likewise.
48348         * modules/minmax (License): Likewise.
48349         * modules/mktime (License): Likewise.
48350         * modules/netinet_in (License): Likewise.
48351         * modules/pathmax (License): Likewise.
48352         * modules/poll (License): Likewise.
48353         * modules/regex (License): Likewise.
48354         * modules/snprintf (License): Likewise.
48355         * modules/stdbool (License): Likewise.
48356         * modules/stdint (License): Likewise.
48357         * modules/stdio (License): Likewise.
48358         * modules/strcase (License): Likewise.
48359         * modules/strcasestr (License): Likewise.
48360         * modules/strdup (License): Likewise.
48361         * modules/string (License): Likewise.
48362         * modules/strndup (License): Likewise.
48363         * modules/strnlen (License): Likewise.
48364         * modules/strpbrk (License): Likewise.
48365         * modules/strptime (License): Likewise.
48366         * modules/strsep (License): Likewise.
48367         * modules/sys_select (License): Likewise.
48368         * modules/sys_socket (License): Likewise.
48369         * modules/sys_stat (License): Likewise.
48370         * modules/sys_time (License): Likewise.
48371         * modules/time (License): Likewise.
48372         * modules/time_r (License): Likewise.
48373         * modules/timegm (License): Likewise.
48374         * modules/unistd (License): Likewise.
48375         * modules/vsnprintf (License): Likewise.
48376         * modules/wctype (License): Likewise.
48377
48378 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48379
48380         * modules/argz (License): LGPLv2+.
48381
48382 2007-07-15  Karl Berry  <karl@gnu.org>
48383
48384         * doc/gnulib.texi: revise node structure per new fdl.texi.
48385
48386 2007-07-14  Bruno Haible  <bruno@clisp.org>
48387
48388         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
48389         the output file.
48390         * lib/uniname/uninames.h: Regenerated.
48391
48392 2007-07-14  Karl Berry  <karl@gnu.org>
48393
48394         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
48395         omitting sectioning and index commands.
48396
48397 2007-07-13  Bruno Haible  <bruno@clisp.org>
48398
48399         New gnulib-tool option --more-symlinks.
48400         * gnulib-tool (func_usage): Document --more-symlinks.
48401         (do_copyrights): New variable.
48402         Recognize option --more-symlinks.
48403         (func_import): Don't add a copyright notice transform to
48404         sed_transform_lib_file if do_copyrights is empty.
48405
48406 2007-07-13  Bruno Haible  <bruno@clisp.org>
48407
48408         * lib/vasnprintf.c (decimal_point_char): Define also if
48409         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
48410         && !NEED_PRINTF_DIRECTIVE_A.
48411         Reported by Clemens Koller <clemens.koller@anagramm.de> via
48412         Gary V. Vaughan <gary@gnu.org>.
48413
48414 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
48415
48416         * lib/inttypes_.h: Undo previous change, since it was fixed
48417         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
48418
48419 2007-07-13  Bruno Haible  <bruno@clisp.org>
48420
48421         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
48422         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
48423
48424 2007-07-13  Jim Meyering  <jim@meyering.net>
48425
48426         df: Don't fail for Tru64's "file-on-file mount".
48427         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
48428         so we fall through and use statfs instead.  Details here:
48429         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
48430         Reported by Albert Chin.
48431
48432 2007-07-13  Bruno Haible  <bruno@clisp.org>
48433
48434         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
48435         * modules/configmake (License): Likewise.
48436         * modules/gettext (License): Likewise.
48437         * modules/gettext-h (License): Likewise.
48438         * modules/include_next (License): Likewise.
48439         * modules/link-warning (License): Likewise.
48440         * modules/localcharset (License): Likewise.
48441         * modules/localename (License): Likewise.
48442         * modules/lock (License): Likewise.
48443         * modules/relocatable-lib-lgpl (License): Likewise.
48444         * modules/size_max (License): Likewise.
48445         * modules/vasnprintf (License): Likewise.
48446         * modules/wchar (License): Likewise.
48447         * modules/xsize (License): Likewise.
48448
48449 2007-07-13  Bruno Haible  <bruno@clisp.org>
48450
48451         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
48452         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
48453
48454 2007-07-12  Bruno Haible  <bruno@clisp.org>
48455
48456         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
48457         in the modules files.
48458
48459 2007-07-11  Karl Berry  <karl@gnu.org>
48460
48461         * MODULES.html.sh (func_module): use
48462          sed -e '\|^'"${includefile}"'$|d'
48463          instead of /.../d, to avoid errors on $includefile's containing /.
48464
48465 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
48466
48467         * gnulib-tool (func_import): Avoid duplication of --avoid
48468         statements
48469         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
48470         names to `_' in variable names.
48471
48472 2007-07-10  Eric Blake  <ebb9@byu.net>
48473
48474         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
48475         * NEWS: Document this change.
48476
48477 2007-07-08  Bruno Haible  <bruno@clisp.org>
48478
48479         Update to Unicode 5.0.
48480         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
48481         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
48482         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
48483         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
48484         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
48485         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
48486         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
48487         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
48488         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
48489         U+10A3F, U+1D242..U+1D244.
48490         (nonspacing_table_ind): Update.
48491         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
48492         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
48493
48494 2007-07-08  Bruno Haible  <bruno@clisp.org>
48495
48496         Update to Unicode 5.0.
48497         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
48498         code transform. Extend the name index field of unicode_name_to_code and
48499         unicode_code_to_name from 16 to 24 bits.
48500         * lib/uniname/uniname.c (unicode_character_name,
48501         unicode_name_character): Add the range 0x12xxx to the code transform.
48502         * lib/uniname/uninames.h: Regenerated.
48503         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
48504
48505 2007-07-07  Bruno Haible  <bruno@clisp.org>
48506
48507         * modules/wcwidth-tests: New file.
48508         * tests/test-wcwidth.c: New file.
48509
48510         Work around MacOS X wcwidth() bug.
48511         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
48512         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
48513         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
48514         original wcwidth in non-UTF-8 locales.
48515         * modules/wcwidth (Depends-on): Add localcharset, streq,
48516         uniwidth/width.
48517         * doc/functions/wcwidth.texi: Update.
48518
48519 2007-07-07  Bruno Haible  <bruno@clisp.org>
48520
48521         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
48522         (wcwidth): New declaration.
48523         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
48524         macros.
48525         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
48526         here. Prepare for creating <wchar.h> unconditionally.
48527         * modules/wchar (Depends-on): Add link-warning.
48528         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
48529         REPLACE_WCWIDTH, and GL_LINK_WARNING.
48530         * lib/wcwidth.h: Remove file.
48531         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
48532         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
48533         * modules/wcwidth (Files): Remove lib/wcwidth.h.
48534         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
48535         (Include): Replace wcwidth.h with <wchar.h>.
48536         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
48537         * lib/mbchar.h: Don't include wcwidth.h.
48538         * lib/mbswidth.c: Likewise.
48539         * NEWS: Mention the change.
48540
48541 2007-07-07  Bruno Haible  <bruno@clisp.org>
48542
48543         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
48544         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
48545         definition with an external declaration.
48546         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
48547         defined as a function. Remove AC_C_INLINE requirement.
48548         * modules/wcwidth (Files): Add lib/wcwidth.c.
48549         (Makefile.am): Remove redundant statement.
48550
48551 2007-07-07  Bruno Haible  <bruno@clisp.org>
48552
48553         * MODULES.html.sh (Unicode string functions): Add the new modules.
48554
48555         * tests/uniwidth/test-u32-strwidth.c: New file.
48556         * modules/uniwidth/u32-strwidth-tests: New file.
48557
48558         * lib/uniwidth/u32-strwidth.c: New file.
48559         * modules/uniwidth/u32-strwidth: New file.
48560
48561         * tests/uniwidth/test-u16-strwidth.c: New file.
48562         * modules/uniwidth/u16-strwidth-tests: New file.
48563
48564         * lib/uniwidth/u16-strwidth.c: New file.
48565         * modules/uniwidth/u16-strwidth: New file.
48566
48567         * tests/uniwidth/test-u8-strwidth.c: New file.
48568         * modules/uniwidth/u8-strwidth-tests: New file.
48569
48570         * lib/uniwidth/u8-strwidth.c: New file.
48571         * modules/uniwidth/u8-strwidth: New file.
48572
48573         * tests/uniwidth/test-u32-width.c: New file.
48574         * modules/uniwidth/u32-width-tests: New file.
48575
48576         * lib/uniwidth/u32-width.c: New file.
48577         * modules/uniwidth/u32-width: New file.
48578
48579         * tests/uniwidth/test-u16-width.c: New file.
48580         * modules/uniwidth/u16-width-tests: New file.
48581
48582         * lib/uniwidth/u16-width.c: New file.
48583         * modules/uniwidth/u16-width: New file.
48584
48585         * tests/uniwidth/test-u8-width.c: New file.
48586         * modules/uniwidth/u8-width-tests: New file.
48587
48588         * lib/uniwidth/u8-width.c: New file.
48589         * modules/uniwidth/u8-width: New file.
48590
48591         * tests/uniwidth/test-uc_width.c: New file.
48592         * modules/uniwidth/width-tests: New file.
48593
48594         * lib/uniwidth/width.c: New file, from GNU libiconv.
48595         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
48596         * modules/uniwidth/width: New file.
48597
48598         * lib/uniwidth.h: New file, from GNU libiconv.
48599         * modules/uniwidth/base: New file.
48600
48601 2007-07-07  Bruno Haible  <bruno@clisp.org>
48602
48603         * lib/uniname.h: New file, from GNU gettext.
48604         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
48605         * lib/uniname/uninames.h: New file, from GNU gettext.
48606         * lib/uniname/uniname.c: New file, from GNU gettext.
48607         * tests/uniname/test-uninames.sh: New file.
48608         * tests/uniname/test-uninames.c: New file, from GNU gettext.
48609         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
48610         * modules/uniname/base: New file.
48611         * modules/uniname/uniname: New file.
48612         * modules/uniname/uniname-tests: New file.
48613         * MODULES.html.sh (Unicode string functions): Add the new modules.
48614
48615 2007-07-06  Bruno Haible  <bruno@clisp.org>
48616
48617         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
48618
48619 2007-07-06  Bruno Haible  <bruno@clisp.org>
48620
48621         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
48622         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
48623         includes <cygwin/sys_time.h> which includes <sys/select.h> which
48624         include <sys/time.h>.
48625         Reported by Eric Blake.
48626
48627 2007-07-06  Eric Blake  <ebb9@byu.net>
48628
48629         Fix testing canonicalize on cygwin.
48630         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
48631         Revert patch from 2007-06-19.
48632         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
48633         canonicalize module is also in use.
48634         * tests/test-canonicalize.c: New file.
48635         * tests/test-canonicalize.sh: Likewise.
48636         * modules/canonicalize-tests: Likewise.
48637
48638 2007-07-06  Jim Meyering  <jim@meyering.net>
48639
48640         * lib/getugroups.c (getugroups): Detect getgrent failure.
48641         Adjust comment to reflect reality: this function may return -1.
48642
48643 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
48644
48645         * build-aux/bootstrap (TP_URL,get_translations): Update to use
48646         the new TP address.
48647         (usage): Fix typo
48648         (gnulib_mk): New variable.
48649
48650 2007-07-05  Jim Meyering  <jim@meyering.net>
48651
48652         Don't let endgrent clobber errno, no matter how improbable.
48653         * lib/getugroups.c (getugroups): Save and restore errno around
48654         endgrent call.
48655
48656         Close the group DB even when failing with 2^31 or more members.
48657         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
48658
48659 2007-07-04  Jim Meyering  <jim@meyering.net>
48660
48661         * lib/getugroups.h: New file.
48662         * lib/getugroups.c: Include "getugroups.h".
48663         Remove uses of "register" keyword.
48664         Move local variable, "cp", down into scope where used.
48665         Give "username" parameter the "const" attribute.
48666         * modules/getugroups (Files): Add lib/getugroups.h
48667
48668 2007-07-04  Karl Berry  <karl@gnu.org>
48669
48670         * MODULES.html.sh (func_all_modules): Complete rename of
48671         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
48672
48673 2007-07-02  Bruno Haible  <bruno@clisp.org>
48674
48675         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
48676         mode, when inttypes.h comes from gnulib.
48677         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
48678
48679 2007-07-02  Simon Josefsson  <simon@josefsson.org>
48680
48681         * NEWS: Mention lgpl module name change.
48682
48683         * modules/lgpl-2.1: Renamed from lgpl.
48684
48685         * NEWS: Mention gpl module name change.
48686
48687         * modules/gpl-3.0: New file, based on gpl-2.0.
48688
48689         * modules/gpl-2.0: Renamed from gpl.
48690
48691         * modules/gpl: Fix filename, doc/gpl.texi is now found at
48692         doc/gpl-2.0.texi.
48693
48694 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
48695
48696         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
48697         #define __STDC_LIMIT_MACROS temporarily while including
48698         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
48699         Problem reported by Joel E. Denny in
48700         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
48701
48702 2007-07-01  Bruno Haible  <bruno@clisp.org>
48703
48704         * lib/unistdio.h: New file.
48705         * lib/unistdio/u-asnprintf.h: New file.
48706         * lib/unistdio/u-asprintf.h: New file.
48707         * lib/unistdio/u-printf-args.c: New file.
48708         * lib/unistdio/u-printf-args.h: New file.
48709         * lib/unistdio/u-printf-parse.h: New file.
48710         * lib/unistdio/u-snprintf.h: New file.
48711         * lib/unistdio/u-sprintf.h: New file.
48712         * lib/unistdio/u-vasprintf.h: New file.
48713         * lib/unistdio/u-vsnprintf.h: New file.
48714         * lib/unistdio/u-vsprintf.h: New file.
48715         * lib/unistdio/ulc-asnprintf.c: New file.
48716         * lib/unistdio/ulc-asprintf.c: New file.
48717         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
48718         * lib/unistdio/ulc-printf-parse.c: New file.
48719         * lib/unistdio/ulc-snprintf.c: New file.
48720         * lib/unistdio/ulc-sprintf.c: New file.
48721         * lib/unistdio/ulc-vasnprintf.c: New file.
48722         * lib/unistdio/ulc-vasprintf.c: New file.
48723         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
48724         * lib/unistdio/ulc-vsnprintf.c: New file.
48725         * lib/unistdio/ulc-vsprintf.c: New file.
48726         * lib/unistdio/u8-asnprintf.c: New file.
48727         * lib/unistdio/u8-asprintf.c: New file.
48728         * lib/unistdio/u8-printf-parse.c: New file.
48729         * lib/unistdio/u8-snprintf.c: New file.
48730         * lib/unistdio/u8-sprintf.c: New file.
48731         * lib/unistdio/u8-vasnprintf.c: New file.
48732         * lib/unistdio/u8-vasprintf.c: New file.
48733         * lib/unistdio/u8-vsnprintf.c: New file.
48734         * lib/unistdio/u8-vsprintf.c: New file.
48735         * lib/unistdio/u8-u8-asnprintf.c: New file.
48736         * lib/unistdio/u8-u8-asprintf.c: New file.
48737         * lib/unistdio/u8-u8-snprintf.c: New file.
48738         * lib/unistdio/u8-u8-sprintf.c: New file.
48739         * lib/unistdio/u8-u8-vasnprintf.c: New file.
48740         * lib/unistdio/u8-u8-vasprintf.c: New file.
48741         * lib/unistdio/u8-u8-vsnprintf.c: New file.
48742         * lib/unistdio/u8-u8-vsprintf.c: New file.
48743         * lib/unistdio/u16-asnprintf.c: New file.
48744         * lib/unistdio/u16-asprintf.c: New file.
48745         * lib/unistdio/u16-printf-parse.c: New file.
48746         * lib/unistdio/u16-snprintf.c: New file.
48747         * lib/unistdio/u16-sprintf.c: New file.
48748         * lib/unistdio/u16-vasnprintf.c: New file.
48749         * lib/unistdio/u16-vasprintf.c: New file.
48750         * lib/unistdio/u16-vsnprintf.c: New file.
48751         * lib/unistdio/u16-vsprintf.c: New file.
48752         * lib/unistdio/u16-u16-asnprintf.c: New file.
48753         * lib/unistdio/u16-u16-asprintf.c: New file.
48754         * lib/unistdio/u16-u16-snprintf.c: New file.
48755         * lib/unistdio/u16-u16-sprintf.c: New file.
48756         * lib/unistdio/u16-u16-vasnprintf.c: New file.
48757         * lib/unistdio/u16-u16-vasprintf.c: New file.
48758         * lib/unistdio/u16-u16-vsnprintf.c: New file.
48759         * lib/unistdio/u16-u16-vsprintf.c: New file.
48760         * lib/unistdio/u32-asnprintf.c: New file.
48761         * lib/unistdio/u32-asprintf.c: New file.
48762         * lib/unistdio/u32-printf-parse.c: New file.
48763         * lib/unistdio/u32-snprintf.c: New file.
48764         * lib/unistdio/u32-sprintf.c: New file.
48765         * lib/unistdio/u32-vasnprintf.c: New file.
48766         * lib/unistdio/u32-vasprintf.c: New file.
48767         * lib/unistdio/u32-vsnprintf.c: New file.
48768         * lib/unistdio/u32-vsprintf.c: New file.
48769         * lib/unistdio/u32-u32-asnprintf.c: New file.
48770         * lib/unistdio/u32-u32-asprintf.c: New file.
48771         * lib/unistdio/u32-u32-snprintf.c: New file.
48772         * lib/unistdio/u32-u32-sprintf.c: New file.
48773         * lib/unistdio/u32-u32-vasnprintf.c: New file.
48774         * lib/unistdio/u32-u32-vasprintf.c: New file.
48775         * lib/unistdio/u32-u32-vsnprintf.c: New file.
48776         * lib/unistdio/u32-u32-vsprintf.c: New file.
48777         * tests/unistdio/test-ulc-asnprintf1.c: New file.
48778         * tests/unistdio/test-ulc-asnprintf1.h: New file.
48779         * tests/unistdio/test-ulc-printf1.h: New file.
48780         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
48781         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
48782         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
48783         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
48784         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
48785         * tests/unistdio/test-ulc-vasprintf1.c: New file.
48786         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
48787         * tests/unistdio/test-ulc-vsprintf1.c: New file.
48788         * tests/unistdio/test-u8-asnprintf1.c: New file.
48789         * tests/unistdio/test-u8-asnprintf1.h: New file.
48790         * tests/unistdio/test-u8-printf1.h: New file.
48791         * tests/unistdio/test-u8-vasnprintf1.c: New file.
48792         * tests/unistdio/test-u8-vasnprintf2.c: New file.
48793         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
48794         * tests/unistdio/test-u8-vasnprintf3.c: New file.
48795         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
48796         * tests/unistdio/test-u8-vasprintf1.c: New file.
48797         * tests/unistdio/test-u8-vsnprintf1.c: New file.
48798         * tests/unistdio/test-u8-vsprintf1.c: New file.
48799         * tests/unistdio/test-u16-asnprintf1.c: New file.
48800         * tests/unistdio/test-u16-asnprintf1.h: New file.
48801         * tests/unistdio/test-u16-printf1.h: New file.
48802         * tests/unistdio/test-u16-vasnprintf1.c: New file.
48803         * tests/unistdio/test-u16-vasnprintf2.c: New file.
48804         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
48805         * tests/unistdio/test-u16-vasnprintf3.c: New file.
48806         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
48807         * tests/unistdio/test-u16-vasprintf1.c: New file.
48808         * tests/unistdio/test-u16-vsnprintf1.c: New file.
48809         * tests/unistdio/test-u16-vsprintf1.c: New file.
48810         * tests/unistdio/test-u32-asnprintf1.c: New file.
48811         * tests/unistdio/test-u32-asnprintf1.h: New file.
48812         * tests/unistdio/test-u32-printf1.h: New file.
48813         * tests/unistdio/test-u32-vasnprintf1.c: New file.
48814         * tests/unistdio/test-u32-vasnprintf2.c: New file.
48815         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
48816         * tests/unistdio/test-u32-vasnprintf3.c: New file.
48817         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
48818         * tests/unistdio/test-u32-vasprintf1.c: New file.
48819         * tests/unistdio/test-u32-vsnprintf1.c: New file.
48820         * tests/unistdio/test-u32-vsprintf1.c: New file.
48821         * modules/unistdio/base: New file.
48822         * modules/unistdio/u-printf-args: New file.
48823         * modules/unistdio/ulc-asnprintf: New file.
48824         * modules/unistdio/ulc-asprintf: New file.
48825         * modules/unistdio/ulc-fprintf: New file.
48826         * modules/unistdio/ulc-printf-parse: New file.
48827         * modules/unistdio/ulc-snprintf: New file.
48828         * modules/unistdio/ulc-sprintf: New file.
48829         * modules/unistdio/ulc-vasnprintf: New file.
48830         * modules/unistdio/ulc-vasprintf: New file.
48831         * modules/unistdio/ulc-vfprintf: New file.
48832         * modules/unistdio/ulc-vsnprintf: New file.
48833         * modules/unistdio/ulc-vsprintf: New file.
48834         * modules/unistdio/u8-asnprintf: New file.
48835         * modules/unistdio/u8-asprintf: New file.
48836         * modules/unistdio/u8-printf-parse: New file.
48837         * modules/unistdio/u8-snprintf: New file.
48838         * modules/unistdio/u8-sprintf: New file.
48839         * modules/unistdio/u8-vasnprintf: New file.
48840         * modules/unistdio/u8-vasprintf: New file.
48841         * modules/unistdio/u8-vsnprintf: New file.
48842         * modules/unistdio/u8-vsprintf: New file.
48843         * modules/unistdio/u8-u8-asnprintf: New file.
48844         * modules/unistdio/u8-u8-asprintf: New file.
48845         * modules/unistdio/u8-u8-snprintf: New file.
48846         * modules/unistdio/u8-u8-sprintf: New file.
48847         * modules/unistdio/u8-u8-vasnprintf: New file.
48848         * modules/unistdio/u8-u8-vasprintf: New file.
48849         * modules/unistdio/u8-u8-vsnprintf: New file.
48850         * modules/unistdio/u8-u8-vsprintf: New file.
48851         * modules/unistdio/u16-asnprintf: New file.
48852         * modules/unistdio/u16-asprintf: New file.
48853         * modules/unistdio/u16-printf-parse: New file.
48854         * modules/unistdio/u16-snprintf: New file.
48855         * modules/unistdio/u16-sprintf: New file.
48856         * modules/unistdio/u16-vasnprintf: New file.
48857         * modules/unistdio/u16-vasprintf: New file.
48858         * modules/unistdio/u16-vsnprintf: New file.
48859         * modules/unistdio/u16-vsprintf: New file.
48860         * modules/unistdio/u16-u16-asnprintf: New file.
48861         * modules/unistdio/u16-u16-asprintf: New file.
48862         * modules/unistdio/u16-u16-snprintf: New file.
48863         * modules/unistdio/u16-u16-sprintf: New file.
48864         * modules/unistdio/u16-u16-vasnprintf: New file.
48865         * modules/unistdio/u16-u16-vasprintf: New file.
48866         * modules/unistdio/u16-u16-vsnprintf: New file.
48867         * modules/unistdio/u16-u16-vsprintf: New file.
48868         * modules/unistdio/u32-asnprintf: New file.
48869         * modules/unistdio/u32-asprintf: New file.
48870         * modules/unistdio/u32-printf-parse: New file.
48871         * modules/unistdio/u32-snprintf: New file.
48872         * modules/unistdio/u32-sprintf: New file.
48873         * modules/unistdio/u32-vasnprintf: New file.
48874         * modules/unistdio/u32-vasprintf: New file.
48875         * modules/unistdio/u32-vsnprintf: New file.
48876         * modules/unistdio/u32-vsprintf: New file.
48877         * modules/unistdio/u32-u32-asnprintf: New file.
48878         * modules/unistdio/u32-u32-asprintf: New file.
48879         * modules/unistdio/u32-u32-snprintf: New file.
48880         * modules/unistdio/u32-u32-sprintf: New file.
48881         * modules/unistdio/u32-u32-vasnprintf: New file.
48882         * modules/unistdio/u32-u32-vasprintf: New file.
48883         * modules/unistdio/u32-u32-vsnprintf: New file.
48884         * modules/unistdio/u32-u32-vsprintf: New file.
48885         * modules/unistdio/ulc-asnprintf-tests: New file.
48886         * modules/unistdio/ulc-vasnprintf-tests: New file.
48887         * modules/unistdio/ulc-vasprintf-tests: New file.
48888         * modules/unistdio/ulc-vsnprintf-tests: New file.
48889         * modules/unistdio/ulc-vsprintf-tests: New file.
48890         * modules/unistdio/u8-asnprintf-tests: New file.
48891         * modules/unistdio/u8-vasnprintf-tests: New file.
48892         * modules/unistdio/u8-vasprintf-tests: New file.
48893         * modules/unistdio/u8-vsnprintf-tests: New file.
48894         * modules/unistdio/u8-vsprintf-tests: New file.
48895         * modules/unistdio/u16-asnprintf-tests: New file.
48896         * modules/unistdio/u16-vasnprintf-tests: New file.
48897         * modules/unistdio/u16-vasprintf-tests: New file.
48898         * modules/unistdio/u16-vsnprintf-tests: New file.
48899         * modules/unistdio/u16-vsprintf-tests: New file.
48900         * modules/unistdio/u32-asnprintf-tests: New file.
48901         * modules/unistdio/u32-vasnprintf-tests: New file.
48902         * modules/unistdio/u32-vasprintf-tests: New file.
48903         * modules/unistdio/u32-vsnprintf-tests: New file.
48904         * modules/unistdio/u32-vsprintf-tests: New file.
48905         * MODULES.html.sh (Unicode string functions): Add the new modules.
48906
48907 2007-07-01  Bruno Haible  <bruno@clisp.org>
48908
48909         * lib/sprintf.c (sprintf): Limit the available length estimation,
48910         to avoid address wraparound.
48911         * lib/vsprintf.c (vsprintf): Likewise.
48912         * modules/sprintf-posix (Dependencies): Add stdint.
48913         * modules/vsprintf-posix (Dependencies): Likewise.
48914
48915 2007-07-01  Bruno Haible  <bruno@clisp.org>
48916
48917         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
48918         Windows PATH as well. Conservative double-quoting. Comments.
48919
48920 2007-07-01  Bruno Haible  <bruno@clisp.org>
48921             Eric Blake  <ebb9@byu.net>
48922             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48923
48924         * gnulib-tool (self_abspathname): Fix algorithm to cope with
48925         empty components in $PATH, denoting '.'.
48926
48927 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48928
48929         * gnulib-tool: Fix indentation.
48930         (func_create_megatestdir): Likewise.
48931         Report by Bruno Haible.
48932
48933 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48934
48935         Sync from Automake.
48936         * build-aux/gnupload: Fix shell portability issues with for loops.
48937         Report by Karl Berry.
48938
48939 2007-06-29  Simon Josefsson  <simon@josefsson.org>
48940
48941         * build-aux/maint.mk (POURL): Use translationproject.org.
48942
48943 2007-06-27  Simon Josefsson  <simon@josefsson.org>
48944             Bruno Haible  <bruno@clisp.org>
48945
48946         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
48947         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
48948         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
48949         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
48950         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
48951
48952 2007-06-27  Bruno Haible  <bruno@clisp.org>
48953
48954         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
48955         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
48956
48957 2007-06-26  Karl Berry  <karl@gnu.org>
48958
48959         * MODULES.html.sh: remove xreadlink-with-size.
48960
48961 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
48962
48963         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
48964         method that I hope also handles the double-include problem noted
48965         by Bruno Haible in
48966         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
48967
48968 2007-06-23  Bruno Haible  <bruno@clisp.org>
48969
48970         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48971         Don't let the 'mostlyclean' target fail if the last subdirectory could
48972         not be removed.
48973         Reported by Karl Berry.
48974
48975 2007-06-23  Bruno Haible  <bruno@clisp.org>
48976
48977         * gnulib-tool (echo): Add a speedier workaround for ksh.
48978         * tests/test-echo.sh: Likewise.
48979
48980 2007-06-23  Bruno Haible  <bruno@clisp.org>
48981
48982         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
48983         * tests/test-echo.sh: Likewise.
48984
48985 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48986
48987         * gnulib-tool (IFS): Initialize early, so we don't set it to
48988         empty later.
48989         (self_abspathname): Rewrite algorithm to set it, reindent.
48990         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
48991         (func_create_megatestdir): Merge some sed scripts.
48992
48993 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
48994
48995         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
48996         exposed by Sun Studio 11 cc on Solaris 8.
48997
48998 2007-06-22  Bruno Haible  <bruno@clisp.org>
48999
49000         * gnulib-tool (echo): Ensure the echo primitive does not interpret
49001         backslashes.
49002         * tests/test-echo.sh: New file.
49003
49004 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49005
49006         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
49007         simplify `sed_replace_build_aux' scripts, they are portable but
49008         echoing them with `echo' is not.
49009         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
49010
49011 2007-06-21  Karl Berry  <karl@gnu.org>
49012
49013         * config/srclist.txt: guess we can't handle the licenses via
49014         srclist at the moment.
49015
49016 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
49017
49018         * MODULES.html.sh: Add include_next.
49019         * modules/include_next: New file.
49020
49021 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
49022
49023         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
49024         INCLUDE_NEXT.
49025         (gl_CHECK_NEXT_HEADERS): New macro.
49026         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
49027         the obsolescent gl_ABSOLUTE_HEADER.
49028         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
49029         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
49030         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
49031         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49032         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49033         * m4/math_h.m4 (gl_MATH_H): Likewise.
49034         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49035         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
49036         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
49037         * m4/stdint.m4 (gl_STDINT_H): Likewise.
49038         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
49039         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
49040         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
49041         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49042         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49043         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49044         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
49045         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
49046         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
49047         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
49048         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
49049         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
49050         * m4/inttypes.m4 (gl_INTTYPES_H): Define
49051         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
49052         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
49053         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
49054         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
49055         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
49056         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
49057         * lib/float_.h: Likewise.
49058         * lib/inttypes_.h: Likewise.
49059         * lib/math_.h: Likewise.
49060         * lib/search_.h: Likewise.
49061         * lib/signal_.h: Likewise.
49062         * lib/stdint_.h: Likewise.
49063         * lib/stdio_.h: Likewise.
49064         * lib/stdlib_.h: Likewise.
49065         * lib/string_.h: Likewise.
49066         * lib/sys_stat_.h: Likewise.
49067         * lib/sys_time_.h: Likewise.
49068         * lib/time_.h: Likewise.
49069         * lib/unistd_.h: Likewise.
49070         * lib/wchar_.h: Likewise.
49071         * lib/wctype_.h: Likewise.
49072         * lib/dirent_.h: Likewise.
49073         * lib/iconv_.h: Likewise.
49074         * lib/locale_.h: Likewise.
49075         * lib/netinet_in_.h: Likewise.
49076         * lib/sys_select_.h: Likewise.
49077         * lib/sys_socket_.h: Likewise.
49078         * lib/sysexits_.h: Likewise.
49079         * modules/fcntl (Depends-on): Depend on include_next, not
49080         absolute_header.
49081         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
49082         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
49083         * modules/fchdir: Likewise.
49084         * modules/float: Likewise.
49085         * modules/iconv_open: Likewise.
49086         * modules/inttypes: Likewise.
49087         * modules/locale: Likewise.
49088         * modules/math: Likewise.
49089         * modules/netinet_in: Likewise.
49090         * modules/search: Likewise.
49091         * modules/signal: Likewise.
49092         * modules/stdint: Likewise.
49093         * modules/stdio: Likewise.
49094         * modules/stdlib: Likewise.
49095         * modules/string: Likewise.
49096         * modules/sys_select: Likewise.
49097         * modules/sys_socket: Likewise.
49098         * modules/sys_stat: Likewise.
49099         * modules/sys_time: Likewise.
49100         * modules/sysexits: Likewise.
49101         * modules/time: Likewise.
49102         * modules/unistd: Likewise.
49103         * modules/wchar: Likewise.
49104         * modules/wctype: Likewise.
49105         * modules/sys_stat: Change maintainer to "all".
49106         * modules/unistd: Likewise.
49107
49108 2007-06-20  Karl Berry  <karl@gnu.org>
49109
49110         * config/srclist.txt: track www changes in license files.
49111
49112 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
49113
49114         * build-aux/bootstrap: Remove stray dot.
49115         Make sure build_aux settings are honored when linking
49116         gnulib_extra_files.
49117
49118 2007-06-19  Eric Blake  <ebb9@byu.net>
49119
49120         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
49121         Allow compilation on cygwin.
49122
49123 2007-06-19  Jim Meyering  <jim@meyering.net>
49124
49125         xreadlink-with-size: Remove module.  No longer used.
49126         Ex-callers now use xreadlink or mreadlink-with-size.
49127         * modules/xreadlink-with-size: Remove module.
49128         * lib/xreadlink-with-size.c: Remove file.
49129         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
49130         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
49131         just before the function definition *is* accurate.
49132
49133         Eliminate one way canonicalize_filename_mode could exit.
49134         * lib/canonicalize.c (canonicalize_filename_mode):
49135         Use mreadlink_with_size, not xreadlink_with_size.
49136
49137 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
49138
49139         Detect porting problems to FreeBSD/arm, which has time_t wider than
49140         long int.  Original problem reported for GNU diff by Xin Li in
49141         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
49142         * modules/getdate (Depends-on): Add intprops, verify.
49143         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
49144         is an integer type no wider than long int.
49145
49146 2007-06-18  Jim Meyering  <jim@meyering.net>
49147
49148         New module: mreadlink-with-size.
49149         * MODULES.html.sh: Add mreadlink-with-size.
49150         * modules/mreadlink-with-size: New module
49151         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
49152         not xreadlink-with-size.
49153         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
49154
49155 2007-06-16  Bruno Haible  <bruno@clisp.org>
49156
49157         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
49158         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
49159         Reported by Gary V. Vaughan <gary@gnu.org>.
49160
49161 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
49162
49163         Revamp lchown so that it lives in unistd.h where it belongs.
49164         * lib/lchown.h: Remove.
49165         * lib/dirchownmod.c: Don't include lib/lchown.h.
49166         * lib/fchownat.c: Likewise.
49167         * lib/openat.c: Likewise.
49168         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
49169         does not follow symlinks.
49170         (EOPNOTSUPP): Define if not defined.
49171         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
49172         is defined to 0.
49173         (lchown): New decl.
49174         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
49175         Do not check for lchown decl.
49176         Set REPLACE_LCHOWN.
49177         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
49178         REPLACE_LCHOWN.
49179         * modules/chown: Make it clear it follows symlinks.
49180         * modules/lchown: Make it clear it doesn't follow symlinks.
49181         (Files): Remove lib/lchown.h
49182         (Depends-on): Add unistd.
49183         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
49184         (Include): Include <unistd.h>, not "lchown.h".
49185         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
49186         REPLACE_LCHOWN.
49187
49188 2007-06-15  Jim Meyering  <jim@meyering.net>
49189
49190         Change license (GPL to LGPL) of fsusage and dependents.
49191         * modules/fsusage (License): Change to LGPL.
49192         * modules/full-read (License): Likewise.
49193         * modules/full-write (License): Likewise.
49194         * modules/safe-read (License): Likewise.
49195         * modules/safe-write (License): Likewise.
49196
49197 2007-06-14  Ben Pfaff  <blp@gnu.org>
49198
49199         Missing part of allocsa -> malloca transition.
49200         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
49201         gl_MALLOCA.
49202
49203 2007-06-12  Bruno Haible  <bruno@clisp.org>
49204
49205         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
49206         to ia64, x86_64, i386.
49207         Reported by Eric Blake.
49208
49209 2007-06-12  Bruno Haible  <bruno@clisp.org>
49210
49211         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
49212         cross-compiling to x86_64.
49213
49214 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
49215
49216         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
49217         glitch reported by Ralf Wildenhues in
49218         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
49219
49220         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
49221         Vin Shelton.
49222
49223 2007-06-11  Bruno Haible  <bruno@clisp.org>
49224
49225         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
49226         replacement string.
49227         Reported by Eric Blake.
49228
49229 2007-06-10  Bruno Haible  <bruno@clisp.org>
49230
49231         Prepare vasnprintf code for use with Unicode strings.
49232         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
49233         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
49234         TYPE_U32_STRING.
49235         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
49236         a_u32_string variants.
49237         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49238         * lib/printf-args.c: Don't include config.h and the specification
49239         header if PRINTF_FETCHARGS is already defined.
49240         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49241         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
49242         TYPE_U16_STRING, TYPE_U32_STRING.
49243         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
49244         u16_directive, u16_directives, u32_directive, u32_directives): New
49245         types.
49246         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
49247         New declarations.
49248         * lib/printf-parse.c: Don't include config.h and the specification
49249         header if PRINTF_PARSE is already defined. Eliminate the set of
49250         parameters for WIDE_CHAR_VERSION; the user of this file must provide
49251         them now. Include c-ctype.h.
49252         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
49253         directive and CHAR_T_ONLY_ASCII.
49254         * lib/vasnprintf.c: Don't include config.h and the specification header
49255         if VASNPRINTF is already defined.
49256         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
49257         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
49258         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
49259         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
49260         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
49261         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
49262         code accordingly.
49263         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
49264         pad_ourselves also in this case, with the 'c' and 's' directives, and
49265         with a different notion of "width".
49266         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
49267
49268 2007-06-10  Bruno Haible  <bruno@clisp.org>
49269
49270         * modules/unistr/u32-mbsnlen: New file.
49271         * lib/unistr/u32-mbsnlen.c: New file.
49272
49273         * modules/unistr/u16-mbsnlen: New file.
49274         * lib/unistr/u16-mbsnlen.c: New file.
49275
49276         * modules/unistr/u8-mbsnlen: New file.
49277         * lib/unistr/u8-mbsnlen.c: New file.
49278
49279         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
49280         declarations.
49281
49282 2007-06-10  Bruno Haible  <bruno@clisp.org>
49283
49284         * lib/string_.h (mbsnlen): New declaration.
49285         * lib/mbsnlen.c: New file.
49286         * m4/mbsnlen.m4: New file.
49287         * modules/mbsnlen: New file.
49288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
49289         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
49290         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
49291
49292 2007-06-10  Bruno Haible  <bruno@clisp.org>
49293
49294         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
49295
49296 2007-06-10  Bruno Haible  <bruno@clisp.org>
49297
49298         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
49299         * lib/mbuiter.h: Likewise.
49300
49301 2007-06-10  Bruno Haible  <bruno@clisp.org>
49302
49303         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
49304         declaration.
49305
49306 2007-06-10  Karl Berry  <karl@gnu.org>
49307
49308         * config/srclist.txt: remove gettext entries, Bruno prefers
49309         to update individually.
49310
49311 2007-06-10  Bruno Haible  <bruno@clisp.org>
49312
49313         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
49314         'maxlen'. Ensure only length + width bytes are allocated, not
49315         length + 1 + width.
49316
49317 2007-06-09  Bruno Haible  <bruno@clisp.org>
49318
49319         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
49320         (CHAR_T): Remove macro.
49321         (VASNPRINTF): Update.
49322
49323 2007-06-09  Bruno Haible  <bruno@clisp.org>
49324
49325         * MODULES.html.sh (Unicode string functions): Add the new modules.
49326
49327         * modules/uniconv/u32-conv-to-enc: New file.
49328         * lib/uniconv/u32-conv-to-enc.c: New file.
49329         * modules/uniconv/u32-conv-to-enc-tests: New file.
49330         * tests/uniconv/test-u32-conv-to-enc.c: New file.
49331
49332         * modules/uniconv/u16-conv-to-enc: New file.
49333         * lib/uniconv/u16-conv-to-enc.c: New file.
49334         * lib/uniconv/u-conv-to-enc.h: New file.
49335         * modules/uniconv/u16-conv-to-enc-tests: New file.
49336         * tests/uniconv/test-u16-conv-to-enc.c: New file.
49337
49338         * modules/uniconv/u8-conv-to-enc: New file.
49339         * lib/uniconv/u8-conv-to-enc.c: New file.
49340         * modules/uniconv/u8-conv-to-enc-tests: New file.
49341         * tests/uniconv/test-u8-conv-to-enc.c: New file.
49342
49343         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49344         u32_conv_to_encoding): New declarations.
49345
49346 2007-06-09  Bruno Haible  <bruno@clisp.org>
49347
49348         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
49349
49350 2007-06-09  Bruno Haible  <bruno@clisp.org>
49351
49352         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
49353         * modules/malloca: Renamed from modules/allocsa, updated.
49354         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
49355         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
49356         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
49357         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
49358         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
49359         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
49360         * modules/xmalloca: Renamed from modules/xallocsa, updated.
49361         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
49362         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
49363         * modules/c-strcasestr (Depends-on): Update.
49364         * lib/c-strcasestr.c: Update.
49365         * modules/c-strstr (Depends-on): Update.
49366         * lib/c-strstr.c: Update.
49367         * modules/canonicalize-lgpl (Depends-on): Update.
49368         * lib/canonicalize-lgpl.c: Update.
49369         * modules/clean-temp (Depends-on): Update.
49370         * lib/clean-temp.c: Update.
49371         * modules/csharpcomp (Depends-on): Update.
49372         * lib/csharpcomp.c: Update.
49373         * modules/csharpexec (Depends-on): Update.
49374         * lib/csharpexec.c: Update.
49375         * modules/javacomp (Depends-on): Update.
49376         * lib/javacomp.c: Update.
49377         * modules/javaexec (Depends-on): Update.
49378         * lib/javaexec.c: Update.
49379         * modules/mbscasestr (Depends-on): Update.
49380         * lib/mbscasestr.c: Update.
49381         * modules/mbsstr (Depends-on): Update.
49382         * lib/mbsstr.c: Update.
49383         * modules/setenv (Depends-on): Update.
49384         * lib/setenv.c: Update.
49385         * modules/strcasestr (Depends-on): Update.
49386         * lib/strcasestr.c: Update.
49387         * modules/striconveha (Depends-on): Update.
49388         * lib/striconveha.c: Update.
49389         * modules/relocatable-prog-wrapper (Files): Update.
49390         * lib/relocwrapper.c: Update.
49391         * build-aux/install-reloc: Update.
49392         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
49393
49394 2007-06-08  Bruno Haible  <bruno@clisp.org>
49395
49396         Port to uClibc.
49397         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
49398         * lib/fpurge.c (fpurge): Likewise.
49399         * lib/freading.c (freading): Likewise.
49400         * lib/fseeko.c (rpl_fseeko): Likewise.
49401         * lib/fseterr.c (fseterr): Likewise.
49402         * lib/fwriting.c (fwriting): Likewise.
49403         * tests/test-fflush.c (main): Avoid a failure on uClibc.
49404
49405 2007-06-08  Bruno Haible  <bruno@clisp.org>
49406
49407         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
49408         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
49409         * modules/gettext (Files): Add m4/intlmacosx.m4.
49410
49411 2007-06-07  Bruno Haible  <bruno@clisp.org>
49412
49413         * modules/localename-tests: New file.
49414         * tests/test-localename.c: New file.
49415
49416         New module 'localename'.
49417         * lib/localename.h: New file.
49418         * lib/localename.c: New file, from GNU gettext.
49419         * m4/localename.m4: New file.
49420         * modules/localename: New file.
49421
49422 2007-06-07  Bruno Haible  <bruno@clisp.org>
49423
49424         Work around the lack of <wchar.h> on some builds of uClibc.
49425         * doc/headers/wchar.texi: Update.
49426         * lib/wchar_.h: Include <wchar.h> only if it exists.
49427         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
49428         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
49429         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
49430         doesn't exist.
49431         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
49432         * modules/mbfile (Depends-on): Add wchar.
49433         * modules/mbiter (Depends-on): Likewise.
49434         * modules/mbuiter (Depends-on): Likewise.
49435         Reported by Simon Josefsson.
49436
49437 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
49438
49439         Work around problem reported by Steven M. Schweda in
49440         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
49441         Tru64 5.1B with the Compaq compiler environment installed declares
49442         an 'isblank' function but does not define it in the C library.
49443         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
49444         * lib/regex_internal.h (isblank): Likewise.
49445         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
49446         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49447
49448 2007-06-05  Bruno Haible  <bruno@clisp.org>
49449
49450         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
49451         ia64.
49452         * modules/printf-safe: New file.
49453         * modules/fprintf-posix (Depends-on): Add printf-safe.
49454         * modules/printf-posix (Depends-on): Likewise.
49455         * modules/snprintf-posix (Depends-on): Likewise.
49456         * modules/sprintf-posix (Depends-on): Likewise.
49457         * modules/vasnprintf-posix (Depends-on): Likewise.
49458         * modules/vasprintf-posix (Depends-on): Likewise.
49459         * modules/vfprintf-posix (Depends-on): Likewise.
49460         * modules/vprintf-posix (Depends-on): Likewise.
49461         * modules/vsnprintf-posix (Depends-on): Likewise.
49462         * modules/vsprintf-posix (Depends-on): Likewise.
49463         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
49464         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
49465         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
49466         "no" on i386, x86_64, ia64.
49467         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
49468         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49469         on i386, x86_64, ia64.
49470         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
49471         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49472         on i386, x86_64, ia64.
49473         * tests/test-vasnprintf-posix.c: Include float.h.
49474         (LDBL80_WORDS): New macro.
49475         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49476         on i386, x86_64, ia64.
49477         * tests/test-vasprintf-posix.c: Include float.h.
49478         (LDBL80_WORDS): New macro.
49479         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49480         on i386, x86_64, ia64.
49481         * tests/test-snprintf-posix.c: Include float.h.
49482         * tests/test-sprintf-posix.c: Likewise.
49483         * tests/test-vsnprintf-posix.c: Likewise.
49484         * tests/test-vsprintf-posix.c: Likewise.
49485
49486 2007-06-05  Bruno Haible  <bruno@clisp.org>
49487
49488         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
49489         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
49490         non-IEEE numbers on i386, x86_64, ia64.
49491         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
49492         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
49493         * tests/test-isnanl.h: Include float.h.
49494         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
49495
49496 2007-06-05  Bruno Haible  <bruno@clisp.org>
49497
49498         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
49499         also the %a / %A. Handle the %a / %A code before this extra handling.
49500
49501 2007-06-05  Bruno Haible  <bruno@clisp.org>
49502
49503         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
49504         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
49505
49506 2007-06-05  Bruno Haible  <bruno@clisp.org>
49507
49508         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
49509         typo in variable name.
49510
49511 2007-06-05  Eric Blake  <ebb9@byu.net>
49512
49513         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
49514         Reported by Simon Josefsson.
49515
49516 2007-06-04  Bruno Haible  <bruno@clisp.org>
49517
49518         Avoid test failures on some PowerPC platforms.
49519         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
49520         Define differently for PowerPC.
49521         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
49522         Reported by Gary V. Vaughan <gary@gnu.org>.
49523
49524 2007-06-02  Bruno Haible  <bruno@clisp.org>
49525
49526         Fix test-stdint failure on FreeBSD/ia64.
49527         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
49528         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
49529         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
49530         * doc/headers/stdint.texi: Update.
49531
49532 2007-06-01  Bruno Haible  <bruno@clisp.org>
49533
49534         * tests/test-binary-io.c (main): Pass a third argument to open().
49535         Reported by Gary V. Vaughan <gary@gnu.org>.
49536
49537 2007-06-01  Bruno Haible  <bruno@clisp.org>
49538
49539         * doc/functions/frexpl.texi: Update for mingw.
49540
49541 2007-06-01  Bruno Haible  <bruno@clisp.org>
49542
49543         * tests/test-lseek.c (main): Disable test of errno for invalid third
49544         argument.
49545         * doc/functions/lseek.texi: Update.
49546         Reported by Gary V. Vaughan <gary@gnu.org>.
49547
49548 2007-05-28  Bruno Haible  <bruno@clisp.org>
49549
49550         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
49551
49552 2007-05-31  Eric Blake  <ebb9@byu.net>
49553
49554         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
49555         cross compiling.
49556
49557 2007-05-30  Eric Blake  <ebb9@byu.net>
49558         and Bruno Haible  <bruno@clisp.org>
49559
49560         Work around mingw test failures exposed by m4-1.4.9b.
49561         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
49562         * tests/test-unistd.c: Disable uid_t and git_t tests for the
49563         moment.
49564
49565 2007-05-30  Bruno Haible  <bruno@clisp.org>
49566
49567         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
49568         assuming that they are closed. Needed on HP-UX 11.
49569
49570 2007-05-29  Bruno Haible  <bruno@clisp.org>
49571
49572         Fix a problem with #include_next.
49573         * lib/dirent_.h: Split the double-inclusion guard.
49574         * lib/fcntl_.h: Likewise.
49575         * lib/float_.h: Likewise.
49576         * lib/iconv_.h: Likewise.
49577         * lib/inttypes_.h: Likewise.
49578         * lib/locale_.h: Likewise.
49579         * lib/math_.h: Likewise.
49580         * lib/netinet_in_.h: Likewise.
49581         * lib/search_.h: Likewise.
49582         * lib/signal_.h: Likewise.
49583         * lib/stdint_.h: Likewise.
49584         * lib/stdio_.h: Likewise.
49585         * lib/stdlib_.h: Likewise.
49586         * lib/string_.h: Likewise.
49587         * lib/sys_select_.h: Likewise.
49588         * lib/sys_socket_.h: Likewise.
49589         * lib/sys_stat_.h: Likewise.
49590         * lib/sys_time_.h: Likewise.
49591         * lib/sysexits_.h: Likewise.
49592         * lib/time_.h: Likewise.
49593         * lib/unistd_.h: Likewise.
49594         * lib/wchar_.h: Likewise.
49595         * lib/wctype_.h: Likewise.
49596
49597 2007-05-29  Bruno Haible  <bruno@clisp.org>
49598
49599         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
49600         for the moment.
49601
49602 2007-05-29  Bruno Haible  <bruno@clisp.org>
49603
49604         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
49605         invocation.
49606         Reported by Eric Blake.
49607
49608 2007-05-29  Bruno Haible  <bruno@clisp.org>
49609
49610         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
49611         compiling case.
49612
49613 2007-05-29  Eric Blake  <ebb9@byu.net>
49614             Bruno Haible  <bruno@clisp.org>
49615
49616         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
49617         cross compiles.
49618
49619 2007-05-28  Eric Blake  <ebb9@byu.net>
49620
49621         * modules/closein-tests (test_closein_LDADD): Support test on
49622         cygwin with libtool.
49623
49624 2007-05-28  Bruno Haible  <bruno@clisp.org>
49625
49626         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
49627         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
49628         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
49629         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
49630         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
49631         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
49632         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
49633         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
49634         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
49635
49636 2007-05-28  Eric Blake  <ebb9@byu.net>
49637
49638         Unconditionally include <config.h> in unit tests.
49639         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
49640         * tests/test-allocsa.c, tests/test-arcfour.c,
49641         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
49642         tests/test-array_list.c, tests/test-array_oset.c,
49643         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
49644         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
49645         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
49646         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
49647         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
49648         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
49649         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
49650         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
49651         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
49652         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
49653         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
49654         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
49655         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
49656         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
49657         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
49658         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
49659         test-md5.c, test-memmem.c, test-printf-posix.c,
49660         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
49661         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
49662         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
49663         test-strcasestr.c, test-striconv.c, test-striconveh.c,
49664         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
49665         test-vasnprintf-posix2.c, test-vasnprintf.c,
49666         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
49667         test-vfprintf-posix.c, test-vprintf-posix.c,
49668         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
49669         test-xvasprintf.c: Likewise.
49670
49671 2007-05-28  Bruno Haible  <bruno@clisp.org>
49672
49673         * gnulib-tool (func_import): Remember the --with-tests command-line
49674         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
49675         Reported by Eric Blake.
49676
49677 2007-05-28  Bruno Haible  <bruno@clisp.org>
49678
49679         * modules/ftell-tests: New file.
49680         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
49681         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
49682
49683         * lib/ftell.c: New file.
49684         * modules/ftell: New file.
49685         * m4/ftell.m4: New file.
49686         * doc/functions/ftell.texi: Update.
49687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
49688         REPLACE_FTELL.
49689         * lib/stdio_.h (rpl_ftell): New declaration.
49690         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
49691         REPLACE_FTELL.
49692
49693 2007-05-28  Eric Blake  <ebb9@byu.net>
49694
49695         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
49696
49697 2007-05-28  Bruno Haible  <bruno@clisp.org>
49698
49699         * modules/fseek-tests: New file.
49700         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
49701         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
49702
49703         * lib/fseek.c: New file.
49704         * modules/fseek: New file.
49705         * m4/fseek.m4: New file.
49706         * doc/functions/fseek.texi: Update.
49707         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
49708         REPLACE_FSEEK.
49709         * lib/stdio_.h (rpl_fseek): New declaration.
49710         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
49711         REPLACE_FSEEK.
49712
49713 2007-05-28  Bruno Haible  <bruno@clisp.org>
49714
49715         * lib/stdio_.h (fflush): More comments.
49716
49717 2007-05-28  Bruno Haible  <bruno@clisp.org>
49718
49719         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
49720         runtime test.
49721
49722 2007-05-28  Eric Blake  <ebb9@byu.net>
49723
49724         Improve lseek module.
49725         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
49726         * lib/unistd_.h (lseek): Scale back link warning message.
49727         * tests/test-lseek.c: Beef up test.
49728         * tests/test-lseek.sh: Exercise more facets of lseek.
49729         Reported by Bruno Haible.
49730
49731 2007-05-28  Bruno Haible  <bruno@clisp.org>
49732
49733         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
49734         to define.
49735
49736 2007-05-27  Bruno Haible  <bruno@clisp.org>
49737
49738         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
49739
49740 2007-05-27  Bruno Haible  <bruno@clisp.org>
49741
49742         * modules/openmp: New file.
49743         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
49744         Noah Misch.
49745
49746 2007-05-26  Bruno Haible  <bruno@clisp.org>
49747
49748         * modules/chdir-long (Depends-on): Add fchdir.
49749         * modules/chdir-safer (Depends-on): Likewise.
49750         * modules/fts (Depends-on): Likewise.
49751         * modules/fts-lgpl (Depends-on): Likewise.
49752         * modules/openat (Depends-on): Likewise.
49753         * modules/savewd (Depends-on): Likewise.
49754
49755 2007-05-24  Eric Blake  <ebb9@byu.net>
49756
49757         Fix lseek on mingw.
49758         * modules/lseek: New module.
49759         * m4/lseek.m4: New file.
49760         * lib/lseek.c: New file.
49761         * modules/lseek-tests: New file.
49762         * tests/test-lseek.c: New file.
49763         * tests/test-lseek.sh: New file.
49764         * MODULES.html.sh: Document lseek module.
49765         * modules/fflush (Depends-on): Add lseek, fseeko.
49766         * modules/fseeko (Depends-on): Likewise.
49767         * modules/ftello (Depends-on): Likewise.
49768         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
49769         broken.
49770         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
49771         broken.
49772         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
49773         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
49774         * lib/ftello.c (rpl_ftello): Likewise.
49775         * tests/test-fseeko.c (main): Test this.
49776         * tests/test-fseeko.sh: Likewise.
49777         * tests/test-ftello.c (main): Likewise.
49778         * tests/test-ftello.sh: Likewise.
49779         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
49780         implies replacing fseek.
49781         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
49782         HAVE_FTELLO.
49783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
49784         * modules/unistd (Makefile.am): Likewise.
49785         * lib/unistd_.h (lseek): Declare a replacement.
49786         * doc/functions/lseek.texi (lseek): Document this fix.
49787         * doc/functions/fseek.texi (fseek): Likewise.
49788         * doc/functions/ftell.texi (ftell): Likewise.
49789
49790 2007-05-24  Bruno Haible  <bruno@clisp.org>
49791
49792         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
49793         in the printed representation of a NaN.
49794         * tests/test-vasprintf-posix.c (test_function): Likewise.
49795         * tests/test-snprintf-posix.h (test_function): Likewise.
49796         * tests/test-sprintf-posix.h (test_function): Likewise.
49797         Reported by Eric Blake.
49798
49799 2007-05-23  Eric Blake  <ebb9@byu.net>
49800
49801         Fix fseeko/ftello on cygwin 1.5.24.
49802         * doc/functions/fseeko.texi (fseeko): Document the fix.
49803         * doc/functions/ftello.texi (ftello): Document the fix.
49804         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
49805         * doc/functions/stdout.text (stdout): New file.
49806         * doc/functions/stderr.text (stderr): New file.
49807         * doc/gnulib.texi (Function Substitutes): Use new files.
49808         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
49809         prior to 1.7.0.
49810         * tests/test-ftello.c (main): Likewise for ftello.
49811         * tests/test-fseeko.sh: New file.
49812         * tests/test-ftello.sh: New file.
49813         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
49814         with seekable stdin.
49815         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
49816         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
49817         (gl_REPLACE_FSEEKO): New macro.
49818         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
49819         * modules/fseeko (Files): Distribute fseeko.c.
49820         * modules/ftello (Files): Distribute ftello.c.
49821         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
49822         mode.
49823         * lib/ftello.c (rpl_ftello): New file.
49824         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
49825         fseeko, ftello.
49826         (gl_STDIN_LARGE_OFFSET): New macro.
49827         * modules/stdio (Makefile.am): Perform the replacement.
49828         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
49829
49830 2007-05-23  Bruno Haible  <bruno@clisp.org>
49831
49832         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
49833         GNULIB_POSIXCHECK is defined.
49834
49835 2007-05-21  Bruno Haible  <bruno@clisp.org>
49836
49837         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
49838         Check also the output for NaN arguments. When cross-compiling, guess
49839         no on IRIX.
49840         * lib/vasnprintf.c: Update comments.
49841         * tests/test-vasnprintf-posix.c (strisnan): New function.
49842         (test_function): Use it.
49843         * tests/test-vasprintf-posix.c (strisnan): New function.
49844         (test_function): Use it.
49845         * tests/test-snprintf-posix.h (strisnan): New function.
49846         (test_function): Use it.
49847         * tests/test-sprintf-posix.h (strisnan): New function.
49848         (test_function): Use it.
49849         Reported by Eric Blake.
49850
49851 2007-05-20  Bruno Haible  <bruno@clisp.org>
49852
49853         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
49854         numbers that fails on BeOS.
49855         * doc/functions/frexpl.texi: Update.
49856
49857 2007-05-20  Jim Meyering  <jim@meyering.net>
49858
49859         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
49860         forced upon us by glibc-2.6.
49861
49862 2007-05-20  Bruno Haible  <bruno@clisp.org>
49863
49864         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
49865         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
49866         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
49867         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
49868         NEED_PRINTF_INFINITE.
49869         (is_infinitel): New function.
49870         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
49871         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
49872         gl_PREREQ_VASNPRINTF_INFINITE.
49873         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
49874         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49875         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
49876         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
49877         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
49878         gl_PREREQ_VASNPRINTF_INFINITE.
49879         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49880         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49881         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49882         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49883         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49884         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49885         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49886         * doc/functions/fprintf.texi: Update.
49887         * doc/functions/printf.texi: Update.
49888         * doc/functions/snprintf.texi: Update.
49889         * doc/functions/sprintf.texi: Update.
49890         * doc/functions/vfprintf.texi: Update.
49891         * doc/functions/vprintf.texi: Update.
49892         * doc/functions/vsnprintf.texi: Update.
49893         * doc/functions/vsprintf.texi: Update.
49894
49895 2007-05-20  Bruno Haible  <bruno@clisp.org>
49896
49897         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
49898         was not found in libc.
49899         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49900
49901 2007-05-20  Bruno Haible  <bruno@clisp.org>
49902
49903         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
49904         printed as "-nan" instead of "nan".
49905         * tests/test-vasprintf-posix.c (test_function): Likewise.
49906         * tests/test-snprintf-posix.h (test_function): Likewise.
49907         * tests/test-sprintf-posix.h (test_function): Likewise.
49908         Needed for HP-UX 11.
49909
49910 2007-05-20  Jim Meyering  <jim@meyering.net>
49911
49912         Fix buggy test for the fchownat-deref bug.
49913         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
49914         symlink required for the run-test.  Without it, this test would
49915         always declare that fchownat doesn't work, and client code would
49916         unnecessarily use the replacement function with fixed libc.
49917         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
49918         Reported by Greg Schafer.
49919
49920 2007-05-19  Bruno Haible  <bruno@clisp.org>
49921
49922         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
49923         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
49924         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
49925         Needed for IRIX 6.5 and Solaris 2.5.1.
49926
49927 2007-05-19  Bruno Haible  <bruno@clisp.org>
49928
49929         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
49930         (test_function): Skip tests involving -0.0 on platforms where
49931         -0.0 = 0.0.
49932         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
49933         (test_function): Skip tests involving -0.0 on platforms where
49934         -0.0 = 0.0.
49935         * tests/test-snprintf-posix.h (have_minus_zero): New function.
49936         (test_function): Skip tests involving -0.0 on platforms where
49937         -0.0 = 0.0.
49938         * tests/test-sprintf-posix.h (have_minus_zero): New function.
49939         (test_function): Skip tests involving -0.0 on platforms where
49940         -0.0 = 0.0.
49941         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
49942         tests.
49943         * tests/test-printf-posix.h (test_function): Likewise.
49944         * tests/test-printf-posix.output: Remove all -0.0 related results.
49945         Needed for IRIX 6.5.
49946
49947 2007-05-19  Bruno Haible  <bruno@clisp.org>
49948
49949         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
49950         printed as "nan0x7fffffff" instead of "nan".
49951         * tests/test-vasprintf-posix.c (test_function): Likewise.
49952         * tests/test-snprintf-posix.h (test_function): Likewise.
49953         * tests/test-sprintf-posix.h (test_function): Likewise.
49954         * tests/test-fprintf-posix.h (NaN): Remove macro.
49955         (test_function): Remove all NaN related tests.
49956         * tests/test-printf-posix.h (NaN): Remove macro.
49957         (test_function): Remove all NaN related tests.
49958         * tests/test-printf-posix.output: Remove all NaN related results.
49959         Needed for IRIX 6.5.
49960
49961 2007-05-19  Bruno Haible  <bruno@clisp.org>
49962
49963         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
49964         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
49965
49966 2007-05-19  Bruno Haible  <bruno@clisp.org>
49967
49968         * lib/float_.h: New file.
49969         * m4/float_h.m4: New file.
49970         * modules/float: New file.
49971         * modules/isnanl (Dependencies): Add float.
49972         * modules/isnanl-nolibm (Dependencies): Likewise.
49973         * modules/mathl (Dependencies): Likewise.
49974         * modules/printf-frexpl (Dependencies): Likewise.
49975         * modules/signbit (Dependencies): Likewise.
49976         * modules/vasnprintf (Dependencies): Likewise.
49977         * doc/headers/float.texi: Update.
49978
49979 2007-05-19  Jim Meyering  <jim@meyering.net>
49980
49981         * lib/utimens.c (gl_futimens): Rename from futimens,
49982         now that glibc-2.6 declares futimens.
49983         * lib/utimens.h: Likewise.
49984
49985 2007-05-19  Bruno Haible  <bruno@clisp.org>
49986
49987         Avoid test failures on mingw.
49988         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
49989         * tests/test-printf-posix.sh: Likewise.
49990         * tests/test-vfprintf-posix.sh: Likewise.
49991         * tests/test-vprintf-posix.sh: Likewise.
49992
49993 2007-05-19  Bruno Haible  <bruno@clisp.org>
49994
49995         Fix *printf result for NaN, Inf, -0.0 on mingw.
49996         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
49997         * lib/vasnprintf.c: Include math.h and isnan.h.
49998         (is_infinite_or_zero): New function.
49999         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
50000         values in the %f, %F, %e, %E, %g, %G directives.
50001         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
50002         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50003         gl_PRINTF_INFINITE and test its result. Invoke
50004         gl_PREREQ_VASNPRINTF_INFINITE.
50005         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50006         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50007         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50008         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50009         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50010         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50011         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50012         * doc/functions/fprintf.texi: Update.
50013         * doc/functions/printf.texi: Update.
50014         * doc/functions/snprintf.texi: Update.
50015         * doc/functions/sprintf.texi: Update.
50016         * doc/functions/vfprintf.texi: Update.
50017         * doc/functions/vprintf.texi: Update.
50018         * doc/functions/vsnprintf.texi: Update.
50019         * doc/functions/vsprintf.texi: Update.
50020
50021 2007-05-19  Bruno Haible  <bruno@clisp.org>
50022
50023         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
50024         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
50025         Instead of multiplying with 10^k, set extra_zeroes to k.
50026         (scale10_round_long_double): Remove function.
50027
50028 2007-05-18  Bruno Haible  <bruno@clisp.org>
50029
50030         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
50031         introduced on 2007-05-06.
50032
50033 2007-05-18  Bruno Haible  <bruno@clisp.org>
50034
50035         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
50036         %g directives.
50037         * tests/test-vasprintf-posix.c (test_function): Likewise.
50038         * tests/test-snprintf-posix.h (test_function): Likewise.
50039         * tests/test-sprintf-posix.h (test_function): Likewise.
50040
50041 2007-05-18  Bruno Haible  <bruno@clisp.org>
50042
50043         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
50044         (strmatch): New function.
50045         (test_function): Test the %f directive on numbers of various exponents.
50046         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
50047         (strmatch): New function.
50048         (test_function): Test the %f directive on numbers of various exponents.
50049         * tests/test-snprintf-posix.h (strmatch): New function.
50050         (test_function): Test the %f directive on numbers of various exponents.
50051         * tests/test-sprintf-posix.h (strmatch): New function.
50052         (test_function): Test the %f directive on numbers of various exponents.
50053         * tests/test-snprintf-posix.c (SIZEOF): New macro.
50054         * tests/test-sprintf-posix.c (SIZEOF): New macro.
50055         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
50056         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
50057
50058 2007-05-18  Bruno Haible  <bruno@clisp.org>
50059
50060         Add support for 'long double' number output.
50061         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
50062         * lib/vasnprintf.c: Include math.h and float+.h.
50063         (mp_limb_t): New type.
50064         (GMP_LIMB_BITS): New macro.
50065         (mp_twolimb_t): New type.
50066         (GMP_TWOLIMB_BITS): New macro.
50067         (mpn_t): New type.
50068         (multiply, divide, convert_to_decimal, decode_long_double,
50069         scale10_round_long_double, scale10_round_decimal_long_double,
50070         floorlog10l): New functions.
50071         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
50072         for the %f, %F, %e, %E, %g, %G directives.
50073         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
50074         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50075         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
50076         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
50077         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50078         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50079         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50080         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50081         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50082         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50083         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50084         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
50085         * modules/snprintf-posix (Depends-on): Likewise.
50086         * modules/sprintf-posix (Depends-on): Likewise.
50087         * modules/vasnprintf-posix (Depends-on): Likewise.
50088         * modules/vasprintf-posix (Depends-on): Likewise.
50089         * modules/vfprintf-posix (Depends-on): Likewise.
50090         * modules/vsnprintf-posix (Depends-on): Likewise.
50091         * modules/vsprintf-posix (Depends-on): Likewise.
50092         * modules/vasnprintf (Files): Add lib/float+.h.
50093         * doc/functions/fprintf.texi: Update.
50094         * doc/functions/printf.texi: Update.
50095         * doc/functions/snprintf.texi: Update.
50096         * doc/functions/sprintf.texi: Update.
50097         * doc/functions/vfprintf.texi: Update.
50098         * doc/functions/vprintf.texi: Update.
50099         * doc/functions/vsnprintf.texi: Update.
50100         * doc/functions/vsprintf.texi: Update.
50101
50102 2007-05-18  Bruno Haible  <bruno@clisp.org>
50103
50104         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
50105
50106 2007-05-18  Bruno Haible  <bruno@clisp.org>
50107
50108         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
50109         for printing 64-bit integers. Needed for mingw.
50110
50111 2007-05-18  Bruno Haible  <bruno@clisp.org>
50112
50113         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50114         gl_FUNC_FREXPL_WORKS.
50115         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
50116
50117 2007-05-18  Bruno Haible  <bruno@clisp.org>
50118
50119         * modules/frexpl-nolibm-tests: New file.
50120
50121         * modules/frexpl-nolibm: New file.
50122         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
50123
50124 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
50125
50126         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
50127         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
50128         GCC 4.2, which otherwise issues a lot of warnings.
50129         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
50130         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
50131         Likewise.
50132         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
50133         * modules/iconv_open (iconv.h): Likewise.
50134         * modules/locale (locale.h): Likewise.
50135         * modules/netinet_in (netinet/in.h): Likewise.
50136         * modules/sys_select (sys_select.h): Likewise.
50137         * modules/sys_socket (sys/socket.h): Likewise.
50138         * modules/sys_stat (sys/stat.h): Likewise.
50139         * modules/sysexits (sysexits.h): Likewise.
50140         * modules/unistd (unistd.h): Likewise.
50141
50142 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50143
50144         * modules/closein-tests (Makefile.am): Distribute
50145         `test-closein.sh'.
50146
50147 2007-05-17  Bruno Haible  <bruno@clisp.org>
50148
50149         * tests/test-printf-posix.output: Renamed from
50150         tests/test-fprintf-posix.out.
50151         * modules/fprintf-posix-tests: Update.
50152         * modules/printf-posix-tests: Update.
50153         * modules/vfprintf-posix-tests: Update.
50154         * modules/vprintf-posix-tests: Update.
50155         * tests/test-fprintf-posix.sh: Update.
50156         * tests/test-printf-posix.sh: Update.
50157         * tests/test-vfprintf-posix.sh: Update.
50158         * tests/test-vprintf-posix.sh: Update.
50159         Reported by Ralf Wildenhues.
50160
50161 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
50162
50163         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
50164         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
50165         GCC 4.2, which otherwise issues a lot of warnings.
50166         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
50167         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
50168         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
50169         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
50170         it should no longer be needed.
50171         * lib/string_.h: Likewise.
50172         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
50173         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
50174         * modules/inttypes (inttypes.h): Likewise.
50175         * modules/math (math.h): Likewise.
50176         * modules/search (search.h): Likewise.
50177         * modules/signal (signal.h): Likewise.
50178         * modules/stdint (stdint.h): Likewise.
50179         * modules/stdio (stdio.h): Likewise.
50180         * modules/stdlib (stdlib.h): Likewise.
50181         * modules/string (string.h): Likewise.
50182         * modules/sys_time (sys/time.h): Likewise.
50183         * modules/time (time.h): Likewise.
50184         * modules/wchar (wchar.h): Likewise.
50185         * modules/wctype (wtype.h): Likewise.
50186
50187 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50188
50189         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
50190
50191 2007-05-13  Bruno Haible  <bruno@clisp.org>
50192
50193         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
50194         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
50195         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
50196         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
50197         (gl_PREREQ_STRTOK_R): Don't require it here.
50198
50199 2007-05-13  Bruno Haible  <bruno@clisp.org>
50200
50201         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
50202         when used in C++ mode.
50203
50204 2007-05-12  Bruno Haible  <bruno@clisp.org>
50205
50206         * lib/linebuffer.h: Tweak doc.
50207         * lib/linebuffer.c: Likewise.
50208
50209 2007-05-12  James Youngman  <jay@gnu.org>
50210
50211         * lib/linebuffer.c (readlinebuffer_delim): New function,
50212         like readlinebuffer, but use a caller-specified delimiter.
50213         (readlinebuffer): Just call readlinebuffer_delim with '\n'
50214         as the delimiter.
50215         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
50216
50217 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50218
50219         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
50220         * modules/openat (Files): Remove openat-die.c.
50221         (Depends-on): Add openat-die.
50222         * modules/openat-die: New module.
50223
50224 2007-05-06  Bruno Haible  <bruno@clisp.org>
50225
50226         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
50227         Update with info about Cygwin.
50228         * doc/functions/fprintf.texi: Update.
50229         * doc/functions/printf.texi: Update.
50230         * doc/functions/snprintf.texi: Update.
50231         * doc/functions/sprintf.texi: Update.
50232         * doc/functions/vfprintf.texi: Update.
50233         * doc/functions/vprintf.texi: Update.
50234         * doc/functions/vsnprintf.texi: Update.
50235         * doc/functions/vsprintf.texi: Update.
50236         Reported by Eric Blake.
50237
50238 2007-05-06  Bruno Haible  <bruno@clisp.org>
50239
50240         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
50241         padding ourselves for the floating-point directives.
50242         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
50243         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
50244         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50245         gl_PRINTF_FLAG_ZERO and test its result. Invoke
50246         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
50247         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50248         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50249         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50250         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50251         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50252         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50253         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50254         * tests/test-snprintf-posix.h (test_function): Also check the width
50255         and some flags in the %f directive.
50256         * tests/test-sprintf-posix.h (test_function): Likewise.
50257         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50258         * tests/test-vasprintf-posix.c (test_function): Likewise.
50259         * doc/functions/fprintf.texi: Update.
50260         * doc/functions/printf.texi: Update.
50261         * doc/functions/snprintf.texi: Update.
50262         * doc/functions/sprintf.texi: Update.
50263         * doc/functions/vfprintf.texi: Update.
50264         * doc/functions/vprintf.texi: Update.
50265         * doc/functions/vsnprintf.texi: Update.
50266         * doc/functions/vsprintf.texi: Update.
50267
50268 2007-05-06  Bruno Haible  <bruno@clisp.org>
50269
50270         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
50271         pass the ' flag character to sprintf or snprintf.
50272         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
50273         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
50274         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50275         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
50276         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
50277         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50278         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50279         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50280         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50281         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50282         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50283         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50284         * tests/test-snprintf-posix.h (test_function): Also check the grouping
50285         flag.
50286         * tests/test-sprintf-posix.h (test_function): Likewise.
50287         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50288         * tests/test-vasprintf-posix.c (test_function): Likewise.
50289         * doc/functions/fprintf.texi: Update.
50290         * doc/functions/printf.texi: Update.
50291         * doc/functions/snprintf.texi: Update.
50292         * doc/functions/sprintf.texi: Update.
50293         * doc/functions/vfprintf.texi: Update.
50294         * doc/functions/vprintf.texi: Update.
50295         * doc/functions/vsnprintf.texi: Update.
50296         * doc/functions/vsprintf.texi: Update.
50297
50298 2007-05-01  Bruno Haible  <bruno@clisp.org>
50299
50300         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
50301
50302 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
50303
50304         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
50305         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
50306
50307 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50308
50309         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
50310         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
50311         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
50312
50313 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
50314
50315         * lib/argp-help.c (struct hol_entry): New member `ord'.
50316         (HOL_ENTRY_PTRCMP): Use ord for comparison
50317         (hol_sort): Initialize ord.
50318
50319 2007-05-01  Bruno Haible  <bruno@clisp.org>
50320
50321         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
50322         Reported by Eric Blake.
50323         * doc/gnulib.texi (Function Substitutes): Update.
50324
50325 2007-05-01  Bruno Haible  <bruno@clisp.org>
50326
50327         * doc/functions.texi: Remove file, now redundant through
50328         doc/functions/*.texi.
50329
50330 2007-05-01  Bruno Haible  <bruno@clisp.org>
50331
50332         * modules/argp (Depends-on): Add sleep.
50333
50334 2007-05-01  Bruno Haible  <bruno@clisp.org>
50335
50336         * modules/sleep-tests: New file.
50337         * tests/test-sleep.c: New file.
50338
50339         * modules/sleep: New file.
50340         * lib/sleep.c: New file.
50341         * m4/sleep.m4: New file.
50342         * lib/unistd_.h (sleep): New declaration.
50343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
50344         HAVE_SLEEP.
50345         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
50346         * doc/functions/sleep.texi: Document the sleep module.
50347
50348 2007-05-01  Bruno Haible  <bruno@clisp.org>
50349
50350         * lib/sigprocmask.h: Remove file.
50351         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
50352         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
50353         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
50354         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
50355         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
50356         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
50357         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
50358         HAVE_SIGSET_T as a shell variable.
50359         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
50360         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
50361         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
50362         (Depends-on): Add signal. Remove verify.
50363         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
50364         (Include): Mention <signal.h> instead of sigprocmask.h.
50365         * NEWS: Mention the change.
50366         * lib/fatal-signal.c: Don't include sigprocmask.h.
50367
50368 2007-05-01  Bruno Haible  <bruno@clisp.org>
50369
50370         * modules/signal: New file.
50371         * lib/signal_.h: New file.
50372         * m4/signal_h.m4: New file.
50373
50374 2007-05-01  Bruno Haible  <bruno@clisp.org>
50375
50376         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
50377         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
50378         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
50379         HAVE_WCTYPE_CTMP_BUG into wctype.h.
50380
50381 2007-05-01  Bruno Haible  <bruno@clisp.org>
50382
50383         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
50384         configure time.
50385         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
50386         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
50387         * modules/sys_stat (Makefile.am): Substitute their values into
50388         sys/stat.h.
50389
50390 2007-05-01  Bruno Haible  <bruno@clisp.org>
50391
50392         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
50393         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
50394         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
50395
50396 2007-05-01  Bruno Haible  <bruno@clisp.org>
50397
50398         * doc/header/assert.texi: Undo last change: don't mention the gnulib
50399         'assert' module here.
50400
50401 2007-05-01  Bruno Haible  <bruno@clisp.org>
50402
50403         * doc/functions/*.texi: New files.
50404         * doc/functions/google-ranking.txt: New file.
50405         * doc/gnulib.texi (Function Substitutes): New chapter.
50406         (ctime, inet_ntoa): Remove sections.
50407         * doc/ctime.texi: Remove file.
50408         * doc/inet_ntoa.texi: Remove file.
50409         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
50410         dependencies.
50411         (%.info): New rule, specifying a --reference-limit.
50412
50413 2007-05-01  Bruno Haible  <bruno@clisp.org>
50414
50415         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
50416
50417 2007-05-01  Bruno Haible  <bruno@clisp.org>
50418
50419         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
50420         the portability of 'mkdir' to mingw systems.
50421
50422 2007-05-01  Bruno Haible  <bruno@clisp.org>
50423
50424         * doc/headers/google-ranking.txt: New file.
50425
50426 2007-04-30  Eric Blake  <ebb9@byu.net>
50427
50428         Prefer fseeko to fseek.
50429         * modules/getpass (Depends-on): Add fseeko.
50430         * lib/getpass.c (getpass): Use fseeko, not fseek.
50431
50432 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
50433
50434         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
50435         assumes the sorting is stable, while most qsort implementations
50436         are not.  Use argument addresses to ensure they never compare as
50437         equal.
50438
50439         * tests/test-argp-2.sh (usage-indent test): Fix output
50440         (func_compare): Restore diff options
50441         * tests/test-argp.c: Restore #include "progname.h"
50442
50443 2007-04-29  Bruno Haible  <bruno@clisp.org>
50444
50445         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
50446         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50447         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
50448         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50449         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
50450         (configure.ac): Define CHECK_SNPRINTF_POSIX.
50451         (TESTS, check_PROGRAMS): Add test-snprintf.
50452         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
50453         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
50454         (TESTS, check_PROGRAMS): Add test-vsnprintf.
50455         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
50456         assertions that fail on HP-UX, OSF/1, or IRIX.
50457         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
50458
50459 2007-04-29  Bruno Haible  <bruno@clisp.org>
50460
50461         * MODULES.html.sh (posix_functions): Remove 'contents'.
50462
50463 2007-04-29  Karl Berry  <karl@gnu.org>
50464
50465         * config/srclist.txt (gendocs_template_min): new entry.
50466
50467 2007-04-29  Bruno Haible  <bruno@clisp.org>
50468
50469         Work around fpurge bug on BSD systems.
50470         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
50471         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
50472         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
50473         fpurge to rpl_fpurge if the system already has this function.
50474         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
50475         the case where the system already has this function. Correct invariants
50476         on BSD systems.
50477         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
50478         BSD systems.
50479
50480 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
50481
50482         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
50483         proposed by Sven Verdoolaege.
50484
50485         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
50486         options.
50487         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
50488         (usage and help tests): Update
50489
50490 2007-04-29  Bruno Haible  <bruno@clisp.org>
50491
50492         * tests/test-fflush.c (main): Use a file of size 17, not 10.
50493         Print more information in case of failure. Disable a test on BeOS.
50494
50495 2007-04-29  Bruno Haible  <bruno@clisp.org>
50496
50497         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
50498         This helps debugging on systems on which no gdb is available.
50499
50500 2007-04-29  Bruno Haible  <bruno@clisp.org>
50501
50502         * lib/freading.h: Improve comments.
50503         * lib/fwriting.h: Likewise.
50504         * tests/test-freading.c (main): Don't check freading immediately after
50505         repositioning. Needed for glibc.
50506
50507 2007-04-29  Bruno Haible  <bruno@clisp.org>
50508
50509         * lib/freading.c (freading): Trivial simplification.
50510
50511 2007-04-28  Bruno Haible  <bruno@clisp.org>
50512
50513         * tests/test-fwriting.c (main): Also test the interaction between
50514         fflush and fwriting.
50515         * modules/fwriting-tests (Depends-on): Add fflush.
50516
50517         * tests/test-freading.c (main): Also test the interaction between
50518         fflush and freading.
50519         * modules/freading-tests (Depends-on): Add fflush.
50520
50521 2007-04-28  Bruno Haible  <bruno@clisp.org>
50522
50523         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
50524         fseeko and ftello.
50525         Suggested by Eric Blake.
50526
50527 2007-04-28  Jim Meyering  <jim@meyering.net>
50528
50529         Avoid false-negative in gl_STDINT_H's C99 conformance test.
50530         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
50531         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
50532
50533 2007-04-27  Eric Blake  <ebb9@byu.net>
50534
50535         * doc/headers/assert.texi (assert.h): Document assert module use.
50536
50537 2007-04-27  Bruno Haible  <bruno@clisp.org>
50538
50539         * doc/headers/*.texi: New files.
50540         * doc/gnulib.texi (Header File Substitutes): New chapter.
50541         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
50542         dependencies.
50543         (standards.info ,standards.html, standards.dvi): Update dependencies.
50544         (mostlyclean, clean): New targets.
50545
50546 2007-04-27  Bruno Haible  <bruno@clisp.org>
50547
50548         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
50549         * modules/sysexits (Files, Makefile.am): Update.
50550
50551         * lib/sys_socket_.h: Renamed from lib/socket_.h.
50552         * modules/sys_socket (Files, Makefile.am): Update.
50553
50554         * lib/sys_stat_.h: Renamed from lib/stat_.h.
50555         * modules/sys_stat (Files, Makefile.am): Update.
50556
50557 2007-04-27  Eric Blake  <ebb9@byu.net>
50558
50559         * lib/freading.h: Improve comments.
50560         * lib/fwriting.h: Likewise.
50561         * lib/fflush.c: Likewise.
50562
50563         Fix closein for mingw.
50564         * modules/closein-tests: Add tests for closein.
50565         * tests/test-closein.c: New file.
50566         * tests/test-closein.sh: Likewise.
50567         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
50568         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
50569
50570 2007-04-27  Bruno Haible  <bruno@clisp.org>
50571
50572         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
50573         version is < 6.
50574         * lib/math_.h [__DECC]: Likewise.
50575         * lib/stdio_.h [__DECC]: Likewise.
50576         * lib/stdlib_.h [__DECC]: Likewise.
50577         * lib/string_.h [__DECC]: Likewise.
50578         * lib/time_.h [__DECC]: Likewise.
50579         * lib/wchar_.h [__DECC]: Likewise.
50580         * lib/wctype_.h [__DECC]: Likewise.
50581
50582 2007-04-27  Bruno Haible  <bruno@clisp.org>
50583
50584         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
50585
50586 2007-04-27  Bruno Haible  <bruno@clisp.org>
50587
50588         * lib/fflush.c: Add comments.
50589         * modules/fpurge-tests (Depends-on): Add fflush.
50590         * modules/freadable-tests (Depends-on): Likewise.
50591         * modules/fwritable-tests (Depends-on): Likewise.
50592
50593 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
50594
50595         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
50596         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
50597         Report by Bruno Haible <bruno@clisp.org>.
50598
50599 2007-04-26  Eric Blake  <ebb9@byu.net>
50600
50601         Fix fflush on mingw.
50602         * modules/fflush (Depends-on): Add freading.
50603         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
50604         but unread data.
50605
50606 2007-04-26  Eric Blake  <ebb9@byu.net>
50607         and Bruno Haible  <bruno@clisp.org>
50608
50609         Implement freading and fwriting.
50610         * lib/freading.c: New file.
50611         * lib/freading.h: Likewise.
50612         * m4/freading.m4: Likewise.
50613         * modules/freading: Likewise.
50614         * modules/freading-tests: Likewise.
50615         * tests/test-freading.c: Likewise.
50616         * lib/fwriting.c: New file.
50617         * lib/fwriting.h: Likewise.
50618         * m4/fwriting.m4: Likewise.
50619         * modules/fwriting: Likewise.
50620         * modules/fwriting-tests: Likewise.
50621         * tests/test-fwriting.c: Likewise.
50622         * MODULES.html.sh (File stream based Input/Output): Mention them.
50623
50624 2007-04-26  Bruno Haible  <bruno@clisp.org>
50625
50626         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
50627         'long' when we assume it.
50628         Suggested by Eric Blake.
50629
50630 2007-04-26  Bruno Haible  <bruno@clisp.org>
50631
50632         Ensure fseeko, ftello are declared on glibc systems.
50633         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
50634         * modules/fseeko (configure.ac-early): Likewise.
50635         * modules/ftello (configure.ac-early): Likewise.
50636         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
50637         AC_FUNC_FSEEKO for this.
50638         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
50639         (gl_CHECK_FSEEKO): Remove macro.
50640
50641 2007-04-26  Bruno Haible  <bruno@clisp.org>
50642
50643         * tests/test-fflush.c (main): Also check the ftell result after
50644         fflush and fseek/fseeko.
50645         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
50646         file descriptor position cache in the stream.
50647         * lib/fseeko.c (rpl_fseeko): Likewise.
50648
50649 2007-04-26  Bruno Haible  <bruno@clisp.org>
50650
50651         * modules/fflush-tests (Depends-on): Add fseeko.
50652
50653 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
50654             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50655
50656         * lib/argz_.h: ensure error_t definition is obtained in same
50657         mechanism system argz.h would have.
50658         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
50659         argz facilities are known bad.  Err on the side of caution if
50660         cross-compiling.
50661
50662 2007-04-25  Eric Blake  <ebb9@byu.net>
50663
50664         * lib/fpurge.c (includes): Use stdlib.h for free.
50665         * tests/test-fflush.c (main): Also test fflush-fseeko.
50666
50667 2007-04-25  Bruno Haible  <bruno@clisp.org>
50668
50669         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
50670         * lib/fseeko.c: New file.
50671         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
50672         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
50673         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
50674         gl_FUNC_FSEEKO.
50675         (gl_FUNC_FSEEKO): Invoke it.
50676         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
50677         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
50678         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
50679
50680 2007-04-25  Bruno Haible  <bruno@clisp.org>
50681
50682         * modules/fflush (Depends-on): Add ftello.
50683
50684 2007-04-25  Bruno Haible  <bruno@clisp.org>
50685
50686         * modules/ftello-tests: New file.
50687         * tests/test-ftello.c: New file.
50688
50689         * modules/ftello: New file.
50690         * m4/ftello.m4: New file.
50691         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
50692         HAVE_FTELLO.
50693         * lib/stdio_.h (ftello): New declaration.
50694         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
50695         HAVE_FTELLO.
50696
50697 2007-04-25  Bruno Haible  <bruno@clisp.org>
50698
50699         * modules/fseeko-tests: New file.
50700         * tests/test-fseeko.c: New file.
50701
50702         * modules/fseeko: New file.
50703         * m4/fseeko.m4: New file.
50704         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
50705         HAVE_FSEEKO.
50706         * lib/stdio_.h (fseeko): New declaration.
50707         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
50708         HAVE_FSEEKO.
50709
50710 2007-04-25  Bruno Haible  <bruno@clisp.org>
50711
50712         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
50713
50714 2007-04-25  Bruno Haible  <bruno@clisp.org>
50715
50716         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
50717         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
50718         * tests/test-unistd.c: Likewise.
50719         * tests/test-fcntl.c: Likewise.
50720
50721 2007-04-23  Eric Blake  <ebb9@byu.net>
50722
50723         * lib/fflush.c: Fix missing include.
50724         Reported by Bruno Haible.
50725
50726 2007-04-23  Bruno Haible  <bruno@clisp.org>
50727
50728         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
50729         Reported by Eric Blake.
50730
50731 2007-04-23  Bruno Haible  <bruno@clisp.org>
50732
50733         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
50734
50735 2007-04-23  Bruno Haible  <bruno@clisp.org>
50736
50737         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
50738
50739 2007-04-23  Bruno Haible  <bruno@clisp.org>
50740
50741         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
50742         Needed on HP-UX 11.
50743
50744 2007-04-16  Eric Blake  <ebb9@byu.net>
50745
50746         Make fflush rely on fpurge.
50747         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
50748         open coding all variants.
50749         * modules/fflush (Depends-on): Add fpurge and unistd.
50750         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
50751         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
50752
50753         Fix --with-tests compilation on cygwin.
50754         * modules/argmatch-tests (Makefile.am): List gnulib library first
50755         in LDADD.
50756         * modules/argp-tests (Makefile.am): Likewise.
50757         * modules/array-list-tests (Makefile.am): Likewise.
50758         * modules/array-oset-tests (Makefile.am): Likewise.
50759         * modules/avltree-list-tests (Makefile.am): Likewise.
50760         * modules/avltree-oset-tests (Makefile.am): Likewise.
50761         * modules/avltreehash-list-tests (Makefile.am): Likewise.
50762         * modules/carray-list-tests (Makefile.am): Likewise.
50763         * modules/dirname-tests (Makefile.am): Likewise.
50764         * modules/frexp-tests (Makefile.am): Likewise.
50765         * modules/isnanl-tests (Makefile.am): Likewise.
50766         * modules/linked-list-tests (Makefile.am): Likewise.
50767         * modules/linkedhash-list-tests (Makefile.am): Likewise.
50768         * modules/lock-tests (Makefile.am): Likewise.
50769         * modules/rbtree-list-tests (Makefile.am): Likewise.
50770         * modules/rbtree-oset-tests (Makefile.am): Likewise.
50771         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
50772         * modules/tls-tests (Makefile.am): Likewise.
50773         * modules/tsearch-tests (Makefile.am): Likewise.
50774         * modules/xvasprintf-tests (Makefile.am): Likewise.
50775
50776         Fix fpurge for cygwin.
50777         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
50778         value.
50779         * modules/fpurge-tests (Depends-on): Clean up trash.
50780
50781 2007-04-16  Simon Josefsson  <simon@josefsson.org>
50782
50783         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
50784
50785         * m4/autobuild.m4: Re-indent.
50786
50787 2007-04-13  Bruno Haible  <bruno@clisp.org>
50788
50789         * modules/fpurge-tests: New file.
50790         * tests/test-fpurge.c: New file.
50791
50792         * modules/fpurge: New file.
50793         * lib/fpurge.h: New file.
50794         * lib/fpurge.c: New file.
50795         * m4/fpurge.m4: New file.
50796
50797 2007-04-13  Bruno Haible  <bruno@clisp.org>
50798
50799         * modules/fbufmode-tests: New file.
50800         * tests/test-fbufmode.c: New file.
50801
50802         * modules/fbufmode: New file.
50803         * lib/fbufmode.h: New file.
50804         * lib/fbufmode.c: New file.
50805         * m4/fbufmode.m4: New file.
50806
50807 2007-04-13  Bruno Haible  <bruno@clisp.org>
50808
50809         * modules/fwritable-tests: New file.
50810         * tests/test-fwritable.c: New file.
50811
50812         * modules/fwritable: New file.
50813         * lib/fwritable.h: New file.
50814         * lib/fwritable.c: New file.
50815         * m4/fwritable.m4: New file.
50816
50817 2007-04-13  Bruno Haible  <bruno@clisp.org>
50818
50819         * modules/freadable-tests: New file.
50820         * tests/test-freadable.c: New file.
50821
50822         * modules/freadable: New file.
50823         * lib/freadable.h: New file.
50824         * lib/freadable.c: New file.
50825         * m4/freadable.m4: New file.
50826
50827 2007-04-13  Bruno Haible  <bruno@clisp.org>
50828
50829         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
50830         MOSTLYCLEANFILES.
50831
50832 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50833
50834         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
50835         gzip bootstrap.conf to avoid dragging in i18n machinery.
50836         (gnulib_tool_option): Use it.
50837
50838 2007-04-13  Bruno Haible  <bruno@clisp.org>
50839
50840         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
50841         %F directives.
50842         * tests/test-vasprintf-posix.c (test_function): Likewise.
50843         * tests/test-snprintf-posix.h (test_function): Likewise.
50844         * tests/test-sprintf-posix.h (test_function): Likewise.
50845         * tests/test-fprintf-posix.h (test_function): Likewise.
50846         * tests/test-printf-posix.h (test_function): Likewise.
50847         * tests/test-fprintf-posix.out: Likewise.
50848
50849 2007-04-13  Bruno Haible  <bruno@clisp.org>
50850
50851         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
50852         * modules/tls-tests (configure.ac): Likewise.
50853         Reported by Arto C. Nirkko <anirkko@insel.ch>.
50854
50855 2007-04-13  Bruno Haible  <bruno@clisp.org>
50856
50857         * lib/tls.c (glthread_tls_get): Fix return type.
50858         Patch by Arto C. Nirkko <anirkko@insel.ch>.
50859
50860 2007-04-12  Eric Blake  <ebb9@byu.net>
50861
50862         * modules/gettime (Depends-on): Remove gettime.
50863         Reported by Dmitry V. Levin.
50864
50865 2007-04-12  Bruno Haible  <bruno@clisp.org>
50866
50867         * modules/fflush (Include): Mention <stdio.h>.
50868         * modules/strtoimax (Include): Mention <inttypes.h>.
50869         * modules/strtoumax (Include): Likewise.
50870
50871 2007-04-12  Eric Blake  <ebb9@byu.net>
50872
50873         * .cvsignore: New file.
50874         * .gitignore: Likewise.
50875
50876 2007-04-12  Bruno Haible  <bruno@clisp.org>
50877
50878         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
50879         not before, since $(LDADD) often contains libgnu.a.
50880         * modules/striconv-tests (test_striconv_LDADD): Likewise.
50881         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
50882         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
50883         Needed on Cygwin.
50884
50885 2007-04-12  Eric Blake  <ebb9@byu.net>
50886
50887         Work around glibc's failure to flush stdin on fclose.
50888         * lib/closein.c (close_stdin): Flush stdin before closing.
50889
50890         Work around glibc's failure to reset seekable stdin on exit.
50891         * modules/closein: New module.
50892         * lib/closein.c: New file.
50893         * lib/closein.h: Likewise.
50894         * m4/closein.m4: Likewise.
50895         * MODULES.html.sh (File stream based Input/Output): Document it.
50896
50897 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50898
50899         * gnulib-tool: Rename generated 'autobuild' script to
50900         'do-autobuild' in --create-megatestdir output.
50901
50902         * doc/gnulib.texi (Build robot for gnulib): Fix.
50903
50904 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50905
50906         * modules/sysexits (Depends-on): Add absolute-header.
50907
50908 2007-04-12  Eric Blake  <ebb9@byu.net>
50909
50910         No need to preserve errno on success.
50911         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
50912         Reported by Bruno Haible.
50913
50914 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50915
50916         * MODULES.html.sh (Support for maintaining and releasing
50917         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
50918
50919 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50920
50921         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
50922
50923 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50924
50925         * modules/autobuild: New module.
50926
50927         * m4/autobuild.m4: New file.
50928
50929 2007-04-11  Bruno Haible  <bruno@clisp.org>
50930
50931         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
50932         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
50933         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
50934         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
50935         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50936         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50937         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50938         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50939         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50940         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50941         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
50942         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50943         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50944         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
50945         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50946         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50947         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
50948         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50949         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50950         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
50951         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50952         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50953         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
50954         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50955         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50956         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
50957         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50958         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50959         Reported by Eric Blake.
50960
50961 2007-04-11  Bruno Haible  <bruno@clisp.org>
50962
50963         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
50964
50965 2007-04-10  Bruno Haible  <bruno@clisp.org>
50966
50967         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
50968         for NaN and Infinity. Needed on FreeBSD 6.1.
50969         * tests/test-vasnprintf-posix.c (test_function): Undo last change
50970         regarding results for "%010a" of Infinity and NaN.
50971         * tests/test-vasprintf-posix.c (test_function): Likewise.
50972         * tests/test-snprintf-posix.h (test_function): Likewise.
50973         * tests/test-sprintf-posix.h (test_function): Likewise.
50974         * tests/test-fprintf-posix.h (test_function): Likewise.
50975         * tests/test-printf-posix.h (test_function): Likewise.
50976         * tests/test-fprintf-posix.out: Likewise.
50977
50978 2007-04-10  Bruno Haible  <bruno@clisp.org>
50979
50980         * modules/locale-tests: New file.
50981         * tests/test-locale.c: New file.
50982
50983         * modules/locale: New file.
50984         * lib/locale_.h: New file.
50985         * m4/locale_h.m4: New file.
50986
50987 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
50988             Bruno Haible  <bruno@clisp.org>
50989
50990         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
50991         be determined, test for availability of the copysignf, copysign,
50992         copysignl functions.
50993         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
50994         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
50995         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
50996
50997 2007-04-09  Eric Blake  <ebb9@byu.net>
50998
50999         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
51000         * modules/stdio (Makefile.am): Support fflush.
51001         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51002         * modules/fflush: New file.
51003         * lib/fflush.c: Likewise.
51004         * m4/fflush.m4: Likewise.
51005         * modules/fflush-tests: New test.
51006         * tests/test-fflush.c: Likewise.
51007         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
51008
51009 2007-04-06  Bruno Haible  <bruno@clisp.org>
51010
51011         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
51012         (VASNPRINTF): Use signbit for faster determination whether to print a
51013         minus sign.
51014         * modules/vasnprintf (Files): Remove lib/float+.h.
51015         * modules/fprintf-posix (Depends-on): Add signbit.
51016         * modules/snprintf-posix (Depends-on): Likewise.
51017         * modules/sprintf-posix (Depends-on): Likewise.
51018         * modules/vasnprintf-posix (Depends-on): Likewise.
51019         * modules/vasprintf-posix (Depends-on): Likewise.
51020         * modules/vfprintf-posix (Depends-on): Likewise.
51021         * modules/vsnprintf-posix (Depends-on): Likewise.
51022         * modules/vsprintf-posix (Depends-on): Likewise.
51023
51024 2007-04-06  Bruno Haible  <bruno@clisp.org>
51025
51026         * tests/test-frexp.c (main): Test also the sign bit of zero results.
51027         * tests/test-frexpl.c (main): Likewise.
51028         * tests/test-ldexpl.c (main): Likewise.
51029         * modules/frexp-tests (Depends-on): Add signbit.
51030         * modules/frexpl-tests (Depdends-on): Likewise.
51031         * modules/ldexpl-tests (Depdends-on): Likewise.
51032
51033 2007-04-06  Bruno Haible  <bruno@clisp.org>
51034
51035         * modules/signbit-tests: New file.
51036         * tests/test-signbit.c: New file.
51037
51038         * modules/signbit: New file.
51039         * lib/signbitf.c: New file.
51040         * lib/signbitd.c: New file.
51041         * lib/signbitl.c: New file.
51042         * m4/signbit.m4: New file.
51043         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
51044         (signbit): New macro.
51045         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
51046         REPLACE_SIGNBIT.
51047         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
51048         REPLACE_FREXPL into math.h.
51049
51050 2007-04-06  Bruno Haible  <bruno@clisp.org>
51051
51052         * modules/isnanf-nolibm-tests: New file.
51053         * tests/test-isnanf.c: New file.
51054
51055         * modules/isnanf-nolibm: New file.
51056         * lib/isnanf.h: New file.
51057         * lib/isnanf.c: New file.
51058         * lib/isnan.c: Consider the USE_FLOAT macro.
51059         * m4/isnanf.m4: New file.
51060
51061 2007-04-06  Bruno Haible  <bruno@clisp.org>
51062
51063         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
51064         (Link): New section.
51065
51066         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
51067
51068 2007-04-06  Bruno Haible  <bruno@clisp.org>
51069
51070         Assume the 'long double' type.
51071         * m4/longdouble.m4: Remove file.
51072         * config/srclist.txt: Don't mention longdouble.m4.
51073         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
51074         * lib/float+.h: Likewise.
51075         * lib/frexp.c: Likewise.
51076         * lib/printf-args.h: Likewise.
51077         * lib/printf-args.c: Likewise.
51078         * lib/printf-frexp.c: Likewise.
51079         * lib/printf-parse.c: Likewise.
51080         * lib/vasnprintf.c: Likewise.
51081         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
51082         * m4/intl.m4: Likewise.
51083         * m4/isnanl.m4: Likewise.
51084         * m4/printf.m4: Likewise.
51085         * m4/printf-frexpl.m4: Likewise.
51086         * m4/vasnprintf.m4: Likewise.
51087         * modules/allocsa (Files): Remove m4/longdouble.m4.
51088         * modules/gettext (Files): Likewise.
51089         * modules/relocatable-prog-wrapper (Files): Likewise.
51090         * modules/vasnprintf (Files): Likewise.
51091         * modules/isnanl (Files): Likewise.
51092         (Include): Simplify.
51093         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
51094         (Include): Simplify.
51095         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
51096         (Include): Simplify.
51097         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
51098         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51099         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
51100         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51101         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51102         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51103         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
51104         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51105         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51106         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51107         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
51108         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51109         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
51110         * tests/test-isnanl.c: Likewise.
51111         * tests/test-snprintf-posix.h: Likewise.
51112         * tests/test-sprintf-posix.h: Likewise.
51113         * tests/test-vasnprintf-posix.c: Likewise.
51114         * tests/test-vasnprintf-posix2.c: Likewise.
51115         * tests/test-vasprintf-posix.c: Likewise.
51116
51117 2007-04-06  Bruno Haible  <bruno@clisp.org>
51118
51119         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
51120         * lib/math_.h [__DECC]: Include the overridden include file through
51121         #include_next, outside the double-inclusion guard.
51122         * lib/stdio_.h [__DECC]: Likewise.
51123         * lib/stdlib_.h [__DECC]: Likewise.
51124         * lib/string_.h [__DECC]: Likewise.
51125         * lib/time_.h [__DECC]: Likewise.
51126         * lib/wchar_.h [__DECC]: Likewise.
51127         * lib/wctype_.h [__DECC]: Likewise.
51128         * lib/inttypes_.h [__DECC]: Likewise.
51129         Reported by Albert Chin <china@thewrittenword.com> in
51130         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
51131
51132 2007-04-04  Eric Blake  <ebb9@byu.net>
51133
51134         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
51135         1.5.x.
51136
51137 2007-04-04  Bruno Haible  <bruno@clisp.org>
51138
51139         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
51140         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
51141
51142 2007-04-04  Bruno Haible  <bruno@clisp.org>
51143
51144         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
51145         results for "%010a" of Infinity and NaN.
51146         * tests/test-vasprintf-posix.c (test_function): Likewise.
51147         * tests/test-snprintf-posix.h (test_function): Likewise.
51148         * tests/test-sprintf-posix.h (test_function): Likewise.
51149         * tests/test-fprintf-posix.h (test_function): Remove these tests.
51150         * tests/test-printf-posix.h (test_function): Likewise.
51151         * tests/test-fprintf-posix.out: Update.
51152         Needed for FreeBSD 6.1.
51153
51154 2007-04-04  Bruno Haible  <bruno@clisp.org>
51155
51156         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
51157         directly used by the gnulib modules nor by gnulib-tool.
51158
51159 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51160
51161         * DEPENDENCIES: Give overall description of version dependency
51162         desirability.  Use more-typical names for apps.
51163         Add shell, coreutils, diffutils, grep, tar, gzip.
51164
51165 2007-04-04  Simon Josefsson  <simon@josefsson.org>
51166
51167         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
51168
51169 2007-04-04  Karl Berry  <karl@gnu.org>
51170
51171         * MODULES.html.sh (func_module): missing '.
51172
51173 2007-04-03  Bruno Haible  <bruno@clisp.org>
51174
51175         * modules/argmatch-tests (Makefile.am): New variable
51176         test_argmatch_LDADD.
51177         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
51178         * modules/array-list-tests (Makefile.am): New variable
51179         test_array_list_LDADD.
51180         * modules/array-oset-tests (Makefile.am): New variable
51181         test_array_oset_LDADD.
51182         * modules/avltree-list-tests (Makefile.am): New variable
51183         test_avltree_list_LDADD.
51184         * modules/avltree-oset-tests (Makefile.am): New variable
51185         test_avltree_oset_LDADD.
51186         * modules/avltreehash-list-tests (Makefile.am): New variable
51187         test_avltreehash_list_LDADD.
51188         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
51189         test_canonicalize_lgpl_LDADD.
51190         * modules/carray-list-tests (Makefile.am): New variable
51191         test_carray_list_LDADD.
51192         * modules/dirname-tests (Makefile.am): New variable
51193         test_dirname_LDADD.
51194         * modules/linked-list-tests (Makefile.am): New variable
51195         test_linked_list_LDADD.
51196         * modules/linkedhash-list-tests (Makefile.am): New variable
51197         test_linkedhash_list_LDADD.
51198         * modules/rbtree-list-tests (Makefile.am): New variable
51199         test_rbtree_list_LDADD.
51200         * modules/rbtree-oset-tests (Makefile.am): New variable
51201         test_rbtree_oset_LDADD.
51202         * modules/rbtreehash-list-tests (Makefile.am): New variable
51203         test_rbtreehash_list_LDADD.
51204         * modules/xvasprintf-tests (Makefile.am): New variable
51205         test_xvasprintf_LDADD.
51206         Reported by Eric Blake.
51207
51208 2007-04-03  Eric Blake  <ebb9@byu.net>
51209
51210         * DEPENDENCIES: Weaken m4 requirements.
51211
51212 2007-04-03  Bruno Haible  <bruno@clisp.org>
51213
51214         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
51215         * modules/isnanl-tests (configure.ac): Likewise.
51216
51217 2007-04-03  Ben Pfaff  <blp@gnu.org>
51218
51219         * modules/iconv_open: Add $(srcdir)/ to source directory
51220         references in Makefile fragments that call gperf, to fix VPATH
51221         builds.
51222
51223 2007-04-03  Bruno Haible  <bruno@clisp.org>
51224
51225         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
51226         * lib/ldexpl.c: Undo last change.
51227
51228 2007-04-03  Bruno Haible  <bruno@clisp.org>
51229
51230         * modules/printf-frexpl (Depends-on): Undo last change.
51231         (Files): Add m4/ldexpl.m4.
51232
51233 2007-04-03  Bruno Haible  <bruno@clisp.org>
51234
51235         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
51236         * modules/isnanl (Link): New section.
51237
51238         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
51239         * modules/frexp (Link): New section.
51240
51241         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
51242         * modules/frexpl (Link): New section.
51243
51244         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
51245         * modules/ldexpl (Link): New section.
51246
51247 2007-04-03  Bruno Haible  <bruno@clisp.org>
51248
51249         * modules/TEMPLATE-EXTENDED: New file.
51250         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
51251
51252 2007-04-03  Bruno Haible  <bruno@clisp.org>
51253
51254         * DEPENDENCIES: New file.
51255         Suggested by Simon Josefsson.
51256
51257 2007-04-03  Bruno Haible  <bruno@clisp.org>
51258
51259         * doc/gnulib.texi: Escape @.
51260
51261 2007-04-03  James Youngman  <jay@gnu.org>
51262         and Paul Eggert  <eggert@cs.ucla.edu>
51263
51264         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
51265         birthtime on all systems that have birthtime, not just those which
51266         use st_birthtimensec rather than st_birthtim.  Putting zero in
51267         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
51268         that the birth time is not available for files on an NFS mount.
51269
51270 2007-04-03  Simon Josefsson  <simon@josefsson.org>
51271
51272         * modules/memxor: Move back from crypto/, suggested by Bruno.
51273         * modules/crypto/hmac-sha1: Fix memxor dependency.
51274
51275         * modules/crypto/gc: Moved from ../.
51276
51277 2007-04-02  Eric Blake  <ebb9@byu.net>
51278
51279         * lib/ldexpl.c (includes): Avoid libm.
51280
51281         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
51282
51283 2007-04-02  Bruno Haible  <bruno@clisp.org>
51284
51285         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
51286         on IRIX.
51287
51288 2007-04-02  Bruno Haible  <bruno@clisp.org>
51289
51290         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
51291         x86 or x86_64 platforms running MacOS X.
51292         Reported by Ryan Schmidt <@ryandesign.com>.
51293
51294 2007-04-02  Bruno Haible  <bruno@clisp.org>
51295
51296         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
51297         i386.
51298
51299 2007-04-01  Simon Josefsson  <simon@josefsson.org>
51300
51301         * modules/crypto/arcfour: Moved from ../.
51302         * modules/crypto/arcfour-tests: Moved from ../.
51303         * modules/crypto/arctwo: Moved from ../.
51304         * modules/crypto/arctwo-tests: Moved from ../.
51305         * modules/crypto/des: Moved from ../.
51306         * modules/crypto/des-tests: Moved from ../.
51307         * modules/crypto/gc-arcfour: Moved from ../.
51308         * modules/crypto/gc-arcfour-tests: Moved from ../.
51309         * modules/crypto/gc-arctwo: Moved from ../.
51310         * modules/crypto/gc-arctwo-tests: Moved from ../.
51311         * modules/crypto/gc-des: Moved from ../.
51312         * modules/crypto/gc-des-tests: Moved from ../.
51313         * modules/crypto/gc-hmac-md5: Moved from ../.
51314         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
51315         * modules/crypto/gc-hmac-sha1: Moved from ../.
51316         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
51317         * modules/crypto/gc-md2: Moved from ../.
51318         * modules/crypto/gc-md2-tests: Moved from ../.
51319         * modules/crypto/gc-md4: Moved from ../.
51320         * modules/crypto/gc-md4-tests: Moved from ../.
51321         * modules/crypto/gc-md5: Moved from ../.
51322         * modules/crypto/gc-md5-tests: Moved from ../.
51323         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
51324         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
51325         * modules/crypto/gc-random: Moved from ../.
51326         * modules/crypto/gc-rijndael: Moved from ../.
51327         * modules/crypto/gc-rijndael-tests: Moved from ../.
51328         * modules/crypto/gc-sha1: Moved from ../.
51329         * modules/crypto/gc-sha1-tests: Moved from ../.
51330         * modules/crypto/gc-tests: Moved from ../.
51331         * modules/crypto/hmac-md5: Moved from ../.
51332         * modules/crypto/hmac-md5-tests: Moved from ../.
51333         * modules/crypto/hmac-sha1: Moved from ../.
51334         * modules/crypto/hmac-sha1-tests: Moved from ../.
51335         * modules/crypto/md2: Moved from ../.
51336         * modules/crypto/md2-tests: Moved from ../.
51337         * modules/crypto/md4: Moved from ../.
51338         * modules/crypto/md4-tests: Moved from ../.
51339         * modules/crypto/md5: Moved from ../.
51340         * modules/crypto/md5-tests: Moved from ../.
51341         * modules/crypto/memxor: Moved from ../.
51342         * modules/crypto/rijndael: Moved from ../.
51343         * modules/crypto/rijndael-tests: Moved from ../.
51344         * modules/crypto/sha1: Moved from ../.
51345
51346 2007-03-30  James Youngman  <jay@gnu.org>
51347
51348         * tests/test-stat-time.c (prepare_test): use chmod() rather than
51349         rename() to change the ctime of a file (because ctime is unaffected
51350         by rename on jfs2 on AIX 5.1).
51351         (main): Start by doing cleanup, in case a previous run failed leaving
51352         test files behind.
51353
51354 2007-03-31  Bruno Haible  <bruno@clisp.org>
51355
51356         Support old proprietary implementations of iconv.
51357         * modules/iconv_open: New file.
51358         * lib/iconv_.h: New file.
51359         * m4/iconv_h.m4: New file.
51360         * lib/iconv_open.c: New file.
51361         * lib/iconv_open-aix.gperf: New file.
51362         * lib/iconv_open-hpux.gperf: New file.
51363         * lib/iconv_open-irix.gperf: New file.
51364         * lib/iconv_open-osf.gperf: New file.
51365         * m4/iconv_open.m4: New file.
51366         * modules/linebreak (Depends-on): Add iconv_open.
51367         * modules/striconv (Depends-on): Likewise.
51368         * modules/striconveh (Depends-on): Likewise.
51369         * modules/unicodeio (Depends-on): Likewise.
51370         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
51371         (iconv_t)(-1).
51372         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
51373         conversion if cd is (iconv_t)(-1).
51374         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
51375         is not possible.
51376
51377 2007-03-31  Bruno Haible  <bruno@clisp.org>
51378
51379         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51380         work on Solaris either. Protect also second use of "autodetect_jp".
51381
51382 2007-03-31  Bruno Haible  <bruno@clisp.org>
51383
51384         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
51385         the function is not present.
51386
51387 2007-03-31  Bruno Haible  <bruno@clisp.org>
51388
51389         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
51390         the function is not present.
51391
51392 2007-03-31  Bruno Haible  <bruno@clisp.org>
51393
51394         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
51395         a bug in HP-UX iconv_open().
51396
51397 2007-03-31  Bruno Haible  <bruno@clisp.org>
51398
51399         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
51400         (Mathematics <math.h>): New section, add fpieee.
51401         (Input/output <stdio.h>): Add fseterr.
51402         (Mathematics <math.h>): New section, add printf-frexp.
51403         (Container data structures): Add sublist.
51404         (Core language properties): Add fpucw, inline.
51405         (Functions for greatest-width integer types <inttypes.h>): Add
51406         imaxabs, imaxdiv, inttypes.
51407         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
51408         isnanl-nolibm, ldexp.
51409         (Mathematics <math.h>): New section, add printf-frexpl.
51410         (Support for systems lacking POSIX:2001): Add fprintf-posix,
51411         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
51412         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
51413         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
51414         (Unicode string functions): Add unistr/u*-mbtoucr.
51415         (Java): Add javacomp-script, javaexec-script.
51416         (C#): Add csharpcomp-script, csharpexec-script.
51417         (Support for building libraries and executables): Add havelib,
51418         relocatable-*.
51419         (Support for maintaining and releasing projects): Renamed from
51420         'Support for maintaining and release projects'. Add announce-gen.
51421
51422 2007-03-31  Bruno Haible  <bruno@clisp.org>
51423
51424         * README: Talk primarily about git.
51425         (git and CVS): Renamed from CVS.
51426         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
51427         gnulib is available through git.
51428         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
51429
51430 2007-03-30  Bruno Haible  <bruno@clisp.org>
51431
51432         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
51433         * lib/poll_.h: Likewise.
51434         * lib/stat_.h: Likewise.
51435         * lib/sys_time_.h: Likewise.
51436         * lib/sysexit_.h: Likewise.
51437         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
51438         * lib/stdbool_.h: Likewise.
51439         * lib/byteswap_.h: Add double-inclusion guard.
51440
51441 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
51442
51443         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
51444
51445 2007-03-30  Karl Berry  <karl@gnu.org>
51446
51447         * config/srclist-update: double space after USA in the license
51448         substitution, since that's how it's usually (?) written.
51449
51450 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
51451
51452         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
51453         reported by Bruno Haible.
51454
51455 2007-03-29  Bruno Haible  <bruno@clisp.org>
51456
51457         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
51458         a bug in AIX iconv().
51459
51460 2007-03-29  Bruno Haible  <bruno@clisp.org>
51461
51462         * modules/ldexpl-tests: New file.
51463         * tests/test-ldexpl.c: New file.
51464
51465 2007-03-29  Bruno Haible  <bruno@clisp.org>
51466
51467         * lib/ldexpl.c: Include fpucw.h.
51468         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
51469         multiplication.
51470         * modules/ldexpl (Depends-on): Add fpucw.
51471
51472 2007-03-29  Bruno Haible  <bruno@clisp.org>
51473
51474         * modules/ldexpl: New file.
51475         * m4/ldexpl.m4: New file.
51476         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
51477         set.
51478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
51479         REPLACE_LDEXPL.
51480         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
51481         REPLACE_LDEXPL.
51482         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
51483         gl_FUNC_LDEXPL_WORKS.
51484         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
51485         * modules/mathl (Files): Remove lib/ldexpl.c.
51486         (Depends-on): Add ldexpl.
51487
51488 2007-03-29  Bruno Haible  <bruno@clisp.org>
51489
51490         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
51491
51492 2007-03-29  Bruno Haible  <bruno@clisp.org>
51493
51494         * tests/test-striconveh.c (main): Don't assume that a direct conversion
51495         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
51496         and possibly also HP-UX.
51497         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51498         work on AIX, IRIX, HP-UX, OSF/1.
51499         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
51500         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
51501         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
51502         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
51503         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
51504         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
51505
51506 2007-03-29  Bruno Haible  <bruno@clisp.org>
51507
51508         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
51509
51510 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51511
51512         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
51513         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
51514
51515 2007-03-29  Eric Blake  <ebb9@byu.net>
51516
51517         * lib/acl-internal.h: Remove redundant include.
51518         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
51519         Cygwin when a file is locked.
51520
51521 2007-03-29  Bruno Haible  <bruno@clisp.org>
51522
51523         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
51524         file.
51525         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
51526
51527 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51528
51529         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
51530         try to remove a parent directory if the child couldn't be removed
51531         (except for the first rmdir, which could fail because the child
51532         doesn't exist).  Problem reported by Jeff Blaine in
51533         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
51534
51535 2007-03-28  Bruno Haible  <bruno@clisp.org>
51536
51537         * lib/striconveh.c (utf8conv_carefully): New function.
51538         (mem_cd_iconveh_internal): Invoke it.
51539
51540 2007-03-28  Bruno Haible  <bruno@clisp.org>
51541
51542         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
51543         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
51544         input.
51545         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
51546         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
51547         unistr/u8-uctomb.
51548
51549 2007-03-28  Bruno Haible  <bruno@clisp.org>
51550
51551         * modules/unistr/u8-mbtoucr: New file.
51552         * lib/unistr/u8-mbtoucr.c: New file.
51553         * modules/unistr/u16-mbtoucr: New file.
51554         * lib/unistr/u16-mbtoucr.c: New file.
51555         * modules/unistr/u16-mbtoucr: New file.
51556         * lib/unistr/u16-mbtoucr.c: New file.
51557         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
51558
51559 2007-03-27  Simon Josefsson  <simon@josefsson.org>
51560             Bruno Haible  <bruno@clisp.org>
51561
51562         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
51563         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
51564         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
51565
51566         * m4/stdio_h.m4: Add stubs for vasprintf too.
51567
51568         * modules/stdio: Support vasprintf in sed command.
51569
51570         * modules/vasprintf: Depend on stdio for prototypes.  Remove
51571         vasprintf.h.  Add stdio module indicator.
51572
51573         * lib/stdio_.h: Declare asprintf and vasprintf, based on
51574         vasprintf.h.
51575
51576         * lib/vasprintf.h: File removed.
51577
51578         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
51579         * lib/vasprintf.c: Ditto.
51580         * lib/xvasprintf.c: Ditto.
51581         * tests/test-vasprintf-posix.c: Ditto.
51582         * tests/test-vasprintf.c: Ditto.
51583
51584 2007-03-27  Bruno Haible  <bruno@clisp.org>
51585
51586         Make vasnprintf multithread-safe.
51587         * lib/vasnprintf.c (decimal_point_char): New function.
51588         (VASNPRINTF): Use it.
51589         Suggested by Simon Josefsson.
51590
51591 2007-03-27  Eric Blake  <ebb9@byu.net>
51592
51593         Support sub-second birthtime on cygwin.
51594         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
51595         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
51596         (get_stat_birthtime): Also work with st_birthtim.
51597
51598 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
51599
51600         * lib/stat-time.h (USE_BIRTHTIME): Remove.
51601         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
51602         (get_stat_birthtime_ns): Do not try to use "spare" fields.
51603         (get_stat_birthtime_ns): Simplify compile-time tests.
51604         (get_stat_birthtime): Change the API to look like
51605         get_stat_mtime etc., except return a negative tv_nsec on error.
51606         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
51607         Don't check for "spare" fields.
51608         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
51609         or for struct stat.st_birthtime, as these tests aren't used.
51610         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
51611
51612 2007-03-27  Bruno Haible  <bruno@clisp.org>
51613
51614         * lib/stat-time.h: Include <sys/stat.h>.
51615
51616 2007-03-27  James Youngman  <jay@gnu.org>
51617
51618         * lib/stat-time.h (get_stat_birthtime): New function for
51619           retrieving st_birthtime as provided by UFS2 (hence *BSD).
51620         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
51621           and its variants.
51622         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
51623         * modules/stat-time-test: New file.
51624         * tests/test-stat-time.c: New test, devised by Bruno Haible.
51625
51626 2007-03-26  Bruno Haible  <bruno@clisp.org>
51627
51628         Better support of signalling NaNs.
51629         * lib/atanl.c: Include isnanl.h.
51630         (atanl): Perform test for NaN at the beginning of the function and
51631         through a call to isnanl.
51632         * lib/cosl.c: Include isnanl.h.
51633         (cosl): Perform test for NaN at the beginning of the function and
51634         through a call to isnanl.
51635         * lib/ldexpl.c: Include isnanl.h.
51636         (ldexpl): Perform test for NaN through a call to isnanl.
51637         * lib/logl.c: Include isnanl.h.
51638         (logl): Perform test for NaN at the beginning of the function and
51639         through a call to isnanl.
51640         * lib/sinl.c: Include isnanl.h.
51641         (sinl): Perform test for NaN at the beginning of the function and
51642         through a call to isnanl.
51643         * lib/sqrtl.c: Include isnanl.h.
51644         (sqrtl): Perform test for NaN at the beginning of the function and
51645         through a call to isnanl.
51646         * lib/tanl.c: Include isnanl.h.
51647         (tanl): Perform test for NaN at the beginning of the function and
51648         through a call to isnanl.
51649         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
51650         * modules/mathl (Depends-on): Add isnanl.
51651
51652 2007-03-26  Eric Blake  <ebb9@byu.net>
51653
51654         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
51655         regression in logic sense of previous patch.
51656
51657 2007-03-26  Bruno Haible  <bruno@clisp.org>
51658
51659         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
51660         unportable shell command "if ! ...".
51661         Reported by Ralf Wildenhues.
51662
51663 2007-03-25  Bruno Haible  <bruno@clisp.org>
51664
51665         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
51666         <sysexits.h> file, and only add EX_CONFIG.
51667         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
51668         absolute file name and whether it is sufficient. Substitute also
51669         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
51670         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
51671         ABSOLUTE_SYSEXITS_H into sysexits.h.
51672
51673 2007-03-25  Bruno Haible  <bruno@clisp.org>
51674
51675         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
51676         hints is NULL.
51677
51678 2007-03-25  Bruno Haible  <bruno@clisp.org>
51679
51680         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
51681         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
51682
51683 2007-03-25  Bruno Haible  <bruno@clisp.org>
51684
51685         * lib/vasnprintf.c: Include langinfo.h.
51686         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
51687         multithread-safe.
51688         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
51689         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
51690         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51691         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51692         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51693         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51694         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51695         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
51696         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51697         Reported by Simon Josefsson.
51698
51699 2007-03-25  Bruno Haible  <bruno@clisp.org>
51700
51701         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
51702         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
51703         * modules/vasnprintf (Depends-on): Add stdint.
51704
51705 2007-03-25  Bruno Haible  <bruno@clisp.org>
51706
51707         * modules/fpieee: New file.
51708         * m4/fpieee.m4: New file.
51709         * modules/isnan-nolibm (Depends-on): Add fpieee.
51710         * modules/isnanl-nolibm (Depends-on): Add fpieee.
51711         * modules/isnanl (Depends-on): Add fpieee.
51712
51713 2007-03-25  Bruno Haible  <bruno@clisp.org>
51714
51715         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
51716
51717 2007-03-25  Bruno Haible  <bruno@clisp.org>
51718
51719         Avoid test failures on IRIX 6.5.
51720         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
51721         (main): Use it.
51722         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
51723         macros.
51724         (main): Use them.
51725
51726 2007-03-25  Bruno Haible  <bruno@clisp.org>
51727
51728         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
51729         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
51730         exists but doesn't work.
51731         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
51732         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
51733         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
51734         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
51735         math.h.
51736
51737 2007-03-25  Bruno Haible  <bruno@clisp.org>
51738
51739         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
51740         returns inf. Needed on IRIX 6.5.
51741
51742 2007-03-25  Bruno Haible  <bruno@clisp.org>
51743
51744         * tests/test-frexpl.c: Include isnanl-nolibm.h.
51745         (main): Use isnanl instead of x != x idiom.
51746         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
51747
51748         * tests/test-frexp.c: Include isnan.h.
51749         (main): Use isnan instead of x != x idiom.
51750         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
51751
51752 2007-03-25  Bruno Haible  <bruno@clisp.org>
51753
51754         * tests/test-frexp.c (NaN): New function/macro.
51755         (main): Use it instead of 0.0 / 0.0.
51756         * tests/test-isnan.c (NaN): New function/macro.
51757         (main): Use it instead of 0.0 / 0.0.
51758         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
51759         (test_function): Use it instead of 0.0 / 0.0.
51760         * tests/test-vasprintf-posix.c (NaN): New function/macro.
51761         (test_function): Use it instead of 0.0 / 0.0.
51762         * tests/test-snprintf-posix.h (NaN): New function/macro.
51763         (test_function): Use it instead of 0.0 / 0.0.
51764         * tests/test-sprintf-posix.h (NaN): New function/macro.
51765         (test_function): Use it instead of 0.0 / 0.0.
51766         * tests/test-fprintf-posix.h (NaN): New function/macro.
51767         (test_function): Use it instead of 0.0 / 0.0.
51768         * tests/test-printf-posix.h (NaN): New function/macro.
51769         (test_function): Use it instead of 0.0 / 0.0.
51770
51771         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
51772
51773 2007-03-25  Bruno Haible  <bruno@clisp.org>
51774
51775         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
51776
51777 2007-03-25  Bruno Haible  <bruno@clisp.org>
51778
51779         * lib/regexec.c (merge_state_with_log): Make static.
51780
51781 2007-03-25  Bruno Haible  <bruno@clisp.org>
51782
51783         * lib/trigl.c (kernel_rem_pio2): Make static.
51784
51785 2007-03-25  Bruno Haible  <bruno@clisp.org>
51786
51787         * lib/sincosl.c (sincosl_table): Make static.
51788
51789 2007-03-25  Bruno Haible  <bruno@clisp.org>
51790
51791         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
51792         if the compiler does not support C99.
51793
51794 2007-03-25  Bruno Haible  <bruno@clisp.org>
51795
51796         * modules/time (Makefile.am): Ensure all rule action lines start with a
51797         tab.
51798
51799 2007-03-24  Bruno Haible  <bruno@clisp.org>
51800
51801         * modules/tsearch-tests: New file.
51802         * tests/test-tsearch.sh: New file.
51803         * tests/test-tsearch.c: New file, mostly copied from glibc.
51804
51805         * modules/search-tests: New file.
51806         * tests/test-search.c: New file.
51807
51808         * modules/search: New file.
51809         * lib/search_.h: New file, incorporating lib/tsearch.h.
51810         * m4/search_h.m4: New file.
51811         * lib/tsearch.h: Remove file.
51812         * lib/tsearch.c: Include search.h instead of tsearch.h.
51813         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
51814         HAVE_TSEARCH.
51815         * modules/tsearch (Files): Remove lib/tsearch.h.
51816         (Depends-on): Add search.
51817         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
51818         (Include): Change tsearch.h into search.h.
51819
51820 2007-03-24  Bruno Haible  <bruno@clisp.org>
51821
51822         * modules/fpucw: New file.
51823         * lib/fpucw.h: New file.
51824         * lib/frexp.c: Include fpucw.h.
51825         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51826         (FUNC): Use them.
51827         * lib/printf-frexp.c: Include fpucw.h.
51828         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51829         (FUNC): Use them.
51830         * lib/vasnprintf.c: Include fpucw.h.
51831         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
51832         'long double' calculations.
51833         * tests/test-frexpl.c: Include fpucw.h.
51834         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51835         * tests/test-printf-frexpl.c: Include fpucw.h.
51836         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51837         * modules/frexpl (Depends-on): Add fpucw.
51838         * modules/printf-frexpl (Depends-on): Likewise.
51839         * modules/fprintf-posix (Depends-on): Likewise.
51840         * modules/snprintf-posix (Depends-on): Likewise.
51841         * modules/sprintf-posix (Depends-on): Likewise.
51842         * modules/vasnprintf-posix (Depends-on): Likewise.
51843         * modules/vasprintf-posix (Depends-on): Likewise.
51844         * modules/vfprintf-posix (Depends-on): Likewise.
51845         * modules/vsnprintf-posix (Depends-on): Likewise.
51846         * modules/vsprintf-posix (Depends-on): Likewise.
51847         * modules/frexpl-tests (Depends-on): Likewise.
51848         * modules/printf-frexpl-tests (Depends-on): Likewise.
51849
51850 2007-03-24  Bruno Haible  <bruno@clisp.org>
51851
51852         * lib/float+.h: New file.
51853         * lib/isnan.c: Include float+.h.
51854         (SIZE): New macro.
51855         (FUNC): Compare only SIZE bytes of the value.
51856         * lib/vasnprintf.c: Include float+.h.
51857         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
51858         SIZEOF_LDBL or SIZEOF_DBL bytes.
51859         * modules/isnan-nolibm (Files): Add lib/float+.h.
51860         * modules/isnanl-nolibm (Files): Add lib/float+.h.
51861         * modules/isnanl (Files): Add lib/float+.h.
51862         * modules/vasnprintf (Files): Add lib/float+.h.
51863
51864 2007-03-24  Bruno Haible  <bruno@clisp.org>
51865
51866         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
51867         include isnanl-nolibm.h.
51868
51869 2007-03-24  Bruno Haible  <bruno@clisp.org>
51870
51871         * tests/test-read-file.c (main): Don't produce spurious output for
51872         expected situations. Make the test fail if it encountered unexpected
51873         results.
51874
51875 2007-03-24  Bruno Haible  <bruno@clisp.org>
51876
51877         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
51878         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
51879
51880 2007-03-24  Bruno Haible  <bruno@clisp.org>
51881
51882         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
51883
51884 2007-03-24  Bruno Haible  <bruno@clisp.org>
51885
51886         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
51887         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
51888
51889         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
51890         * modules/utf8-ucs4: Turn into a symbolic link to module
51891         unistr/u8-mbtouc.
51892
51893         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
51894         utf8-ucs4-unsafe.
51895         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
51896         unistr/u8-mbtouc-unsafe.
51897
51898         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
51899         * modules/utf16-ucs4: Turn into a symbolic link to module
51900         unistr/u16-mbtouc.
51901
51902         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
51903         utf16-ucs4-unsafe.
51904         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
51905         unistr/u16-mbtouc-unsafe.
51906
51907         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
51908         * modules/ucs4-utf8: Turn into a symbolic link to module
51909         unistr/u8-ubtomb.
51910
51911         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
51912         * modules/ucs4-utf16: Turn into a symbolic link to module
51913         unistr/u16-ubtomb.
51914
51915 2007-03-24  Bruno Haible  <bruno@clisp.org>
51916
51917         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
51918         Enable the function only if HAVE_INLINE.
51919         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
51920         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
51921         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
51922         Enable the function only if HAVE_INLINE.
51923         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
51924         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
51925         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
51926         Enable the function only if HAVE_INLINE.
51927         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
51928         Enable the function only if HAVE_INLINE.
51929         * modules/utf8-ucs4: Update.
51930         * modules/utf8-ucs4-unsafe: Update.
51931         * modules/utf16-ucs4: Update.
51932         * modules/utf16-ucs4-unsafe: Update.
51933         * modules/ucs4-utf8: Update.
51934         * modules/ucs4-utf16: Update.
51935
51936 2007-03-24  Bruno Haible  <bruno@clisp.org>
51937
51938         * lib/utf8-ucs4.h: Remove file.
51939         * lib/utf8-ucs4-unsafe.h: Remove file.
51940         * lib/utf16-ucs4.h: Remove file.
51941         * lib/utf16-ucs4-unsafe.h: Remove file.
51942         * lib/ucs4-utf8.h: Remove file.
51943         * lib/ucs4-utf16.h: Remove file.
51944         * lib/unistr.h: Include their previous contents.
51945         * m4/utf-ucs4.m4: Remove file.
51946         * m4/ucs4-utf.m4: Remove file.
51947         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
51948         (Depends-on): Add unistr/base.
51949         (configure.ac): Remove gl_UTF_UCS4.
51950         (Makefile.am): Update.
51951         (Include): Change to unistr.h.
51952         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
51953         (Depends-on): Add unistr/base.
51954         (configure.ac): Remove gl_UTF_UCS4.
51955         (Makefile.am): Update.
51956         (Include): Change to unistr.h.
51957         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
51958         (Depends-on): Add unistr/base.
51959         (configure.ac): Remove gl_UTF_UCS4.
51960         (Makefile.am): Update.
51961         (Include): Change to unistr.h.
51962         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
51963         (Depends-on): Add unistr/base.
51964         (configure.ac): Remove gl_UTF_UCS4.
51965         (Makefile.am): Update.
51966         (Include): Change to unistr.h.
51967         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
51968         (Depends-on): Add unistr/base.
51969         (configure.ac): Remove gl_UCS4_UTF.
51970         (Makefile.am): Update.
51971         (Include): Change to unistr.h.
51972         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
51973         (Depends-on): Add unistr/base.
51974         (configure.ac): Remove gl_UCS4_UTF.
51975         (Makefile.am): Update.
51976         (Include): Change to unistr.h.
51977         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
51978         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
51979         utf8-ucs4-unsafe.h.
51980         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
51981         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
51982         utf16-ucs4-unsafe.h.
51983         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
51984         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
51985         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
51986         * lib/unistr/u8-strchr.c: Likewise.
51987         * lib/unistr/u8-strrchr.c: Likewise.
51988         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
51989         * lib/unistr/u16-strchr.c: Likewise.
51990         * lib/unistr/u16-strrchr.c: Likewise.
51991         * lib/striconveh.c: Update.
51992         * lib/linebreak.c: Update.
51993
51994 2007-03-24  Bruno Haible  <bruno@clisp.org>
51995
51996         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
51997         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
51998
51999 2007-03-22  Bruno Haible  <bruno@clisp.org>
52000
52001         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
52002
52003 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
52004
52005         * MODULES.html.sh (File system functions): New module write-any-file.
52006         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
52007         * m4/write-any-file.m4: New files.
52008
52009 2007-03-23  Eric Blake  <ebb9@byu.net>
52010
52011         * gnulib-tool: Rearrange space-tab sequences, since some editors
52012         like to eat them.
52013
52014 2007-03-23  Eric Blake  <ebb9@byu.net>
52015
52016         * lib/version-etc.c (version_etc_va): Update license wording to
52017         be more concise.  Recommended by Richard Stallman.
52018
52019 2007-03-22  Bruno Haible  <bruno@clisp.org>
52020
52021         * lib/poll.c (MSG_PEEK): New fallback definition.
52022
52023 2007-03-22  Bruno Haible  <bruno@clisp.org>
52024
52025         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
52026         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
52027         (main): Update.
52028         Fixes a compilation error on BeOS.
52029
52030 2007-03-22  Bruno Haible  <bruno@clisp.org>
52031
52032         * modules/frexpl-tests: New file.
52033         * tests/test-frexpl.c: New file.
52034
52035         * modules/frexpl: New file.
52036         * m4/frexpl.m4: New file.
52037         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
52038         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
52039         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
52040         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
52041         (Depends-on): Add frexpl. Remove isnanl-nolibm.
52042         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
52043
52044 2007-03-22  Bruno Haible  <bruno@clisp.org>
52045
52046         * lib/frexpl.c: Share code with lib/frexp.c.
52047         * modules/mathl (Files): Add lib/frexp.c.
52048         (Depends-on): Add isnanl-nolibm.
52049
52050 2007-03-22  Bruno Haible  <bruno@clisp.org>
52051
52052         * modules/printf-frexp (Files): Add m4/frexp.m4.
52053         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
52054         only if the found frexp function actually works.
52055
52056 2007-03-22  Bruno Haible  <bruno@clisp.org>
52057
52058         * lib/frexp.c: Remove older implementation that uses divisions.
52059
52060 2007-03-21  Bruno Haible  <bruno@clisp.org>
52061
52062         * modules/frexp-tests: New file.
52063         * tests/test-frexp.c: New file.
52064
52065         * modules/frexp: New file.
52066         * lib/frexp.c: New file.
52067         * m4/frexp.m4: New file.
52068         * lib/math_.h (frexp): New declaration.
52069         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
52070         REPLACE_FREXP.
52071         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
52072
52073 2007-03-21  Bruno Haible  <bruno@clisp.org>
52074
52075         * modules/isnanl-tests: New file.
52076         * tests/test-isnanl.c: New file.
52077
52078         * modules/isnanl: New file.
52079         * lib/isnanl.h: New file.
52080         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
52081         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
52082         gl_FUNC_ISNANL_WORKS.
52083         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
52084         New macros.
52085
52086 2007-03-21  Bruno Haible  <bruno@clisp.org>
52087
52088         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
52089         lib/isnanl.h.
52090         (Include): Update.
52091         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
52092         * lib/vasnprintf.c: Update.
52093         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
52094         tests/test-isnanl.h, remove tests/test-isnanl.c.
52095         (Makefile.am): Update.
52096         * tests/test-isnanl-nolibm.c: New file.
52097         * tests/test-isnanl.h: New file.
52098         * tests/test-isnanl.c: Remove file.
52099
52100 2007-03-21  Jim Meyering  <jim@meyering.net>
52101
52102         When trying to open ".", treat ESTALE like EACCES.
52103         * lib/savewd.c (savewd_save): Resort to forking not just upon
52104         failure with EACCES, but also when errno is ESTALE.
52105
52106 2007-03-20  Bruno Haible  <bruno@clisp.org>
52107
52108         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
52109         Needed on AIX 5.1. Reported by Matthew Woehlke.
52110
52111 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52112
52113         Suggestions by Bruno Haible:
52114         * lib/acl-internal.h: Include "gettext.h" rather than rolling
52115         our own.
52116         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
52117         * modules/acl (Depends-on): Add gettext.
52118
52119 2007-03-19  Bruno Haible  <bruno@clisp.org>
52120
52121         * modules/iconvme: Remove file.
52122         * lib/iconvme.h: Remove file.
52123         * lib/iconvme.c: Remove file.
52124         * m4/iconvme.m4: Remove file.
52125
52126 2007-03-19  Bruno Haible  <bruno@clisp.org>
52127
52128         * doc/relocatable-maint.texi: Break long shell script line.
52129         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52130
52131 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52132
52133         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
52134         handle file_has_acl.
52135         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
52136         * lib/acl.c: Move header inclusions and related macro defns into
52137         lib/acl-internal.h.
52138         (S_ISLNK): Remove defn, since that's now done for us.
52139         (file_has_acl): Move to lib/file-has-acl.c.
52140         Call acl_trivial if available.  This is the crucial part of the fix.
52141         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
52142         shared within the library.  Rewrite a bit, partly to make it compatible
52143         with the GNU coding style.
52144         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
52145         Remove unnecessary double-quotes.
52146         Don't test for acl_to_text; the build will catch that.
52147         Replace acl_entries if it doesn't exist and it is needed.
52148         Check for -lsec and acl_trivial (as used on Solaris 10).
52149         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
52150         lib/file-has-acl.c.
52151         (Depends-on): Add sys_stat, for S_ISLNK.
52152
52153 2007-03-19  Ben Pfaff  <blp@gnu.org>
52154
52155         * doc/gnulib.texi: Fix typos.
52156         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52157
52158 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52159
52160         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
52161         If size is zero here, buf must be zero.
52162
52163 2007-03-19  Simon Josefsson  <simon@josefsson.org>
52164
52165         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
52166         <bruno@clisp.org>.
52167
52168 2007-03-18  Bruno Haible  <bruno@clisp.org>
52169
52170         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
52171         Suggested by Eric Blake.
52172
52173 2007-03-18  Ben Pfaff  <blp@gnu.org>
52174
52175         * doc/relocatable.texi: Recommend using as prefix a directory
52176         that does not exist and will never be created.  Based on
52177         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
52178         and others.
52179
52180 2007-03-17  Bruno Haible  <bruno@clisp.org>
52181
52182         * lib/fchownat.c: Include lchown.h.
52183
52184 2007-03-17  Bruno Haible  <bruno@clisp.org>
52185
52186         Fix endless loop when the given allocated size was > INT_MAX.
52187         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
52188         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
52189         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
52190         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
52191         * lib/sprintf.c (sprintf): Likewise.
52192
52193 2007-03-17  Bruno Haible  <bruno@clisp.org>
52194
52195         * tests/test-argp-2.sh (func_compare): Output a context diff.
52196
52197 2007-03-17  Bruno Haible  <bruno@clisp.org>
52198
52199         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
52200         locale's decimal-point character.
52201
52202 2007-03-17  Bruno Haible  <bruno@clisp.org>
52203
52204         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
52205         before comparing it. Needed because on some platforms (e.g. x86) a
52206         'long double' occupies less bytes than sizeof (long double).
52207
52208 2007-03-17  Bruno Haible  <bruno@clisp.org>
52209
52210         * tests/test-crc.c (main): Make printf statements 64-bit clean.
52211         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
52212         * tests/test-getaddrinfo.c (simple): Likewise.
52213         * tests/test-read-file.c (main): Likewise.
52214
52215 2007-03-17  Bruno Haible  <bruno@clisp.org>
52216
52217         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
52218
52219 2007-03-17  Bruno Haible  <bruno@clisp.org>
52220
52221         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
52222         unused variable.
52223
52224 2007-03-17  Bruno Haible  <bruno@clisp.org>
52225
52226         * tests/test-c-strcasecmp.c: Include c-strcase.h.
52227         * tests/test-c-strncasecmp.c: Likewise.
52228
52229 2007-03-17  Bruno Haible  <bruno@clisp.org>
52230
52231         * modules/stdlib (Depends-on): Add unistd.
52232         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
52233         Needed for MacOS X 10.3.
52234
52235 2007-03-17  Bruno Haible  <bruno@clisp.org>
52236
52237         * lib/unistr/u-strdup.h: Include <stdlib.h>.
52238
52239 2007-03-17  Bruno Haible  <bruno@clisp.org>
52240
52241         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
52242
52243 2007-03-17  Bruno Haible  <bruno@clisp.org>
52244
52245         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
52246         to reflect files copied from gnulib (with or without modifications).
52247         Suggested by Jim Meyering.
52248
52249 2007-03-17  Eric Blake  <ebb9@byu.net>
52250
52251         * NEWS: Document stdlib change from 2007-02-18.
52252
52253 2007-03-17  Jim Meyering  <jim@meyering.net>
52254
52255         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
52256         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
52257         someone uses a name containing shell meta-characters.
52258         Reported by Alfred M. Szmidt.
52259
52260         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
52261
52262 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52263
52264         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
52265         and copy gettext configuration files only if configure.ac contains
52266         a use of AM_GNU_GETTEXT_VERSION.
52267
52268 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52269
52270         * build-aux/bootstrap (gnulib_name): New variable.
52271         (gnulib_tool_options): Use it.
52272
52273 2007-03-13  Simon Josefsson  <simon@josefsson.org>
52274
52275         * tests/test-des.c: Use new namespace.
52276
52277 2007-03-15  Bruno Haible  <bruno@clisp.org>
52278
52279         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
52280         Reported by James Youngman <jay@gnu.org>.
52281
52282 2007-03-15  Bruno Haible  <bruno@clisp.org>
52283
52284         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
52285         declared prototype. Needed with cc on OSF/1 5.1.
52286
52287 2007-03-15  Bruno Haible  <bruno@clisp.org>
52288
52289         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
52290         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
52291         (struct gl_list_implementation): Add dispose_fn argument to the
52292         'create_empty', 'create' methods.
52293         (struct gl_list_impl_base): Add field 'dispose_fn'.
52294         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
52295         argument.
52296         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
52297         dispose_fn argument.
52298         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
52299         dispose_fn on the dropped values.
52300         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
52301         dispose_fn argument.
52302         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
52303         dropped values.
52304         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
52305         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52306         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
52307         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52308         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
52309         argument.
52310         (gl_tree_list_free): Call dispose_fn on the dropped values.
52311         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
52312         the dropped values.
52313         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
52314         Add dispose_fn argument.
52315         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
52316         Call dispose_fn on the dropped values.
52317         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
52318         Add dispose_fn argument.
52319         (gl_sublist_create): Initialize the 'dispose_fn' field.
52320         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
52321         * tests/test-array_list.c (main): Update.
52322         * tests/test-carray_list.c (main): Update.
52323         * tests/test-avltree_list.c (main): Update.
52324         * tests/test-rbtree_list.c (main): Update.
52325         * tests/test-avltreehash_list.c (main): Update.
52326         * tests/test-rbtreehash_list.c (main): Update.
52327         * tests/test-linked_list.c (main): Update.
52328         * tests/test-linkedhash_list.c (main): Update.
52329         * tests/test-array_oset.c (main): Update.
52330
52331 2007-03-15  Bruno Haible  <bruno@clisp.org>
52332
52333         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
52334         (gl_oset_create_empty): Add dispose_fn argument.
52335         (struct gl_oset_implementation): Add dispose_fn argument to
52336         'create_empty' method.
52337         (struct gl_oset_impl_base): Add dispose_fn field.
52338         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
52339         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
52340         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
52341         values.
52342         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
52343         (gl_tree_oset_free): Call dispose_fn on the dropped values.
52344         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52345         dropped value.
52346         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52347         dropped value.
52348         * tests/test-array_oset.c (main): Update.
52349         * tests/test-avltree_oset.c (main): Update.
52350         * tests/test-rbtree_oset.c (main): Update.
52351         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
52352
52353 2007-03-13  Bruno Haible  <bruno@clisp.org>
52354
52355         * tests/test-stdbool.c (i): Update after last patch.
52356
52357 2007-03-12  Bruno Haible  <bruno@clisp.org>
52358
52359         * lib/quotearg.c: Include <wctype.h> early, before the definition of
52360         the iswprint macro. Needed on Solaris 2.5.1.
52361
52362 2007-03-12  Bruno Haible  <bruno@clisp.org>
52363
52364         * tests/test-printf-frexp.c (main): Declare x as volatile.
52365
52366 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52367
52368         * doc/gnulib.texi (Build robot for gnulib): New section.
52369
52370 2007-03-12  Jim Meyering  <jim@meyering.net>
52371
52372         * build-aux/bootstrap: New file.
52373         * build-aux/bootstrap.conf: New file, from coreutils.
52374
52375 2007-03-11  Bruno Haible  <bruno@clisp.org>
52376
52377         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
52378
52379 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52380
52381         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
52382         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
52383         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
52384
52385 2007-03-11  Bruno Haible  <bruno@clisp.org>
52386
52387         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
52388         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
52389
52390 2007-03-11  Bruno Haible  <bruno@clisp.org>
52391
52392         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
52393         formula. Needed for SunPRO C 5.0.
52394
52395 2007-03-11  Bruno Haible  <bruno@clisp.org>
52396
52397         * modules/long-options (Depends-on): Add getopt.
52398
52399 2007-03-11  Bruno Haible  <bruno@clisp.org>
52400
52401         * modules/modechange (Depends-on): Add stdbool.
52402
52403 2007-03-11  Bruno Haible  <bruno@clisp.org>
52404
52405         * modules/i-ring (Depends-on): Add stdbool.
52406
52407 2007-03-11  Bruno Haible  <bruno@clisp.org>
52408
52409         * modules/gc-des (Depends-on): Add stdbool.
52410
52411 2007-03-11  Bruno Haible  <bruno@clisp.org>
52412
52413         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
52414
52415 2007-03-11  Bruno Haible  <bruno@clisp.org>
52416
52417         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
52418
52419 2007-03-11  Bruno Haible  <bruno@clisp.org>
52420
52421         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
52422
52423 2007-03-11  Bruno Haible  <bruno@clisp.org>
52424
52425         * lib/vasnprintf.c (sprintf): Undefine.
52426
52427 2007-03-11  Bruno Haible  <bruno@clisp.org>
52428
52429         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
52430         initializers in SunPRO C and Compaq C compilers.
52431
52432 2007-03-11  Bruno Haible  <bruno@clisp.org>
52433
52434         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
52435         decrementing code ANSI C compliant.
52436
52437 2007-03-11  Bruno Haible  <bruno@clisp.org>
52438
52439         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
52440         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
52441
52442 2007-03-11  Bruno Haible  <bruno@clisp.org>
52443
52444         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
52445         <stdbool.h> substitute doesn't pass.
52446
52447 2007-03-11  Bruno Haible  <bruno@clisp.org>
52448
52449         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
52450
52451 2007-03-11  Bruno Haible  <bruno@clisp.org>
52452
52453         * gnulib-tool (func_create_megatestdir): Create also an autobuild
52454         script, for submission to autobuild.josefsson.org.
52455
52456 2007-03-10  Bruno Haible  <bruno@clisp.org>
52457
52458         * modules/canonicalize-lgpl-tests: New file.
52459         * tests/test-canonicalize-lgpl.sh: New file.
52460         * tests/test-canonicalize-lgpl.c: New file.
52461
52462         * modules/c-strcase-tests: New file.
52463         * tests/test-c-strcase.sh: New file.
52464         * tests/test-c-strcasecmp.c: New file.
52465         * tests/test-c-strncasecmp.c: New file.
52466
52467         * modules/atexit-tests: New file.
52468         * tests/test-atexit.sh: New file.
52469         * tests/test-atexit.c: New file.
52470
52471 2007-03-10  Bruno Haible  <bruno@clisp.org>
52472
52473         * tests/test-binary-io.sh: Use temporary filenames that are not so
52474         likely to clash with those of other tests (in a parallel make).
52475         * tests/test-binary-io.c: Likewise.
52476
52477 2007-03-10  Bruno Haible  <bruno@clisp.org>
52478
52479         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
52480         fallback; use #error instead.
52481         Suggested by Simon Josefsson.
52482
52483 2007-03-10  Bruno Haible  <bruno@clisp.org>
52484
52485         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
52486         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
52487         first and the last.
52488
52489 2007-03-10  Bruno Haible  <bruno@clisp.org>
52490
52491         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
52492
52493 2007-03-10  Bruno Haible  <bruno@clisp.org>
52494
52495         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
52496         "make distcheck".
52497         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
52498         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
52499         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
52500
52501 2007-03-10  Bruno Haible  <bruno@clisp.org>
52502
52503         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
52504         variable.
52505         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
52506         variable.
52507
52508 2007-03-09  Eric Blake  <ebb9@byu.net>
52509         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
52510
52511         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
52512         types are not being provided by gnulib.
52513         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
52514         types are supported.
52515
52516 2007-03-10  Bruno Haible  <bruno@clisp.org>
52517
52518         * lib/stdio_.h (__attribute__): New macro.
52519         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
52520         vsprintf): Specify __attribute__ __format__ for GCC.
52521         Suggested by Eric Blake.
52522
52523 2007-03-09  Bruno Haible  <bruno@clisp.org>
52524
52525         * modules/printf-posix-tests: New file.
52526         * tests/test-printf-posix.sh: New file.
52527         * tests/test-printf-posix.c: New file.
52528
52529         * modules/printf-posix: New file.
52530         * lib/printf.c: New file.
52531         * m4/printf-posix-rpl.m4: New file.
52532         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
52533         REPLACE_PRINTF.
52534         * lib/stdio_.h (printf): New declaration.
52535         (format, __format__, ____printf____, ____scanf____, ____strftime____,
52536         ____strfmon____): New macros.
52537         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
52538         REPLACE_PRINTF.
52539
52540 2007-03-09  Bruno Haible  <bruno@clisp.org>
52541
52542         * tests/test-vasnprintf-posix2.sh: New file.
52543         * tests/test-vasnprintf-posix2.c: New file.
52544         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
52545         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
52546         (Makefile.am): Activate test-vasnprintf-posix2.sh.
52547
52548         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
52549         a locale dependent decimal point, rather than always '.'.
52550
52551 2007-03-09  Eric Blake  <ebb9@byu.net>
52552
52553         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
52554         spite of platforms like Tandem/NSK that define it to -1.
52555
52556 2007-03-08  Bruno Haible  <bruno@clisp.org>
52557
52558         * modules/vprintf-posix-tests: New file.
52559         * tests/test-vprintf-posix.sh: New file.
52560         * tests/test-vprintf-posix.c: New file.
52561         * tests/test-printf-posix.h: New file.
52562
52563         * modules/vprintf-posix: New file.
52564         * lib/vprintf.c: New file.
52565         * m4/vprintf-posix.m4: New file.
52566         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
52567         REPLACE_VPRINTF.
52568         * lib/stdio_.h (vprintf): New declaration.
52569         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
52570         REPLACE_VPRINTF.
52571
52572 2007-03-08  Bruno Haible  <bruno@clisp.org>
52573
52574         * modules/fprintf-posix-tests: New file.
52575         * tests/test-fprintf-posix.sh: New file.
52576         * tests/test-fprintf-posix.c: New file.
52577
52578         * modules/fprintf-posix: New file.
52579         * lib/fprintf.c: New file.
52580         * m4/fprintf-posix.m4: New file.
52581         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
52582         REPLACE_FPRINTF.
52583         * lib/stdio_.h (fprintf): New declaration.
52584         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
52585         REPLACE_FPRINTF.
52586
52587 2007-03-08  Bruno Haible  <bruno@clisp.org>
52588
52589         * modules/vfprintf-posix-tests: New file.
52590         * tests/test-vfprintf-posix.sh: New file.
52591         * tests/test-vfprintf-posix.c: New file.
52592         * tests/test-fprintf-posix.h: New file.
52593         * tests/test-fprintf-posix.out: New file.
52594
52595         * modules/vfprintf-posix: New file.
52596         * lib/vfprintf.c: New file.
52597         * m4/vfprintf-posix.m4: New file.
52598         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
52599         REPLACE_VFPRINTF.
52600         * lib/stdio_.h (vfprintf): New declaration.
52601         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
52602         REPLACE_VFPRINTF.
52603
52604 2007-03-08  Bruno Haible  <bruno@clisp.org>
52605
52606         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
52607
52608 2007-03-08  Bruno Haible  <bruno@clisp.org>
52609
52610         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
52611         instead of 'expr' invocations.
52612         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52613         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52614         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52615         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52616         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52617         Suggested by Paul Eggert.
52618
52619 2007-03-08  Bruno Haible  <bruno@clisp.org>
52620
52621         * modules/fseterr-tests: New file.
52622         * tests/test-fseterr.c: New file.
52623
52624         * modules/fseterr: New file.
52625         * lib/fseterr.h: New file.
52626         * lib/fseterr.c: New file.
52627
52628 2007-03-08  Bruno Haible  <bruno@clisp.org>
52629
52630         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
52631         * lib/getopt_.h: Likewise.
52632         * lib/mbswidth.h: Likewise.
52633         * lib/setenv.h: Likewise.
52634         * lib/vasnprintf.h: Likewise.
52635         * lib/vasprintf.h: Likewise.
52636         * lib/verror.h: Likewise.
52637         * lib/xsetenv.h: Likewise.
52638         * lib/xvasprintf.h: Likewise.
52639
52640 2007-03-08  Jim Meyering  <jim@meyering.net>
52641
52642         * users.txt: Add parted.
52643
52644         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
52645
52646 2007-03-07  Bruno Haible  <bruno@clisp.org>
52647
52648         * m4/printf.m4: Make the shell script snippets copy&pastable.
52649
52650 2007-03-02  Bruno Haible  <bruno@clisp.org>
52651
52652         * lib/netinet_in_.h: New file.
52653         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
52654         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
52655         * modules/netinet_in (Files): Add lib/netinet_in_.h.
52656         (Depends-on): Add absolute-header.
52657         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
52658         into netinet/in.h.
52659
52660 2007-03-03  Bruno Haible  <bruno@clisp.org>
52661
52662         * lib/sys_select_.h: New file.
52663         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
52664         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
52665         * modules/sys_select (Files): Add lib/sys_select_.h.
52666         (Depends-on): Add absolute-header.
52667         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
52668         into sys/select.h.
52669
52670 2007-03-02  Bruno Haible  <bruno@clisp.org>
52671
52672         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
52673         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
52674         values.
52675         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
52676         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
52677         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
52678         * modules/sys_socket (Depends-on): Add absolute-header.
52679         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
52680         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
52681         (Include): Remove requirement of inclusion of <sys/types.h>.
52682
52683 2007-03-02  Bruno Haible  <bruno@clisp.org>
52684
52685         * lib/byteswap_.h (bswap_32): Fix formula.
52686
52687 2007-03-06  Bruno Haible  <bruno@clisp.org>
52688
52689         * modules/sprintf-posix-tests: New file.
52690         * tests/test-sprintf-posix.c: New file.
52691
52692         * modules/sprintf-posix: New file.
52693         * lib/sprintf.c: New file.
52694         * m4/sprintf-posix.m4: New file.
52695         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
52696         REPLACE_SPRINTF.
52697         * lib/stdio_.h (sprintf): New declaration.
52698         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
52699         REPLACE_SPRINTF.
52700
52701 2007-03-06  Bruno Haible  <bruno@clisp.org>
52702
52703         * modules/vsprintf-posix-tests: New file.
52704         * tests/test-vsprintf-posix.c: New file.
52705         * tests/test-sprintf-posix.h: New file.
52706
52707         * modules/vsprintf-posix: New file.
52708         * lib/vsprintf.c: New file.
52709         * m4/vsprintf-posix.m4: New file.
52710         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
52711         REPLACE_VSPRINTF.
52712         * lib/stdio_.h (vsprintf): New declaration.
52713         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
52714         REPLACE_VSPRINTF.
52715
52716 2007-03-06  Bruno Haible  <bruno@clisp.org>
52717
52718         * modules/vsnprintf (Depend-on): Remove minmax.
52719
52720 2007-03-06  Bruno Haible  <bruno@clisp.org>
52721
52722         * modules/snprintf-posix-tests: New file.
52723         * tests/test-snprintf-posix.c: New file.
52724
52725         * modules/snprintf-posix: New file.
52726         * m4/snprintf-posix.m4: New file.
52727         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
52728         gl_FUNC_SNPRINTF.
52729         (gl_FUNC_SNPRINTF): Invoke it.
52730         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
52731         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
52732         is set.
52733         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
52734
52735 2007-03-06  Bruno Haible  <bruno@clisp.org>
52736
52737         * modules/vsnprintf-posix-tests: New file.
52738         * tests/test-vsnprintf-posix.c: New file.
52739         * tests/test-snprintf-posix.h: New file.
52740
52741         * modules/vsnprintf-posix: New file.
52742         * m4/vsnprintf-posix.m4: New file.
52743         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
52744         gl_FUNC_VSNPRINTF.
52745         (gl_FUNC_VSNPRINTF): Invoke it.
52746         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
52747         * lib/stdio_.h (vsnprintf): Define as a replacement if
52748         REPLACE_VSNPRINTF is set.
52749         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
52750
52751 2007-03-06  Bruno Haible  <bruno@clisp.org>
52752
52753         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
52754         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
52755
52756 2007-03-06  Bruno Haible  <bruno@clisp.org>
52757
52758         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
52759         (asinl): Declare also if HAVE_DECL_ASINL is set.
52760         (atanl): Declare also if HAVE_DECL_ATANL is set.
52761         (ceill): Declare also if HAVE_DECL_CEILL is set.
52762         (cosl): Declare also if HAVE_DECL_COSL is set.
52763         (expl): Declare also if HAVE_DECL_EXPL is set.
52764         (floorl): Declare also if HAVE_DECL_FLOORL is set.
52765         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
52766         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
52767         (logl): Declare also if HAVE_DECL_LOGL is set.
52768         (sinl): Declare also if HAVE_DECL_SINL is set.
52769         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
52770         (tanl): Declare also if HAVE_DECL_TANL is set.
52771         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
52772         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
52773         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
52774         declaration of frexpl, ldexpl.
52775         * modules/printf-frexpl (Depends-on): Add math.
52776         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
52777
52778 2007-03-05  Bruno Haible  <bruno@clisp.org>
52779
52780         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
52781         frexpl and ldexpl are declared.
52782         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
52783
52784 2007-03-05  Bruno Haible  <bruno@clisp.org>
52785
52786         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
52787         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
52788
52789 2007-03-05  Bruno Haible  <bruno@clisp.org>
52790
52791         * lib/stdio_.h: Include <stddef.h>.
52792
52793 2007-03-05  Bruno Haible  <bruno@clisp.org>
52794
52795         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
52796
52797 2007-03-05  Bruno Haible  <bruno@clisp.org>
52798
52799         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
52800         NetBSD 4, from Ralf Wildenhues.
52801
52802 2007-03-04  Bruno Haible  <bruno@clisp.org>
52803
52804         * lib/vasprintf.h: Update #if logic for the case when the functions
52805         exist but are overridden.
52806
52807 2007-03-04  Bruno Haible  <bruno@clisp.org>
52808
52809         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
52810         implementations: glibc-2.4 and MacOS X 10.3.
52811         * tests/test-vasnprintf-posix.c (test_function): Test also the case
52812         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
52813         * tests/test-vasprintf-posix.c (test_function): Likewise.
52814
52815 2007-03-04  Bruno Haible  <bruno@clisp.org>
52816
52817         * modules/vasprintf-posix-tests: New file.
52818         * tests/test-vasprintf-posix.c: New file.
52819
52820         * modules/vasprintf-posix: New file.
52821         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
52822         defined.
52823         * m4/vasprintf-posix.m4: New file.
52824         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
52825         gl_FUNC_VASPRINTF.
52826         (gl_FUNC_VASPRINTF): Invoke it.
52827         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
52828         here.
52829         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
52830
52831 2007-03-04  Bruno Haible  <bruno@clisp.org>
52832
52833         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
52834         REPLACE_GETTIMEOFDAY.
52835         * modules/sys_time (Makefile.am): Likewise.
52836         * m4/sys_time_h.m4: Likewise.
52837         * m4/gettimeofday.m4: Likewise.
52838
52839 2007-03-04  Bruno Haible  <bruno@clisp.org>
52840
52841         * modules/vasnprintf-posix-tests: New file.
52842         * tests/test-vasnprintf-posix.c: New file.
52843
52844         * modules/vasnprintf-posix: New file.
52845         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
52846         printf-frexpl.h.
52847         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
52848         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
52849         REPLACE_VASNPRINTF is defined.
52850         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
52851         gl_FUNC_VASNPRINTF.
52852         (gl_FUNC_VASNPRINTF): Invoke it.
52853         * m4/vasnprintf-posix.m4: New file.
52854         * m4/printf.m4: New file.
52855
52856 2007-03-04  Bruno Haible  <bruno@clisp.org>
52857
52858         Compile progreloc.c only if --enable-relocatable is specified.
52859         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
52860         if --enable-relocatable was specified.
52861         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
52862         lib_SOURCES.
52863
52864 2007-03-04  Jim Meyering  <jim@meyering.net>
52865
52866         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
52867         Use it consistently, rather than enumerating errno constants.
52868
52869 2007-03-04  Bruno Haible  <bruno@clisp.org>
52870
52871         * modules/xvasprintf-tests: New file.
52872         * tests/test-xvasprintf.c: New file.
52873
52874         * modules/vasprintf-tests: New file.
52875         * tests/test-vasprintf.c: New file.
52876
52877         * modules/vasnprintf-tests: New file.
52878         * tests/test-vasnprintf.c: New file.
52879
52880         * modules/vsnprintf-tests: New file.
52881         * tests/test-vsnprintf.c: New file.
52882
52883         * modules/snprintf-tests: New file.
52884         * tests/test-snprintf.c: New file.
52885
52886 2007-03-04  Bruno Haible  <bruno@clisp.org>
52887
52888         Compile relocatable.c only if --enable-relocatable is specified.
52889         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
52890         gl_RELOCATABLE_LIBRARY.
52891         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
52892         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
52893         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
52894         gl_RELOCATABLE_LIBRARY.
52895         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
52896         (Makefile.am): Remove lib_SOURCES.
52897         * modules/relocatable-lib-lgpl (configure.ac): Invoke
52898         gl_RELOCATABLE_LIBRARY.
52899         (Makefile.am): Remove lib_SOURCES.
52900         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
52901         always.
52902         * modules/relocatable-prog-wrapper (configure.ac): Invoke
52903         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
52904
52905 2007-03-04  Bruno Haible  <bruno@clisp.org>
52906
52907         * modules/argmatch-tests: New file.
52908         * tests/test-argmatch.c: New file.
52909
52910         * tests/test-allocsa.c (main): Halve the number of loop runs.
52911
52912         * modules/alloca-opt-tests: New file.
52913         * tests/test-alloca-opt.c: New file.
52914
52915 2007-03-04  Jim Meyering  <jim@meyering.net>
52916
52917         Work around difference between Linux ACLs and Solaris 10 ZFS.
52918         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
52919         for EINVAL.
52920
52921 2007-03-03  Bruno Haible  <bruno@clisp.org>
52922
52923         * modules/relocatable-prog (Depends-on): Add back progreloc's
52924         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
52925
52926 2007-03-03  Bruno Haible  <bruno@clisp.org>
52927
52928         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
52929         * modules/relocatable-lib: New file.
52930
52931 2007-03-03  Bruno Haible  <bruno@clisp.org>
52932
52933         * modules/relocatable-prog: Renamed from modules/relocatable.
52934         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
52935
52936 2007-03-03  Bruno Haible  <bruno@clisp.org>
52937
52938         * modules/relocatable-script (Files): Add doc/relocatable.texi,
52939         m4/relocatable-lib.m4.
52940         (Depends-on): Remove 'relocatable'.
52941         (configure.ac): Add gl_RELOCATABLE_NOP.
52942
52943 2007-03-03  Bruno Haible  <bruno@clisp.org>
52944
52945         * modules/relocatable-prog-wrapper: New file.
52946         * modules/relocatable (Depends-on): Add it. Remove all other
52947         dependencies except progname.
52948         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
52949
52950         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
52951         (gl_FUNC_STRERROR): Nop.
52952         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
52953
52954         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
52955         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
52956
52957         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
52958         (gl_FUNC_READLINK): Update.
52959
52960         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
52961
52962 2007-03-03  Bruno Haible  <bruno@clisp.org>
52963
52964         * lib/xreadlink.c: Include <unistd.h> unconditionally.
52965         * modules/xreadlink (Depends-on): Add unistd.
52966         * modules/xreadlink-with-size (Depends-on): Likewise.
52967
52968 2007-03-03  Bruno Haible  <bruno@clisp.org>
52969
52970         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
52971         extracted from gt_FUNC_SETENV.
52972         (gt_FUNC_SETENV): Remove macro.
52973         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
52974         remove gt_FUNC_SETENV.
52975
52976 2007-03-03  Bruno Haible  <bruno@clisp.org>
52977
52978         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
52979         ENABLE_RELOCATABLE here.
52980         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
52981
52982 2007-03-03  Bruno Haible  <bruno@clisp.org>
52983
52984         * modules/rbtreehash-list-tests (Depends-on): Add progname.
52985         * tests/test-rbtreehash_list.c: Include progname.h.
52986         (main): Call set_program_name.
52987
52988         * modules/rbtree-oset-tests (Depends-on): Add progname.
52989         * tests/test-rbtree_oset.c: Include progname.h.
52990         (main): Call set_program_name.
52991
52992         * modules/rbtree-list-tests (Depends-on): Add progname.
52993         * tests/test-rbtree_list.c: Include progname.h.
52994         (main): Call set_program_name.
52995
52996         * modules/linked-list-tests (Depends-on): Add progname.
52997         * tests/test-linked_list.c: Include progname.h.
52998         (main): Call set_program_name.
52999
53000 2007-03-03  Bruno Haible  <bruno@clisp.org>
53001
53002         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
53003         All uses of __restrict changed to _Restrict_.
53004         * lib/glob_.h (__restrict): Remove macro.
53005
53006 2007-03-02  Bruno Haible  <bruno@clisp.org>
53007
53008         * modules/gettext (configure.ac): Require gettext infrastructure
53009         from version 0.16.1.
53010
53011 2007-03-02  Bruno Haible  <bruno@clisp.org>
53012
53013         * modules/linkedhash-list-tests (Depends-on): Add progname.
53014         * tests/test-linkedhash_list.c: Include progname.h.
53015         (main): Call set_program_name.
53016
53017         * modules/carray-list-tests (Depends-on): Add progname.
53018         * tests/test-carray_list.c: Include progname.h.
53019         (main): Call set_program_name.
53020
53021         * modules/avltreehash-list-tests (Depends-on): Add progname.
53022         * tests/test-avltreehash_list.c: Include progname.h.
53023         (main): Call set_program_name.
53024
53025         * modules/avltree-oset-tests (Depends-on): Add progname.
53026         * tests/test-avltree_oset.c: Include progname.h.
53027         (main): Call set_program_name.
53028
53029         * modules/avltree-list-tests (Depends-on): Add progname.
53030         * tests/test-avltree_list.c: Include progname.h.
53031         (main): Call set_program_name.
53032
53033         * modules/array-oset-tests (Depends-on): Add progname.
53034         * tests/test-array_oset.c: Include progname.h.
53035         (main): Call set_program_name.
53036
53037         * modules/array-list-tests (Depends-on): Add progname.
53038         * tests/test-array_list.c: Include progname.h.
53039         (main): Call set_program_name.
53040
53041         * modules/argp-tests (Depends-on): Add progname.
53042         * tests/test-argp.c: Include argp.h first. Include progname.h.
53043         (main): Call set_program_name.
53044
53045 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
53046
53047         * doc/gnulib-tool.texi (Initial import): Reword description of
53048         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
53049         limited effect even if defined after the first system include.
53050
53051 2007-03-01  Bruno Haible  <bruno@clisp.org>
53052
53053         * build-aux/config.libpath: Update to libtool-1.5.22.
53054         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53055
53056 2007-03-01  Bruno Haible  <bruno@clisp.org>
53057
53058         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
53059         foo_CFLAGS.
53060         Reported by Ralf Wildenhues.
53061
53062 2007-03-01  Bruno Haible  <bruno@clisp.org>
53063
53064         * build-aux/install-reloc: Remove object files left over by some
53065         compilers.
53066         Reported by Ralf Wildenhues.
53067
53068 2007-03-01  Bruno Haible  <bruno@clisp.org>
53069
53070         * build-aux/install-reloc: Break long lines.
53071
53072 2007-03-01  Bruno Haible  <bruno@clisp.org>
53073
53074         * doc/relocatable.texi: Document that it may not work on OpenBSD.
53075         Reported by Ralf Wildenhues.
53076
53077 2007-03-01  Bruno Haible  <bruno@clisp.org>
53078
53079         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
53080         include ordering constraints.
53081
53082 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53083
53084         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
53085         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
53086         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
53087         as another example.
53088         * lib/time_.h: Fix misspelling.
53089         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53090         Require gl_HEADER_TIME_H_DEFAULTS.
53091         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
53092         * m4/time_r.m4 (gl_TIME_R): Likewise.
53093         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
53094
53095 2007-03-01  Bruno Haible  <bruno@clisp.org>
53096
53097         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
53098         * m4/utimens.m4 (gl_UTIMENS): Likewise.
53099
53100 2007-03-01  Jim Meyering  <jim@meyering.net>
53101
53102         * modules/xreadlink (Maintainer): Add my name.
53103         * modules/xreadlink-with-size (Depends-on): Alphabetize.
53104
53105 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
53106             Bruno Haible  <bruno@clisp.org>
53107
53108         * build-aux/install-reloc: Compile also c-ctype.c.
53109         * build-aux/relocatable.sh.in: New file.
53110         * doc/relocatable.texi: New file.
53111         * doc/relocatable-maint.texi: New file.
53112         * doc/gnulib.texi: Include relocatable-maint.texi.
53113         * lib/progreloc.c: Include unistd.h unconditionally.
53114         * lib/relocwrapper.c: Include unistd.h unconditionally.
53115         Include c-ctype.h.
53116         (add_dotbin): Use c_tolower.
53117         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
53118         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
53119         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
53120         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
53121         to m4/relocatable-lib.m4.
53122         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
53123         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
53124         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
53125         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
53126         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
53127         * modules/relocatable: New file.
53128         * modules/relocatable-lib: New file.
53129         * modules/relocatable-script: New file.
53130
53131 2007-02-28  Bruno Haible  <bruno@clisp.org>
53132
53133         Import --enable-relocatable infrastructure.
53134         * build-aux/config.libpath: New file, from GNU gettext.
53135         * build-aux/install-reloc: New file, from GNU gettext.
53136         * build-aux/reloc-ldflags: New file, from GNU gettext.
53137         * lib/relocatable.h: New file, from GNU gettext.
53138         * lib/relocatable.c: New file, from GNU gettext.
53139         * lib/relocwrapper.c: New file, from GNU gettext.
53140         * m4/relocatable.m4: New file, from GNU gettext.
53141
53142 2007-02-28  Bruno Haible  <bruno@clisp.org>
53143
53144         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
53145
53146         * modules/xreadlink: New file, from GNU gettext with modifications.
53147         * lib/xreadlink.c: New file, from GNU gettext.
53148         * lib/xreadlink.h: Add comments.
53149         (xreadlink): New declaration.
53150
53151         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
53152         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
53153         lib/xreadlink-with-size.c.
53154         (configure.ac): Remove gl_XREADLINK invocation.
53155         (Makefile.am): Augment lib_SOURCES.
53156         * m4/xreadlink.m4: Remove file.
53157         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
53158         (xreadlink_with_size): Renamed from xreadink.
53159         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
53160         * modules/canonicalize (Depends-on): Replace xreadlink with
53161         xreadlink-with-size.
53162         * lib/canonicalize.c (canonicalize_filename_mode): Update.
53163
53164 2007-02-25  Jim Meyering  <jim@meyering.net>
53165
53166         * build-aux/announce-gen: When complaining about excess arguments,
53167         list them.
53168
53169 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53170
53171         * README: Document signed integer overflow situation more
53172         accurately.
53173
53174 2007-02-25  Bruno Haible  <bruno@clisp.org>
53175
53176         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
53177         'a' or 'A' conversion.
53178
53179 2007-02-25  Bruno Haible  <bruno@clisp.org>
53180
53181         * modules/filename: Renamed from modules/pathname.
53182         (Files): Replace lib/pathname.h with lib/filename.h. Replace
53183         lib/concatpath.c with lib/concat-filename.c.
53184         (Makefile.am): Update.
53185         (Include): Replace pathname.h with filename.h.
53186         * lib/filename.h: Renamed from lib/pathname.h.
53187         (concatenated_filename): Renamed from concatenated_pathname.
53188         * lib/concat-filename.c: Renamed from lib/concatpath.c.
53189         (concatenated_filename): Renamed from concatenated_pathname.
53190         * lib/findprog.c: Include filename.h instead of pathname.h.
53191         (find_in_path): Update.
53192         * lib/javacomp.c: Include filename.h instead of pathname.h.
53193         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53194         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53195         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53196         is_oldgcj_14_13_usable, is_javac_usable): Update.
53197         * lib/javaexec.c: Include filename.h instead of pathname.h.
53198         (execute_java_class): Update.
53199         * modules/findprog: Update.
53200         * modules/javacomp: Update.
53201         * modules/javaexec: Update.
53202         * MODULES.html.sh (File system functions): Add 'filename', remove
53203         'pathname'.
53204
53205 2007-02-25  Bruno Haible  <bruno@clisp.org>
53206
53207         * modules/printf-frexpl-tests: New file.
53208         * tests/test-printf-frexpl.c: New file.
53209
53210         * modules/printf-frexpl: New file.
53211         * lib/printf-frexpl.h: New file.
53212         * lib/printf-frexpl.c: New file.
53213         * m4/printf-frexpl.m4: New file.
53214
53215 2007-02-25  Bruno Haible  <bruno@clisp.org>
53216
53217         * modules/printf-frexp-tests: New file.
53218         * tests/test-printf-frexp.c: New file.
53219
53220         * modules/printf-frexp: New file.
53221         * lib/printf-frexp.h: New file.
53222         * lib/printf-frexp.c: New file.
53223         * m4/printf-frexp.m4: New file.
53224
53225 2007-02-25  Bruno Haible  <bruno@clisp.org>
53226
53227         Assume automake >= 1.10 for the tests.
53228         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
53229         * modules/arctwo-tests: Likewise.
53230         * modules/argp-tests: Likewise.
53231         * modules/avltree-list-tests: Likewise.
53232         * modules/avltree-oset-tests: Likewise.
53233         * modules/avltreehash-list-tests: Likewise.
53234         * modules/carray-list-tests: Likewise.
53235         * modules/crc-tests: Likewise.
53236         * modules/des-tests: Likewise.
53237         * modules/gc-arcfour-tests: Likewise.
53238         * modules/gc-arctwo-tests: Likewise.
53239         * modules/gc-des-tests: Likewise.
53240         * modules/gc-hmac-md5-tests: Likewise.
53241         * modules/gc-hmac-sha1-tests: Likewise.
53242         * modules/gc-md2-tests: Likewise.
53243         * modules/gc-md4-tests: Likewise.
53244         * modules/gc-md5-tests: Likewise.
53245         * modules/gc-pbkdf2-sha1-tests: Likewise.
53246         * modules/gc-rijndael-tests: Likewise.
53247         * modules/gc-sha1-tests: Likewise.
53248         * modules/gc-tests: Likewise.
53249         * modules/getaddrinfo-tests: Likewise.
53250         * modules/hmac-md5-tests: Likewise.
53251         * modules/hmac-sha1-tests: Likewise.
53252         * modules/linked-list-tests: Likewise.
53253         * modules/linkedhash-list-tests: Likewise.
53254         * modules/lock-tests: Likewise.
53255         * modules/md2-tests: Likewise.
53256         * modules/md4-tests: Likewise.
53257         * modules/md5-tests: Likewise.
53258         * modules/rbtree-list-tests: Likewise.
53259         * modules/rbtree-oset-tests: Likewise.
53260         * modules/rbtreehash-list-tests: Likewise.
53261         * modules/read-file-tests: Likewise.
53262         * modules/rijndael-tests: Likewise.
53263         * modules/stdint-tests: Likewise.
53264         * modules/tls-tests: Likewise.
53265
53266 2007-02-24  Bruno Haible  <bruno@clisp.org>
53267
53268         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
53269         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
53270         function; instead check whether isnan with a double argument links.
53271         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
53272         function; instead check whether isnan with a 'long double' argument
53273         links.
53274         Reported by Eric Blake <ebb9@byu.net>.
53275
53276 2007-02-24  Bruno Haible  <bruno@clisp.org>
53277
53278         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
53279         defined.
53280         * lib/isnanl.c: Remove all code. Just include isnan.c.
53281         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
53282
53283 2007-02-25  Jim Meyering  <jim@meyering.net>
53284
53285         Avoid conflicting types for 'unsetenv' on FreeBSD.
53286         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
53287         conflicting with FreeBSD's (5.0 and 6.1) function declaration
53288         in stdlib.h.
53289
53290 2007-02-24  Bruno Haible  <bruno@clisp.org>
53291
53292         * modules/isnanl-nolibm-tests: New file.
53293         * tests/test-isnanl.c: New file.
53294
53295         * modules/isnanl-nolibm: New file.
53296         * lib/isnanl.h: New file.
53297         * lib/isnanl.c: New file.
53298         * m4/isnanl.m4: New file.
53299
53300 2007-02-24  Bruno Haible  <bruno@clisp.org>
53301
53302         * modules/isnan-nolibm-tests: New file.
53303         * tests/test-isnan.c: New file.
53304
53305         * modules/isnan-nolibm: New file.
53306         * lib/isnan.h: New file.
53307         * lib/isnan.c: New file.
53308         * m4/isnan.m4: New file.
53309
53310 2007-02-24  Bruno Haible  <bruno@clisp.org>
53311
53312         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
53313         assume that an exponent fits in 20 bits.
53314
53315 2007-02-24  Jim Meyering  <jim@meyering.net>
53316
53317         * m4/regex.m4: Update the description of the configure-time option,
53318         --without-included-regex, to state accurately what the defaults are,
53319         and perhaps to give people an idea why using this option is risky.
53320
53321 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
53322
53323         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
53324         loops on small arguments.  This attempts to avoid the problem
53325         Bruno Haible reported for AIX 4.3.2 in
53326         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
53327
53328 2007-02-23  Bruno Haible  <bruno@clisp.org>
53329
53330         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
53331         Needed for help2man.
53332
53333 2007-02-23  Karl Berry  <karl@gnu.org>
53334
53335         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
53336         exists, foo.h should be cvs-ignored, not committed.
53337
53338 2007-02-23  Eric Blake  <ebb9@byu.net>
53339
53340         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
53341         * lib/stat-time.h (includes): Likewise.
53342         * lib/utimecmp.c (includes): Likewise.
53343         * lib/utimens.h (includes): Likewise.
53344         * lib/getdate.y (includes): Also include "timespec.h" for use
53345         internal to the module.
53346         * modules/utimens (Depends-on): Revert yesterday's patch.
53347         * modules/nanosleep (Depends-on): Add missing dependency.
53348
53349 2007-02-22  Bruno Haible  <bruno@clisp.org>
53350
53351         * lib/glob.c: Don't include getlogin_r.h.
53352
53353 2007-02-22  Jim Meyering  <jim@meyering.net>
53354
53355         * modules/utimens (Depends-on): Add timespec, required for
53356         utimens.h's inclusion of timespec.h.
53357
53358 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
53359
53360         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
53361         long unreadable paths in GNU/Linux.  Problem reported by Andreas
53362         Schwab in
53363         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
53364         I'll try to think of a better way to fix the Solaris problem.
53365
53366         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
53367         like glibc; on Solaris 10, it fails with errno == EINVAL.
53368         POSIX says the behavior is unspecified if the first argument is NULL,
53369         so play it safe and never pass NULL to the system getcwd.
53370
53371 2007-02-21  Jim Meyering  <jim@meyering.net>
53372
53373         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
53374         of gettimeofday.  It would conflict with the one now always
53375         provided via sys_time_.h.  Reported by Matthew Woehlke, as
53376         an IRIX 6.5 build failure.
53377
53378 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
53379
53380         Minor fixups to port to Solaris 10 with Sun C 5.8.
53381         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
53382         * modules/getcwd (Depends-on): Add dirfd.
53383         * lib/putenv.c (putenv): #undef it.
53384         (rpl_putenv): New decl.
53385         (malloc, free): Include <stdlib.h> rather than prototyping separately.
53386
53387 2007-02-20  Bruno Haible  <bruno@clisp.org>
53388
53389         * modules/stdio-tests: New file.
53390         * tests/test-stdio.c: New file.
53391
53392         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
53393         (Depends-on): Add stdio.
53394         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53395         (Include): Use <stdio.h> instead of vsnprintf.h.
53396         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53397         HAVE_DECL_VSNPRINTF.
53398         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
53399
53400         * modules/snprintf (Files): Remove lib/snprintf.h.
53401         (Depends-on): Add stdio.
53402         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53403         (Include): Use <stdio.h> instead of snprintf.h.
53404         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53405         HAVE_DECL_SNPRINTF.
53406         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
53407         * lib/getaddrinfo.c: Likewise.
53408
53409         * modules/stdio: New file.
53410         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
53411         * lib/snprintf.h: Remove file.
53412         * lib/vsnprintf.h: Remove file.
53413         * lib/.cppi-disable: Remove snprintf.h.
53414         * m4/stdio_h.m4: New file.
53415         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
53416
53417 2007-02-20  Jim Meyering  <jim@meyering.net>
53418
53419         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
53420         used by e.g., mingw.  From Bruno Haible.
53421
53422 2007-02-19  Bruno Haible  <bruno@clisp.org>
53423
53424         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
53425         warnings.
53426         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53427
53428 2007-02-19  Bruno Haible  <bruno@clisp.org>
53429
53430         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
53431         from mingw users.
53432
53433 2007-02-19  Bruno Haible  <bruno@clisp.org>
53434
53435         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
53436         warnings.
53437         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
53438
53439 2007-02-19  Jim Meyering  <jim@meyering.net>
53440
53441         Don't use FD after a successful "fdopendir (fd)".
53442         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
53443         Reset it by calling dirfd on the just-obtained DIR*.
53444
53445         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
53446         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
53447
53448 2007-02-18  Bruno Haible  <bruno@clisp.org>
53449
53450         * lib/readlink.c: Include <unistd.h>.
53451         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
53452         HAVE_READLINK.
53453         * modules/readlink (Depends-on): Add unistd.
53454         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53455         (Include): Add <unistd.h>.
53456
53457         * lib/getlogin_r.h: Remove file.
53458         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
53459         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
53460         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
53461         HAVE_DECL_GETLOGIN_R.
53462         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
53463         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53464         (Include): Use <unistd.h> instead of getlogin_r.h.
53465
53466         * lib/getcwd.h: Remove file.
53467         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
53468         * lib/xgetcwd.c: Likewise.
53469         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
53470         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
53471         * modules/getcwd (Files): Remove lib/getcwd.h.
53472         (Depends-on): Add unistd.
53473         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53474         (Include): Use <unistd.h> instad of getcwd.h.
53475
53476         * lib/ftruncate.c: Include <unistd.h> first.
53477         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
53478         Set HAVE_FTRUNCATE.
53479         * modules/ftruncate (Depends-on): Add unistd.
53480         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53481
53482         * lib/fchdir.c: Include <unistd.h> first.
53483         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
53484         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
53485         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
53486         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53487         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
53488
53489         * lib/dup2.c: Include <unistd.h> first.
53490         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
53491         HAVE_DUP2.
53492         * modules/dup2 (Depends-on): Add unistd.
53493         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53494
53495         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
53496         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
53497         REPLACE_CHOWN. Don't define chown as a macro here.
53498         * modules/chown (Depends-on): Add unistd.
53499         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53500
53501         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
53502         Add definition for GL_LINK_WARNING.
53503         (chown, dup2): New declarations.
53504         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
53505         link warning.
53506         (ftruncate): New declaration.
53507         (getcwd): New declaration, taken from old getcwd.h.
53508         (getlogin_r): New declaration, taken from old getlogin_r.h.
53509         (readlink): New declaration.
53510         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
53511         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
53512         (gl_PREREQ_UNISTD): Remove macro.
53513         (gl_UNISTD_MODULE_INDICATOR): New macro.
53514         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
53515         many new variables. Don't set UNISTD_H.
53516         * modules/unistd (Description): Change.
53517         (Depends-on): Add link-warning.
53518         (configure.ac): Update.
53519         (Makefile.am): Create unistd.h always. Substitute many new variables
53520         into it.
53521
53522 2007-02-18  Bruno Haible  <bruno@clisp.org>
53523
53524         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
53525         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
53526         HAVE_GETSUBOPT.
53527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
53528         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
53529         * lib/getsubopt.h: Remove file.
53530         * modules/getsubopt (Files): Remove lib/getsubopt.h.
53531         (Depends-on): Add stdlib.
53532         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53533         (Includes): Use <stdlib.h> instead of getsubopt.h.
53534         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
53535         Set HAVE_GETSUBOPT.
53536         * lib/getsubopt.c: Don't include getsubopt.h.
53537
53538 2007-02-18  Bruno Haible  <bruno@clisp.org>
53539
53540         * modules/fchdir (Depends-on): Add dup2.
53541
53542 2007-02-18  Bruno Haible  <bruno@clisp.org>
53543
53544         * lib/stdlib_.h: Handle glibc's special invocation convention
53545         specially.
53546
53547 2007-02-18  Bruno Haible  <bruno@clisp.org>
53548
53549         * modules/stdlib-tests: New file.
53550         * tests/test-stdlib.c: New file.
53551
53552         * modules/mkstemp (Files): Remove lib/mkstemp.h.
53553         (Depends-on): Add stdlib.
53554         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53555         (Includes): Use <stdlib.h> instead of mkstemp.h.
53556         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53557         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
53558         * lib/mkstemp.c: Don't include mkstemp.h.
53559         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
53560         * lib/stdlib--.h: Don't include mkstemp.h.
53561
53562         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
53563         (Depends-on): Add stdlib.
53564         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53565         (Includes): Use <stdlib.h> instead of mkdtemp.h.
53566         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53567         HAVE_MKDTEMP.
53568         * lib/mkdtemp.c: Don't include mkdtemp.h.
53569         * lib/clean-temp.c: Don't include mkdtemp.h.
53570
53571         * modules/exit (Files): Remove lib/exit.h.
53572         (Depends-on): Add stdlib.
53573         (Makefile.am): Remove lib_SOURCES.
53574         (Include): Use <stdlib.h> instead of exit.h.
53575         * lib/argmatch.c: Don't include exit.h.
53576         * lib/execute.c: Likewise.
53577         * lib/pagealign_alloc.c: Likewise.
53578         * lib/pipe.c: Likewise.
53579         * lib/wait-process.c: Likewise.
53580         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
53581         * lib/exitfail.c: Likewise.
53582         * lib/savewd.c: Likewise.
53583         * lib/xsetenv.c: Likewise.
53584
53585         * modules/stdlib: New file.
53586         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
53587         and extra comments about mkstemp().
53588         * lib/exit.h: Remove file.
53589         * lib/mkdtemp.h: Remove file.
53590         * lib/mkstemp.h: Remove file.
53591         * m4/stdlib_h.m4: New file.
53592         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
53593
53594 2007-02-18  Bruno Haible  <bruno@clisp.org>
53595
53596         * modules/math-tests: New file.
53597         * tests/test-math.c: New file.
53598
53599         * modules/math: New file.
53600         * modules/mathl (Files): Remove lib/mathl.h.
53601         (Depends-on): Add math.
53602         (Makefile.am): Don't mention mathl.h.
53603         (Include): Use <math.h> instead of mathl.h.
53604         * lib/math_.h: New file.
53605         * lib/mathl.h: Remove file.
53606         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
53607         mathl.h.
53608         * lib/asinl.c: Likewise.
53609         * lib/atanl.c: Likewise.
53610         * lib/ceill.c: Likewise.
53611         * lib/cosl.c: Likewise.
53612         * lib/expl.c: Likewise.
53613         * lib/floorl.c: Likewise.
53614         * lib/frexpl.c: Likewise.
53615         * lib/ldexpl.c: Likewise.
53616         * lib/logl.c: Likewise.
53617         * lib/sincosl.c: Likewise.
53618         * lib/sinl.c: Likewise.
53619         * lib/sqrtl.c: Likewise.
53620         * lib/tanl.c: Likewise.
53621         * lib/trigl.c: Likewise.
53622         * m4/math_h.m4: New file.
53623         * MODULES.html.sh (Mathematics): Add math.
53624
53625 2007-02-17  Bruno Haible  <bruno@clisp.org>
53626
53627         * modules/wctype-tests: New file.
53628         * tests/test-wctype.c: New file.
53629
53630         * modules/wchar-tests: New file.
53631         * tests/test-wchar.c: New file.
53632
53633         * modules/unistd-tests: New file.
53634         * tests/test-unistd.c: New file.
53635
53636         * modules/time-tests: New file.
53637         * tests/test-time.c: New file.
53638
53639         * modules/sysexits-tests: New file.
53640         * tests/test-sysexits.c: New file.
53641
53642         * modules/sys_time-tests: New file.
53643         * tests/test-sys_time.c: New file.
53644
53645         * modules/sys_stat-tests: New file.
53646         * tests/test-sys_stat.c: New file.
53647
53648         * modules/sys_socket-tests: New file.
53649         * tests/test-sys_socket.c: New file.
53650
53651         * modules/sys_select-tests: New file.
53652         * tests/test-sys_select.c: New file.
53653
53654         * modules/string-tests: New file.
53655         * tests/test-string.c: New file.
53656
53657         * modules/stdbool-tests: New file.
53658         * tests/test-stdbool.c: New file.
53659
53660         * modules/netinet_in-tests: New file.
53661         * tests/test-netinet_in.c: New file.
53662
53663         * modules/inttypes-tests: New file.
53664         * tests/test-inttypes.c: New file.
53665
53666         * modules/fcntl-tests: New file.
53667         * tests/test-fcntl.c: New file.
53668
53669         * modules/byteswap-tests: New file.
53670         * tests/test-byteswap.c: New file.
53671
53672         * modules/arpa_inet-tests: New file.
53673         * tests/test-arpa_inet.c: New file.
53674
53675 2007-02-17  Bruno Haible  <bruno@clisp.org>
53676
53677         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
53678         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
53679         if the corresponding module is not enabled. Emit link warnings if
53680         the function is used nevertheless.
53681         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
53682         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
53683         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
53684         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
53685         * modules/inttypes (Depends-on): Add link-warning.
53686         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53687         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
53688         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
53689         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
53690         * modules/imaxdiv (configure.ac): Likewise.
53691         * modules/strtoimax (configure.ac): Likewise.
53692         * modules/strtoumax (configure.ac): Likewise.
53693
53694 2007-02-17  Bruno Haible  <bruno@clisp.org>
53695
53696         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
53697         gl_STRING_MODULE_INDICATOR_DEFAULTS.
53698         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
53699         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
53700
53701 2007-02-17  Bruno Haible  <bruno@clisp.org>
53702
53703         * modules/link-warning: New file.
53704         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
53705         * lib/string_.h (GL_LINK_WARNING): Remove definition.
53706         * modules/string (Depends-on): Add link-warning.
53707         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53708         string.h.
53709         * MODULES.html.sh (Support for building libraries and executables): Add
53710         link-warning.
53711
53712 2007-02-17  Bruno Haible  <bruno@clisp.org>
53713
53714         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
53715         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
53716         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
53717         long lines.
53718
53719 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
53720             Bruno Haible  <bruno@clisp.org>
53721
53722         * modules/tmpfile: New file.
53723         * lib/tmpfile.c: New file.
53724         * m4/tmpfile.m4: New file.
53725         * MODULES.html.sh (func_all_modules): New section "Input/output".
53726
53727 2007-02-15  Bruno Haible  <bruno@clisp.org>
53728
53729         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
53730         (supports_delete_on_close): New function.
53731         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
53732
53733 2007-02-14  Bruno Haible  <bruno@clisp.org>
53734
53735         * modules/mbspcasecmp-tests: New file.
53736         * tests/test-mbspcasecmp.sh: New file.
53737         * tests/test-mbspcasecmp.c: New file.
53738
53739         New module mbspcasecmp.
53740         * modules/mbspcasecmp: New file.
53741         * lib/mbspcasecmp.c: New file.
53742         * lib/string_.h (strncasecmp): Change warning message.
53743         (mbspcasecmp): New declaration.
53744         * m4/mbspcasecmp.m4: New file.
53745         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53746         GNULIB_MBSPCASECMP.
53747         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
53748         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
53749
53750 2007-02-14  Bruno Haible  <bruno@clisp.org>
53751
53752         * modules/mbsncasecmp-tests: New file.
53753         * tests/test-mbsncasecmp.sh: New file.
53754         * tests/test-mbsncasecmp.c: New file.
53755
53756         New module mbsncasecmp.
53757         * modules/mbsncasecmp: New file.
53758         * lib/mbsncasecmp.c: New file.
53759         * lib/string_.h (mbsncasecmp): New declaration.
53760         * m4/mbsncasecmp.m4: New file.
53761         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53762         GNULIB_MBSNCASECMP.
53763         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
53764         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
53765
53766 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
53767
53768         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
53769         Verify that it doesn't overlap with our flags.
53770         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
53771         do not have the desired effect in multibyte locales; instead, use
53772         mbscasecmp.
53773         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
53774         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
53775         we don't require GNU fnmatch ourselves (if our users require it, they
53776         should do so explicitly).
53777
53778         Fix regex code so it doesn't rely on strcasecmp.
53779         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
53780         Otherwise, include gnulib's langinfo.h.
53781         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
53782         undesirable behavior in non-C locales.  Instead, rely on localecharset.
53783         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
53784         * modules/regex (FILES): Remove m4/codeset.m4.
53785         (Depends-on): Add localcharset.  Remove strcase.
53786
53787 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53788
53789         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
53790         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
53791
53792 2007-02-13  Bruno Haible  <bruno@clisp.org>
53793
53794         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
53795         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53796
53797 2007-02-12  Bruno Haible  <bruno@clisp.org>
53798
53799         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
53800         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
53801         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
53802         time warning rather than a link error.
53803
53804 2007-02-12  Bruno Haible  <bruno@clisp.org>
53805
53806         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
53807         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
53808         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53809
53810 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53811
53812         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
53813         args, not 2.
53814
53815 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53816
53817         New module 'time', so that apps can include <time.h> as per
53818         POSIX and GNU instead of separate include files like time_r.h
53819         and timegm.h.  This implementation tries out a simpler approach
53820         for replacing decls in standard include files (as compared to
53821         the string module), somewhat as an experiment.
53822
53823         * config/srclist.txt: Comment out mktime.c for now.
53824         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
53825         since it doesn't apply any more.  Use generic wording instead.
53826         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
53827         'time'.
53828         * lib/time_.h, m4/time_h.m4, modules/time: New files.
53829         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
53830         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
53831         Don't include <sys/types.h>; no longer needed since we assume C89.
53832         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
53833         * lib/strftime.c: Likewise.
53834         * lib/time_r.c: Likewise.
53835         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
53836         * lib/nanosleep.c: Include <time.h> first, to check interface.
53837         * lib/strptime.c: Likewise.
53838         * lib/time_r.c: Likewise.
53839         * lib/timegm.c: Likewise.
53840         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
53841         needed.
53842         * lib/timegm.c: Don't include timegm.h; no longer needed.
53843         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
53844         time.h now handles any problems in that area.
53845         (struct timespec, nanosleep): Remove; time.h now arranges for these.
53846         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
53847         that time.h defines struct timespec.
53848         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
53849         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
53850         handles that.
53851         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
53852         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
53853         needed.  Set REPLACE_LOCALTIME.
53854         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
53855         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
53856         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
53857         nanosleep; time_h.m4 now does that.  Don't require
53858         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
53859         module handles this now.
53860         * modules/getdate (Depends-on): Remove timespec.  Add time.
53861         * modules/nanosleep (Depends-on): Likewise.
53862         * modules/stat-time (Depends-on): Likewise.
53863         * modules/nanosleep (Include): Include time.h, not timespec.h.
53864         * modules/strptime (Files): Remove lib/strptime.h.
53865         (Depends-on): Add extensions, time.
53866         (Include): Include time.h, not strptime.h.
53867         * modules/time_r (Files): Remove lib/time_r.h.
53868         (Depends-on): Add time.
53869         (Include): Include time.h, not time_r.h.
53870         * modules/timegm: Likewise.
53871         * modules/timespec (Description): Now does timespec-related decls
53872         of our own, instead of struct timespec itself.
53873         (Depends-on): Add time; remove extensions.
53874         (Maintainer): Add self.
53875         * modules/utimecmp (Depends-on): Add time; remove timespec.
53876         * modules/utimens (Depends-on): Likewise.
53877         * modules/xnanosleep (Depends-on): Likewise.
53878
53879 2007-02-11  Bruno Haible  <bruno@clisp.org>
53880
53881         * lib/c-strstr.c: Include allocsa.h.
53882         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
53883         * lib/c-strcasestr.c: Include allocsa.h.
53884         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
53885         * lib/strcasestr.c: Include allocsa.h.
53886         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
53887         * lib/mbsstr.c: Include allocsa.h.
53888         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
53889         allocsa/freesa instead of malloc/free.
53890         * lib/mbscasestr.c: Include allocsa.h.
53891         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
53892         allocsa/freesa instead of malloc/free.
53893         * modules/c-strstr (Depends-on): Add allocsa.
53894         * modules/c-strcasestr (Depends-on): Likewise.
53895         * modules/strcasestr (Depends-on): Likewise.
53896         * modules/mbsstr (Depends-on): Likewise.
53897         * modules/mbscasestr (Depends-on): Likewise.
53898
53899 2007-02-11  Bruno Haible  <bruno@clisp.org>
53900
53901         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
53902
53903         * modules/mbsspn-tests: New file.
53904         * tests/test-mbsspn.sh: New file.
53905         * tests/test-mbsspn.c: New file.
53906
53907 2007-02-11  Bruno Haible  <bruno@clisp.org>
53908
53909         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
53910
53911         * modules/mbspbrk-tests: New file.
53912         * tests/test-mbspbrk.sh: New file.
53913         * tests/test-mbspbrk.c: New file.
53914
53915 2007-02-11  Bruno Haible  <bruno@clisp.org>
53916
53917         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
53918         unneeded cast.
53919
53920         * modules/mbscspn-tests: New file.
53921         * tests/test-mbscspn.sh: New file.
53922         * tests/test-mbscspn.c: New file.
53923
53924 2007-02-11  Bruno Haible  <bruno@clisp.org>
53925
53926         * modules/mbscasecmp-tests: New file.
53927         * tests/test-mbscasecmp.sh: New file.
53928         * tests/test-mbscasecmp.c: New file.
53929
53930 2007-02-11  Bruno Haible  <bruno@clisp.org>
53931
53932         Ensure O(n) worst-case complexity of mbscasestr.
53933         * lib/mbscasestr.c: Include stdbool.h.
53934         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
53935         functions.
53936         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
53937         the bookkeeping indicates that it's worth it.
53938         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
53939
53940         * modules/mbscasestr-tests: New file.
53941         * tests/test-mbscasestr1.c: New file.
53942         * tests/test-mbscasestr2.sh: New file.
53943         * tests/test-mbscasestr2.c: New file.
53944         * tests/test-mbscasestr3.sh: New file.
53945         * tests/test-mbscasestr3.c: New file.
53946         * tests/test-mbscasestr4.sh: New file.
53947         * tests/test-mbscasestr4.c: New file.
53948         * m4/locale-tr.m4: New file.
53949
53950 2007-02-11  Bruno Haible  <bruno@clisp.org>
53951
53952         Ensure O(n) worst-case complexity of mbsstr.
53953         * lib/mbsstr.c: Include stdbool.h.
53954         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
53955         functions.
53956         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
53957         bookkeeping indicates that it's worth it.
53958         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
53959
53960         * modules/mbsstr-tests: New file.
53961         * tests/test-mbsstr1.c: New file.
53962         * tests/test-mbsstr2.sh: New file.
53963         * tests/test-mbsstr2.c: New file.
53964         * tests/test-mbsstr3.sh: New file.
53965         * tests/test-mbsstr3.c: New file.
53966         * m4/locale-fr.m4: New file.
53967
53968 2007-02-11  Bruno Haible  <bruno@clisp.org>
53969
53970         * lib/mbsrchr.c (mbsrchr): Fix bug.
53971
53972         * modules/mbsrchr-tests: New file.
53973         * tests/test-mbsrchr.sh: New file.
53974         * tests/test-mbsrchr.c: New file.
53975
53976 2007-02-11  Bruno Haible  <bruno@clisp.org>
53977
53978         * lib/mbschr.c (mbschr): Fix bug.
53979
53980         * modules/mbschr-tests: New file.
53981         * tests/test-mbschr.sh: New file.
53982         * tests/test-mbschr.c: New file.
53983         * m4/locale-zh.m4: New file.
53984
53985 2007-02-11  Bruno Haible  <bruno@clisp.org>
53986
53987         Support for copying multibyte string iterators.
53988         * lib/mbiter.h: Include <string.h>.
53989         (mbiter_multi_copy): New function.
53990         (mbi_copy): New macro.
53991         * lib/mbuiter.h: Include <string.h>.
53992         (mbuiter_multi_copy): New function.
53993         (mbui_copy): New macro.
53994
53995 2007-02-11  Bruno Haible  <bruno@clisp.org>
53996
53997         New module mbslen.
53998         * modules/mbslen: New file.
53999         * lib/mbslen.c: New file.
54000         * lib/string_.h (mbslen): New declaration.
54001         * m4/mbslen.m4: New file.
54002         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54003         GNULIB_MBSLEN.
54004         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
54005         * MODULES.html.sh (Internationalization functions): Add mbslen.
54006
54007 2007-02-11  Bruno Haible  <bruno@clisp.org>
54008
54009         Ensure O(n) worst-case complexity of strcasestr substitute.
54010         * lib/strcasestr.c: Include stdbool.h.
54011         (knuth_morris_pratt): New function.
54012         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54013         bookkeeping indicates that it's worth it.
54014         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
54015
54016         * modules/strcasestr-tests: New file.
54017         * tests/test-strcasestr.c: New file.
54018
54019 2007-02-11  Bruno Haible  <bruno@clisp.org>
54020
54021         Ensure O(n) worst-case complexity of c_strcasestr.
54022         * lib/c-strcasestr.c: Include stdbool.h, string.h.
54023         (knuth_morris_pratt): New function.
54024         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
54025         the bookkeeping indicates that it's worth it.
54026         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
54027
54028         * modules/c-strcasestr-tests: New file.
54029         * tests/test-c-strcasestr.c: New file.
54030
54031 2007-02-11  Bruno Haible  <bruno@clisp.org>
54032
54033         Ensure O(n) worst-case complexity of c_strstr.
54034         * lib/c-strstr.c: Include stdbool.h, string.h.
54035         (knuth_morris_pratt): New function.
54036         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54037         bookkeeping indicates that it's worth it.
54038         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
54039
54040         * lib/c-strstr.c: Complete rewrite for maintainability.
54041
54042         * modules/c-strstr-tests: New file.
54043         * tests/test-c-strstr.c: New file.
54044
54045 2007-02-11  Bruno Haible  <bruno@clisp.org>
54046
54047         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
54048         5.2.1 and earlier, whereby \055 was treated just like the range
54049         delimiter '-'.
54050         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54051
54052 2007-02-08  Bruno Haible  <bruno@clisp.org>
54053
54054         * modules/regex (Depends-on): Add stdbool.
54055         Reported by Dalibor Topic <robilad@kaffe.org>.
54056
54057 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
54058
54059         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
54060         Prefer returning from main to exiting from it.
54061         Remove unnecessary parens after sizeof.
54062
54063 2007-02-05  Bruno Haible  <bruno@clisp.org>
54064
54065         New module mbssep.
54066         * modules/mbssep: New file.
54067         * lib/mbssep.c: New file.
54068         * lib/string_.h (strsep): Add a conditional link warning.
54069         (mbssep): New declaration.
54070         * m4/mbssep.m4: New file.
54071         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54072         GNULIB_MBSSEP.
54073         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
54074         * MODULES.html.sh (Internationalization functions): Add mbssep.
54075
54076 2007-02-05  Bruno Haible  <bruno@clisp.org>
54077
54078         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
54079         Optimize search in case of 1 delimiter.
54080
54081 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54082
54083         * lib/acl.h: Include sys/types.h before sys/acl.h.
54084
54085 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54086
54087         Merge upstream fix for glibc bugzilla #3957:
54088
54089         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
54090
54091         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
54092         bit for RE_HAT_LISTS_NOT_NEWLINE.
54093         (build_charclass_op): Remove bogus comment.
54094
54095 2007-02-05  Simon Josefsson  <simon@josefsson.org>
54096
54097         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
54098
54099 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54100
54101         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
54102         * lib/memmem.c [!defined _LIBC]: Include config.h.
54103
54104 2007-02-04  Bruno Haible  <bruno@clisp.org>
54105
54106         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
54107         warning message.
54108
54109 2007-02-04  Bruno Haible  <bruno@clisp.org>
54110
54111         New module mbstok_r.
54112         * modules/mbstok_r: New file.
54113         * lib/mbstok_r.c: New file.
54114         * lib/string_.h (strtok_r): Change argument names to match the
54115         comments. Add a conditional link warning.
54116         (mbstok_r): New declaration.
54117         * m4/mbstok_r.m4: New file.
54118         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54119         GNULIB_MBSTOK_R.
54120         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
54121         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
54122
54123 2007-02-04  Bruno Haible  <bruno@clisp.org>
54124
54125         New module mbsspn.
54126         * modules/mbsspn: New file.
54127         * lib/mbsspn.c: New file.
54128         * lib/string_.h (strspn): Add a conditional link warning.
54129         (mbsspn): New declaration.
54130         * m4/mbsspn.m4: New file.
54131         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54132         GNULIB_MBSSPN.
54133         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
54134         * MODULES.html.sh (Internationalization functions): Add mbsspn.
54135
54136 2007-02-04  Bruno Haible  <bruno@clisp.org>
54137
54138         New module mbspbrk.
54139         * modules/mbspbrk: New file.
54140         * lib/mbspbrk.c: New file.
54141         * lib/string_.h (strpbrk): Add a conditional link warning.
54142         (mbspbrk): New declaration.
54143         * m4/mbspbrk.m4: New file.
54144         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54145         GNULIB_MBSPBRK.
54146         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
54147         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
54148
54149 2007-02-04  Bruno Haible  <bruno@clisp.org>
54150
54151         New module mbscspn.
54152         * modules/mbscspn: New file.
54153         * lib/mbscspn.c: New file.
54154         * lib/string_.h (strcspn): Add a conditional link warning.
54155         (mbscspn): New declaration.
54156         * m4/mbscspn.m4: New file.
54157         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54158         GNULIB_MBSCSPN.
54159         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
54160         * MODULES.html.sh (Internationalization functions): Add mbscspn.
54161
54162 2007-02-04  Bruno Haible  <bruno@clisp.org>
54163
54164         New module mbscasestr, reduced goal of strcasestr.
54165         * modules/mbscasestr: New file.
54166         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
54167         (mbscasestr): Renamed from strcasestr.
54168         * lib/strcasestr.c: Don't include mbuiter.h.
54169         (strcasestr): Remove support for multibyte locales.
54170         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
54171         Change the conditional link warning.
54172         (mbscasestr): New declaration.
54173         * m4/mbscasestr.m4: New file.
54174         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
54175         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
54176         REPLACE_STRCASESTR.
54177         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
54178         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54179         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54180         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
54181         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
54182         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54183         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
54184         (Depends-on): Remove mbuiter.
54185         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
54186
54187 2007-02-04  Bruno Haible  <bruno@clisp.org>
54188
54189         Simplify handling of strncasecmp.
54190         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
54191         the conditional link warning.
54192         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54193         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
54194         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
54195         * modules/strcase (configure.ac): Don't invoke
54196         gl_STRING_MODULE_INDICATOR.
54197         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
54198
54199 2007-02-04  Bruno Haible  <bruno@clisp.org>
54200
54201         New module mbscasecmp, reduced goal of strcasecmp.
54202         * modules/mbscasecmp: New file.
54203         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
54204         (mbscasecmp): Renamed from strcasecmp.
54205         * lib/strcasecmp.c: Don't include mbuiter.h.
54206         (strcasecmp): Remove support for multibyte locales.
54207         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
54208         Change the conditional link warning.
54209         (mbscasecmp): New declaration.
54210         * m4/mbscasecmp.m4: New file.
54211         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
54212         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
54213         REPLACE_STRCASECMP.
54214         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
54215         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54216         GNULIB_MBSCASECMP.
54217         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
54218         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
54219         * modules/strcase (Files): Remove m4/mbrtowc.m4.
54220         (Depends-on): Remove mbuiter.
54221         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
54222
54223 2007-02-04  Bruno Haible  <bruno@clisp.org>
54224
54225         New module mbsstr. Remove module strstr.
54226         * modules/mbsstr: New file.
54227         * modules/strstr: Remove file.
54228         * lib/mbsstr.c: Renamed from lib/strstr.c.
54229         (mbsstr): Renamed from strstr.
54230         * lib/string_.h (strstr): Remove declaration. Change the conditional
54231         link warning.
54232         (mbsstr): New declaration.
54233         * m4/mbsstr.m4: New file.
54234         * m4/strstr.m4: Remove file.
54235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
54236         REPLACE_STRSTR.
54237         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
54238         Don't initialize GNULIB_STRSTR.
54239         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
54240         substitute GNULIB_STRSTR and REPLACE_STRSTR.
54241         * MODULES.html.sh (Internationalization functions): Add mbsstr.
54242         (Support for systems lacking ANSI C 89): Remove strstr.
54243
54244 2007-02-04  Bruno Haible  <bruno@clisp.org>
54245
54246         New module mbsrchr.
54247         * modules/mbsrchr: New file.
54248         * lib/mbsrchr.c: New file.
54249         * lib/string_.h (strrchr): Add a conditional link warning.
54250         (mbsrchr): New declaration.
54251         * m4/mbsrchr.m4: New file.
54252         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54253         GNULIB_MBSRCHR.
54254         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
54255         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
54256
54257 2007-02-04  Bruno Haible  <bruno@clisp.org>
54258
54259         New module mbschr.
54260         * modules/mbschr: New file.
54261         * lib/mbschr.c: New file.
54262         * lib/string_.h (strchr): Add a conditional link warning.
54263         (mbschr): New declaration.
54264         * m4/mbschr.m4: New file.
54265         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54266         GNULIB_MBSCHR.
54267         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
54268         * MODULES.html.sh (Internationalization functions): Add mbschr.
54269
54270 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54271
54272         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
54273
54274         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
54275
54276 2007-02-04  Bruno Haible  <bruno@clisp.org>
54277
54278         New module description section 'configure.ac-early'.
54279         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
54280         (func_get_autoconf_early_snippet): New function.
54281         (func_import, func_create_testdir): Use it. Remove special cases for
54282         modules 'extensions' and 'lock'.
54283         * modules/extensions (configure.ac-early): Require
54284         gl_USE_SYSTEM_EXTENSIONS.
54285         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
54286
54287 2007-02-04  Bruno Haible  <bruno@clisp.org>
54288
54289         Make use of gcj-4.3's -fsource and -ftarget option.
54290         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
54291         and if so try the options -fsource and -ftarget.
54292         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
54293         source_version, ftarget_option, target_version arguments.
54294         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
54295         (is_envjavac_oldgcj_14_14_usable): Renamed from
54296         is_envjavac_gcj_14_14_usable.
54297         (is_envjavac_oldgcj_14_13_usable): Renamed from
54298         is_envjavac_gcj_14_13_usable.
54299         (is_gcj_present): Update.
54300         (is_gcj_43, is_gcj43_usable): New functions.
54301         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
54302         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
54303         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
54304         try the options -fsource and -ftarget.
54305
54306 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54307
54308         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
54309         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
54310         larger value.
54311
54312 2007-02-03  Jim Meyering  <jim@meyering.net>
54313
54314         Give tools a better chance to allocate space for very large buffers.
54315         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
54316
54317         Make pwd and readlink work also when run with an unreadable parent dir
54318         on systems with openat support.
54319         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
54320         provided getcwd function, even when we have openat support.
54321         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
54322
54323 2007-02-02  Bruno Haible  <bruno@clisp.org>
54324
54325         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
54326         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
54327         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
54328         portability problems if one of these functions is only used on specific
54329         platforms.
54330         Reported by Paul Eggert.
54331
54332 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
54333
54334         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
54335         is causing more trouble than it's curing.
54336         * lib/regex_internal.h (__mempcpy): Remove.
54337         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
54338         (and make the code a tad smaller to boot).
54339         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
54340
54341 2007-02-02  Jim Meyering  <jim@meyering.net>
54342
54343         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
54344         section, not in the Makefile.am: one.
54345
54346 2007-02-02  Eric Blake  <ebb9@byu.net>
54347
54348         * lib/strchrnul.c: Always include config.h first.
54349
54350         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
54351         gnulib strstr is not necessary here.
54352
54353 2007-02-02  Simon Josefsson  <simon@josefsson.org>
54354
54355         * m4/socklen.m4: Fix typo.
54356
54357 2007-02-02  Eric Blake  <ebb9@byu.net>
54358
54359         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
54360         * modules/netinet_in (Makefile.am): Likewise.
54361
54362 2007-02-01  Bruno Haible  <bruno@clisp.org>
54363
54364         * lib/string_.h (GL_LINK_WARNING): New macro.
54365         (strcasecmp, strstr, strcasestr): If provided by the system,
54366         conditionally define as a macro that leads to a warning instead of to
54367         an error.
54368         (strncasecmp): Conditionally define as a macro that leads to a warning.
54369
54370 2007-02-01  Karl Berry  <karl@gnu.org>
54371
54372         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
54373
54374 2007-02-01  Bruno Haible  <bruno@clisp.org>
54375
54376         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
54377         renamings.
54378
54379 2007-02-01  Eric Blake  <ebb9@byu.net>
54380
54381         * modules/regex (Depends-on): Revert dependence on mempcpy.
54382         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
54383         module's definition of mempcpy.
54384         Reported by Paul Eggert.
54385
54386 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54387
54388         * lib/string_.h: If the gnulib module XYZ is not present, undefine
54389         the symbol XYZ before redefining it.  This fixes a problem with
54390         programs that don't use XYZ, when compiled on systems that define
54391         XYZ to something else.
54392
54393 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
54394
54395         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
54396         occurs when "mkdir -m foo" creates a setgid directory that is (1)
54397         writeable to group or other and (2) is intended to have a special
54398         mode bit that is set or cleared.  In such a case, the directory
54399         should be neither group- nor other-writeable until the special
54400         mode bits are right.
54401
54402 2007-01-31  Eric Blake  <ebb9@byu.net>
54403
54404         * modules/mountlist (Depends-on): Add strstr.
54405
54406         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
54407         bug.
54408         * modules/string (Makefile.am): Remove redundant replacement.
54409         * modules/regex (Depends-on): Add mempcpy.
54410
54411 2007-01-31  Bruno Haible  <bruno@clisp.org>
54412
54413         New module description field 'Link'.
54414         * gnulib-tool (func_usage): Document --extract-link-directive.
54415         (sed_extract_prog): Recognize 'Link' directive.
54416         (func_get_link_directive): New function.
54417         (func_import): Show summary of link directives.
54418         Handle --extract-link-directive option.
54419         * modules/acl (Link): New section.
54420         * modules/clock-time (Link): New section.
54421         * modules/euidaccess (Link): New section.
54422         * modules/gettext (Link): New section.
54423         * modules/iconv (Link): New section.
54424         * modules/lock (Link): New section.
54425         * modules/nanosleep (Link): New section.
54426         * modules/readline (Link): New section.
54427
54428 2007-01-27  Bruno Haible  <bruno@clisp.org>
54429
54430         Enforce the use of gnulib modules for unportable <string.h> functions.
54431         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
54432         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
54433         (gl_HEADER_STRING_H_BODY): Require it.
54434         * lib/string_.h: If the gnulib module XYZ is not present, redefine
54435         the symbol XYZ to one that gives a link error.
54436         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
54437         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
54438         * modules/mempcpy (configure.ac): Likewise.
54439         * modules/memrchr (configure.ac): Likewise.
54440         * modules/stpcpy (configure.ac): Likewise.
54441         * modules/stpncpy (configure.ac): Likewise.
54442         * modules/strcase (configure.ac): Likewise.
54443         * modules/strcasestr (configure.ac): Likewise.
54444         * modules/strchrnul (configure.ac): Likewise.
54445         * modules/strdup (configure.ac): Likewise.
54446         * modules/strndup (configure.ac): Likewise.
54447         * modules/strnlen (configure.ac): Likewise.
54448         * modules/strpbrk (configure.ac): Likewise.
54449         * modules/strsep (configure.ac): Likewise.
54450         * modules/strstr (configure.ac): Likewise.
54451         * modules/strtok_r (configure.ac): Likewise.
54452
54453 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
54454
54455         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
54456
54457 2007-01-30  Jim Meyering  <jim@meyering.net>
54458
54459         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
54460
54461 2007-01-29  Bruno Haible  <bruno@clisp.org>
54462
54463         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
54464         * lib/execute.c: Likewise.
54465         * lib/pipe.c: Likewise.
54466         * lib/printf-args.h: Likewise.
54467         * lib/printf-args.c: Likewise.
54468         * lib/printf-parse.c: Likewise.
54469         * lib/vasnprintf.c: Likewise.
54470
54471 2007-01-29  Eric Blake  <ebb9@byu.net>
54472
54473         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
54474         declaration.
54475
54476 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
54477
54478         * lib/strptime.h (strptime): Use 'restrict' for args where
54479         POSIX requires this.
54480         * lib/strptime.c (strptime): Likewise.
54481         Change license notice from LGPL to GPL, since gnulib-tool will
54482         change this as needed.
54483         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
54484         defined.
54485         Include "strptime.h" first, to check interface.
54486         Do not #undef _LIBC and _NL_CURRENT.
54487         Do not include <stdlib.h>; no longer needed.
54488         Include "time_r.h" and declare ptime_locale_status
54489         only if _LIBC is not defined.
54490         (__P): Remove unused macro.
54491         (match_string): Bring back glibc version, but use it only if _LIBC
54492         is defined.
54493         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
54494         Remove unnecessary assertion and abort() call.
54495         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
54496         * m4/strptime.m4: Fix serial number comment.
54497         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
54498         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
54499         (Depends-on): Add time_r.
54500
54501 2007-01-29  Bruno Haible  <bruno@clisp.org>
54502
54503         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54504         strptime.
54505         * modules/strptime (Depends-on): Add stdbool.
54506         * lib/strptime.h: Include <time.h> always. Add comments.
54507
54508 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54509
54510         * modules/strptime: New file.
54511         * lib/strptime.h: New file.
54512         * lib/strptime.c: New file.
54513         * m4/strptime.m4: New file.
54514
54515 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54516
54517         * MODULES.html.sh: New module mpsort.
54518         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
54519
54520         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
54521         a circularity problem with HP-UX ia64 reported by Bob Proulx in
54522         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
54523         All uses changed.
54524         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
54525         All uses changed.
54526         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
54527         to _Restrict_.
54528         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
54529         the parameter matches the prototype.
54530
54531 2007-01-28  Jim Meyering  <jim@meyering.net>
54532
54533         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
54534         sys/time.h here, reverting that part of the previous patch:
54535         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
54536
54537 2007-01-28  Bruno Haible  <bruno@clisp.org>
54538
54539         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
54540         value of $(SYS_TIME_H).
54541         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
54542         remove it conditionally, too. [added by Jim Meyering]
54543         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
54544         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
54545         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
54546         GETTIMEOFDAY_REPLACEMENT to 1.
54547
54548 2007-01-28  Bruno Haible  <bruno@clisp.org>
54549
54550         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
54551         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
54552         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
54553         Set UNISTD_H instead of UNISTD_H2.
54554         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
54555
54556 2007-01-28  Bruno Haible  <bruno@clisp.org>
54557
54558         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
54559         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
54560
54561 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54562
54563         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
54564         (func_create_testdir): Ensure C locale for `grep' and `tr'
54565         character ranges.
54566         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
54567         ACLOCAL_AMFLAGS parsing state machine.
54568
54569 2007-01-27  Bruno Haible  <bruno@clisp.org>
54570
54571         * modules/unistr/base: Update.
54572
54573 2007-01-27  Bruno Haible  <bruno@clisp.org>
54574
54575         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
54576         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
54577         * modules/unistr/u32-mbtouc-unsafe: Renamed from
54578         modules/unistr/u32-mbtouc.
54579         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
54580         * lib/unistr.h: Update.
54581         * lib/linebreak.c: Update.
54582         * modules/unistr/u32-mbtouc: Renamed from
54583         modules/unistr/u32-mbtouc-safe.
54584         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
54585         * lib/unistr.h: Update.
54586         * lib/unistr/u32-to-u8.c: Update.
54587         * lib/unistr/u32-to-u16.c: Update.
54588
54589 2007-01-27  Bruno Haible  <bruno@clisp.org>
54590
54591         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
54592         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
54593         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
54594         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
54595         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
54596         * modules/unistr/u16-mbtouc-unsafe: Renamed from
54597         modules/unistr/u16-mbtouc.
54598         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
54599         * lib/unistr.h: Update.
54600         * lib/linebreak.c: Update.
54601         * modules/linebreak: Update.
54602         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
54603         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
54604         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
54605         * modules/unistr/u16-mbtouc: Renamed from
54606         modules/unistr/u16-mbtouc-safe.
54607         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
54608         * lib/unistr.h: Update.
54609         * lib/unistr/u16-to-u8.c: Update.
54610         * modules/unistr/u16-to-u8: Update.
54611         * lib/unistr/u16-to-u32.c: Update.
54612         * modules/unistr/u16-to-u32: Update.
54613
54614 2007-01-27  Bruno Haible  <bruno@clisp.org>
54615
54616         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
54617         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
54618         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
54619         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
54620         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
54621         * modules/unistr/u8-mbtouc-unsafe: Renamed from
54622         modules/unistr/u8-mbtouc.
54623         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
54624         * lib/unistr.h: Update.
54625         * lib/striconveh.c: Update.
54626         * modules/striconveh: Update.
54627         * lib/linebreak.c: Update.
54628         * modules/linebreak: Update.
54629         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
54630         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
54631         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
54632         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
54633         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
54634         * lib/unistr.h: Update.
54635         * lib/striconveh.c: Update.
54636         * modules/striconveh: Update.
54637         * lib/unistr/u8-to-u16.c: Update.
54638         * modules/unistr/u8-to-u16: Update.
54639         * lib/unistr/u8-to-u32.c: Update.
54640         * modules/unistr/u8-to-u32: Update.
54641
54642 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54643
54644         Sync from Libtool.
54645         * lib/argz.c: Do not include strings.h nor memory.h, include
54646         string.h unconditionally.  Patch by Simon Josefsson.
54647
54648 2007-01-27  Bruno Haible  <bruno@clisp.org>
54649
54650         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
54651         from gl_HEADER_STRING_H_BODY.
54652         (gl_HEADER_STRING_H_BODY): Require it.
54653         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
54654         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
54655         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
54656         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
54657         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54658         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
54659         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54660         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
54661         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
54662         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54663         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
54664         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
54665         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
54666         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54667         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54668
54669 2007-01-27  Bruno Haible  <bruno@clisp.org>
54670
54671         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
54672         check_PROGRAMS into noinst_PROGRAMS.
54673         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
54674         check_PROGRAMS in this case.
54675         (func_import): Set for_test to false.
54676         (func_create_testdir): Set for_test to true.
54677
54678 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
54679             Bruno Haible  <bruno@clisp.org>
54680
54681         * modules/strcasestr (Files): Remove lib/strcasestr.h.
54682         (Depends-on): Add string.
54683         (Includes): Use <string.h> instead of strcasestr.h.
54684         * modules/string (Makefile.am): Also substitute the value of
54685         REPLACE_STRCASESTR.
54686         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
54687         assume strcasestr is declared in <string.h> not <strings.h>. Also
54688         set REPLACE_STRCASESTR.
54689         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
54690         REPLACE_STRCASESTR.
54691         * lib/strcasestr.h: Remove file.
54692         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
54693         * lib/string_.h (strcasestr): New declaration.
54694
54695 2007-01-27  Bruno Haible  <bruno@clisp.org>
54696
54697         * lib/string_.h: Use 'extern'.
54698
54699 2007-01-27  Jim Meyering  <jim@meyering.net>
54700
54701         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
54702         of set-but-not-used local, "q".
54703
54704         * lib/mempcpy.c: Include <config.h> before <string.h>.
54705         This fixes a compilation error on HP-UX, due to the system's
54706         "restrict"-using mempcpy prototype.
54707
54708 2007-01-26  Bruno Haible  <bruno@clisp.org>
54709
54710         Small optimization.
54711         * lib/javacomp.c: Include c-strstr.h.
54712          (is_envjavac_gcj): Use c_strstr instead of strstr.
54713         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
54714
54715 2007-01-26  Bruno Haible  <bruno@clisp.org>
54716
54717         * MODULES.html.sh (Unicode string functions): Add the new modules.
54718
54719         * modules/uniconv/u32-strconv-to-locale: New file.
54720         * lib/uniconv/u32-strconv-to-locale.c: New file.
54721
54722         * modules/uniconv/u16-strconv-to-locale: New file.
54723         * lib/uniconv/u16-strconv-to-locale.c: New file.
54724
54725         * modules/uniconv/u8-strconv-to-locale: New file.
54726         * lib/uniconv/u8-strconv-to-locale.c: New file.
54727
54728         * modules/uniconv/u32-strconv-from-locale: New file.
54729         * lib/uniconv/u32-strconv-from-locale.c: New file.
54730
54731         * modules/uniconv/u16-strconv-from-locale: New file.
54732         * lib/uniconv/u16-strconv-from-locale.c: New file.
54733
54734         * modules/uniconv/u8-strconv-from-locale: New file.
54735         * lib/uniconv/u8-strconv-from-locale.c: New file.
54736
54737         * modules/uniconv/u32-strconv-to-enc: New file.
54738         * lib/uniconv/u32-strconv-to-enc.c: New file.
54739         * modules/uniconv/u32-strconv-to-enc-tests: New file.
54740         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
54741
54742         * modules/uniconv/u16-strconv-to-enc: New file.
54743         * lib/uniconv/u16-strconv-to-enc.c: New file.
54744         * lib/uniconv/u-strconv-to-enc.h: New file.
54745         * modules/uniconv/u16-strconv-to-enc-tests: New file.
54746         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
54747
54748         * modules/uniconv/u8-strconv-to-enc: New file.
54749         * lib/uniconv/u8-strconv-to-enc.c: New file.
54750         * modules/uniconv/u8-strconv-to-enc-tests: New file.
54751         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
54752
54753         * modules/uniconv/u32-strconv-from-enc: New file.
54754         * lib/uniconv/u32-strconv-from-enc.c: New file.
54755         * modules/uniconv/u32-strconv-from-enc-tests: New file.
54756         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
54757
54758         * modules/uniconv/u16-strconv-from-enc: New file.
54759         * lib/uniconv/u16-strconv-from-enc.c: New file.
54760         * modules/uniconv/u16-strconv-from-enc-tests: New file.
54761         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
54762
54763         * modules/uniconv/u8-strconv-from-enc: New file.
54764         * lib/uniconv/u8-strconv-from-enc.c: New file.
54765         * lib/uniconv/u-strconv-from-enc.h: New file.
54766         * modules/uniconv/u8-strconv-from-enc-tests: New file.
54767         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
54768
54769         * modules/uniconv/u32-conv-from-enc: New file.
54770         * lib/uniconv/u32-conv-from-enc.c: New file.
54771         * modules/uniconv/u32-conv-from-enc-tests: New file.
54772         * tests/uniconv/test-u32-conv-from-enc.c: New file.
54773
54774         * modules/uniconv/u16-conv-from-enc: New file.
54775         * lib/uniconv/u16-conv-from-enc.c: New file.
54776         * lib/uniconv/u-conv-from-enc.h: New file.
54777         * modules/uniconv/u16-conv-from-enc-tests: New file.
54778         * tests/uniconv/test-u16-conv-from-enc.c: New file.
54779
54780         * modules/uniconv/u8-conv-from-enc: New file.
54781         * lib/uniconv/u8-conv-from-enc.c: New file.
54782         * modules/uniconv/u8-conv-from-enc-tests: New file.
54783         * tests/uniconv/test-u8-conv-from-enc.c: New file.
54784
54785         * modules/uniconv/base: New file.
54786         * lib/uniconv.h: New file.
54787
54788 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
54789
54790         * doc/gnulib-tool.texi (Initial import): Update to match current
54791         behavior with strdup module.
54792         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
54793         * lib/memmem.h: Remove; all uses removed.  This is now done
54794         by <string.h>.
54795         * lib/mempcpy.h: Likewise.
54796         * lib/memrchr.h: Likewise.
54797         * lib/stpcpy.h: Likewise.
54798         * lib/stpncpy.h: Likewise.
54799         * lib/strcase.h: Likewise.
54800         * lib/strchrnul.h: Likewise.
54801         * lib/strdup.h: Likewise.
54802         * lib/strndup.h: Likewise.
54803         * lib/strnlen.h: Likewise.
54804         * lib/strpbrk.h: Likewise.
54805         * lib/strsep.h: Likewise.
54806         * lib/strstr.h: Likewise.
54807         * lib/strtok_r.h: Likewise.
54808         * lib/string_.h: New file.
54809         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
54810         Rely on <string.h> instead.
54811         * lib/canon-host.c: Likewise.
54812         * lib/chdir-long.c: Likewise.
54813         * lib/concatpath.c: Likewise.
54814         * lib/exclude.c: Likewise.
54815         * lib/fchdir.c: Likewise.
54816         * lib/getaddrinfo.c: Likewise.
54817         * lib/getcwd.c: Likewise.
54818         * lib/getsubopt.c: Likewise.
54819         * lib/glob.c: Likewise.
54820         * lib/hard-locale.c: Likewise.
54821         * lib/iconvme.c: Likewise.
54822         * lib/javacomp.c: Likewise.
54823         * lib/mempcpy.c: Likewise.
54824         * lib/memrchr.c: Likewise.
54825         * lib/regex_internal.h: Likewise.
54826         * lib/stpncpy.c: Likewise.
54827         * lib/strcasecmp.c: Likewise.
54828         * lib/strchrnul.c: Likewise.
54829         * lib/strdup.c: Likewise.
54830         * lib/striconv.c: Likewise.
54831         * lib/striconveh.c: Likewise.
54832         * lib/striconveha.c: Likewise.
54833         * lib/strncasecmp.c: Likewise.
54834         * lib/strndup.c: Likewise.
54835         * lib/strnlen.c: Likewise.
54836         * lib/strsep.c: Likewise.
54837         * lib/strstr.c: Likewise.
54838         * lib/strtok_r.c: Likewise.
54839         * lib/userspec.c: Likewise.
54840         * lib/w32spawn.h: Likewise.
54841         * lib/xstrndup.c: Likewise.
54842         * lib/mountlist.c (strstr): Remove decl.
54843         * m4/string_h.m4: New file.
54844         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
54845         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
54846         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
54847         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
54848         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
54849         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
54850         Set REPLACE_STRCASECMP if necessary.
54851         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
54852         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
54853         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
54854         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
54855         HAVE_DECL_STRDUP if necessary.
54856         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
54857         since gl_FUNC_STRNDUP does that now.
54858         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
54859         Check for decl here...
54860         (gl_PREREQ_STRNLEN): ... not here.
54861         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
54862         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
54863         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
54864         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
54865         necessary.
54866         * modules/string: New file.
54867         * modules/memmem (Files): Remove special-purpose include file.
54868         (Depends-on): Add string.
54869         (Include): Include <string.h>, not the removed file.
54870         * modules/mempcpy: Likewise.
54871         * modules/memrchr: Likewise.
54872         * modules/stpcpy: Likewise.
54873         * modules/stpncpy: Likewise.
54874         * modules/strcase: Likewise.
54875         * modules/strchrnul: Likewise.
54876         * modules/strdup: Likewise.
54877         * modules/strndup: Likewise.
54878         * modules/strnlen: Likewise.
54879         * modules/strpbrk: Likewise.
54880         * modules/strsep: Likewise.
54881         * modules/strstr: Likewise.
54882         * modules/strtok_r: Likewise.
54883         * tests/test-dirname.c: Don't include "strdup.h", since
54884         <string.h> now suffices.
54885         * tests/test-memmem.c: Don't include "memmem.h", since
54886         <string.h> now suffices.
54887
54888 2007-01-25  Bruno Haible  <bruno@clisp.org>
54889
54890         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
54891         *resultp is 0.
54892
54893         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
54894         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
54895         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
54896         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
54897
54898         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
54899         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
54900         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
54901         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
54902         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
54903         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
54904
54905 2007-01-24  Bruno Haible  <bruno@clisp.org>
54906
54907         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
54908         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
54909         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
54910         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
54911         gl_FUNC_FTS_CORE.
54912         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
54913         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
54914         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
54915         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
54916         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
54917         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
54918         gl_FUNC_FCHOWNAT.
54919         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
54920         gl_FUNC_STRFTIME.
54921         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
54922         Reported by Ralf Wildenhues.
54923
54924 2007-01-24  Bruno Haible  <bruno@clisp.org>
54925
54926         Drop AC_REQUIRE calls that are redundant with the module dependencies.
54927         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
54928         gl_GETADDRINFO.
54929         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
54930         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
54931         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
54932
54933 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
54934
54935         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
54936         Don't use 'exit'; just return from 'main'.
54937         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
54938
54939         * lib/fnmatch_.h: Readjust white space and comments to match
54940         glibc, to avoid spurious diffs.
54941
54942 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54943
54944         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
54945         2004-12-01 change by Jakub Jelinek, since this code won't compile
54946         if !LIBC.  Problem reported by Bob Proulx.
54947
54948 2007-01-23  Bruno Haible  <bruno@clisp.org>
54949
54950         * lib/striconveh.c: Include c-strcaseeq.h.
54951         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
54952         * modules/striconveh (Depends-on): Add c-strcaseeq.
54953
54954 2007-01-23  Bruno Haible  <bruno@clisp.org>
54955
54956         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
54957
54958         * modules/c-strcaseeq: New file.
54959         * lib/c-strcaseeq.h: New file.
54960
54961         * modules/streq: New file.
54962         * lib/streq.h: New file.
54963
54964 2007-01-23  Bruno Haible  <bruno@clisp.org>
54965
54966         * modules/striconveha-tests: New file.
54967         * tests/test-striconveha.c: New file.
54968
54969         * lib/striconveha.h: Include <stdbool.h>.
54970         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
54971         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
54972         (mem_iconveha_notranslit): Renamed from mem_iconveha.
54973         (mem_iconveha): New function.
54974         (str_iconveha_notranslit): Renamed from str_iconveha.
54975         (str_iconveha): New function.
54976         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
54977         c-strcase.
54978
54979 2007-01-23  Bruno Haible  <bruno@clisp.org>
54980
54981         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
54982         encodings without forgiving before trying any encoding with handler.
54983         (str_iconveha): Try all encodings without forgiving before trying any
54984         encoding with handler.
54985
54986 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54987
54988         Import the following changes from libc.
54989
54990         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
54991
54992         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
54993
54994         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54995
54996         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
54997         normal_bracket label.
54998
54999         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
55000
55001         [BZ #361]
55002         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
55003         to normal_bracket after fetching the next character.
55004
55005 2007-01-22  Bruno Haible  <bruno@clisp.org>
55006
55007         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
55008         argument.
55009         * lib/striconveh.c (iconv_carefully_1): New function.
55010         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
55011         argument.
55012         (str_cd_iconveh): Update.
55013         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
55014         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
55015         * tests/test-striconveh.c (MAGIC): New macro.
55016         (new_offsets): New function.
55017         (main): Test call with and without offsets.
55018
55019 2007-01-22  Bruno Haible  <bruno@clisp.org>
55020
55021         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
55022         * modules/sys_select (Makefile.am): Likewise.
55023         * modules/sys_socket (Makefile.am): Likewise.
55024         * modules/sys_time (Makefile.am): Likewise.
55025
55026 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
55027
55028         * modules/gettimeofday (License): Change from GPL to LGPL, since
55029         gettimeofday is a library function.
55030
55031 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55032
55033         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
55034
55035 2007-01-21  Bruno Haible  <bruno@clisp.org>
55036
55037         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
55038
55039 2007-01-21  Bruno Haible  <bruno@clisp.org>
55040
55041         * modules/striconveha: New file.
55042         * lib/striconveha.h: New file.
55043         * lib/striconveha.c: New file.
55044         * MODULES.html.sh (Internationalization functions): Add striconveha.
55045         * lib/striconv.c (str_iconv): Optimize the case of an empty input
55046         string.
55047         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
55048
55049 2007-01-21  Bruno Haible  <bruno@clisp.org>
55050
55051         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
55052         * lib/striconveh.c (str_iconveh): Likewise.
55053
55054 2007-01-21  Bruno Haible  <bruno@clisp.org>
55055
55056         * lib/striconveh.h (mem_iconveh): New declaration.
55057         * lib/striconveh.c (mem_iconveh): New function.
55058         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
55059
55060 2007-01-21  Bruno Haible  <bruno@clisp.org>
55061
55062         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
55063
55064         * lib/striconveh.h (mem_cd_iconveh): Change specification.
55065         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
55066         original result buffer.
55067         (str_cd_iconveh): Update.
55068         * tests/test-striconveh.c (main): Update.
55069
55070         * lib/striconv.h (mem_cd_iconv): Change specification.
55071         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
55072         result buffer.
55073         (str_cd_iconv): Update.
55074         * tests/test-striconv.c (main): Update.
55075
55076 2007-01-21  Bruno Haible  <bruno@clisp.org>
55077
55078         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
55079
55080 2007-01-20  Jim Meyering  <jim@meyering.net>
55081
55082         * lib/userspec.c (parse_with_separator): If a user or group string
55083         starts with "+", skip the corresponding name-to-ID look-up, since
55084         such a look-up must fail: user and group names may not include "+".
55085
55086 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
55087
55088         * lib/poll.c: Include sys/time.h and time.h unconditionally,
55089         since we now assume the sys_time module.
55090         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
55091         check for sys/time.h; no longer needed.
55092         * modules/poll (Depends-on): Depend on sys_time.
55093
55094 2007-01-18  Bruno Haible  <bruno@clisp.org>
55095
55096         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
55097         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55098
55099         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
55100         gettimeofday.
55101
55102         * tests/test-gettimeofday.c: Include <time.h>.
55103         (dummy): Remove variable.
55104
55105         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
55106         gl_HEADER_SYS_TIME_H.
55107         (gl_HEADER_SYS_TIME_H): New macro.
55108
55109         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
55110         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55111         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
55112         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
55113         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55114         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
55115         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
55116         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55117         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
55118         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
55119         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55120
55121         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
55122         last change; it caused a compilation error when cross-compiling to
55123         Cygwin.
55124
55125 2007-01-18  Jim Meyering  <jim@meyering.net>
55126
55127         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
55128         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
55129         than the race-prone "test -d sys || mkdir sys".
55130         (configure.ac): Use AC_PROG_MKDIR_P.
55131         * modules/sys_select: Likewise.
55132         * modules/sys_socket: Likewise.
55133         * modules/sys_time: Likewise.
55134
55135 2007-01-18  Eric Blake  <ebb9@byu.net>
55136
55137         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
55138         replace gettimeofday.
55139         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
55140         name, to avoid infinite recursion.
55141
55142 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
55143
55144         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
55145         module sys_time.
55146         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
55147         assume timespec.h defines struct timeval.
55148         * lib/settime.c: Likewise.
55149         * lib/utimens.c: Likewise.
55150         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
55151         since we now assume the gettimeofday module.
55152         * lib/tempname.c (__gen_tempname): Likewise.
55153         * lib/gettimeofday.h: Remove.
55154         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
55155         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
55156         Include <time.h>, for 'time()'.
55157         (localtime_buffer_addr): Also use this workaround if
55158         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
55159         to simplify the uses.  All uses changed.
55160         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
55161         that #undef is inside {}, and 'const' follows type name consistently.
55162         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
55163         (gettimeofday): Do not use the maximum possible value for
55164         tv->tv_usec, since that might break usages other than ls.c.
55165         Instead, we'll leave ls.c alone.  This undoes today's patch
55166         by Bruno.  Add a compile-time warning for 1s-clock resolution;
55167         we've never observed the problem but might as well keep the
55168         canary.
55169         * lib/nanosleep.c: Include timespec.h first, for interface check.
55170         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
55171         now assume the sys_time module.
55172         * lib/tempname.c: Likewise.
55173         * lib/timespec.h: Likewise.
55174         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
55175         needed.
55176         * lib/strftime.c: Likewise.
55177         * lib/timespec.h: Likewise.
55178         * lib/posixtm.c: Include posixtm.h first, for interface check.
55179         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
55180         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
55181         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
55182         * lib/sys_time_.h: New file.
55183         * lib/timespec.h (struct timespec): Use long int, not long.
55184         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
55185         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
55186         Remove obsolescent call to AC_HEADER_TIME.
55187         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
55188         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
55189         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55190         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
55191         Likewise.
55192         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
55193         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
55194         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
55195         into the sys_time module.  Check for gettimeofday just once.
55196         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
55197         for gettimeofday signature to just check the signature.  Merely
55198         compile it, since linking doesn't test signature.  Improve test for
55199         whether gettimeofday.o is actually needed.
55200         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
55201         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
55202         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
55203         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55204         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
55205         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
55206         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
55207         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
55208         than worrying about sys/time.h.
55209         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55210         Don't bother worrying about TIME_WITH_SYS_TIME.
55211         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
55212         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
55213         * m4/sys_time_h.m4: New file.
55214         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
55215         Don't include sys/time.h.  Return from main rather than exiting.
55216         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
55217         all uses changed.
55218         * modules/gethrxtime (Depends-on): Add sys_time.
55219         * modules/gettime (Depends-on): Likewise.
55220         * modules/gettimeofday (Depends-on): Likewise.
55221         * modules/nanosleep (Depends-on): Likewise.
55222         * modules/settime (Depends-on): Likewise.
55223         * modules/tempname (Depends-on): Likewise.
55224         * modules/utimens (Depends-on): Likewise.
55225         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
55226         (Include): Change back to <sys/time.h>.
55227         (Maintainer): Add self.
55228         * modules/sys_time: New file.
55229         * modules/tempname (Depends-on): Add gettimeofday.
55230         * tests/test-gettimeofday.c: Include <sys/time.h>
55231         rather than gettimeofday.h.
55232
55233 2007-01-17  Bruno Haible  <bruno@clisp.org>
55234
55235         * gnulib-tool (func_get_license): Revert last patch. Instead, let
55236         the license default to GPL.
55237         (func_create_testdir): Don't complain if a module is LGPL and its
55238         tests module depends on GPLed modules.
55239
55240 2007-01-17  Bruno Haible  <bruno@clisp.org>
55241
55242         * lib/gettimeofday.c (gettimeofday): Add code for the case
55243         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
55244         maximum possible value for tv->tv_usec, rather than the minimum one.
55245
55246 2005-10-08  Martin Lambers  <marlam@marlam.de>
55247 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55248 2007-01-16  Bruno Haible  <bruno@clisp.org>
55249
55250         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
55251         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
55252         gl_FUNC_GETTIMEOFDAY.
55253         (Include): Add gettimeofday.h.
55254         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
55255         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
55256         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
55257         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
55258         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
55259         * lib/gettimeofday.h: New file.
55260         * lib/gettimeofday.c: Include <sys/timeb.h>.
55261         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
55262         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55263         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
55264         fall back on time().
55265
55266         * tests/test-gettimeofday.c: New file.
55267         * modules/gettimeofday-tests: New file.
55268
55269 2007-01-16  Eric Blake  <ebb9@byu.net>
55270
55271         * modules/fnmatch (Depends-on): Depend on wchar.
55272         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
55273         * m4/fnmatch.m4: Likewise.
55274         * modules/mbchar (Makefile.am): Assume <wchar.h>.
55275         * m4/mbchar.m4: Likewise.
55276         * modules/mbswidth (Depends-on): Depend on wchar.
55277         * lib/mbswidth.c: Assume <wchar.h>.
55278         * m4/mbswidth.m4: Likewise.
55279         * modules/quotearg (Depends-on): Depend on wchar.
55280         * lib/quotearg.c: Assume <wchar.h>.
55281         * m4/quotearg.m4: Likewise.
55282         * modules/regex (Depends-on): Depend on wchar.
55283         * lib/regex_internal.h: Assume <wchar.h>.
55284         * m4/regex.m4: Likewise.
55285         * modules/stdint (Depends-on): Depend on wchar.
55286         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
55287         * m4/stdint.m4: Likewise.
55288         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
55289         * modules/strftime (Depends-on): Depend on wchar.
55290         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
55291         * modules/strtol (Depends-on): Depend on wchar.
55292         * lib/strtol.c: Assume <wchar.h>.
55293         * modules/wcwidth (Depends-on): Depend on wchar.
55294         * lib/wcwidth.h: Assume <wchar.h>.
55295         * m4/wcwidth.m4: Likewise.
55296
55297 2007-01-16  Bruno Haible  <bruno@clisp.org>
55298
55299         * modules/csharpexec-script: New, created from...
55300         * modules/csharpexec: ... this.
55301
55302 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55303
55304         * modules/javaexec-script: New, created from...
55305         * modules/javaexec: ... this.
55306
55307 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55308
55309         * modules/poll (Dependencies): Add sys_select.
55310
55311 2007-01-15  Jim Meyering  <jim@meyering.net>
55312
55313         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
55314         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
55315         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
55316         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
55317
55318 2007-01-15  Bruno Haible  <bruno@clisp.org>
55319
55320         * modules/striconveh: New file.
55321         * lib/striconveh.h: New file.
55322         * lib/striconveh.c: New file.
55323         * MODULES.html.sh (Internationalization functions): Add striconveh.
55324
55325         * modules/striconveh-tests: New file.
55326         * tests/test-striconveh.c: New file.
55327
55328 2007-01-15  Bruno Haible  <bruno@clisp.org>
55329
55330         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
55331         not from GNU libiconv or GNU libc.
55332
55333 2007-01-15  Bruno Haible  <bruno@clisp.org>
55334
55335         * doc/gnulib-intro.texi (Copyright): Explain the different license
55336         terms for module descriptions, autoconf macros, tests, documentation.
55337
55338 2007-01-14  Bruno Haible  <bruno@clisp.org>
55339
55340         * modules/striconv-tests: New file.
55341         * tests/test-striconv.c: New file.
55342
55343 2007-01-14  Bruno Haible  <bruno@clisp.org>
55344
55345         * modules/iconv-tests: New file.
55346         * tests/test-iconv.c: New file.
55347
55348 2007-01-14  Bruno Haible  <bruno@clisp.org>
55349
55350         * gnulib-tool (func_get_license): For test modules, use the license of
55351         the main module.
55352
55353 2007-01-14  Bruno Haible  <bruno@clisp.org>
55354
55355         * modules/iconv (Include): Clarify that <iconv.h> can only be included
55356         if iconv is found to exist.
55357
55358 2007-01-14  Bruno Haible  <bruno@clisp.org>
55359
55360         * modules/c-ctype-tests: New file.
55361         * tests/test-c-ctype.c: New file.
55362
55363 2007-01-14  Bruno Haible  <bruno@clisp.org>
55364
55365         * modules/binary-io-tests: New file.
55366         * tests/test-binary-io.sh: New file.
55367         * tests/test-binary-io.c: New file.
55368
55369 2007-01-14  Bruno Haible  <bruno@clisp.org>
55370
55371         * modules/array-oset-tests: New file.
55372         * tests/test-array_oset.c: New file.
55373
55374 2007-01-14  Bruno Haible  <bruno@clisp.org>
55375
55376         * modules/array-list-tests: New file.
55377         * tests/test-array_list.c: New file.
55378
55379 2007-01-14  Bruno Haible  <bruno@clisp.org>
55380
55381         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
55382         and make.
55383         Reported by Simon Josefsson in
55384         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
55385
55386 2007-01-14  Bruno Haible  <bruno@clisp.org>
55387
55388         * modules/allocsa-tests: New file.
55389         * tests/test-allocsa.c: New file.
55390
55391 2007-01-14  Bruno Haible  <bruno@clisp.org>
55392
55393         * modules/fchdir (Depends-on): Add absolute-header.
55394         * modules/unistd (Depends-on): Likewise.
55395
55396 2006-12-30  Bruno Haible  <bruno@clisp.org>
55397
55398         * modules/fchdir: New file.
55399         * modules/unistd (Files): Add lib/unistd_.h.
55400         (Makefile.am): Generate unistd.h from unistd_.h.
55401         * lib/fchdir.c: New file.
55402         * lib/dirent_.h: New file.
55403         * lib/unistd_.h: New file.
55404         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
55405         * m4/fchdir.m4: New file.
55406         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
55407         (gl_HEADER_UNISTD): Invoke it.
55408         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
55409         function.
55410         * lib/backupfile.c (opendir, closedir): Undefine.
55411         * lib/chown.c (open, close): Undefine.
55412         * lib/clean-temp.c (open, close): Undefine.
55413         * lib/copy-file.c (open, close): Undefine.
55414         * lib/execute.c (open, close): Undefine.
55415         * lib/fsusage.c (open, close): Undefine.
55416         * lib/gc-gnulib.c (open, close): Undefine.
55417         * lib/getcwd.c (opendir, closedir): Undefine.
55418         * lib/glob.c (opendir, closedir): Undefine.
55419         * lib/javacomp.c (open, close): Undefine.
55420         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
55421         * lib/openat-proc.c (open, close): Undefine.
55422         * lib/pagealign_alloc.c (open, close): Undefine.
55423         * lib/pipe.c (open, close): Undefine.
55424         * lib/progreloc.c (open, close): Undefine.
55425         * lib/savedir.c (opendir, closedir): Undefine.
55426         * lib/utime.c (open, close): Undefine.
55427         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
55428
55429 2007-01-10  Bruno Haible  <bruno@clisp.org>
55430
55431         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
55432
55433 2007-01-12  Eric Blake  <ebb9@byu.net>
55434
55435         Provide a robust <wchar.h>.  Further simplifications are now
55436         possible in other modules, but not included here.
55437         * modules/wchar: New module.
55438         * m4/wchar.m4: New file.
55439         * lib/wchar_.h: Likewise.
55440         * modules/mbchar (Depends-on): Depend on wchar, as the first use
55441         of the new module.
55442         * MODULES.html.sh (Extended multibyte and wide character utilities):
55443         New section.
55444
55445 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
55446
55447         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
55448         to a reasonable default for memory allocation.
55449         (xreadlink): Don't allocate a huge buffer, to work around a buggy
55450         file system that reports garbage st_size values for symlinks.
55451         Problem reported by Liyang Hu.
55452
55453 2007-01-11  Simon Josefsson  <simon@josefsson.org>
55454
55455         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
55456         Emacs .#* auto-save files).
55457
55458 2007-01-11  Bruno Haible  <bruno@clisp.org>
55459
55460         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
55461         directory.
55462
55463 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
55464
55465         Use @...@ consistently in lib/wctype_.h.
55466         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
55467         on it being set to 1 or 0.
55468         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
55469         go back to AC_SUBSTing it.
55470         * modules/wctype (Makefile.am): Undo previous change.
55471
55472 2007-01-10  Eric Blake  <ebb9@byu.net>
55473
55474         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
55475         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
55476         * modules/wctype (Makefile.am): Likewise.
55477         Reported by Chris McGuire.
55478
55479 2007-01-10  Jim Meyering  <jim@meyering.net>
55480
55481         fts.c: a small readability/maintainability improvement
55482         * lib/fts.c (fts_read): Make this code slightly more readable and
55483         maintainable by hoisting the "sp->fts_cur = p" assignments to
55484         immediately follow the statements that set P.  Derived from
55485         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
55486
55487 2007-01-10  Eric Blake  <ebb9@byu.net>
55488
55489         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
55490         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
55491         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55492         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
55493         Reported by Chris McGuire.
55494
55495 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55496
55497         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
55498         in sed script.
55499
55500 2007-01-09  Bruno Haible  <bruno@clisp.org>
55501
55502         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
55503         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
55504         variables.
55505         (func_module): Use them.
55506
55507 2007-01-09  Bruno Haible  <bruno@clisp.org>
55508
55509         * modules/unistr/base: New file.
55510         * lib/unistr.h: New file.
55511
55512         * modules/unistr/u8-to-u16: New file.
55513         * lib/unistr/u8-to-u16.c: New file.
55514
55515         * modules/unistr/u8-to-u32: New file.
55516         * lib/unistr/u8-to-u32.c: New file.
55517
55518         * modules/unistr/u16-to-u8: New file.
55519         * lib/unistr/u16-to-u8.c: New file.
55520
55521         * modules/unistr/u16-to-u32: New file.
55522         * lib/unistr/u16-to-u32.c: New file.
55523
55524         * modules/unistr/u32-to-u8: New file.
55525         * lib/unistr/u32-to-u8.c: New file.
55526
55527         * modules/unistr/u32-to-u16: New file.
55528         * lib/unistr/u32-to-u16.c: New file.
55529
55530         * modules/unistr/u8-check: New file.
55531         * modules/unistr/u16-check: New file.
55532         * modules/unistr/u32-check: New file.
55533         * lib/unistr/u8-check.c: New file.
55534         * lib/unistr/u16-check.c: New file.
55535         * lib/unistr/u32-check.c: New file.
55536
55537         * modules/unistr/u8-chr: New file.
55538         * modules/unistr/u16-chr: New file.
55539         * modules/unistr/u32-chr: New file.
55540         * lib/unistr/u8-chr.c: New file.
55541         * lib/unistr/u16-chr.c: New file.
55542         * lib/unistr/u32-chr.c: New file.
55543
55544         * modules/unistr/u8-cmp: New file.
55545         * modules/unistr/u16-cmp: New file.
55546         * modules/unistr/u32-cmp: New file.
55547         * lib/unistr/u8-cmp.c: New file.
55548         * lib/unistr/u16-cmp.c: New file.
55549         * lib/unistr/u32-cmp.c: New file.
55550
55551         * modules/unistr/u8-cpy: New file.
55552         * modules/unistr/u16-cpy: New file.
55553         * modules/unistr/u32-cpy: New file.
55554         * lib/unistr/u8-cpy.c: New file.
55555         * lib/unistr/u16-cpy.c: New file.
55556         * lib/unistr/u32-cpy.c: New file.
55557         * lib/unistr/u-cpy.h: New file.
55558
55559         * modules/unistr/u8-cpy-alloc: New file.
55560         * modules/unistr/u16-cpy-alloc: New file.
55561         * modules/unistr/u32-cpy-alloc: New file.
55562         * lib/unistr/u8-cpy-alloc.c: New file.
55563         * lib/unistr/u16-cpy-alloc.c: New file.
55564         * lib/unistr/u32-cpy-alloc.c: New file.
55565         * lib/unistr/u-cpy-alloc.h: New file.
55566
55567         * modules/unistr/u8-endswith: New file.
55568         * modules/unistr/u16-endswith: New file.
55569         * modules/unistr/u32-endswith: New file.
55570         * lib/unistr/u8-endswith.c: New file.
55571         * lib/unistr/u16-endswith.c: New file.
55572         * lib/unistr/u32-endswith.c: New file.
55573         * lib/unistr/u-endswith.h: New file.
55574
55575         * modules/unistr/u8-mblen: New file.
55576         * modules/unistr/u16-mblen: New file.
55577         * modules/unistr/u32-mblen: New file.
55578         * lib/unistr/u8-mblen.c: New file.
55579         * lib/unistr/u16-mblen.c: New file.
55580         * lib/unistr/u32-mblen.c: New file.
55581
55582         * modules/unistr/u8-mbtouc: New file.
55583         * modules/unistr/u16-mbtouc: New file.
55584         * modules/unistr/u32-mbtouc: New file.
55585         * lib/unistr/u8-mbtouc.c: New file.
55586         * lib/unistr/u16-mbtouc.c: New file.
55587         * lib/unistr/u32-mbtouc.c: New file.
55588
55589         * modules/unistr/u8-mbtouc-safe: New file.
55590         * modules/unistr/u16-mbtouc-safe: New file.
55591         * modules/unistr/u32-mbtouc-safe: New file.
55592         * lib/unistr/u8-mbtouc-safe.c: New file.
55593         * lib/unistr/u16-mbtouc-safe.c: New file.
55594         * lib/unistr/u32-mbtouc-safe.c: New file.
55595
55596         * modules/unistr/u8-move: New file.
55597         * modules/unistr/u16-move: New file.
55598         * modules/unistr/u32-move: New file.
55599         * lib/unistr/u8-move.c: New file.
55600         * lib/unistr/u16-move.c: New file.
55601         * lib/unistr/u32-move.c: New file.
55602         * lib/unistr/u-move.h: New file.
55603
55604         * modules/unistr/u8-next: New file.
55605         * modules/unistr/u16-next: New file.
55606         * modules/unistr/u32-next: New file.
55607         * lib/unistr/u8-next.c: New file.
55608         * lib/unistr/u16-next.c: New file.
55609         * lib/unistr/u32-next.c: New file.
55610
55611         * modules/unistr/u8-prev: New file.
55612         * modules/unistr/u16-prev: New file.
55613         * modules/unistr/u32-prev: New file.
55614         * lib/unistr/u8-prev.c: New file.
55615         * lib/unistr/u16-prev.c: New file.
55616         * lib/unistr/u32-prev.c: New file.
55617
55618         * modules/unistr/u8-set: New file.
55619         * modules/unistr/u16-set: New file.
55620         * modules/unistr/u32-set: New file.
55621         * lib/unistr/u8-set.c: New file.
55622         * lib/unistr/u16-set.c: New file.
55623         * lib/unistr/u32-set.c: New file.
55624         * lib/unistr/u-set.h: New file.
55625
55626         * modules/unistr/u8-startswith: New file.
55627         * modules/unistr/u16-startswith: New file.
55628         * modules/unistr/u32-startswith: New file.
55629         * lib/unistr/u8-startswith.c: New file.
55630         * lib/unistr/u16-startswith.c: New file.
55631         * lib/unistr/u32-startswith.c: New file.
55632         * lib/unistr/u-startswith.h: New file.
55633
55634         * modules/unistr/u8-stpcpy: New file.
55635         * modules/unistr/u16-stpcpy: New file.
55636         * modules/unistr/u32-stpcpy: New file.
55637         * lib/unistr/u8-stpcpy.c: New file.
55638         * lib/unistr/u16-stpcpy.c: New file.
55639         * lib/unistr/u32-stpcpy.c: New file.
55640         * lib/unistr/u-stpcpy.h: New file.
55641
55642         * modules/unistr/u8-stpncpy: New file.
55643         * modules/unistr/u16-stpncpy: New file.
55644         * modules/unistr/u32-stpncpy: New file.
55645         * lib/unistr/u8-stpncpy.c: New file.
55646         * lib/unistr/u16-stpncpy.c: New file.
55647         * lib/unistr/u32-stpncpy.c: New file.
55648         * lib/unistr/u-stpncpy.h: New file.
55649
55650         * modules/unistr/u8-strcat: New file.
55651         * modules/unistr/u16-strcat: New file.
55652         * modules/unistr/u32-strcat: New file.
55653         * lib/unistr/u8-strcat.c: New file.
55654         * lib/unistr/u16-strcat.c: New file.
55655         * lib/unistr/u32-strcat.c: New file.
55656         * lib/unistr/u-strcat.h: New file.
55657
55658         * modules/unistr/u8-strchr: New file.
55659         * modules/unistr/u16-strchr: New file.
55660         * modules/unistr/u32-strchr: New file.
55661         * lib/unistr/u8-strchr.c: New file.
55662         * lib/unistr/u16-strchr.c: New file.
55663         * lib/unistr/u32-strchr.c: New file.
55664
55665         * modules/unistr/u8-strcmp: New file.
55666         * modules/unistr/u16-strcmp: New file.
55667         * modules/unistr/u32-strcmp: New file.
55668         * lib/unistr/u8-strcmp.c: New file.
55669         * lib/unistr/u16-strcmp.c: New file.
55670         * lib/unistr/u32-strcmp.c: New file.
55671
55672         * modules/unistr/u8-strcpy: New file.
55673         * modules/unistr/u16-strcpy: New file.
55674         * modules/unistr/u32-strcpy: New file.
55675         * lib/unistr/u8-strcpy.c: New file.
55676         * lib/unistr/u16-strcpy.c: New file.
55677         * lib/unistr/u32-strcpy.c: New file.
55678         * lib/unistr/u-strcpy.h: New file.
55679
55680         * modules/unistr/u8-strcspn: New file.
55681         * modules/unistr/u16-strcspn: New file.
55682         * modules/unistr/u32-strcspn: New file.
55683         * lib/unistr/u8-strcspn.c: New file.
55684         * lib/unistr/u16-strcspn.c: New file.
55685         * lib/unistr/u32-strcspn.c: New file.
55686         * lib/unistr/u-strcspn.h: New file.
55687
55688         * modules/unistr/u8-strdup: New file.
55689         * modules/unistr/u16-strdup: New file.
55690         * modules/unistr/u32-strdup: New file.
55691         * lib/unistr/u8-strdup.c: New file.
55692         * lib/unistr/u16-strdup.c: New file.
55693         * lib/unistr/u32-strdup.c: New file.
55694         * lib/unistr/u-strdup.h: New file.
55695
55696         * modules/unistr/u8-strlen: New file.
55697         * modules/unistr/u16-strlen: New file.
55698         * modules/unistr/u32-strlen: New file.
55699         * lib/unistr/u8-strlen.c: New file.
55700         * lib/unistr/u16-strlen.c: New file.
55701         * lib/unistr/u32-strlen.c: New file.
55702         * lib/unistr/u-strlen.h: New file.
55703
55704         * modules/unistr/u8-strmblen: New file.
55705         * modules/unistr/u16-strmblen: New file.
55706         * modules/unistr/u32-strmblen: New file.
55707         * lib/unistr/u8-strmblen.c: New file.
55708         * lib/unistr/u16-strmblen.c: New file.
55709         * lib/unistr/u32-strmblen.c: New file.
55710
55711         * modules/unistr/u8-strmbtouc: New file.
55712         * modules/unistr/u16-strmbtouc: New file.
55713         * modules/unistr/u32-strmbtouc: New file.
55714         * lib/unistr/u8-strmbtouc.c: New file.
55715         * lib/unistr/u16-strmbtouc.c: New file.
55716         * lib/unistr/u32-strmbtouc.c: New file.
55717
55718         * modules/unistr/u8-strncat: New file.
55719         * modules/unistr/u16-strncat: New file.
55720         * modules/unistr/u32-strncat: New file.
55721         * lib/unistr/u8-strncat.c: New file.
55722         * lib/unistr/u16-strncat.c: New file.
55723         * lib/unistr/u32-strncat.c: New file.
55724         * lib/unistr/u-strncat.h: New file.
55725
55726         * modules/unistr/u8-strncmp: New file.
55727         * modules/unistr/u16-strncmp: New file.
55728         * modules/unistr/u32-strncmp: New file.
55729         * lib/unistr/u8-strncmp.c: New file.
55730         * lib/unistr/u16-strncmp.c: New file.
55731         * lib/unistr/u32-strncmp.c: New file.
55732
55733         * modules/unistr/u8-strncpy: New file.
55734         * modules/unistr/u16-strncpy: New file.
55735         * modules/unistr/u32-strncpy: New file.
55736         * lib/unistr/u8-strncpy.c: New file.
55737         * lib/unistr/u16-strncpy.c: New file.
55738         * lib/unistr/u32-strncpy.c: New file.
55739         * lib/unistr/u-strncpy.h: New file.
55740
55741         * modules/unistr/u8-strnlen: New file.
55742         * modules/unistr/u16-strnlen: New file.
55743         * modules/unistr/u32-strnlen: New file.
55744         * lib/unistr/u8-strnlen.c: New file.
55745         * lib/unistr/u16-strnlen.c: New file.
55746         * lib/unistr/u32-strnlen.c: New file.
55747         * lib/unistr/u-strnlen.h: New file.
55748
55749         * modules/unistr/u8-strpbrk: New file.
55750         * modules/unistr/u16-strpbrk: New file.
55751         * modules/unistr/u32-strpbrk: New file.
55752         * lib/unistr/u8-strpbrk.c: New file.
55753         * lib/unistr/u16-strpbrk.c: New file.
55754         * lib/unistr/u32-strpbrk.c: New file.
55755         * lib/unistr/u-strpbrk.h: New file.
55756
55757         * modules/unistr/u8-strrchr: New file.
55758         * modules/unistr/u16-strrchr: New file.
55759         * modules/unistr/u32-strrchr: New file.
55760         * lib/unistr/u8-strrchr.c: New file.
55761         * lib/unistr/u16-strrchr.c: New file.
55762         * lib/unistr/u32-strrchr.c: New file.
55763
55764         * modules/unistr/u8-strspn: New file.
55765         * modules/unistr/u16-strspn: New file.
55766         * modules/unistr/u32-strspn: New file.
55767         * lib/unistr/u8-strspn.c: New file.
55768         * lib/unistr/u16-strspn.c: New file.
55769         * lib/unistr/u32-strspn.c: New file.
55770         * lib/unistr/u-strspn.h: New file.
55771
55772         * modules/unistr/u8-strstr: New file.
55773         * modules/unistr/u16-strstr: New file.
55774         * modules/unistr/u32-strstr: New file.
55775         * lib/unistr/u8-strstr.c: New file.
55776         * lib/unistr/u16-strstr.c: New file.
55777         * lib/unistr/u32-strstr.c: New file.
55778         * lib/unistr/u-strstr.h: New file.
55779
55780         * modules/unistr/u8-strtok: New file.
55781         * modules/unistr/u16-strtok: New file.
55782         * modules/unistr/u32-strtok: New file.
55783         * lib/unistr/u8-strtok.c: New file.
55784         * lib/unistr/u16-strtok.c: New file.
55785         * lib/unistr/u32-strtok.c: New file.
55786         * lib/unistr/u-strtok.h: New file.
55787
55788         * modules/unistr/u8-uctomb: New file.
55789         * modules/unistr/u16-uctomb: New file.
55790         * modules/unistr/u32-uctomb: New file.
55791         * lib/unistr/u8-uctomb.c: New file.
55792         * lib/unistr/u16-uctomb.c: New file.
55793         * lib/unistr/u32-uctomb.c: New file.
55794
55795         * MODULES.html.sh (Unicode string functions): Add the new modules.
55796
55797 2007-01-08  Bruno Haible  <bruno@clisp.org>
55798
55799         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
55800         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
55801         subdirectories.
55802
55803 2007-01-08  Karl Berry  <karl@gnu.org>
55804
55805         * doc/error.texi: mention that main() fns must set program_name
55806         when progname is used.
55807
55808 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
55809
55810         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
55811         WCTYPE_H is empty, for the benefit of builds from non-distclean
55812         directories.  Problem reported by Eric Blake in
55813         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
55814
55815 2007-01-08  Bruno Haible  <bruno@clisp.org>
55816
55817         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
55818         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
55819         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
55820         PROVIDE_CANONICALIZE_FILENAME_MODE.
55821         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
55822
55823 2007-01-08  Bruno Haible  <bruno@clisp.org>
55824
55825         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
55826         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
55827         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
55828         * lib/fts.c: Likewise.
55829         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
55830
55831 2006-12-25  Bruno Haible  <bruno@clisp.org>
55832
55833         * modules/utf8-ucs4-safe: New file.
55834         * lib/utf8-ucs4-safe.h: New file.
55835         * lib/unistr/utf8-ucs4-safe.c: New file.
55836
55837         * modules/utf16-ucs4-safe: New file.
55838         * lib/utf16-ucs4-safe.h: New file.
55839         * lib/unistr/utf16-ucs4-safe.c: New file.
55840
55841         * MODULES.html.sh (Unicode string functions): Add the new modules.
55842
55843 2007-01-08  Bruno Haible  <bruno@clisp.org>
55844
55845         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
55846         (Depends-on): Add unitypes.
55847         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
55848         (u8_mbtouc_aux): Move out to separate file.
55849         (u8_mbtouc): Use ucs4_t, uint8_t types.
55850         * lib/unistr/utf8-ucs4.c: New file.
55851
55852         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
55853         (Depends-on): Add unitypes.
55854         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
55855         (u16_mbtouc_aux): Move out to separate file.
55856         (u16_mbtouc): Use ucs4_t, uint16_t types.
55857         * lib/unistr/utf16-ucs4.c: New file.
55858
55859         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
55860         (Depends-on): Add unitypes.
55861         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
55862         (u8_uctomb_aux): Move out to separate file.
55863         (u8_uctomb): Use ucs4_t, uint8_t types.
55864         * lib/unistr/ucs4-utf8.c: New file.
55865
55866         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
55867         (Depends-on): Add unitypes.
55868         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
55869         (u16_uctomb_aux): Move out to separate file.
55870         (u16_uctomb): Use ucs4_t, uint16_t types.
55871         * lib/unistr/ucs4-utf16.c: New file.
55872
55873 2006-12-25  Bruno Haible  <bruno@clisp.org>
55874
55875         * modules/unitypes: New file.
55876         * lib/unitypes.h: New file.
55877         * MODULES.html.sh (func_all_modules): New section "Unicode string
55878         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
55879         this section. Add unitypes.
55880
55881 2007-01-08  Bruno Haible  <bruno@clisp.org>
55882
55883         Avoid variable names that conflict with those from libtool.
55884         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
55885         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
55886         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
55887         library_names_spec to acl_library_names_spec, hardcode_* to
55888         acl_hardcode_*.
55889         Reported by Ralf Wildenhues.
55890
55891 2007-01-08  Bruno Haible  <bruno@clisp.org>
55892
55893         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
55894         definition.
55895         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
55896         definition.
55897         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
55898         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
55899         definition.
55900         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
55901         definition.
55902         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
55903         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
55904         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
55905         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
55906         definition.
55907         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
55908         definition.
55909         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
55910         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
55911         GC_USE_<algorithm>.
55912         * lib/gc-libgcrypt.c: Likewise.
55913         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
55914         * modules/gc-arctwo (configure.ac): Likewise.
55915         * modules/gc-des (configure.ac): Likewise.
55916         * modules/gc-hmac-md5 (configure.ac): Likewise.
55917         * modules/gc-hmac-sha1 (configure.ac): Likewise.
55918         * modules/gc-md2 (configure.ac): Likewise.
55919         * modules/gc-md4 (configure.ac): Likewise.
55920         * modules/gc-md5 (configure.ac): Likewise.
55921         * modules/gc-random (configure.ac): Likewise.
55922         * modules/gc-rijndael (configure.ac): Likewise.
55923         * modules/gc-sha1 (configure.ac): Likewise.
55924
55925 2007-01-08  Bruno Haible  <bruno@clisp.org>
55926
55927         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
55928         macro definition.
55929         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
55930         definition.
55931         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
55932         definition.
55933         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
55934         * modules/fcntl-safer (configure.ac): Likewise.
55935         * modules/fopen-safer (configure.ac): Likewise.
55936         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
55937         GNULIB_FWRITEERROR macro definition.
55938
55939 2007-01-08  Bruno Haible  <bruno@clisp.org>
55940
55941         * m4/gnulib-common.m4: New file.
55942         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
55943         (func_get_filelist): Add m4/gnulib-common.m4.
55944
55945 2007-01-08  Bruno Haible  <bruno@clisp.org>
55946
55947         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
55948         command.
55949
55950 2007-01-08  Jim Meyering  <jim@meyering.net>
55951
55952         Use a more robust test for a "can't happen" condition.
55953         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
55954         narrowed the st_size value.  Presuming the "can't happen" condition
55955         is true, that narrowing could conceivably convert an invalid st_size
55956         value into a valid one.  Instead, use a change based on Matthew
55957         Woehlke's original patch.
55958
55959         Slight readability improvement: use an assert-like macro
55960         in place of literal "abort ()" uses.
55961         * lib/fts.c (fts_assert): Define.
55962         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
55963         Use this macro instead of a bare 'abort'.
55964
55965 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
55966
55967         Don't worry about using IRIX 5.3's wctype.h broken definitions;
55968         simply work around them.
55969         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
55970         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
55971         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
55972         declaring.
55973         Don't bother to define as macros, since the standard doesn't require it.
55974         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
55975         longer worry about IRIX 5.3.
55976         (HAVE_WCTYPE_CTMP_BUG): Remove.
55977
55978 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
55979
55980         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
55981         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
55982         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
55983         Problems reported by Georg Schwarz for IRIX 5.3.
55984
55985         * gnulib-tool (autoconf_minversion): Take the maximum version number
55986         found, not the minimum.  Problem reported by James Youngman.
55987
55988 2007-01-03  Karl Berry  <karl@gnu.org>
55989
55990         * doc/error.texi: new file, explaining interaction with progname.
55991         * doc/gnulib.texi: include it.  Update copyright.
55992
55993 2007-01-03  Simon Josefsson  <simon@josefsson.org>
55994
55995         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
55996         AC_CANONICAL_HOST, to improve autobuild outputs.
55997
55998 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
55999             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
56000
56001         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
56002         sockets, server sockets, and other file descriptors.  Count errors
56003         to compute the return value.  Reorder the code a bit to be easier
56004         to follow.  Don't set event bits that were not requested (except
56005         POLLERR and POLLHUP).
56006
56007 2007-01-01  Bruno Haible  <bruno@clisp.org>
56008
56009         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
56010
56011 2007-01-03  Jim Meyering  <jim@meyering.net>
56012
56013         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
56014
56015 2007-01-02  Bruno Haible  <bruno@clisp.org>
56016
56017         * modules/settime (Include): Require timespec.h.
56018         * modules/nanosleep (Include): Likewise.
56019
56020 2007-01-01  Bruno Haible  <bruno@clisp.org>
56021
56022         * gnulib-tool (func_emit_copyright_notice): Bump year.
56023         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
56024
56025 2007-01-01  Bruno Haible  <bruno@clisp.org>
56026
56027         Improve support for OpenBSD.
56028         * build-aux/config.rpath (libname_spec): Export.
56029         (library_names_spec): New variable. Export.
56030         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
56031         library_names_spec from the config.rpath output. Locate shared library
56032         through the name pattern in library_names_spec.
56033
56034 2007-01-01  Eric Blake  <ebb9@byu.net>
56035
56036         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
56037
56038 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
56039
56040         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
56041         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
56042         assume the C locale, and avoid an "eval" that could cause trouble.
56043         Problem with SORT reported by Bob Proulx.
56044
56045         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
56046         Define.  Trivial patch from Henning Nielsen Lund, originally
56047         sent to bug-grep@gnu.org today.
56048
56049 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56050
56051         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
56052         struct stat.  Problem reported by Henning Nielsen Lund.
56053         * lib/acl.c: Include acl.h first, to check interface.  Don't
56054         bother to include sys/types.h and sys/stat.h again.
56055
56056 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56057
56058         Import the following change from libc; problem reported by
56059         Sven Verdoolaege.
56060
56061         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
56062
56063         [BZ #1373]
56064         * lib/argp.h: Remove __NTH for __argp_usage inline function.
56065
56066 2006-12-28  Jim Meyering  <jim@meyering.net>
56067
56068         * build-aux/announce-gen: Do not assume that the package
56069         builds any of tar.gz, tar.bz2, and .xdelta files.
56070         Suggestion from Simon Josefsson.
56071
56072 2006-12-28  Simon Josefsson  <simon@josefsson.org>
56073
56074         * modules/announce-gen: New file.
56075
56076 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
56077
56078         * lib/mbchar.h: Just include <wctype.h>; the wctype module
56079         handles its gotchas now.
56080         * lib/mbswidth.c: Likewise.
56081         * lib/wcwidth.h: Likewise.
56082         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
56083         and iswcntrl; the wctype module does this stuff now.
56084         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56085         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56086         * modules/mbchar (Depends-on): Add wctype.
56087         * modules/mbswidth (Depends-on): Likewise.
56088         * modules/wcwidth (Depends-on): Likewise.
56089
56090 2006-12-27  Eric Blake  <ebb9@byu.net>
56091
56092         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
56093         module uses more than what <wctype.h> is required to provide.
56094
56095 2006-12-26  Eric Blake  <ebb9@byu.net>
56096
56097         * gnulib-tool (sed_extract_prog): Avoid space-tab.
56098
56099 2006-12-26  Eric Blake  <ebb9@byu.net>
56100
56101         * modules/absolute-header: New module.
56102         * modules/fcntl (Depends-on): Depend on it.
56103         * modules/inttypes (Depends-on): Likewise.
56104         * modules/stdint (Depends-on): Likewise.
56105         * modules/sys_stat (Depends-on): Likewise.
56106         * modules/wctype (Depends-on): Likewise.
56107         * MODULES.html.sh (Support for building libraries and
56108         executables): Document it.
56109
56110 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56111
56112         * gnulib-tool (SED): Remove, undoing previous change.
56113         The problem was that it broke coreutils on Solaris, because
56114         "sed --posix" leaked into a makefile.
56115         (sed): New alias, if 'alias' and GNU sed.
56116
56117 2006-12-24  Jim Meyering  <jim@meyering.net>
56118
56119         Work around an fchownat bug in glibc-2.4:
56120         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
56121         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
56122         in spite of the -P option.
56123         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
56124         New macros.
56125         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
56126         * modules/openat (Files): Add lib/fchownat.c.
56127         * lib/openat.c (fchownat): Don't define here.  Move to...
56128         * lib/fchownat.c: ...this new file.
56129
56130 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56131
56132         Fix bug reported by Bruno Haible in
56133         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
56134         where quotearg.c didn't compile on Mac OS X 10.2 because it
56135         lacks <wchar.h> and wint_t.
56136         * lib/wctype_.h (__wctype_wint_t): New type.
56137         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
56138         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
56139         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
56140         Arg is now of type __wctype_wint_t, not wint_t.
56141         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
56142         substitute HAVE_WINT_T.
56143         * modules/wctype (Files): Add m4/wint_t.m4.
56144         (wctype.h): Substitute HAVE_WINT_T.
56145
56146 2006-12-23  Bruno Haible  <bruno@clisp.org>
56147
56148         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
56149
56150 2006-12-23  Bruno Haible  <bruno@clisp.org>
56151
56152         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
56153         S_ISLNK.
56154         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
56155         mingw.
56156
56157 2006-12-22  Bruno Haible  <bruno@clisp.org>
56158
56159         * lib/copy-file.c: Include acl.h.
56160         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
56161         Close the file descriptors only after being done with copy_acl.
56162         * modules/copy-file (Depends-on): Add acl.
56163
56164 2006-12-22  Bruno Haible  <bruno@clisp.org>
56165
56166         * gnulib-tool (SED): New variable.
56167         Use $SED instead of sed everywhere.
56168
56169 2006-12-22  Bruno Haible  <bruno@clisp.org>
56170
56171         * modules/no-c++: New file.
56172         * m4/no-c++.m4: New file.
56173         * MODULES.html.sh (Support for building libraries and executables):
56174         Add no-c++.
56175
56176 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
56177
56178         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56179         Include <limits.h>, and use its INT_MAX to rewrite the
56180         j loop so that it does not overflow 'int'.  Problem reported by
56181         Ralf Wildenhues in
56182         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
56183         Play it safe by shifting left by 1 rather than multiplying by 2,
56184         as GCC is less likely to optimize this away when the value
56185         is signed (when it assumes overflow leads to undefined behavior).
56186         Also, don't assume time_t uses two's complement.
56187
56188 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
56189
56190         * MODULES.html.sh: New module wctype.
56191         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
56192         * lib/fnmatch.c: Don't bother to include <wchar.h> before
56193         <wctype.h>, since the new wctype module should fix this.
56194         * lib/quotearg.c: Include <wctype.h> unconditionally, since
56195         the wctype module should arrange for it.
56196         * lib/regex_internal.h: Likewise.
56197         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
56198         since the wctype module should handle this now.
56199         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
56200         * modules/fnmatch (Depends-on): Add wctype.
56201         * modules/quotearg (Depends-on): Likewise.
56202         * modules/regex (Depends-on): Likewise.
56203
56204 2006-12-19  Bruno Haible  <bruno@clisp.org>
56205
56206         * lib/strdup.h [C++]: Wrap definitions in extern "C".
56207         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
56208
56209 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56210
56211         * modules/savewd (Depends-on): Fix dependency on fcntl.
56212
56213 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56214
56215         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
56216         conforms to C99, rather than relying on the user's environment
56217         setting of STDINT_H.
56218
56219 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56220         and Eric Blake  <ebb9@byu.net>
56221
56222         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
56223         This is more consistent with the other defines here.
56224         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
56225         Port to z/OS.  Problem reported by Paul Gilmartin.
56226         Change local vars to use gl_ prefix rather than ac_.
56227         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
56228         with other defines.
56229         * modules/double-slash-root: New module.
56230         * modules/dirname (Files): Remove m4/double-slash-root.m4.
56231         (Depends-on): Add double-slash-root.
56232         * MODULES.html.sh (File system functions): Mention new module.
56233
56234 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
56235
56236         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
56237         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
56238         This is for the benefit of gzip, which doesn't do i18n.
56239
56240 2006-12-12  Jim Meyering  <jim@meyering.net>
56241
56242         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
56243         Reported by Andreas Schwab <schwab@suse.de>.
56244
56245 2006-12-12  Bruno Haible  <bruno@clisp.org>
56246
56247         Merge these changes.
56248         2006-09-05  Bruno Haible  <bruno@clisp.org>
56249         * lib/iconvme.c (iconv_string): No need to save and restore errno when
56250         iconv_alloc succeeded.
56251         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
56252         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
56253         test for " && dest " at the end - dest is always != NULL there. Call
56254         iconv with 4xNULL arguments initially, to reset the state. Call iconv
56255         with 2xNULL arguments, also to flush the state storage. Handle the
56256         IRIX iconv behaviour. Realloc the final result, to throw away unused
56257         memory.
56258
56259 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
56260
56261         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
56262         and fchmodat unconditionally, since glibc 2.4 has them.
56263         Problem reported by Arkadiusz Miskiewicz.
56264
56265 2006-12-10  Bruno Haible  <bruno@clisp.org>
56266
56267         * gnulib-tool (func_import): Show the include files only for those
56268         modules that are copied and specified.
56269         Reported by Karl Berry.
56270
56271 2006-12-08  Jim Meyering  <jim@meyering.net>
56272
56273         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
56274         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
56275
56276         * build-aux/announce-gen: Add two new options, both optional:
56277         --bootstrap-tools=TOOL_LIST
56278               a comma-separated list of tools, e.g.,
56279               autoconf,automake,bison,gnulib
56280         --gnulib-snapshot-date=DATE
56281               if gnulib is in the bootstrap tool list,
56282               then report this as the snapshot date.
56283               If not specified, use the current date/time.
56284               If you specify a date here, be sure it's UTC.
56285
56286 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56287
56288         * tests/test-argp-2.sh: Fix test to match actual output.
56289         (func_compare): Fix sed script to be portable.
56290
56291 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
56292
56293         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
56294         workaround for this case.  It is not autoconfigured now; offhand
56295         it's hard to see how to autoconfigure it.
56296
56297 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56298
56299         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
56300         a directory that is about to be chowned.  Such a directory's
56301         initial file permissions should permit the owner only and this
56302         should not be changed until after the chown, since the group and
56303         other bits would be incorrect if they granted permission before
56304         the chown.
56305
56306         Fix porting problem for iswctype reported by Georg Schwarz in:
56307         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
56308         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
56309         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
56310         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
56311         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56312
56313 2006-12-03  Jim Meyering  <jim@meyering.net>
56314
56315         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
56316         p->fts_statp may not yet be defined.
56317         (fts_read): Instead, set it in the caller, once p->fts_statp is
56318         sure to be defined, and corresponds to a top-level directory.
56319         This bug made du -x fail.  Here's the coreutils test case:
56320         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
56321         Reported by Mike Frysinger.
56322
56323 2006-12-01  Jim Meyering  <jim@meyering.net>
56324
56325         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
56326         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
56327         Reported by Simon Josefsson.
56328
56329 2006-11-30  Jim Meyering  <jim@meyering.net>
56330
56331         * m4/warning.m4: Use the all-permissive copyright notice
56332         recommended by RMS (rather than LGPL).
56333         * m4/vararrays.m4: Likewise.
56334         * m4/flexmember.m4: Likewise.
56335
56336 2006-11-29  Bruno Haible  <bruno@clisp.org>
56337
56338         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56339         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
56340         using +=.
56341         Reported by Simon Josefsson <simon@josefsson.org>.
56342
56343 2006-11-28  James Youngman <jay@gnu.org>
56344
56345         * README: Advise users that they might find the bug-gnulib@gnu.org
56346         and autotools-announce@gnu.org mailing lists useful.
56347
56348 2006-11-28  Bruno Haible  <bruno@clisp.org>
56349
56350         * m4/ptrdiff_max.m4: Remove file.
56351
56352 2006-11-21  Bruno Haible  <bruno@clisp.org>
56353
56354         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
56355         _AC_COMPUTE_INT.
56356         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56357         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
56358         _AC_COMPUTE_INT.
56359         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56360         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
56361         _AC_COMPUTE_INT.
56362         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56363
56364 2006-11-28  Jim Meyering  <jim@meyering.net>
56365
56366         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
56367         warning from "gcc -Wshadow" about shadowing the builtin.
56368
56369 2006-11-27  Bruno Haible  <bruno@clisp.org>
56370
56371         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
56372         _AC_COMPUTE_INT.
56373         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56374
56375 2006-11-27  Bruno Haible  <bruno@clisp.org>
56376             Paul Eggert  <eggert@cs.ucla.edu>
56377
56378         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
56379
56380 2006-11-26  Bruno Haible  <bruno@clisp.org>
56381
56382         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56383         noinst_LTLIBRARIES.
56384
56385 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
56386             Bruno Haible  <bruno@clisp.org>
56387
56388         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
56389         if compiling with "gcc -ansi".
56390
56391 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
56392
56393         Fix some incompatibilities with gcc -ansi -pedantic.
56394         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
56395         if compiling pedantically with GCC, unless it's C99 or later.
56396         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
56397         it mishandles gcc -ansi -pedantic as well.
56398         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
56399         if gcc -pedantic.
56400         * lib/regexec.c (check_node_accept_bytes): Don't use auto
56401         initializers for struct if -pedantic, unless it's C99 or later.
56402
56403 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
56404
56405         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
56406         Don't close an fd more than once. Identical atimes indicate
56407         success, not failure.
56408
56409 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
56410
56411         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
56412
56413 2006-11-23  Jim Meyering  <jim@meyering.net>
56414
56415         * build-aux/announce-gen: New file.  From coreutils.
56416
56417 2006-11-22  Jim Meyering  <jim@meyering.net>
56418
56419         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
56420         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
56421         (fts_read): Use a temporary to narrow the overused st_size member
56422         before using it in a switch statement.  Reported by Matthew Woehlke.
56423
56424         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
56425         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
56426
56427 2006-11-20  Bruno Haible  <bruno@clisp.org>
56428
56429         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
56430         changequote instead of pairs of brackets.
56431         Reported by Andreas Schwab <schwab@suse.de>.
56432
56433 2006-11-21  Jim Meyering  <jim@meyering.net>
56434
56435         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
56436         so as to remain compatible with older compilers.
56437         Patch from Michael Deutschmann.
56438
56439 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56440
56441         * MODULES.html.sh (File system functions): Add openat.
56442
56443         * lib/openat.h (rpl_fstatat): New macro, if
56444         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
56445         (fstatat): Define to rpl_fstatat under the same conditions,
56446         unless COMPILING_FSTATAT.
56447         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
56448         seems to have the bug.
56449         * lib/fstatat.c: New file.
56450         * modules/openat (Files): Add it.
56451
56452 2006-11-20  Bruno Haible  <bruno@clisp.org>
56453
56454         * Makefile: New file.
56455
56456 2006-11-20  Jim Meyering  <jim@meyering.net>
56457
56458         The beginnings of syntax-related checks for gnulib.
56459         * lib/Makefile: New file.
56460         * lib/t-idcache: New script.  Ensure that the two halves of
56461         idcache.c stay in sync.
56462
56463         * lib/idcache.c: Adjust comments in user- and group- portions to
56464         be more accurate, and to be consistent with one another.
56465
56466 2006-11-20  Jim Meyering  <jim@meyering.net>
56467
56468         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
56469         continue using the flexible array member (thus, this module performs
56470         half as many malloc calls), with the addition that...
56471         (getgroup, getuser): Consistently record a non-match via an empty
56472         "name" string, and map an empty string match to a NULL return value.
56473         * modules/idcache (Depends-on): Re-add flexmember.
56474
56475         * lib/idcache.c (getuser): Remove all uses of the register keyword.
56476         (getuidbyname, getgroup, getgidbyname): Likewise.
56477
56478         Use cleaner syntax: NULL rather than 0.
56479         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
56480
56481 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56482
56483         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
56484         It mishandled the case where the group was missing.
56485         Problem reported by Greg Schafer.
56486         * modules/idcache: Likewise.
56487
56488 2006-11-18  Jim Meyering  <jim@meyering.net>
56489
56490         * check-module (%exempt_header): Add exception for some
56491         conditionally-included headers.
56492
56493         * modules/i-ring (Depends-on): Add verify.
56494         (License): Change to LGPL.
56495
56496 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56497
56498         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
56499         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
56500         and inttostr.h.  Use snprintf rather than uinttostr, so that
56501         LGPLed code doesn't depend on GPLed.
56502
56503 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
56504
56505         * modules/inline (License): Change from GPL to LGPL.
56506
56507 2006-11-17  Jim Meyering  <jim@meyering.net>
56508
56509         * modules/d-type (License): Switch to LGPL.
56510
56511 2006-11-15  Bruno Haible  <bruno@clisp.org>
56512
56513         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
56514
56515 2006-11-15  Eric Blake  <ebb9@byu.net>
56516
56517         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
56518         the module dependency.
56519
56520 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56521             Bruno Haible  <bruno@clisp.org>
56522
56523         * gnulib-tool (func_create_testdir): Add license consistency check.
56524
56525 2006-11-15  Eric Blake  <ebb9@byu.net>
56526
56527         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
56528         random "(cached)" in configure output.
56529
56530 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56531
56532         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
56533         test for conforming inttypes.h is both announced and cached.
56534
56535         * MODULES.html.sh (seen_modules, seen_files): New variables.
56536         (func_module): Rewrite to use a few less gnulib-tool and sed
56537         invocations.  Avoid a couple of quadratic algorithms for ...
56538         (missed_modules, missed_files): ... these, with ...
56539         (func_append, func_tmpdir): ... these new functions, from
56540         gnulib-tool.  Analogously, install traps for cleanup.
56541
56542         * tests/test-gc.c (main): Remove unused variables.
56543         * tests/test-read-file.c: Include stdlib.h, for 'free'.
56544
56545 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
56546
56547         * modules/inttostr (License): Change to LGPL.
56548
56549 2006-11-14  Eric Blake  <ebb9@byu.net>
56550
56551         * modules/tempname (License): Change to LGPL.
56552
56553 2006-11-14  Eric Blake  <ebb9@byu.net>
56554
56555         * doc/functions.texi (Function Portability): *printf functions on
56556         Cygwin now understand all POSIX size specifiers.
56557
56558 2006-11-14  Bruno Haible  <bruno@clisp.org>
56559
56560         * modules/c-ctype (License): Change to LGPL.
56561
56562 2006-11-12  Bruno Haible  <bruno@clisp.org>
56563
56564         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
56565         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
56566         for GNOME libraries, for which the include files are installed in
56567         subdirectories of $prefix/include.
56568
56569 2006-11-12  Bruno Haible  <bruno@clisp.org>
56570
56571         * m4/lib-link.m4: Require at least autoconf-2.54.
56572         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
56573         name to underscores for the --with option.
56574
56575 2006-11-13  Bruno Haible  <bruno@clisp.org>
56576
56577         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
56578         the tests directory.
56579         Reported by Ralf Wildenhues.
56580
56581 2006-11-13  Bruno Haible  <bruno@clisp.org>
56582
56583         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
56584         (func_emit_initmacro_end): Undo the override here.
56585         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
56586         Works around the famous automake error in coreutils.
56587
56588 2006-11-13  Eric Blake  <ebb9@byu.net>
56589
56590         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
56591         element, not its node.
56592
56593 2006-11-12  Bruno Haible  <bruno@clisp.org>
56594
56595         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
56596         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
56597
56598 2006-11-12  Bruno Haible  <bruno@clisp.org>
56599
56600         * gnulib-tool: New option --local-symlink.
56601         (func_usage): Document it.
56602         (lsymbolic): New variable.
56603         (func_import, func_create_testdir): If --symlink was not specified,
56604         test whether --local-symlink was specified and the file comes from
56605         the local_gnulib_dir.
56606
56607 2006-11-12  Bruno Haible  <bruno@clisp.org>
56608
56609         * gnulib-tool (func_ln): New function.
56610         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
56611
56612 2006-11-12  Bruno Haible  <bruno@clisp.org>
56613
56614         Finish support for source files in subdirectories.
56615         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
56616         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
56617         AUTOMAKE_OPTIONS.
56618         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
56619
56620 2006-11-12  Bruno Haible  <bruno@clisp.org>
56621
56622         * gnulib-tool (func_get_automake_snippet): Synthesize also an
56623         EXTRA_lib_SOURCES augmentation.
56624         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
56625
56626 2006-11-12  Jim Meyering  <jim@meyering.net>
56627
56628         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
56629         file descriptors.  This also averts a failure on systems with
56630         native openat support when a traversed directory lacks "x" access.
56631         * lib/fts_.h: Include "i-ring.h"
56632         (struct FTS) [fts_fd_ring]: New member.
56633         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
56634         (FCHDIR): Add parentheses.
56635         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
56636         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
56637         When descending, rather than simply closing the previous
56638         fts_cwd_fd value, push that file descriptor onto the ring.
56639         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
56640         (fts_open): Initialize the new fd_ring member.
56641         (fts_close): Clear the ring.
56642         (fts_safe_changedir): When possible, use our new fd_ring to skip
56643         the diropen and fstat and dev/ino comparison that would normally
56644         accompany a virtual `chdir ("..")'.
56645
56646         * modules/fts (Depends-on): Add i-ring.
56647         * modules/i-ring: New module.
56648         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
56649         * m4/i-ring.m4: New file.
56650
56651 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56652
56653         * gnulib-tool (func_create_testdir): Fix replacement of
56654         `build-aux' in configure.ac.  Run autotools in gltests
56655         subdirectory.
56656         (func_create_testdir, func_create_megatestdir, test): There is
56657         no need for '--force' in most autotool invocations in a new
56658         tree.  Actually fail the whole test if any of the tools, or the
56659         configure or make stages fail.
56660
56661         Sync from Automake.
56662         * build-aux/gnupload: Revert last change.  Add pointer to upload
56663         instructions of the GNU Maintenance Instructions.
56664         Suggestion by Karl Berry.
56665
56666 2006-11-10  Jim Meyering  <jim@meyering.net>
56667
56668         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
56669
56670 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56671
56672         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
56673         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
56674         (bind_textdomain_codeset) [! ENABLE_NLS]:
56675         Evaluate all the arguments.  That way, callers get compatible behavior
56676         if the arguments have side effects.  Also, it avoids some GCC
56677         diagnostics in some cases; Joel E. Denny reported problems when Bison
56678         was configured with --enable-gcc-warnigs.
56679
56680 2006-11-10  Jim Meyering  <jim@meyering.net>
56681
56682         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
56683         relevant options in CFLAGS (like -O, -fno-inline) are taken into
56684         account.
56685
56686 2006-11-10  Jim Meyering  <jim@meyering.net>
56687
56688         * modules/inline: New file/module.
56689         * modules/xalloc (Files): Remove m4/inline.m4.
56690         (Depends-on): Add inline, instead.
56691         * modules/oset: Likewise.
56692         * modules/list: Likewise.
56693
56694 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56695
56696         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
56697         Problem reported by Matthew Woehlke.
56698
56699 2006-11-09  Bruno Haible  <bruno@clisp.org>
56700
56701         * lib/tempname.c (gen_tempname): Remove variant that invokes
56702         __gen_tempname.
56703         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
56704         __gen_tempname.
56705
56706 2006-11-08  Bruno Haible  <bruno@clisp.org>
56707
56708         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
56709         to 'yes' instead of 'cross-compiling'.
56710
56711 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
56712
56713         * lib/quotearg.h (quotearg_free): New decl.
56714         * lib/quotearg.c (quotearg_free): New function.
56715         (slot0, nslots, slotvec0, slotvec):
56716         Now file-scope so that quotearg_free can get at them.
56717
56718 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56719
56720         Sync from Automake.
56721         * build-aux/gnupload: Add missing 'gnu' to example URL.
56722         Report by Karl Berry.
56723
56724 2006-11-08  Bruno Haible  <bruno@clisp.org>
56725
56726         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
56727         Suggested by Paul Eggert.
56728
56729 2006-11-08  Jim Meyering  <jim@meyering.net>
56730
56731         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
56732         It's already included if !_LIBC.
56733         (fts_safe_changedir): Add a comment.
56734
56735 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56736
56737         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
56738         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
56739         Matthew Woehlke.
56740
56741         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
56742         definitions up, to avoid colliding with change below.
56743         (static_inline) [HAVE_INLINE]: New macro.
56744         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
56745         Provide extern decls when !HAVE_INLINE.  Do not define unless
56746         static_inline is defined, either by us or by xmalloc.c.  Use
56747         static_inline rather than static inline.
56748         (XCALLOC): Optimize sizeof(T) = 1 case.
56749         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
56750
56751 2006-11-07  Bruno Haible  <bruno@clisp.org>
56752
56753         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
56754         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
56755         AC_C_INLINE.
56756         * modules/xalloc (Files): Add m4/inline.m4.
56757
56758 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56759
56760         * README: Fix typo.
56761         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
56762         (Miscellanous Notes): ...from this.
56763
56764 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56765
56766         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
56767         Mention that offsetof should be used instead of sizeof.
56768         From Bruno Haible.
56769
56770 2006-11-07  Bruno Haible  <bruno@clisp.org>
56771
56772         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
56773
56774 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56775
56776         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
56777         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
56778         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56779         (gl_tree_add_before, gl_tree_add_after):
56780         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
56781         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
56782         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
56783         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
56784         (gl_linked_add_after, gl_linked_add_at): Likewise.
56785         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
56786         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56787         (gl_tree_add_before, gl_tree_add_after): Likewise.
56788         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
56789         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
56790         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
56791
56792 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56793
56794         * lib/gl_oset.h: Use C comment style, not C++ comment style.
56795
56796 2006-11-06  Bruno Haible  <bruno@clisp.org>
56797
56798         * m4/inline.m4: New file.
56799         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
56800         * modules/list (Files): Add m4/inline.m4.
56801         * modules/oset (Files): Likewise.
56802
56803 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56804
56805         * lib/idcache.c: Include <stddef.h>, for offsetof.
56806         (struct userid.name): Change from char * to a flexible array member.
56807         All uses changed.
56808         * modules/idcache (Depends-on): Add flexmember.
56809
56810         * MODULES.html.sh (Core language properties): New module flexmember.
56811         * modules/flexmember, m4/flexmember.m4: New files.
56812
56813         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
56814         inline functions that are identical with the old xnmalloc_inline,
56815         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
56816         that we can avoid some unnecessary integer multiplications and
56817         divisions in the common case where the element size is known at
56818         compile time.
56819         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
56820         needed.
56821         (xnboundedmalloc): Remove.
56822         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
56823         arguments, for consistency with rest of this header.
56824         (xcharalloc): Rewrite using XNMALLOC.
56825         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
56826         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
56827         versions have been moved to lib/xalloc.h and renamed to be the
56828         non-*_inline versions.
56829         (xmalloc, xrealloc): Implement without reference to the xnmalloc
56830         and xnrealloc functions, since those functions are now inline and
56831         now call us.
56832         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
56833         renaming described above.
56834         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
56835         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
56836         captures the dependency in AC_C_INLINE.
56837
56838         New module canonicalize-lgpl, proposed by Charles Wilson in
56839         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
56840         with a few small changes afterwards.
56841         * MODULES.html.sh (File system functions): New module
56842         canonicalize-lgpl.
56843         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
56844         and canonicalize_file_name.
56845         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
56846         * modules/canonicalize-lgpl: New files.
56847
56848 2006-11-05  Bruno Haible  <bruno@clisp.org>
56849
56850         * gnulib-tool (func_import, func_create_testdir): Create directories
56851         also for files in subdirectories of lib/.
56852
56853 2006-11-05  Bruno Haible  <bruno@clisp.org>
56854
56855         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
56856         ANSI C compliant.
56857
56858 2006-11-03  Bruno Haible  <bruno@clisp.org>
56859
56860         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
56861         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
56862         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
56863         (xnboundedmalloc): New inline function.
56864         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
56865         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
56866         xmalloc.
56867         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
56868         xmalloc.
56869         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
56870         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
56871         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
56872         xmalloc.
56873         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
56874         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
56875         xmalloc.
56876         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
56877         gl_tree_add_after): Use XMALLOC instead of xmalloc.
56878         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
56879         xmalloc.
56880         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
56881         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
56882         gl_tree_add_after): Use XMALLOC instead of xmalloc.
56883         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
56884         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
56885         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
56886         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
56887
56888 2006-11-03  Bruno Haible  <bruno@clisp.org>
56889
56890         * lib/c-ctype.h [C++]: Define functions without name mangling.
56891         * lib/fwriteerror.h [C++]: Likewise.
56892         * lib/gcd.h [C++]: Likewise.
56893         * lib/linebreak.h [C++]: Likewise.
56894
56895 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
56896
56897         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
56898         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
56899         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
56900         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
56901         Check for functions and headers just once.
56902         Check for declaration of canonicalize_file_name.
56903         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
56904
56905 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
56906
56907         * gnulib-tool (func_import): Fix typo in actioncmd.
56908
56909 2006-11-02  Bruno Haible  <bruno@clisp.org>
56910
56911         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
56912         newline sequence in the Makefile.am snippet as a space, like "make"
56913         does.
56914         Reported by Roger Persson <perrog@gmail.com>.
56915
56916 2006-11-01  Bruno Haible  <bruno@clisp.org>
56917
56918         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
56919         already declared in <string.h>.
56920         * lib/strcase.h (strncasecmp): Don't declare it if yes.
56921
56922 2006-11-01  Bruno Haible  <bruno@clisp.org>
56923
56924         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
56925         * lib/strcase.h: Include <string.h>.
56926         (strcasecmp): Define to rpl_strcasecmp here.
56927
56928 2006-11-01  Bruno Haible  <bruno@clisp.org>
56929
56930         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
56931
56932 2006-11-01  Eric Blake  <ebb9@byu.net>
56933
56934         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
56935
56936         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
56937
56938 2006-10-29  Bruno Haible  <bruno@clisp.org>
56939
56940         Make it compile in C++ mode.
56941         * lib/full-write.c (full_rw): Add a cast.
56942
56943 2006-11-01  Bruno Haible  <bruno@clisp.org>
56944
56945         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
56946         be POSIX compliant.
56947         Reported by Roger Persson <perrog@gmail.com>.
56948
56949 2006-11-01  Eric Blake  <ebb9@byu.net>
56950
56951         * lib/getopt_.h: Fix comments.
56952
56953 2006-10-31  Eric Blake  <ebb9@byu.net>
56954
56955         * modules/tmpdir (Depends-on): Add sys_stat.
56956         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
56957         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
56958         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
56959         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
56960         tempname.
56961
56962 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
56963
56964         Avoid some C++ diagnostics reported by Bruno Haible.
56965         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
56966         xmalloc.
56967         (quotearg_alloc): Use xcharalloc rather than xmalloc.
56968         (struct slotvec): Move to top level.
56969         (quotearg_n_options): Rewrite to avoid xmalloc.
56970         * lib/xalloc.h (xcharalloc): New function.
56971         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
56972         [defined __cplusplus]: Add function template that provides result
56973         type propagation.  This part of the change is from Bruno Haible.
56974
56975 2006-10-29  Bruno Haible  <bruno@clisp.org>
56976
56977         Make it compile in C++ mode.
56978         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
56979         * lib/strnlen1.c (strnlen1): Cast memchr result.
56980         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
56981         * lib/clean-temp.c (string_equals, string_hash): Add casts.
56982         (create_temp_dir): Rename local variable 'template'.
56983         (compile_csharp_using_sscli): Add cast.
56984         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
56985         * lib/findprog.c (find_in_path): Likewise.
56986         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
56987         * lib/wait-process.c (register_slave_subprocess): Likewise.
56988
56989 2006-10-22  Bruno Haible  <bruno@clisp.org>
56990
56991         * modules/tsearch: New file.
56992         * lib/tsearch.h: New file.
56993         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
56994         * m4/tsearch.m4: New file.
56995         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
56996
56997 2006-10-29  Eric Blake  <ebb9@byu.net>
56998
56999         * lib/arcfour.c: Assume config.h.
57000         * lib/arctwo.c: Likewise.
57001         * lib/base64.c: Likewise.
57002         * lib/check-version.c: Likewise.
57003         * lib/crc.c: Likewise.
57004         * lib/des.c: Likewise.
57005         * lib/gc-gnulib.c: Likewise.
57006         * lib/gc-libgcrypt.c: Likewise.
57007         * lib/gc-pbkdf2-sha1.c: Likewise.
57008         * lib/getaddrinfo.c: Likewise.
57009         * lib/getdelim.c: Likewise.
57010         * lib/getline.c: Likewise.
57011         * lib/hmac-md5.c: Likewise.
57012         * lib/hmac-sha1.c: Likewise.
57013         * lib/iconvme.c: Likewise.
57014         * lib/md2.c: Likewise.
57015         * lib/md4.c: Likewise.
57016         * lib/memxor.c: Likewise.
57017         * lib/read-file.c: Likewise.
57018         * lib/readline.c: Likewise.
57019         * lib/rijndael-alg-fst.c: Likewise.
57020         * lib/rijndael-api-fst.c: Likewise.
57021         * lib/xgetdomainname.c: Likewise.
57022
57023 2006-10-28  Eric Blake  <ebb9@byu.net>
57024
57025         * lib/xstrndup.c: Assume config.h.
57026
57027 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
57028
57029         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
57030         stat-macros.h is now for our own macros, whereas stat_h is for
57031         macros in the <sys/stat.h> name space.
57032         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
57033         (STAT_MACROS_H): Remove.
57034         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
57035         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
57036         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
57037         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
57038         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
57039         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
57040         Move these macros to ...
57041         * lib/stat_.h: here.  Don't include stat-macros.h.
57042         * lib/canonicalize.c: Don't include stat-macros.h.
57043         * lib/chown.c: Likewise.
57044         * lib/euidaccess.c: Likewise.
57045         * lib/file-type.c: Likewise.
57046         * lib/filemode.c: Likewise.
57047         * lib/glob.c: Likewise.
57048         * lib/isapipe.c: Likewise.
57049         * lib/lchown.c: Likewise.
57050         * lib/lstat.c: Likewise.
57051         * lib/mkdir-p.c: Likewise.
57052         * lib/rmdir.c: Likewise.
57053         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
57054         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
57055         unless mkdir isn't declared, to speed up 'configure'.
57056         Always create sys/stat.h, since it's unlikely any real sys/stat.h
57057         would define all the S_* symbols.
57058         * modules/canonicalize (Depends-on):
57059         Depend on sys_stat, not stat-macros.
57060         * modules/chown: Likewise.
57061         * modules/euidaccess: Likewise.
57062         * modules/filemode: Likewise.
57063         * modules/file-type: Likewise.
57064         * modules/glob: Likewise.
57065         * modules/isapipe: Likewise.
57066         * modules/lchown: Likewise.
57067         * modules/lstat: Likewise.
57068         * modules/mkancesdirs: Likewise.
57069         * modules/rmdir: Likewise.
57070         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
57071         * modules/modechange: Likewise.
57072         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
57073         (configure.ac): Remove gl_STAT_MACROS.
57074         * modules/sys_stat (Depends-on): Remove stat-macros.
57075
57076 2006-10-27  Bruno Haible  <bruno@clisp.org>
57077
57078         * m4/signed.m4: Remove file.
57079         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
57080         invocation.
57081         * modules/vasnprintf (Files): Remove m4/signed.m4.
57082
57083 2006-10-27  Bruno Haible  <bruno@clisp.org>
57084
57085         Update to GNU gettext 0.16.
57086         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
57087         m4/inttypes-h.m4, m4/signed.m4.
57088         * m4/gettext.m4: Update to GNU gettext 0.16.
57089         * m4/intl.m4: New file, from GNU gettext.
57090         * m4/intldir.m4: New file, from GNU gettext.
57091         * config/srclist.txt: Update
57092
57093 2006-10-27  Eric Blake  <ebb9@byu.net>
57094
57095         * MODULES.html.sh: Document tempname.
57096         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
57097         dependencies.
57098         (Files): Move lib/tempname.c...
57099         * modules/tempname: ...to this new module.
57100         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
57101         (gl_PREREQ_TEMPNAME): Move...
57102         * m4/tempname.m4: ...to this new file.
57103         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
57104         * modules/sys_stat (Depends-on): Add stat-macros.
57105         * lib/stat_.h (includes): Pick up stat macros.
57106         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
57107         if stat macros are broken.
57108         * lib/tempname.c (includes): No need to include "stat-macros.h".
57109         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
57110         (direxists, __path_search) [!_LIBC]: Don't compile these in
57111         gnulib; the tmpdir module covers that.
57112         * lib/tempname.h: New file.
57113
57114 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
57115
57116         * COPYING: Explain how gnulib-tool converts licence headers.
57117         Almost all wording by Eric Blake.
57118
57119 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
57120
57121         * lib/mbchar.h (is_basic_table): Make read-only.
57122         * lib/mbchar.c (is_basic_table): Likewise.
57123         Reported by John Darrington.
57124
57125 2006-10-25  Bruno Haible  <bruno@clisp.org>
57126
57127         * lib/progname.h (set_program_name): Undefine before defining.
57128
57129 2006-10-25  Bruno Haible  <bruno@clisp.org>
57130
57131         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
57132         false for non-gcc C++ compilers.
57133         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57134
57135 2006-10-24  Bruno Haible  <bruno@clisp.org>
57136
57137         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
57138         iconv implementations like Irix iconv.
57139
57140 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57141
57142         * modules/vararrays: New file.
57143         * m4/vararrays.m4: New file, taken from diffutils.
57144         * MODULES.html.sh: New module vararrays.
57145
57146 2006-10-24  Karl Berry  <karl@gnu.org>
57147
57148         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
57149         Don't call GNU Unix.
57150
57151 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57152
57153         * users.txt: Add Libtool.
57154
57155         Sync from Libtool:
57156
57157         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57158
57159         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
57160         to gnulib's policy of including config.h unconditionally.
57161
57162 2006-10-24  Bruno Haible  <bruno@clisp.org>
57163
57164         * modules/wcwidth (Files): Add m4/wint_t.m4.
57165         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
57166         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
57167
57168 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57169
57170         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
57171         to pacify GCC with some -W flags enabled.  Problem reported by
57172         Bruno Haible.
57173
57174 2006-10-24  Jim Meyering  <jim@meyering.net>
57175
57176         * MODULES.html.sh: Remove uinttostr.  It's not a module.
57177         Reported by Karl Berry.
57178
57179 2006-10-23  Bruno Haible  <bruno@clisp.org>
57180
57181         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
57182
57183 2006-10-24  Bruno Haible  <bruno@clisp.org>
57184
57185         * lib/gl_list.h: Use C comment style, not C++ comment style.
57186
57187 2006-10-23  Eric Blake  <ebb9@byu.net>
57188
57189         * lib/getaddrinfo.c (includes): Add missing include.
57190
57191 2006-10-23  Bruno Haible  <bruno@clisp.org>
57192             Paul Eggert  <eggert@cs.ucla.edu>
57193
57194         Ability to rename obstack_free.
57195         * lib/obstack.h (__obstack_free): New macro. Declare instead of
57196         obstack_free.
57197         (obstack_free): Invoke the __obstack_free macro.
57198         * lib/obstack.c (obstack_free): Use __obstack_free macro.
57199
57200 2006-10-23  Bruno Haible  <bruno@clisp.org>
57201             Paul Eggert  <eggert@cs.ucla.edu>
57202
57203         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
57204         __argc, __argv from the declaration. (They are defined as macros on
57205         mingw.)
57206
57207 2006-10-22  Bruno Haible  <bruno@clisp.org>
57208
57209         * doc/gnulib-intro.texi: New file.
57210         * doc/gnulib.texi: Include it.
57211
57212 2006-10-21  Bruno Haible  <bruno@clisp.org>
57213
57214         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
57215         "Introduction", "Miscellanous Notes", "Particular Modules".
57216
57217 2006-10-21  Bruno Haible  <bruno@clisp.org>
57218
57219         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57220         Change mostlyclean-local rule to avoid sh syntax error from bash
57221         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
57222
57223 2006-10-23  Jim Meyering  <jim@meyering.net>
57224
57225         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
57226         in place of snprintf.
57227
57228         * modules/inttostr (Files): Add lib/uinttostr.c.
57229         * lib/uinttostr.c (inttostr): New file/function.
57230         * lib/inttostr.h (uinttostr): Declare.
57231         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
57232         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
57233         Add uinttostr.
57234         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
57235
57236 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57237
57238         * lib/canonicalize.c (ELOOP): Define if not already defined.
57239         Problem reported by Bruno Haible in
57240         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
57241
57242 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57243
57244         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
57245         Problem reported by Perry Smith and Ville Laurikari.
57246
57247         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
57248         uses.
57249
57250 2006-10-19  Bruno Haible  <bruno@clisp.org>
57251
57252         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
57253         for mingw.
57254
57255 2006-10-19  Bruno Haible  <bruno@clisp.org>
57256
57257         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
57258         Needed for mingw.
57259
57260 2006-10-19  Bruno Haible  <bruno@clisp.org>
57261
57262         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
57263
57264 2006-10-19  Bruno Haible  <bruno@clisp.org>
57265
57266         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
57267         it.
57268
57269 2006-10-19  Bruno Haible  <bruno@clisp.org>
57270
57271         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
57272         invocation.
57273
57274 2006-10-19  Bruno Haible  <bruno@clisp.org>
57275
57276         * gnulib-tool (func_create_testdir): Don't include ftruncate and
57277         mountlist by default.
57278
57279 2006-10-16  Bruno Haible  <bruno@clisp.org>
57280
57281         * lib/c-strstr.c: Include c-strstr.h.
57282
57283 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57284
57285         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
57286         in a slash.
57287
57288 2006-10-18  Bruno Haible  <bruno@clisp.org>
57289
57290         * lib/lock.h [C++]: Wrap definitions in extern "C".
57291
57292 2006-10-18  Bruno Haible  <bruno@clisp.org>
57293
57294         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
57295         gl_LIBOBJS list.
57296
57297 2006-10-18  Bruno Haible  <bruno@clisp.org>
57298
57299         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
57300
57301 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
57302
57303         * lib/xstrtol.h: Include gettext.h.
57304         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
57305         Problem reported by Eric Blake.
57306         * modules/xstrtol (Depends-on): Add gettext-h.
57307
57308 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
57309
57310         * lib/strftime.c (advance): New macro.
57311         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
57312         incomplete type, so you can't add 0 to it.  Problem and patch
57313         reported by Eelco Dolstra for dietlibc.
57314
57315 2006-10-18  Jim Meyering  <jim@meyering.net>
57316
57317         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
57318         type for a local, and rename it: s/up/user_proc/.
57319
57320 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57321
57322         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
57323         READ_UTMP_USER_PROCESS.
57324         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
57325
57326 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57327
57328         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
57329         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
57330
57331 2006-10-17  Eric Blake  <ebb9@byu.net>
57332
57333         * lib/sigprocmask.c (sigprocmask): Fix typo.
57334
57335         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
57336
57337         * modules/clean-temp (Makefile.am): Don't add to make output...
57338         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
57339         config.h.
57340
57341 2006-10-17  Bruno Haible  <bruno@clisp.org>
57342
57343         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
57344         differently if DEFAULT_TEXT_DOMAIN is set.
57345
57346 2006-10-16  Bruno Haible  <bruno@clisp.org>
57347
57348         * lib/clean-temp.c: Include fwriteerror.h.
57349
57350 2006-10-16  Bruno Haible  <bruno@clisp.org>
57351
57352         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
57353
57354 2006-10-16  Bruno Haible  <bruno@clisp.org>
57355
57356         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
57357         * lib/sigprocmask.h: Include <sys/types.h>.
57358         (sigset_t): Use the system's definition if present.
57359
57360 2006-10-17  Eric Blake  <ebb9@byu.net>
57361
57362         * lib/xvasprintf.c (includes): Assume config.h.
57363         * lib/xasprintf.c (includes): Likewise.
57364
57365 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57366
57367         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
57368         at least as wide as intmax_t.
57369
57370 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
57371
57372         (Imported from Automake.)
57373         * build-aux/gnupload: Update to version 1.1 of directive file.
57374
57375 2006-10-16  Eric Blake  <ebb9@byu.net>
57376
57377         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
57378         match Automake 1.10a.
57379
57380 2006-10-14  Bruno Haible  <bruno@clisp.org>
57381
57382         * modules/sigprocmask: New file.
57383         * lib/sigprocmask.h: New file.
57384         * lib/sigprocmask.c: New file.
57385         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
57386         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
57387         request sigprocmask.o.
57388         (gl_PREREQ_SIGPROCMASK): New macro.
57389         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
57390         (Depends-on): Add sigprocmask.
57391         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
57392         gt_SIGNALBLOCKING. Test for 'raise' only once.
57393         * lib/fatal-signal.c: Include sigprocmask.h.
57394         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
57395         unblock_fatal_signals): Define always.
57396         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57397         sigprocmask.
57398
57399 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
57400
57401         Sync from Automake.
57402         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
57403         which incorrectly sets the mode of an existing destination
57404         directory.  In some cases the unpatched install-sh could do the
57405         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
57406         system.  We hope this is rare in practice, but it's clearly worth
57407         fixing.  Problem reported by Alex Unleashed in
57408         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
57409         Also, don't bother to check for -m bugs unless we're using -m;
57410         suggested by Stepan Kasal.
57411
57412 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57413
57414         Sync from Automake.
57415         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
57416         `-c' flag, so they appear at the same position as in %FASTDEP%
57417         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
57418         which ignores unknown options only after the first non-option.
57419         Bug report against M4 by Nelson H. F. Beebe.
57420
57421 2006-10-13  Jim Meyering  <jim@meyering.net>
57422
57423         Fix a bug in yesterday's change.
57424         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
57425         p->fts_statp->st_dev would be used uninitialized.
57426         Ensures that we always call fts_stat on the very first entry.
57427         Miklos Szeredi reported that find -xdev stopped working.
57428
57429 2006-10-12  Bruno Haible  <bruno@clisp.org>
57430
57431         * gnulib-tool (func_get_automake_snippet): Append an automatically
57432         computed EXTRA_DIST augmentation.
57433         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
57434         * modules/alloca-opt (Makefile.am): Likewise.
57435         * modules/allocsa (Makefile.am): Likewise.
57436         * modules/arcfour (Makefile.am): Likewise.
57437         * modules/arctwo (Makefile.am): Likewise.
57438         * modules/argmatch (Makefile.am): Likewise.
57439         * modules/argz (Makefile.am): Likewise.
57440         * modules/atexit (Makefile.am): Likewise.
57441         * modules/backupfile (Makefile.am): Likewise.
57442         * modules/byteswap (Makefile.am): Likewise.
57443         * modules/c-strtod (Makefile.am): Likewise.
57444         * modules/c-strtold (Makefile.am): Likewise.
57445         * modules/calloc (Makefile.am): Likewise.
57446         * modules/canon-host (Makefile.am): Likewise.
57447         * modules/canonicalize (Makefile.am): Likewise.
57448         * modules/chdir-long (Makefile.am): Likewise.
57449         * modules/chdir-safer (Makefile.am): Likewise.
57450         * modules/check-version (Makefile.am): Likewise.
57451         * modules/chown (Makefile.am): Likewise.
57452         * modules/cloexec (Makefile.am): Likewise.
57453         * modules/close-stream (Makefile.am): Likewise.
57454         * modules/closeout (Makefile.am): Likewise.
57455         * modules/crc (Makefile.am): Likewise.
57456         * modules/csharpexec (Makefile.am): Likewise.
57457         * modules/cycle-check (Makefile.am): Likewise.
57458         * modules/des (Makefile.am): Likewise.
57459         * modules/dev-ino (Makefile.am): Likewise.
57460         * modules/dirfd (Makefile.am): Likewise.
57461         * modules/dirname (Makefile.am): Likewise.
57462         * modules/dup2 (Makefile.am): Likewise.
57463         * modules/eealloc (Makefile.am): Likewise.
57464         * modules/error (Makefile.am): Likewise.
57465         * modules/euidaccess (Makefile.am): Likewise.
57466         * modules/exclude (Makefile.am): Likewise.
57467         * modules/exitfail (Makefile.am): Likewise.
57468         * modules/fcntl-safer (Makefile.am): Likewise.
57469         * modules/fcntl (Makefile.am): Likewise.
57470         * modules/file-type (Makefile.am): Likewise.
57471         * modules/fileblocks (Makefile.am): Likewise.
57472         * modules/filemode (Makefile.am): Likewise.
57473         * modules/filenamecat (Makefile.am): Likewise.
57474         * modules/fnmatch (Makefile.am): Likewise.
57475         * modules/fopen-safer (Makefile.am): Likewise.
57476         * modules/fpending (Makefile.am): Likewise.
57477         * modules/fprintftime (Makefile.am): Likewise.
57478         * modules/free (Makefile.am): Likewise.
57479         * modules/fsusage (Makefile.am): Likewise.
57480         * modules/ftruncate (Makefile.am): Likewise.
57481         * modules/fts (Makefile.am): Likewise.
57482         * modules/gc-arcfour (Makefile.am): Likewise.
57483         * modules/gc-des (Makefile.am): Likewise.
57484         * modules/gc-hmac-md5 (Makefile.am): Likewise.
57485         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
57486         * modules/gc-md4 (Makefile.am): Likewise.
57487         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57488         * modules/gc-sha1 (Makefile.am): Likewise.
57489         * modules/gc (Makefile.am): Likewise.
57490         * modules/getaddrinfo (Makefile.am): Likewise.
57491         * modules/getcwd (Makefile.am): Likewise.
57492         * modules/getdelim (Makefile.am): Likewise.
57493         * modules/getdomainname (Makefile.am): Likewise.
57494         * modules/getgroups (Makefile.am): Likewise.
57495         * modules/gethostname (Makefile.am): Likewise.
57496         * modules/gethrxtime (Makefile.am): Likewise.
57497         * modules/getline (Makefile.am): Likewise.
57498         * modules/getloadavg (Makefile.am): Likewise.
57499         * modules/getlogin_r (Makefile.am): Likewise.
57500         * modules/getndelim2 (Makefile.am): Likewise.
57501         * modules/getopt (Makefile.am): Likewise.
57502         * modules/getpagesize (Makefile.am): Likewise.
57503         * modules/getpass-gnu (Makefile.am): Likewise.
57504         * modules/getpass (Makefile.am): Likewise.
57505         * modules/getsubopt (Makefile.am): Likewise.
57506         * modules/gettime (Makefile.am): Likewise.
57507         * modules/gettimeofday (Makefile.am): Likewise.
57508         * modules/getugroups (Makefile.am): Likewise.
57509         * modules/getusershell (Makefile.am): Likewise.
57510         * modules/glob (Makefile.am): Likewise.
57511         * modules/group-member (Makefile.am): Likewise.
57512         * modules/hard-locale (Makefile.am): Likewise.
57513         * modules/hash (Makefile.am): Likewise.
57514         * modules/hmac-md5 (Makefile.am): Likewise.
57515         * modules/hmac-sha1 (Makefile.am): Likewise.
57516         * modules/human (Makefile.am): Likewise.
57517         * modules/idcache (Makefile.am): Likewise.
57518         * modules/imaxabs (Makefile.am): Likewise.
57519         * modules/imaxdiv (Makefile.am): Likewise.
57520         * modules/inet_ntop (Makefile.am): Likewise.
57521         * modules/inet_pton (Makefile.am): Likewise.
57522         * modules/intprops (Makefile.am): Likewise.
57523         * modules/inttostr (Makefile.am): Likewise.
57524         * modules/inttypes (Makefile.am): Likewise.
57525         * modules/isapipe (Makefile.am): Likewise.
57526         * modules/javaversion (Makefile.am): Likewise.
57527         * modules/lchmod (Makefile.am): Likewise.
57528         * modules/lchown (Makefile.am): Likewise.
57529         * modules/localcharset (Makefile.am): Likewise.
57530         * modules/long-options (Makefile.am): Likewise.
57531         * modules/lstat (Makefile.am): Likewise.
57532         * modules/malloc (Makefile.am): Likewise.
57533         * modules/mathl (Makefile.am): Likewise.
57534         * modules/mbchar (Makefile.am): Likewise.
57535         * modules/md2 (Makefile.am): Likewise.
57536         * modules/md4 (Makefile.am): Likewise.
57537         * modules/md5 (Makefile.am): Likewise.
57538         * modules/memcasecmp (Makefile.am): Likewise.
57539         * modules/memchr (Makefile.am): Likewise.
57540         * modules/memcmp (Makefile.am): Likewise.
57541         * modules/memcoll (Makefile.am): Likewise.
57542         * modules/memcpy (Makefile.am): Likewise.
57543         * modules/memmem (Makefile.am): Likewise.
57544         * modules/memmove (Makefile.am): Likewise.
57545         * modules/mempcpy (Makefile.am): Likewise.
57546         * modules/memrchr (Makefile.am): Likewise.
57547         * modules/memset (Makefile.am): Likewise.
57548         * modules/memxor (Makefile.am): Likewise.
57549         * modules/mkancesdirs (Makefile.am): Likewise.
57550         * modules/mkdir-p (Makefile.am): Likewise.
57551         * modules/mkdir (Makefile.am): Likewise.
57552         * modules/mkdtemp (Makefile.am): Likewise.
57553         * modules/mkstemp (Makefile.am): Likewise.
57554         * modules/mktime (Makefile.am): Likewise.
57555         * modules/modechange (Makefile.am): Likewise.
57556         * modules/mountlist (Makefile.am): Likewise.
57557         * modules/nanosleep (Makefile.am): Likewise.
57558         * modules/obstack (Makefile.am): Likewise.
57559         * modules/openat (Makefile.am): Likewise.
57560         * modules/pagealign_alloc (Makefile.am): Likewise.
57561         * modules/pathmax (Makefile.am): Likewise.
57562         * modules/physmem (Makefile.am): Likewise.
57563         * modules/poll (Makefile.am): Likewise.
57564         * modules/posixtm (Makefile.am): Likewise.
57565         * modules/posixver (Makefile.am): Likewise.
57566         * modules/putenv (Makefile.am): Likewise.
57567         * modules/quote (Makefile.am): Likewise.
57568         * modules/quotearg (Makefile.am): Likewise.
57569         * modules/raise (Makefile.am): Likewise.
57570         * modules/read-file (Makefile.am): Likewise.
57571         * modules/readline (Makefile.am): Likewise.
57572         * modules/readlink (Makefile.am): Likewise.
57573         * modules/readtokens (Makefile.am): Likewise.
57574         * modules/readutmp (Makefile.am): Likewise.
57575         * modules/realloc (Makefile.am): Likewise.
57576         * modules/regex (Makefile.am): Likewise.
57577         * modules/rename-dest-slash (Makefile.am): Likewise.
57578         * modules/rename (Makefile.am): Likewise.
57579         * modules/rijndael (Makefile.am): Likewise.
57580         * modules/rmdir (Makefile.am): Likewise.
57581         * modules/rpmatch (Makefile.am): Likewise.
57582         * modules/safe-read (Makefile.am): Likewise.
57583         * modules/safe-write (Makefile.am): Likewise.
57584         * modules/same-inode (Makefile.am): Likewise.
57585         * modules/same (Makefile.am): Likewise.
57586         * modules/save-cwd (Makefile.am): Likewise.
57587         * modules/savedir (Makefile.am): Likewise.
57588         * modules/setenv (Makefile.am): Likewise.
57589         * modules/settime (Makefile.am): Likewise.
57590         * modules/sha1 (Makefile.am): Likewise.
57591         * modules/sig2str (Makefile.am): Likewise.
57592         * modules/snprintf (Makefile.am): Likewise.
57593         * modules/stat-macros (Makefile.am): Likewise.
57594         * modules/stat-time (Makefile.am): Likewise.
57595         * modules/stdbool (Makefile.am): Likewise.
57596         * modules/stdint (Makefile.am): Likewise.
57597         * modules/stdlib-safer (Makefile.am): Likewise.
57598         * modules/stpcpy (Makefile.am): Likewise.
57599         * modules/stpncpy (Makefile.am): Likewise.
57600         * modules/strcase (Makefile.am): Likewise.
57601         * modules/strcasestr (Makefile.am): Likewise.
57602         * modules/strchrnul (Makefile.am): Likewise.
57603         * modules/strcspn (Makefile.am): Likewise.
57604         * modules/strdup (Makefile.am): Likewise.
57605         * modules/strerror (Makefile.am): Likewise.
57606         * modules/strftime (Makefile.am): Likewise.
57607         * modules/strndup (Makefile.am): Likewise.
57608         * modules/strnlen (Makefile.am): Likewise.
57609         * modules/strpbrk (Makefile.am): Likewise.
57610         * modules/strsep (Makefile.am): Likewise.
57611         * modules/strstr (Makefile.am): Likewise.
57612         * modules/strtod (Makefile.am): Likewise.
57613         * modules/strtoimax (Makefile.am): Likewise.
57614         * modules/strtok_r (Makefile.am): Likewise.
57615         * modules/strtol (Makefile.am): Likewise.
57616         * modules/strtoll (Makefile.am): Likewise.
57617         * modules/strtoul (Makefile.am): Likewise.
57618         * modules/strtoull (Makefile.am): Likewise.
57619         * modules/strtoumax (Makefile.am): Likewise.
57620         * modules/strverscmp (Makefile.am): Likewise.
57621         * modules/sys_socket (Makefile.am): Likewise.
57622         * modules/sys_stat (Makefile.am): Likewise.
57623         * modules/sysexits (Makefile.am): Likewise.
57624         * modules/time_r (Makefile.am): Likewise.
57625         * modules/timegm (Makefile.am): Likewise.
57626         * modules/timespec (Makefile.am): Likewise.
57627         * modules/tmpfile-safer (Makefile.am): Likewise.
57628         * modules/trim (Makefile.am): Likewise.
57629         * modules/unistd-safer (Makefile.am): Likewise.
57630         * modules/unlinkdir (Makefile.am): Likewise.
57631         * modules/unlocked-io (Makefile.am): Likewise.
57632         * modules/userspec (Makefile.am): Likewise.
57633         * modules/utime (Makefile.am): Likewise.
57634         * modules/utimecmp (Makefile.am): Likewise.
57635         * modules/utimens (Makefile.am): Likewise.
57636         * modules/vasnprintf (Makefile.am): Likewise.
57637         * modules/vasprintf (Makefile.am): Likewise.
57638         * modules/vsnprintf (Makefile.am): Likewise.
57639         * modules/xalloc (Makefile.am): Likewise.
57640         * modules/xgetcwd (Makefile.am): Likewise.
57641         * modules/xnanosleep (Makefile.am): Likewise.
57642         * modules/xreadlink (Makefile.am): Likewise.
57643         * modules/xstrtod (Makefile.am): Likewise.
57644         * modules/xstrtol (Makefile.am): Likewise.
57645         * modules/xstrtold (Makefile.am): Likewise.
57646         * modules/yesno (Makefile.am): Likewise.
57647         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
57648
57649 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57650
57651         * modules/error (Makefile.am): Distribute files through
57652         EXTRA_DIST, not lib_SOURCES.
57653
57654 2006-10-12  Eric Blake  <ebb9@byu.net>
57655
57656         * modules/error (Makefile.am): Distribute files in /lib.
57657         * modules/obstack (Makefile.am): Likewise.
57658
57659 2006-10-12  Bruno Haible  <bruno@clisp.org>
57660
57661         * modules/acl (Makefile.am): Distribute all files in lib/ through
57662         EXTRA_DIST.
57663         * modules/arcfour (Makefile.am): Likewise.
57664         * modules/arctwo (Makefile.am): Likewise.
57665         * modules/argmatch (Makefile.am): Likewise.
57666         * modules/argz (Makefile.am): Likewise.
57667         * modules/atexit (Makefile.am): Likewise.
57668         * modules/backupfile (Makefile.am): Likewise.
57669         * modules/c-strtod (Makefile.am): Likewise.
57670         * modules/c-strtold (Makefile.am): Likewise.
57671         * modules/calloc (Makefile.am): Likewise.
57672         * modules/canon-host (Makefile.am): Likewise.
57673         * modules/canonicalize (Makefile.am): Likewise.
57674         * modules/chdir-long (Makefile.am): Likewise.
57675         * modules/chdir-safer (Makefile.am): Likewise.
57676         * modules/check-version (Makefile.am): Likewise.
57677         * modules/chown (Makefile.am): Likewise.
57678         * modules/cloexec (Makefile.am): Likewise.
57679         * modules/close-stream (Makefile.am): Likewise.
57680         * modules/closeout (Makefile.am): Likewise.
57681         * modules/crc (Makefile.am): Likewise.
57682         * modules/cycle-check (Makefile.am): Likewise.
57683         * modules/des (Makefile.am): Likewise.
57684         * modules/dirfd (Makefile.am): Likewise.
57685         * modules/dirname (Makefile.am): Likewise.
57686         * modules/dup2 (Makefile.am): Likewise.
57687         * modules/euidaccess (Makefile.am): Likewise.
57688         * modules/exclude (Makefile.am): Likewise.
57689         * modules/exitfail (Makefile.am): Likewise.
57690         * modules/fcntl-safer (Makefile.am): Likewise.
57691         * modules/file-type (Makefile.am): Likewise.
57692         * modules/fileblocks (Makefile.am): Likewise.
57693         * modules/filemode (Makefile.am): Likewise.
57694         * modules/filenamecat (Makefile.am): Likewise.
57695         * modules/fnmatch (Makefile.am): Likewise.
57696         * modules/fopen-safer (Makefile.am): Likewise.
57697         * modules/fpending (Makefile.am): Likewise.
57698         * modules/fprintftime (Makefile.am): Likewise.
57699         * modules/free (Makefile.am): Likewise.
57700         * modules/fsusage (Makefile.am): Likewise.
57701         * modules/ftruncate (Makefile.am): Likewise.
57702         * modules/fts (Makefile.am): Likewise.
57703         * modules/gc (Makefile.am): Likewise.
57704         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57705         * modules/getaddrinfo (Makefile.am): Likewise.
57706         * modules/getcwd (Makefile.am): Likewise.
57707         * modules/getdelim (Makefile.am): Likewise.
57708         * modules/getdomainname (Makefile.am): Likewise.
57709         * modules/getgroups (Makefile.am): Likewise.
57710         * modules/gethostname (Makefile.am): Likewise.
57711         * modules/gethrxtime (Makefile.am): Likewise.
57712         * modules/getline (Makefile.am): Likewise.
57713         * modules/getloadavg (Makefile.am): Likewise.
57714         * modules/getlogin_r (Makefile.am): Likewise.
57715         * modules/getopt (Makefile.am): Likewise.
57716         * modules/getpass (Makefile.am): Likewise.
57717         * modules/getpass-gnu (Makefile.am): Likewise.
57718         * modules/getsubopt (Makefile.am): Likewise.
57719         * modules/gettime (Makefile.am): Likewise.
57720         * modules/gettimeofday (Makefile.am): Likewise.
57721         * modules/getugroups (Makefile.am): Likewise.
57722         * modules/getusershell (Makefile.am): Likewise.
57723         * modules/glob (Makefile.am): Likewise.
57724         * modules/group-member (Makefile.am): Likewise.
57725         * modules/hard-locale (Makefile.am): Likewise.
57726         * modules/hash (Makefile.am): Likewise.
57727         * modules/hmac-md5 (Makefile.am): Likewise.
57728         * modules/hmac-sha1 (Makefile.am): Likewise.
57729         * modules/human (Makefile.am): Likewise.
57730         * modules/idcache (Makefile.am): Likewise.
57731         * modules/imaxabs (Makefile.am): Likewise.
57732         * modules/imaxdiv (Makefile.am): Likewise.
57733         * modules/inet_ntop (Makefile.am): Likewise.
57734         * modules/inet_pton (Makefile.am): Likewise.
57735         * modules/inttostr (Makefile.am): Likewise.
57736         * modules/isapipe (Makefile.am): Likewise.
57737         * modules/lchown (Makefile.am): Likewise.
57738         * modules/long-options (Makefile.am): Likewise.
57739         * modules/lstat (Makefile.am): Likewise.
57740         * modules/malloc (Makefile.am): Likewise.
57741         * modules/mathl (Makefile.am): Likewise.
57742         * modules/mbchar (Makefile.am): Likewise.
57743         * modules/md2 (Makefile.am): Likewise.
57744         * modules/md4 (Makefile.am): Likewise.
57745         * modules/md5 (Makefile.am): Likewise.
57746         * modules/memcasecmp (Makefile.am): Likewise.
57747         * modules/memchr (Makefile.am): Likewise.
57748         * modules/memcmp (Makefile.am): Likewise.
57749         * modules/memcoll (Makefile.am): Likewise.
57750         * modules/memcpy (Makefile.am): Likewise.
57751         * modules/memmem (Makefile.am): Likewise.
57752         * modules/memmove (Makefile.am): Likewise.
57753         * modules/mempcpy (Makefile.am): Likewise.
57754         * modules/memrchr (Makefile.am): Likewise.
57755         * modules/memset (Makefile.am): Likewise.
57756         * modules/memxor (Makefile.am): Likewise.
57757         * modules/mkancesdirs (Makefile.am): Likewise.
57758         * modules/mkdir (Makefile.am): Likewise.
57759         * modules/mkdir-p (Makefile.am): Likewise.
57760         * modules/mkdtemp (Makefile.am): Likewise.
57761         * modules/mkstemp (Makefile.am): Likewise.
57762         * modules/mktime (Makefile.am): Likewise.
57763         * modules/modechange (Makefile.am): Likewise.
57764         * modules/mountlist (Makefile.am): Likewise.
57765         * modules/nanosleep (Makefile.am): Likewise.
57766         * modules/openat (Makefile.am): Likewise.
57767         * modules/pagealign_alloc (Makefile.am): Likewise.
57768         * modules/physmem (Makefile.am): Likewise.
57769         * modules/poll (Makefile.am): Likewise.
57770         * modules/posixtm (Makefile.am): Likewise.
57771         * modules/posixver (Makefile.am): Likewise.
57772         * modules/putenv (Makefile.am): Likewise.
57773         * modules/quote (Makefile.am): Likewise.
57774         * modules/quotearg (Makefile.am): Likewise.
57775         * modules/raise (Makefile.am): Likewise.
57776         * modules/read-file (Makefile.am): Likewise.
57777         * modules/readline (Makefile.am): Likewise.
57778         * modules/readlink (Makefile.am): Likewise.
57779         * modules/readtokens (Makefile.am): Likewise.
57780         * modules/readutmp (Makefile.am): Likewise.
57781         * modules/realloc (Makefile.am): Likewise.
57782         * modules/regex (Makefile.am): Likewise.
57783         * modules/rename (Makefile.am): Likewise.
57784         * modules/rename-dest-slash (Makefile.am): Likewise.
57785         * modules/rijndael (Makefile.am): Likewise.
57786         * modules/rmdir (Makefile.am): Likewise.
57787         * modules/rpmatch (Makefile.am): Likewise.
57788         * modules/safe-read (Makefile.am): Likewise.
57789         * modules/safe-write (Makefile.am): Likewise.
57790         * modules/same (Makefile.am): Likewise.
57791         * modules/save-cwd (Makefile.am): Likewise.
57792         * modules/savedir (Makefile.am): Likewise.
57793         * modules/setenv (Makefile.am): Likewise.
57794         * modules/settime (Makefile.am): Likewise.
57795         * modules/sha1 (Makefile.am): Likewise.
57796         * modules/sig2str (Makefile.am): Likewise.
57797         * modules/snprintf (Makefile.am): Likewise.
57798         * modules/stdlib-safer (Makefile.am): Likewise.
57799         * modules/stpcpy (Makefile.am): Likewise.
57800         * modules/stpncpy (Makefile.am): Likewise.
57801         * modules/strcase (Makefile.am): Likewise.
57802         * modules/strcasestr (Makefile.am): Likewise.
57803         * modules/strchrnul (Makefile.am): Likewise.
57804         * modules/strcspn (Makefile.am): Likewise.
57805         * modules/strdup (Makefile.am): Likewise.
57806         * modules/strerror (Makefile.am): Likewise.
57807         * modules/strftime (Makefile.am): Likewise.
57808         * modules/strndup (Makefile.am): Likewise.
57809         * modules/strnlen (Makefile.am): Likewise.
57810         * modules/strpbrk (Makefile.am): Likewise.
57811         * modules/strsep (Makefile.am): Likewise.
57812         * modules/strstr (Makefile.am): Likewise.
57813         * modules/strtod (Makefile.am): Likewise.
57814         * modules/strtoimax (Makefile.am): Likewise.
57815         * modules/strtok_r (Makefile.am): Likewise.
57816         * modules/strtol (Makefile.am): Likewise.
57817         * modules/strtoll (Makefile.am): Likewise.
57818         * modules/strtoul (Makefile.am): Likewise.
57819         * modules/strtoull (Makefile.am): Likewise.
57820         * modules/strtoumax (Makefile.am): Likewise.
57821         * modules/strverscmp (Makefile.am): Likewise.
57822         * modules/time_r (Makefile.am): Likewise.
57823         * modules/timegm (Makefile.am): Likewise.
57824         * modules/tmpfile-safer (Makefile.am): Likewise.
57825         * modules/unistd-safer (Makefile.am): Likewise.
57826         * modules/unlinkdir (Makefile.am): Likewise.
57827         * modules/userspec (Makefile.am): Likewise.
57828         * modules/utime (Makefile.am): Likewise.
57829         * modules/utimecmp (Makefile.am): Likewise.
57830         * modules/utimens (Makefile.am): Likewise.
57831         * modules/vasnprintf (Makefile.am): Likewise.
57832         * modules/vasprintf (Makefile.am): Likewise.
57833         * modules/vsnprintf (Makefile.am): Likewise.
57834         * modules/xalloc (Makefile.am): Likewise.
57835         * modules/xgetcwd (Makefile.am): Likewise.
57836         * modules/xnanosleep (Makefile.am): Likewise.
57837         * modules/xreadlink (Makefile.am): Likewise.
57838         * modules/xstrtod (Makefile.am): Likewise.
57839         * modules/xstrtol (Makefile.am): Likewise.
57840         * modules/xstrtold (Makefile.am): Likewise.
57841         * modules/yesno (Makefile.am): Likewise.
57842
57843 2006-10-12  Jim Meyering  <jim@meyering.net>
57844
57845         * m4/getloadavg.m4: Revert the change below.
57846
57847         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
57848         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
57849         fail with a symlink, which is what coreutils' ./bootstrap now
57850         creates by default.
57851
57852 2006-10-12  Bruno Haible  <bruno@clisp.org>
57853
57854         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
57855         mingw.
57856         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
57857         MSVC and mingw explicitly.
57858
57859 2006-10-11  Simon Josefsson  <jas@extundo.com>
57860             Bruno Haible  <bruno@clisp.org>
57861
57862         Add support for multiple gnulib-tool invocations in the scope of a
57863         single configure.ac file.
57864         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
57865         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
57866         with the same contents as the _LIBADD variable.
57867         (func_emit_initmacro_start, func_emit_initmacro_end,
57868         func_emit_initmacro_done): New functions.
57869         (func_import, func_create_testdir): Invoke them. Allow the identifiers
57870         gl_LIBOBJS and gl_LTLIBOBJS.
57871
57872 2006-10-11  Bruno Haible  <bruno@clisp.org>
57873
57874         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
57875         (func_create_testdir): Don't create po/Makefile.am, don't invoke
57876         autoreconf. Instead, invoke autopoint explicitly but move back the
57877         *.m4 files from gnulib.
57878
57879 2006-10-11  Bruno Haible  <bruno@clisp.org>
57880
57881         * gnulib-tool (func_usage): Make module names after --create-testdir
57882         optional.
57883         (func_create_testdir): If no module was specified, use nearly all
57884         modules.
57885
57886 2006-10-12  Jim Meyering  <jim@meyering.net>
57887
57888         Big performance improvement for fts-based tools that use FTS_NOSTAT.
57889         Avoid spurious inode-mismatch problems on non-POSIX file systems.
57890         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
57891         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
57892         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
57893         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
57894         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
57895         (fts_set_stat_required): New function.
57896         (fts_open): Defer the calls to fts_stat, if possible or requested.
57897         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
57898         into fts_stat itself.
57899         (fts_read): Perform any required (deferred) fts_stat call.
57900         (fts_build): Likewise, for the directory we're about to open and read.
57901         In the readdir loop, carefully decide whether each entry will require
57902         an eventual call to fts_stat, using dirent.d_type info if available.
57903         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
57904         a command line argument into this function.  Update all callers.
57905         Map a return value of FTS_DOT to FTS_D for a command line argument.
57906         * modules/fts (Depends-on): Add d-type.  Alphabetize.
57907         Thanks to Miklos Szeredi for his tenacity and for the initial
57908         bug report about "find" failing on a FUSE-based file system.
57909
57910         * lib/fts.c (fts_open): Use consistent indentation.
57911
57912 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57913
57914         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
57915         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
57916         reported by Jim Meyering.  All uses of cache variables renamed
57917         to match Autoconf's.
57918         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
57919         the other one.
57920
57921         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
57922         Fix misspelling in diagnostic.
57923
57924 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57925
57926         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
57927         defined.  Problem reported by Matthew Woehlke.
57928
57929         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
57930         Add support for Tandem NonStop R series.
57931         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
57932         Use new macro.
57933
57934         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
57935         (has_trailing_slash): Omit size arg; all callers changed.
57936         Omit 'inline', since it doesn't help performance and we'd
57937         need to configure it.
57938         Don't count //, ///, etc. as having a trailing slash.
57939         As a side effect, this removes a C99ism reported by Matthew Woehlke.
57940         (rpl_rename_dest_slash): On failure, use rename's errno rather
57941         than (in some cases) an incorrect or junk errno.
57942         Simplify code by removing need to compute length; this does
57943         cause it to make two passes instead of one over the file name,
57944         but it's worth it.
57945
57946         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
57947         change, since Autoconf's version may no longer be appropriate now
57948         that we are using CVS Autoconf's version.  Add support for Tandem.
57949
57950 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57951             Bruno Haible  <bruno@clisp.org>
57952
57953         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
57954         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
57955         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
57956         gl_AC_TYPE_LONG_LONG.
57957
57958         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
57959         instead of HAVE_LONG_LONG.
57960         * lib/printf-args.c (printf_fetchargs): Likewise.
57961         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
57962         * lib/vasnprintf.c (VASNPRINTF): Likewise.
57963         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
57964         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
57965         gl_AC_TYPE_LONG_LONG.
57966
57967 2006-10-11  Bruno Haible  <bruno@clisp.org>
57968
57969         * m4/longlong.m4: Add comments.
57970         * m4/ulonglong.m4: Likewise.
57971
57972 2006-10-10  Bruno Haible  <bruno@clisp.org>
57973
57974         Make it possible to #define stpcpy, strdup to aliases.
57975         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
57976         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
57977
57978 2006-10-10  Bruno Haible  <bruno@clisp.org>
57979
57980         Make it possible to #define gcd to an alias.
57981         * lib/gcd.c: Include config.h.
57982
57983 2006-10-10  Bruno Haible  <bruno@clisp.org>
57984
57985         Make it possible to #define c_isascii to an alias.
57986         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
57987         defined. Undefine the macros before defining them, to avoid gcc
57988         warnings.
57989         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
57990         define NO_C_CTYPE_MACROS early.
57991
57992 2006-10-10  Bruno Haible  <bruno@clisp.org>
57993
57994         Make it possible to #define set_program_name to an alias.
57995         * lib/progname.c: Don't undefine set_program_name; instead, undefine
57996         ENABLE_RELOCATABLE early.
57997
57998 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57999
58000         Port to Tandem NSK OSS, which has 64-bit signed int but at most
58001         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
58002         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
58003         More generally, don't assume that 64-bit signed int is available
58004         if unsigned int is, and vice versa.
58005         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
58006         unsigned symbols, not on their signed counterparts.
58007         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
58008         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
58009         (UINT64_C, UINTMAX_C):
58010         Likewise.
58011         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
58012         unsigned counterparts.
58013         (Have_long_long, Unsigned): New macros.
58014         (Int): Renamed from INT.
58015         (strtoimax): Use the new macros.
58016         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
58017         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
58018         * modules/inttypes (inttypes.h): Substitute
58019         HAVE_UNSIGNED_LONG_LONG_INT.
58020         * modules/stdint (stdint.h): Likewise.
58021         (Files): Add m4/ulonglong.m4.
58022
58023 2006-10-10  Bruno Haible  <bruno@clisp.org>
58024
58025         Fix a gcc -Wshadow warning.
58026         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
58027         to 'bucket'.
58028         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
58029         gl_linked_indexof_from_to): Likewise.
58030         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
58031         Likewise.
58032         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
58033         Likewise.
58034         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
58035         Reported by Eric Blake.
58036
58037 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
58038
58039         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
58040         for NetBSD.  Problem reported by Bruno Haible.
58041
58042 2006-10-09  Jim Meyering  <jim@meyering.net>
58043
58044         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
58045         Patch from Bruno Haible.
58046
58047 2006-10-09  Jim Meyering  <jim@meyering.net>
58048
58049         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
58050         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
58051         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
58052
58053 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58054
58055         Don't include <config.h> twice; this doesn't work in some cases,
58056         e.g., when config.h has "#define intmax_t long long int" and
58057         we include <config.h>, <inttypes.h>, <config.h> in that order.
58058         Problem reported by Matthew Woehlke in:
58059         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
58060         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
58061         * lib/fts-cycle.c: Don't include config.h.
58062         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
58063         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
58064         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
58065         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
58066         inttypes.h.
58067         * lib/xstrtoumax.c: Likewise.
58068         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
58069         __strtol and the like, so that this module is more like its siblings.
58070         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
58071         Remove; no longer needed now that we assume gnulib inttypes.h.
58072
58073 2006-10-08  Bruno Haible  <bruno@clisp.org>
58074
58075         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
58076         option.
58077
58078 2006-10-07  Jim Meyering  <jim@meyering.net>
58079
58080         * modules/inttypes (inttypes.h): Revert what seems to have been
58081         an inadvertent part of today's change: use "|", not "/" in the
58082         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
58083
58084 2006-10-07  Bruno Haible  <bruno@clisp.org>
58085
58086         * modules/sublist: New file.
58087
58088 2006-10-07  Bruno Haible  <bruno@clisp.org>
58089
58090         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
58091         * modules/argz (argz.h): Likewise.
58092         * modules/arpa_inet (arpa/inet.h): Likewise.
58093         * modules/byteswap (byteswap.h): Likewise.
58094         * modules/configmake (configmake.h): Likewise.
58095         * modules/fcntl (fcntl.h): Likewise.
58096         * modules/fnmatch (fnmatch.h): Likewise.
58097         * modules/getopt (getopt.h): Likewise.
58098         * modules/glob (glob.h): Likewise.
58099         * modules/inttypes (inttypes.h): Likewise.
58100         * modules/netinet_in (netinet/in.h): Likewise.
58101         * modules/poll (poll.h): Likewise.
58102         * modules/stdbool (stdbool.h): Likewise.
58103         * modules/stdint (stdint.h): Likewise.
58104         * modules/sys_select (sys/select.h): Likewise.
58105         * modules/sys_socket (sys/socket.h): Likewise.
58106         * modules/sys_stat (sys/stat.h): Likewise.
58107         * modules/sysexits (sysexits.h): Likewise.
58108         * modules/unistd (unistd.h): Likewise.
58109         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58110         Add a "DO NOT EDIT" comment to the generated file.
58111         (func_import): Likewise for gnulib-comp.m4.
58112
58113 2006-10-07  Bruno Haible  <bruno@clisp.org>
58114
58115         * lib/gl_sublist.h: New file.
58116         * lib/gl_sublist.c: New file.
58117
58118 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58119
58120         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
58121         name (relative to the original working directory) and the file
58122         name component (relative to the temporary working directory).  All
58123         callers changed.
58124         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
58125         * lib/mkdir-p.c (make_dir_parents): Likewise.
58126         * lib/mkdir-p.h (make_dir_parents): Likewise.
58127
58128 2006-10-06  Eric Blake  <ebb9@byu.net>
58129
58130         Define several macros for use by the clean-temp module.
58131         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
58132         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
58133         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
58134
58135         * lib/clean-temp.h (close_stream_temp): New declaration.
58136         * lib/clean-temp.c (includes): Pull in headers according to what
58137         other modules are in use.
58138         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
58139
58140 2006-10-06  Bruno Haible  <bruno@clisp.org>
58141
58142         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
58143         instead of fopen, fwriteerror.
58144
58145 2006-10-06  Bruno Haible  <bruno@clisp.org>
58146
58147         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
58148         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
58149         int.
58150         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
58151         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
58152         Return an error indicator.
58153         Suggested by Eric Blake.
58154
58155 2006-10-06  Bruno Haible  <bruno@clisp.org>
58156
58157         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
58158         Reported by Eric Blake.
58159
58160 2006-10-06  Bruno Haible  <bruno@clisp.org>
58161
58162         * modules/closeout (Description): Mention stderr too.
58163
58164 2006-10-06  Bruno Haible  <bruno@clisp.org>
58165         and Paul Eggert  <eggert@cs.ucla.edu>
58166
58167         * lib/closeout.c (close_stdout): Also close stderr.
58168         * lib/closeout.h: Update comment.
58169
58170 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
58171
58172         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
58173         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
58174         * lib/dirchownmod.c: Include lchown.h.
58175         * lib/lchown.c: Don't include files that lchown.h now includes.
58176         Don't declare chown, since lchown.h now does that.
58177         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
58178         (lchown): Define to rpl_chown if lchown is declared but
58179         does not exist.  Declare using a prototype if lchown is not
58180         declared.  Add a copyright notice.
58181         * lib/mkstemp.h: Include <unistd.h>.
58182         * lib/openat.c: Include lchown.h.
58183
58184         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
58185         we now test for that separately.
58186         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
58187         rather than O_NOFOLLOW, when testing whether it's possible to
58188         avoid a race condition reliably.
58189         * lib/savewd.c (savewd_chdir): Likewise.
58190
58191         Remove macros that are no longer needed now that stdint.h is
58192         reliable.
58193         * lib/fsusage.c (UINTMAX_MAX): Remove.
58194         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
58195         * lib/utimecmp.c (SIZE_MAX): Remove.
58196
58197         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
58198
58199         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
58200         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
58201         O_NOATIME works.
58202
58203 2006-10-05  Bruno Haible  <bruno@clisp.org>
58204
58205         * lib/gl_list.h (gl_sortedlist_search_from_to,
58206         gl_sortedlist_indexof_from_to): New declarations.
58207         (gl_list_implementation): New fields sortedlist_search_from_to,
58208         sortedlist_indexof_from_to.
58209         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
58210         inline functions.
58211         * lib/gl_list.c (gl_sortedlist_search_from_to,
58212         gl_sortedlist_indexof_from_to): New functions.
58213         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
58214         function.
58215         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
58216         (gl_array_sortedlist_search_from_to): New function.
58217         (gl_array_list_implementation): Update.
58218         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
58219         function.
58220         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
58221         (gl_carray_sortedlist_search_from_to): New function.
58222         (gl_carray_list_implementation): Update.
58223         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
58224         gl_linked_sortedlist_indexof_from_to): New functions.
58225         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58226         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58227         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
58228         gl_tree_sortedlist_indexof_from_to): New functions.
58229         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58230         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58231         Update.
58232         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58233         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
58234         Update.
58235
58236 2006-10-05  Bruno Haible  <bruno@clisp.org>
58237
58238         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
58239         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
58240         (struct gl_list_implementation): Add fields search_from_to,
58241         indexof_from_to. Remove fields search, indexof.
58242         (gl_list_search): Use the search_from_to method.
58243         (gl_list_search_from, gl_list_search_from_to): New functions.
58244         (gl_list_indexof): Use the indexof_from_to method.
58245         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58246         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
58247         (gl_list_search_from, gl_list_search_from_to): New functions.
58248         (gl_list_indexof): Use the indexof_from_to method.
58249         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58250         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
58251         gl_array_indexof. Add start_index, end_index arguments.
58252         (gl_array_search_from_to): Renamed from gl_array_search. Add
58253         start_index, end_index arguments.
58254         (gl_array_remove, gl_array_list_implementation): Update.
58255         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
58256         gl_carray_indexof. Add start_index, end_index arguments.
58257         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
58258         start_index, end_index arguments.
58259         (gl_carray_remove, gl_carray_list_implementation): Update.
58260         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
58261         gl_linked_search. Add start_index, end_index arguments.
58262         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
58263         start_index, end_index arguments.
58264         (gl_linked_remove): Update.
58265         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58266         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58267         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
58268         field to 'size_t'.
58269         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
58270         gl_tree_search. Add start_index, end_index arguments.
58271         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58272         start_index, end_index arguments.
58273         (gl_tree_remove): Update.
58274         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58275         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58276         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
58277         function.
58278         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
58279         gl_tree_search. Add start_index, end_index arguments.
58280         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58281         start_index, end_index arguments.
58282         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58283         Update.
58284         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
58285
58286 2006-10-05  Bruno Haible  <bruno@clisp.org>
58287
58288         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
58289
58290         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
58291         fwriteerror_temp): New declarations.
58292         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
58293         (descriptors): New variable.
58294         (cleanup): First, close the descriptors.
58295         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
58296         fclose_temp, fwriteerror_temp): New functions.
58297
58298 2006-10-04  Jim Meyering  <jim@meyering.net>
58299
58300         * lib/fts.c (fts_open): Tiny comment change.
58301
58302 2006-10-04  Bruno Haible  <bruno@clisp.org>
58303
58304         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
58305         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
58306         gl_LOCK_BODY.
58307         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
58308         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
58309         gl_LOCK_EARLY_BODY.
58310         (gl_LOCK): Require gl_LOCK_BODY.
58311
58312 2006-10-04  Bruno Haible  <bruno@clisp.org>
58313
58314         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
58315         (gl_oset_search_atleast): New declaration.
58316         (struct gl_oset_implementation): Add field 'search_atleast'.
58317         (gl_oset_search_atleast): New inline function.
58318         * lib/gl_oset.c (gl_oset_search_atleast): New function.
58319         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
58320         (gl_array_oset_implementation): Update.
58321         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
58322         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
58323         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
58324
58325 2006-10-04  Bruno Haible  <bruno@clisp.org>
58326
58327         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
58328
58329 2006-10-03  Bruno Haible  <bruno@clisp.org>
58330
58331         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
58332         from gl_avltreehash_list_implementation.
58333
58334 2006-10-03  Bruno Haible  <bruno@clisp.org>
58335
58336         * lib/gl_oset.c (gl_oset_add): Fix return type.
58337
58338 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
58339
58340         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
58341
58342 2006-10-02  Eric Blake  <ebb9@byu.net>
58343
58344         * modules/strnlen (Depends-on): Add extensions.
58345
58346 2006-10-02  Eric Blake  <ebb9@byu.net>
58347
58348         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
58349         definition in 2.60+.
58350
58351 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
58352
58353         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
58354         checks.
58355
58356 2006-10-02  Bruno Haible  <bruno@clisp.org>
58357
58358         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
58359         to the AUTOMAKE_OPTIONS.
58360         Reported by Jim Meyering.
58361
58362 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
58363
58364         Work around bug in Solaris 10 /proc file system:
58365         /proc/self/fd/NNN/.. isn't the parent directory of
58366         the directory whose file descriptor is NNN.  This needs to
58367         be worked around at run time, not compile time, since a
58368         program might be built on Solaris 8, where things work, and
58369         run on Solaris 10.
58370         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
58371         to use the following interface instead:
58372         (OPENAT_BUFFER_SIZE): New macro.
58373         (openat_proc_name): New function.
58374         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
58375         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
58376         Likewise.
58377         * lib/openat-proc.c: New file.
58378         * modules/openat (Files): Add lib/openat-proc.c.
58379         (Depends-on): Add same-inode, stdbool.
58380         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
58381
58382 2006-09-29  Bruno Haible  <bruno@clisp.org>
58383
58384         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
58385         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
58386         argument. Set stdout_closed before testing for ferror, not after.
58387         (fwriteerror, fwriteerror_no_ebadf): New functions.
58388
58389 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58390
58391         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
58392
58393 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
58394
58395         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
58396         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
58397
58398 2006-09-28  Jim Meyering  <jim@meyering.net>
58399
58400         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
58401         Include <unistd.h>.
58402
58403 2006-09-28  Bruno Haible  <bruno@clisp.org>
58404
58405         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
58406         * modules/linkedhash-list (Depends-on): Likewise.
58407         * modules/rbtreehash-list (Depends-on): Likewise.
58408
58409 2006-09-28  Bruno Haible  <bruno@clisp.org>
58410
58411         * lib/strndup.h: Simplify the redefinition of strndup.
58412         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
58413         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
58414
58415 2006-09-28  Bruno Haible  <bruno@clisp.org>
58416
58417         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
58418         * lib/gl_linkedhash_list.c: Likewise.
58419         * lib/gl_rbtreehash_list.c: Likewise.
58420
58421 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
58422
58423         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
58424         getaddrinfo.
58425
58426         * lib/__fpending.h: Don't include <stdio_ext.h> unless
58427         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
58428         it causes <stdio_ext.h> to cause a compile-time error.
58429         Problem reported by Nelson H. F. Beebe.
58430         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
58431         of HAVE_DECL___PENDING.
58432
58433         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
58434         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
58435         declaration.
58436
58437 2006-09-27  Jim Meyering  <jim@meyering.net>
58438
58439         This file could end up with a definition for a function
58440         named __strndup, rather than rpl_strndup on a system with
58441         incomplete weak_alias support.
58442         * lib/strndup.c (strndup): Rename from __strndup.
58443         Remove #defines that used to map __strndup to strndup.
58444         Don't use K&R prototypes.
58445         Remove LIBC-related code, since this file is not sync'd with glibc.
58446         * lib/strndup.h: Revamp, accordingly.
58447         * m4/strndup.m4: Modernize.
58448
58449 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
58450
58451         * modules/savewd (Depends-on): Add 'raise'.
58452         * lib/savewd.c: Include <signal.h>, for 'raise'.
58453
58454 2006-09-26  Jim Meyering  <jim@meyering.net>
58455
58456         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
58457         when we detect Darwin 8.7.0's acl_get_file bug.
58458         Rearrange to perform the new (below) run-test while $LIBS
58459         contains any acl-related library.  Set USE_ACL at the end.
58460         (gl_ACL_GET_FILE): New function.
58461
58462 2006-09-26  Eric Blake  <ebb9@byu.net>
58463
58464         * lib/verror.c: Include <config.h> unconditionally.
58465
58466 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
58467
58468         * modules/clock-time (Maintainer): Add self.
58469         * modules/getlogin_r (Depends-on): Add extensions.
58470
58471 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58472
58473         * modules/clock-time: New module.
58474         * modules/nanosleep (Depends-on): Add clock-time.
58475         * modules/gethrxtime (Depends-on): Likewise.
58476         * modules/gettime (Depends-on): Likewise.
58477         * modules/settime (Depends-on): Likewise.
58478
58479         * modules/fts-lgpl: Depend on openat.
58480         * modules/mkancesdirs: Depend on savewd.
58481         * modules/mkdir-p: Likewise.
58482
58483 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58484
58485         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
58486
58487         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
58488         `gl_have_arbitrary_file_name_length_limit' to
58489         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
58490         actually works between configure runs.
58491
58492 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58493             Bruno Haible  <bruno@clisp.org>
58494
58495         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
58496
58497 2006-09-25  Jim Meyering  <jim@meyering.net>
58498
58499         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
58500         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
58501
58502 2006-09-25  Eric Blake  <ebb9@byu.net>
58503
58504         * gnulib-tool (func_import, func_create_testdir): Fix typos in
58505         exec's in 2006-09-18 patch when shuffling fds.
58506
58507 2006-09-25  Bruno Haible  <bruno@clisp.org>
58508
58509         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
58510         Reported by Jim Meyering.
58511
58512 2006-09-24  Jim Meyering  <jim@meyering.net>
58513
58514         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
58515         compare a pointer against a literal "0".  That caused failures with
58516         at least HP-UX's hpcc.
58517
58518 2006-09-22  Simon Josefsson  <jas@extundo.com>
58519
58520         * modules/gc-sha1:
58521         * modules/gc-md4:
58522         * modules/gc-hmac-sha1:
58523         * modules/gc-hmac-md5:
58524         * modules/gc-des:
58525         * modules/gc-arcfour: Distribute more files.
58526
58527 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58528
58529         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
58530         (gl_linked_iterator_from_to): Initialize struct completely.
58531         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
58532         (gl_tree_iterator_from_to): Likewise
58533         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
58534         * lib/gl_array_list.c [lint] (gl_array_iterator)
58535         (gl_array_iterator_from_to): Likewise.
58536         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
58537         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
58538         (gl_carray_iterator_from_to): Likewise.
58539
58540         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
58541         * lib/md4.c (md4_process_block): Remove unused variable.
58542         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
58543         parentheses for clarity.
58544
58545 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58546
58547         * modules/bison-i18n (Depends-on): Add gettext.
58548
58549 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58550
58551         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
58552         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
58553         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
58554         also add missing comma that caused broken test.
58555         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
58556         stdlib.h, for `abort'.
58557         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
58558         variables.
58559         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
58560         include unistd.h if present, for `rmdir'.
58561         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
58562         variables.
58563         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
58564         in the process include standard headers for prototypes.
58565         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
58566         gets declared on GNU/Linux.
58567         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
58568         unistd.h, for `rmdir'.
58569         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
58570
58571         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
58572         always true.
58573         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
58574
58575         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
58576
58577 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58578
58579         * gnulib-tool (func_version): Create output all at once.  This
58580         may help avoid triggering unnecessary SIGPIPEs, and at any
58581         rate it doesn't hurt.
58582
58583 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58584             Bruno Haible  <bruno@clisp.org>
58585
58586         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
58587         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
58588         * m4/signed.m4 (bh_C_SIGNED): Likewise.
58589
58590         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
58591         (gl_FUNC_VASPRINTF): Invoke it.
58592
58593 2006-09-22  Bruno Haible  <bruno@clisp.org>
58594
58595         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
58596         getloadavg.c as first argument.
58597
58598 2006-09-22  Bruno Haible  <bruno@clisp.org>
58599
58600         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
58601         at the beginning of the gl_INIT macro.
58602         * modules/getloadavg (configure.ac): Pass $gl_source_base to
58603         gl_GETLOADAVG.
58604
58605 2006-09-22  Bruno Haible  <bruno@clisp.org>
58606
58607         * gnulib-tool (func_create_megatestdir): Don't include the config-h
58608         module.
58609         Suggested by Ralf Wildenhues.
58610
58611 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58612
58613         Import this patch from libc:
58614
58615         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
58616
58617         * lib/regex_internal.c (re_string_reconstruct): Handle
58618         offset < pstr->valid_raw_len && pstr->offsets_needed case.
58619         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
58620         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
58621         re_string_context_at.
58622
58623         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
58624         now requires it.
58625         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
58626         gl_REGEX now does it for us.
58627         (gl_REGEX): Add test taken from
58628         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
58629
58630         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
58631         Check that large offsets work.  Modernize Autoconf usages.
58632         Prefer "yes" to mean a good thing rather than a bad.
58633         Don't put "#define mkstemp" in config.h, as this might interfere
58634         with standard system headers that "#define mkstemp mkstemp64".
58635
58636         * modules/mkstemp (Depends-on): Add extensions, so that
58637         mkstemp is visible on some platforms.
58638         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
58639         (Include): Change to "mkstemp.h" from <stdlib.h>.
58640         (Files): Add mkstemp.h.
58641
58642         * lib/mkstemp.h: New file, since some standard headers
58643         #define mkstemp.
58644         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
58645         Include "mkstemp.h".
58646         Make the _LIBC code resemble glibc original more,
58647         e.g., use K&R style.
58648         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
58649         (mkstemp): Remove, since mkstemp.h does this for us.
58650         * lib/stdlib--.h: Include mkstemp.h.
58651
58652         Import this patch from libc:
58653
58654         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58655
58656         * lib/tempname.c (__gen_tempname): Change attempts_min
58657         into a macro.  Use preprocessor to decide how to initialize
58658         attempts [Coverity CID 67].
58659
58660 2006-09-20  Bruno Haible  <bruno@clisp.org>
58661
58662         * lib/mkdtemp.c: Import from libc.
58663         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58664                 * sysdeps/posix/tempname.c (__gen_tempname): Change
58665                 attempts_min into a macro.  Use preprocessor to decide how to
58666                 initialize attempts [Coverity CID 67].
58667         2001-11-27  Paul Eggert  <eggert@twinsun.com>
58668                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
58669                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
58670
58671 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58672
58673         * gnulib-tool (func_exit): New function, to allow to pass the
58674         exit status portably through the trap.  Use everywhere.
58675         (--help, --version): Signal a write error.
58676         (trap): catch SIGPIPE, for write errors.
58677         Exit at the end of the trap, with the correct exit status.
58678
58679 2006-09-19  Karl Berry  <karl@gnu.org>
58680
58681         * doc/gnulib.texi: note about the license texinfo files.
58682
58683 2006-09-19  Eric Blake  <ebb9@byu.net>
58684
58685         * gnulib-tool: Avoid space-tab.
58686
58687 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58688
58689         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
58690         that prevented coreutils 6.1 from building.  Problem reported
58691         by Petter Reinholdtsen.
58692
58693 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58694
58695         * gnulib-tool (avoidlist): Fix typo that broke options like
58696         --avoid=lock that are used by coreutils bootstrap.
58697
58698 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
58699
58700         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
58701         more systematically.
58702
58703 2006-09-18  Jim Meyering  <jim@meyering.net>
58704
58705         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
58706
58707 2006-09-18  Bruno Haible  <bruno@clisp.org>
58708
58709         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
58710
58711 2006-09-18  Bruno Haible  <bruno@clisp.org>
58712
58713         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
58714         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
58715         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
58716         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
58717         * m4/gettext.m4: Require autoconf >= 2.52.
58718         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
58719         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
58720         of gl_cv_header_inttypes_h.
58721
58722 2006-09-18  Bruno Haible  <bruno@clisp.org>
58723
58724         * lib/javaversion.c: Include configmake.h.
58725
58726 2006-09-18  Bruno Haible  <bruno@clisp.org>
58727
58728         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
58729         avoid that the while loops be executed in a subshell.
58730
58731 2006-09-18  Bruno Haible  <bruno@clisp.org>
58732
58733         * MODULES.html.sh (func_module): Break long lines.
58734         Suggested by Bruce Korb <bkorb@gnu.org>.
58735
58736 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58737
58738         Speed up by a factor of 1.12.
58739         * gnulib-tool (nl): New variable.
58740         (func_import): Rewrite include directive extraction to only read each
58741         directive once.
58742
58743 2006-09-17  Bruno Haible  <bruno@clisp.org>
58744
58745         * modules/javaversion (Makefile.am): Remove DEFS setting.
58746         (Depends-on): Add configmake, for PKGDATADIR definition.
58747
58748 2006-09-17  Bruno Haible  <bruno@clisp.org>
58749
58750         * gnulib-tool (func_create_testdir): Rewrite all files at once.
58751
58752 2006-09-17  Bruno Haible  <bruno@clisp.org>
58753
58754         * gnulib-tool (func_append): New function, stolen from libtool.m4.
58755         (func_modules_transitive_closure, func_modules_add_dummy,
58756         func_modules_to_filelist, func_import, func_create_testdir,
58757         func_create_megatestdir, ...): Use it wherever possible.
58758         Suggested by Ralf Wildenhues.
58759
58760 2006-09-16  Karl Berry  <karl@gnu.org>
58761
58762         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
58763         to avoid sectioning errors.
58764         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
58765         [ifinfo]: blank line after @center-ed titles.
58766         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
58767         Spell FSF address consistently with others.
58768         (These changes approved by rms.)
58769
58770 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58771
58772         Speed up by a factor of 1.61.
58773         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
58774         already checked module names again.
58775
58776 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58777
58778         Speed up by a factor of 1.13.
58779         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
58780         for new_files, and the input to func_add_or_update.
58781
58782 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58783
58784         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
58785         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
58786
58787 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58788
58789         * modules/mkancesdirs (Depends-on): Add fcntl.
58790         * modules/savewd: New file.
58791         * MODULES.html.sh (File system functions): Add savewd.
58792
58793         * modules/configmake (Makefile.am): Add support for the
58794         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
58795
58796 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58797
58798         * m4/savewd.m4: New file.
58799
58800 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58801
58802         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
58803         (dirchownmod): New arg FD.  All callers changed.
58804         Use FD rather than opening the directory ourself, as opening is
58805         now the caller's responsibility.
58806         * lib/dirchownmod.h: Likewise.
58807         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
58808         hosts that require <sys/types.h> before <sys/stat.h>.  Include
58809         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
58810         (test_dir): Remove.
58811         (mkancesdirs): Return length of prefix of FILE that has already
58812         been made, or -2 if there is a child doing the work.  Redo
58813         algorithm so that it is O(N) rather than O(N**2).  Optimize away
58814         ".", and treat ".." specially since it might stray back into
58815         already-created areas.  Use a subprocess if necessary.  New arg
58816         WD; all users changed.  MAKE_DIR function should now return 1
58817         if it creates a directory that is not readable.  Return -2 if
58818         a child process is spun off.
58819         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
58820         Adjust signature to match code.
58821         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
58822         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
58823         all users changed.
58824         * lib/savewd.c, lib/savewd.h: New files.
58825
58826 2006-09-15  Jim Meyering  <jim@meyering.net>
58827
58828         * modules/rename-dest-slash: New module.
58829         * MODULES.html.sh (posix_compat): Add it here.
58830
58831         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
58832
58833 2006-09-15  Jim Meyering  <jim@meyering.net>
58834
58835         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
58836         file.
58837
58838         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
58839
58840 2006-09-15  Jim Meyering  <jim@meyering.net>
58841
58842         * lib/rename-dest-slash.c (has_trailing_slash): Use
58843         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
58844         (rpl_rename_dest_slash): Perform the cheaper trailing slash
58845         test before testing whether SRC is a directory.
58846         Suggestions from Bruno Haible.
58847
58848         Avoid a warning about an unused variable.
58849         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
58850         into the #ifdef block where it's used.
58851
58852         * lib/rename-dest-slash.c: New file.
58853
58854 2006-09-14  Bruno Haible  <bruno@clisp.org>
58855
58856         * lib/allocsa.c: Include <config.h> unconditionally.
58857         * lib/asnprintf.c: Likewise.
58858         * lib/asprintf.c: Likewise.
58859         * lib/c-strcasecmp.c: Likewise.
58860         * lib/c-strcasestr.c: Likewise.
58861         * lib/c-strncasecmp.c: Likewise.
58862         * lib/c-strstr.c: Likewise.
58863         * lib/classpath.c: Likewise.
58864         * lib/clean-temp.c: Likewise.
58865         * lib/concatpath.c: Likewise.
58866         * lib/copy-file.c: Likewise.
58867         * lib/csharpcomp.c: Likewise.
58868         * lib/csharpexec.c: Likewise.
58869         * lib/execute.c: Likewise.
58870         * lib/fatal-signal.c: Likewise.
58871         * lib/findprog.c: Likewise.
58872         * lib/fwriteerror.c: Likewise.
58873         * lib/gl_array_list.c: Likewise.
58874         * lib/gl_array_oset.c: Likewise.
58875         * lib/gl_avltree_list.c: Likewise.
58876         * lib/gl_avltree_oset.c: Likewise.
58877         * lib/gl_avltreehash_list.c: Likewise.
58878         * lib/gl_carray_list.c: Likewise.
58879         * lib/gl_linked_list.c: Likewise.
58880         * lib/gl_linkedhash_list.c: Likewise.
58881         * lib/gl_list.c: Likewise.
58882         * lib/gl_oset.c: Likewise.
58883         * lib/gl_rbtree_list.c: Likewise.
58884         * lib/gl_rbtree_oset.c: Likewise.
58885         * lib/gl_rbtreehash_list.c: Likewise.
58886         * lib/imaxabs.c: Likewise.
58887         * lib/imaxdiv.c: Likewise.
58888         * lib/javacomp.c: Likewise.
58889         * lib/javaexec.c: Likewise.
58890         * lib/javaversion.c: Likewise.
58891         * lib/linebreak.c: Likewise.
58892         * lib/localcharset.c: Likewise.
58893         * lib/lock.c: Likewise.
58894         * lib/mbchar.c: Likewise.
58895         * lib/mbswidth.c: Likewise.
58896         * lib/mkdtemp.c: Likewise.
58897         * lib/pipe.c: Likewise.
58898         * lib/printf-args.c: Likewise.
58899         * lib/printf-parse.c: Likewise.
58900         * lib/progname.c: Likewise.
58901         * lib/progreloc.c: Likewise.
58902         * lib/readlink.c: Likewise.
58903         * lib/sh-quote.c: Likewise.
58904         * lib/stpcpy.c: Likewise.
58905         * lib/stpncpy.c: Likewise.
58906         * lib/strcasecmp.c: Likewise.
58907         * lib/strcasestr.c: Likewise.
58908         * lib/strcspn.c: Likewise.
58909         * lib/striconv.c: Likewise.
58910         * lib/strncasecmp.c: Likewise.
58911         * lib/strnlen1.c: Likewise.
58912         * lib/strstr.c: Likewise.
58913         * lib/strtok_r.c: Likewise.
58914         * lib/tls.c: Likewise.
58915         * lib/tmpdir.c: Likewise.
58916         * lib/unicodeio.c: Likewise.
58917         * lib/unsetenv.c: Likewise.
58918         * lib/vasnprintf.c: Likewise.
58919         * lib/vasprintf.c: Likewise.
58920         * lib/wait-process.c: Likewise.
58921         * lib/xallocsa.c: Likewise.
58922         * lib/xsetenv.c: Likewise.
58923         * lib/xstriconv.c: Likewise.
58924
58925 2006-09-13  Simon Josefsson  <jas@extundo.com>
58926
58927         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
58928         that internally, suggested by Ralf Wildenhues
58929         <Ralf.Wildenhues@gmx.de>.
58930
58931 2006-09-13  Simon Josefsson  <jas@extundo.com>
58932
58933         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
58934         @LIBOBJS@.
58935         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58936
58937 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58938
58939         * lib/_fpending.c: Include <config.h> unconditionally, since we no
58940         longer worry about uses that don't define HAVE_CONFIG_H.
58941         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
58942         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
58943         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
58944         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
58945         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
58946         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
58947         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
58948         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
58949         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
58950         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
58951         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
58952         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
58953         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
58954         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
58955         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
58956         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
58957         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
58958         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
58959         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
58960         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
58961         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
58962         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
58963         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
58964         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
58965         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
58966         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
58967         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
58968         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
58969         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
58970         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
58971         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
58972         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
58973         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
58974         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
58975         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
58976         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
58977         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
58978         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
58979         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
58980         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
58981         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
58982         Likewise.
58983
58984 2006-09-13  Eric Blake  <ebb9@byu.net>
58985
58986         * lib/getopt.c: Fix typo in last commit.
58987
58988 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58989
58990         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
58991         dgettext.
58992
58993 2006-09-12  Jim Meyering  <jim@meyering.net>
58994
58995         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
58996         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
58997         Reported by Nelson H. F. Beebe.
58998
58999 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59000
59001         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
59002         program_invocation_name and program_invocation_short_name are
59003         initialized.
59004         * lib/argp-namefrob.h: Move declarations of program_invocation_name
59005         and program_invocation_short_name to argp.h, so they are visible
59006         to user programs.
59007         * lib/argp.h: Likewise
59008
59009 2006-09-10  Bruno Haible  <bruno@clisp.org>
59010
59011         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
59012         m4/inttypes_h.m4, m4/uintmax_t.m4.
59013
59014 2006-09-10  Bruno Haible  <bruno@clisp.org>
59015
59016         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
59017         gl_AC_TYPE_UINTMAX_T.
59018
59019 2006-09-10  Bruno Haible  <bruno@clisp.org>
59020
59021         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
59022
59023 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59024
59025         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
59026         convention.  Text proposed by Bruno Haible.
59027         (struct argp_option): Document the use of N_() wrappers.
59028
59029         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
59030         '\v', and translate the two parts separately, instead of feeding
59031         the whole string to gettext.  This allows to exclude
59032         '\v' from the strings visible to the translator by writing doc
59033         strings as N_("..") "\v" N_("..").
59034
59035 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
59036
59037         * config/srclist.txt: Undo latest change; the bug was fixed.
59038
59039 2006-09-09  Bruno Haible  <bruno@clisp.org>
59040
59041         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
59042         assignments if building a library without libtool.
59043         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
59044         in func_emit_lib_Makefile_am.
59045         (func_import): When building a static library libfoo.a, arrange to
59046         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
59047         (func_create_testdir): Likewise.
59048         * modules/gc (configure.ac, Makefile.am): If building statically,
59049         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
59050         * modules/iconvme (configure.ac, Makefile.am): Likewise.
59051         * modules/striconv (configure.ac, Makefile.am): Likewise.
59052         Based on a suggestion by Ralf Wildenhues.
59053
59054 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59055
59056         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
59057         Check for unistd.h too, since Autoconf doesn't assume POSIX.
59058         Also:
59059
59060         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59061         Add year_2050_test to catch glibc bug 2821
59062         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59063
59064         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59065         Prefer #ifdef to #if.
59066
59067         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
59068         Return from 'main' instead of calling 'exit'.
59069
59070 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59071
59072         * lib/mktime.c (guess_time_tm): Fix bug where mktime
59073         returned the maximum time_t value rather than (time_t) -1.
59074         Problem originally reported by William Bardwell
59075         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59076
59077         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59078         Moved to here ...
59079         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59080         ... from here.
59081
59082 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59083
59084         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
59085         2821 is fixed.
59086
59087 2006-09-08  Jim Meyering  <jim@meyering.net>
59088
59089         Don't make generated files read-only.  That would bother too many
59090         people.  However, do retain the ability to work when targets are
59091         read-only: remove the destination and temporary files before writing
59092         them (when generated via sed or echo), or by using the -f option for
59093         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
59094         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59095         * modules/byteswap, modules/configmake, modules/fcntl:
59096         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59097         * modules/localcharset, modules/netinet_in, modules/poll:
59098         * modules/stdbool, modules/stdint, modules/sys_select:
59099         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59100
59101 2006-09-08  Jim Meyering  <jim@meyering.net>
59102
59103         Avoid new build failure on FreeBSD 6.0.
59104         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
59105         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
59106         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
59107
59108 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59109
59110         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
59111
59112 2006-09-07  Jim Meyering  <jim@meyering.net>
59113
59114         Fix global typo in last change: use chmod u-w, not chmod u-x.
59115         Spotted by Paul Eggert and Bruce Korb.
59116         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59117         * modules/byteswap, modules/configmake, modules/fcntl:
59118         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59119         * modules/localcharset, modules/netinet_in, modules/poll:
59120         * modules/stdbool, modules/stdint, modules/sys_select:
59121         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59122
59123 2006-09-06  Jim Meyering  <jim@meyering.net>
59124
59125         Make generated files be read-only.
59126         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
59127         Ensure that each generated file is now read-only.
59128         * modules/argz: Likewise.
59129         * modules/arpa_inet: Likewise.
59130         * modules/byteswap: Likewise.
59131         * modules/configmake: Likewise.
59132         * modules/fcntl: Likewise.
59133         * modules/fnmatch: Likewise.
59134         * modules/getopt: Likewise.
59135         * modules/glob: Likewise.
59136         * modules/inttypes: Likewise.
59137         * modules/netinet_in: Likewise.
59138         * modules/poll: Likewise.
59139         * modules/stdbool: Likewise.
59140         * modules/stdint: Likewise.
59141         * modules/sys_select: Likewise.
59142         * modules/sys_socket: Likewise.
59143         * modules/sys_stat: Likewise.
59144         * modules/sysexits: Likewise.
59145         * modules/localcharset: Same as above, but continue using temporary
59146         file named "t-$@" (why different?) rather than the "$@-t" used
59147         everywhere else.
59148
59149         * modules/sysexits (Makefile.am): Replace literal occurrences
59150         of "sysexit.h" more readable, and more consistent, "$@".
59151
59152 2006-09-06  Bruno Haible  <bruno@clisp.org>
59153
59154         * modules/striconv: New file.
59155         * modules/xstriconv: New file.
59156         * MODULES.html.sh (Internationalization functions): Add striconv,
59157         xstriconv.
59158
59159 2006-09-06  Bruno Haible  <bruno@clisp.org>
59160
59161         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
59162         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
59163         not using libtool correctly.
59164
59165 2006-09-06  Bruno Haible  <bruno@clisp.org>
59166
59167         * lib/striconv.h: New file.
59168         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
59169         iconvstring.c.
59170         * lib/xstriconv.h: New file.
59171         * lib/xstriconv.c: New file.
59172
59173 2006-09-06  Bruno Haible  <bruno@clisp.org>
59174
59175         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
59176         lib_..._LDFLAGS.
59177
59178 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59179
59180         * lib/argz_.h: Sync from Libtool.
59181
59182         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
59183                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59184
59185         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
59186
59187 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59188
59189         * modules/trim: New file.
59190
59191 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59192
59193         * lib/trim.h: New file.
59194         * lib/trim.c: New file.
59195
59196 2006-09-05  Bruno Haible  <bruno@clisp.org>
59197
59198         * MODULES.html.sh (String handling): Add trim.
59199
59200 2006-09-04  Karl Berry  <karl@gnu.org>
59201
59202         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
59203         until next release.
59204
59205 2006-09-03  Bruno Haible  <bruno@clisp.org>
59206
59207         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
59208         correctly.
59209
59210 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59211
59212         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
59213         not gl_GETLOADAVG.  Omit unneeded semicolons.
59214         Problems reported by Ralf Wildenhues in
59215         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59216         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
59217         at the end, which is the usual gnulib style.
59218
59219         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
59220         of doing all the work ourselves.
59221         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
59222         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
59223
59224 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59225
59226         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
59227         Problem reported by Ralf Wildenhues in
59228         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59229
59230         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
59231         HAVE_STRUCT_STATFS_F_FSTYPENAME.
59232
59233 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59234
59235         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
59236         yesterday's patch by changing test -n to test -z.
59237
59238 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59239
59240         * modules/getloadavg (Files): Add m4/getloadavg.m4.
59241         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
59242         the former is now obsolescent.
59243
59244         * modules/chdir-long (Depends-on): Add fcntl.
59245
59246 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59247
59248         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
59249         obsolescent, and programs should use gnulib instead.
59250         * m4/getloadavg.m4: New file, with contents taken from Autoconf
59251         but with prefixes changed.
59252
59253 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59254
59255         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
59256         or stdbool.h, because they might not exist while configuring.
59257
59258         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
59259         Don't include unistd.h or limits.h; not needed, since chdir-long.h
59260         does that for us.
59261         (O_DIRECTORY): Remove.
59262
59263 2006-08-31  Eric Blake  <ebb9@byu.net>
59264
59265         * gnulib-tool: Don't let emacs change spaces to TAB.
59266
59267 2006-08-31  Bruno Haible  <bruno@clisp.org>
59268
59269         * gnulib-tool: When calling func_import more than once, do it in a
59270         subshell.
59271         Reported by Eric Blake <ebb9@byu.net>.
59272
59273 2006-08-31  Bruno Haible  <bruno@clisp.org>
59274
59275         * gnulib-tool (nl): Remove variable.
59276         (sed_transform_lib_file): Use more robust test for config-h module.
59277         (func_import): Fix typo in 2006-08-25 patch.
59278
59279 2006-08-31  Bruno Haible  <bruno@clisp.org>
59280
59281         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
59282         specified, augment Makefile.am variables instead of assigning them.
59283
59284 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59285
59286         Work around a bug in both the Linux and SunOS 64-bit kernels:
59287         nanosleep mishandles sleeps for longer than 2**31 seconds.
59288         Problem reported by Frank v Waveren in
59289         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59290         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
59291         Check for nanosleep bug.
59292         (LIB_NANOSLEEP): Append clock_gettime library if needed.
59293
59294 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59295
59296         Work around a bug in both the Linux and SunOS 64-bit kernels:
59297         nanosleep mishandles sleeps for longer than 2**31 seconds.
59298         Problem reported by Frank v Waveren in
59299         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59300         * lib/nanosleep.c (BILLION): New constant.
59301         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
59302         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
59303         implementation.
59304
59305 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59306
59307         * modules/nanosleep (Depends-on): Add gettime.
59308
59309 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59310         and Simon Josefsson  <jas@extundo.com>
59311         and Oskar Liljeblad  <oskar@osk.mine.nu>
59312
59313         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
59314         * gnulib-tool (func_import): New license type 'unmodifiable license
59315         text'.
59316         * modules/fdl: Use it.  Longer description.
59317         * module/gpl, module/lgpl: New files.
59318
59319 2006-08-30  Jim Meyering  <jim@meyering.net>
59320
59321         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
59322         shadowing the parameter.
59323
59324 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59325
59326         Sync from Libtool:
59327
59328         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59329
59330         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
59331         sharing with gnulib.  Report by Eric Blake.
59332
59333 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59334
59335         * modules/isapipe: New file.
59336         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
59337
59338 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59339
59340         * modules/configmake (Makefile.am): Add a comment, and omit
59341         the CONFIGMAKE_ prefix from generated macro names.  Suggested
59342         by Bruno Haible.
59343
59344 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59345
59346         * m4/isapipe.m4: New file.
59347
59348 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59349
59350         * lib/isapipe.c, lib/isapipe.h: New files.
59351
59352 2006-08-29  Jim Meyering  <jim@meyering.net>
59353
59354         * modules/configmake (Makefile.am): Make configmake.h depend on
59355         Makefile.  Otherwise, a stale configmake.h could hang around.
59356
59357 2006-08-29  Eric Blake  <ebb9@byu.net>
59358
59359         * lib/error.c (error_at_line, print_errno_message): Match libc, after
59360         resolution of upstream bug 3044.
59361
59362 2006-08-29  Bruno Haible  <bruno@clisp.org>
59363
59364         * modules/localcharset (Depends-on): Add configmake.
59365         (Makefile.am): Remove setting of LIBDIR through DEFS.
59366
59367 2006-08-29  Bruno Haible  <bruno@clisp.org>
59368
59369         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
59370         defined.
59371
59372 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59373
59374         * modules/fcntl: New file.
59375         * modules/chdir-safer (Depends-on): Add fcntl.
59376         * modules/fts: Likewise.
59377         * modules/mkdir-p: Likewise.
59378
59379         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
59380         This undoes the most recent change, since we're now addressing the
59381         problem in a different way.
59382
59383         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
59384         into output, since the output might be called Makefile.am even
59385         if $makefile_name is something different.
59386         (func_import): Use $makefile_am rather than
59387         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
59388         empty.
59389
59390         * modules/inttypes (Files): Add m4/inttypes-h.m4.
59391
59392 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59393
59394         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
59395         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
59396         recent change to stdint.m4, since we're now addressing the problem in a
59397         different way.
59398
59399 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59400
59401         * m4/fcntl_h.m4: New file.
59402
59403 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59404
59405         * lib/fcntl_.h: New file.
59406         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
59407         the fcntl module.
59408         * lib/dirchownmod.c: Likewise.
59409         * lib/fts.c: Likewise.
59410
59411         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
59412         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
59413         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
59414         just before including <inttypes.h>, to avoid circular inclusion.
59415
59416 2006-08-28  Jim Meyering  <jim@meyering.net>
59417
59418         * doc/visibility.texi: Actually read and correct the grammar of the
59419         sentence affected by yesterday's change.
59420
59421 2006-08-28  Eric Blake  <ebb9@byu.net>
59422
59423         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
59424         needs wrapper.
59425
59426 2006-08-28  Eric Blake  <ebb9@byu.net>
59427
59428         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
59429
59430 2006-08-28  Eric Blake  <ebb9@byu.net>
59431
59432         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
59433
59434 2006-08-28  Bruno Haible  <bruno@clisp.org>
59435
59436         * modules/c-strstr: New file, from GNU gettext.
59437         * MODULES.html.sh (String handling): Add c-strstr.
59438
59439 2006-08-28  Bruno Haible  <bruno@clisp.org>
59440
59441         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
59442         macros.
59443         Reported by Eric Blake.
59444
59445 2006-08-28  Bruno Haible  <bruno@clisp.org>
59446
59447         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
59448         (VASNPRINTF): Return a string of length > INT_MAX without failing.
59449         * lib/vasprintf.c: Include errno.h, limits.h.
59450         (EOVERFLOW): New fallback definition.
59451         (vasprintf): Test here whether the string length is > INT_MAX.
59452         * lib/vsnprintf.c: Include errno.h, limits.h.
59453         (EOVERFLOW): New fallback definition.
59454         (vsnprintf): Fix bug when generated string was too long for the buffer.
59455         Test here whether the string length is > INT_MAX.
59456
59457 2006-08-28  Bruno Haible  <bruno@clisp.org>
59458
59459         * lib/inttypes_.h (SCNX*): Remove definitions.
59460         Reported by Eric Blake.
59461
59462 2006-08-28  Bruno Haible  <bruno@clisp.org>
59463
59464         * lib/c-strstr.h: New file, from GNU gettext.
59465         * lib/c-strstr.c: New file, from GNU gettext.
59466
59467 2006-08-28  Bruno Haible  <bruno@clisp.org>
59468
59469         * gnulib-tool: Reorder some statements.
59470
59471 2006-08-28  Bruno Haible  <bruno@clisp.org>
59472
59473         * gnulib-tool: New option --makefile-name.
59474         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
59475         $makefile_name.
59476         (func_import): Write $makefile_name to the cache file, and read it from
59477         there unless explicitly specified. Use $makefile_name as file name
59478         instead of Makefile.am. Adjust the recommendations accordingly.
59479
59480 2006-08-28  Bruno Haible  <bruno@clisp.org>
59481
59482         * gnulib-tool (func_verify_module): Check against misapplying patch.
59483
59484 2006-08-28  Bruno Haible  <bruno@clisp.org>
59485
59486         * gnulib-tool (func_relativize, func_relconcat): New functions.
59487         Give an error if --local-dir is given with --update.
59488         Remove trailing slashes from $local_gnulib_dir.
59489         (func_import): Store the relativized $local_gnulib_dir in
59490         gnulib-cache.m4, and read it from there if not specified explicitly.
59491
59492 2006-08-28  Bruno Haible  <bruno@clisp.org>
59493
59494         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
59495         is the current directory. Respect also $local_gnulib_dir.
59496
59497 2006-08-28  Bruno Haible  <bruno@clisp.org>
59498             Simon Josefsson  <jas@extundo.com>
59499
59500         BeOS portability.
59501         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
59502
59503 2006-08-27  Jim Meyering  <jim@meyering.net>
59504
59505         * doc/visibility.texi: Remove duplicate word: "pointer".
59506
59507 2006-08-26  Bruno Haible  <bruno@clisp.org>
59508
59509         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
59510         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
59511         (Makefile.am): Create inttypes.h from inttypes_.h.
59512         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
59513
59514         * modules/imaxabs: New file.
59515
59516         * modules/imaxdiv: New file.
59517
59518 2006-08-26  Bruno Haible  <bruno@clisp.org>
59519
59520         * m4/inttypes.m4: New file.
59521         * m4/_inttypes_h.m4: Remove file.
59522         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
59523         PRI_MACROS_BROKEN.
59524         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
59525
59526         * m4/imaxabs.m4: New file.
59527
59528         * m4/imaxdiv.m4: New file.
59529
59530 2006-08-26  Bruno Haible  <bruno@clisp.org>
59531
59532         * lib/inttypes_.h: New file.
59533         * lib/inttypes.h: Remove file.
59534         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
59535
59536         * lib/imaxabs.c: New file.
59537
59538         * lib/imaxdiv.c: New file.
59539
59540 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59541
59542         New config-h module, so that "make" output needn't be cluttered
59543         by -DHAVE_CONFIG_H.
59544         * MODULES.html.sh (Support for building libraries and executables):
59545         Add config-h.
59546         * modules/config-h: New file.
59547         * gnulib-tool (nl, sed_transform_lib_file): New vars.
59548         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
59549         the config-h module is used.
59550
59551         New configmake module, so that "make" output needn't be cluttered
59552         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
59553         * MODULES.html.sh (Support for building libraries and executables):
59554         Add configmake.
59555         * modules/configmake: New file.
59556
59557 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59558
59559         * m4/config-h.m4: New file.
59560
59561 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59562
59563         * config/srclist.txt: Add elisp-comp.
59564
59565 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59566
59567         * MODULES.html.sh (Support for building libraries and executables):
59568         Add elisp-comp.
59569         * build-aux/elisp-comp: New file.
59570         * modules/elisp-comp: New file.
59571
59572 2006-08-24  Bruno Haible  <bruno@clisp.org>
59573
59574         * gnulib-tool (func_create_testdir): Use non-default values of
59575         sourcebase and m4base.
59576
59577 2006-08-24  Bruno Haible  <bruno@clisp.org>
59578
59579         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
59580         HTML structure.
59581
59582 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
59583
59584         * modules/openat (Depends-on): Add lchown.
59585
59586 2006-08-23  Bruno Haible  <bruno@clisp.org>
59587
59588         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
59589         of gl_LOCK_EARLY instead of gl_LOCK.
59590
59591 2006-08-23  Bruno Haible  <bruno@clisp.org>
59592
59593         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
59594         on OSF/1 to no.
59595         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
59596
59597 2006-08-23  Bruno Haible  <bruno@clisp.org>
59598
59599         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
59600         as unusable.
59601
59602         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
59603         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
59604         (gl_LOCK): New macro.
59605
59606 2006-08-22  Simon Josefsson  <jas@extundo.com>
59607
59608         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
59609         to md5 module.
59610
59611 2006-08-22  Simon Josefsson  <jas@extundo.com>
59612
59613         * MODULES.html.sh: Add "Support for maintaining and release
59614         projects".
59615
59616         * build-aux/gnupload: New file, from coreutils.
59617
59618 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59619
59620         Avoid the need for AC_LIBSOURCES in m4 macros.
59621         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
59622         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
59623         * modules/check-version (EXTRA_DIST): Add check-version.h.
59624         * modules/crc (EXTRA_DIST): Add crc.h.
59625         * modules/des (EXTRA_DIST): Add des.h.
59626         * modules/gc (EXTRA_DIST): Add gc.h.
59627         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
59628         * modules/getline (EXTRA_DIST): Add getline.h.
59629         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
59630         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
59631         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
59632         * modules/md2 (EXTRA_DIST): Add md2.h.
59633         * modules/md4 (EXTRA_DIST): Add md4.h.
59634         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
59635         * modules/read-file (EXTRA_DIST): Add read-file.h.
59636         * modules/readline (EXTRA_DIST): Add readline.h.
59637         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
59638         rijndael-api-fst.h.
59639
59640 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59641
59642         * m4/rijndael.m4 (gl_ARCFOUR):
59643         * m4/arctwo.m4 (gl_ARCTWO):
59644         * m4/check-version.m4 (gl_CHECK_VERSION):
59645         * m4/crc.m4 (gl_CRC):
59646         * m4/des.m4 (gl_DES):
59647         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
59648         * m4/gc.m4 (gl_GC):
59649         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
59650         * m4/getline.m4 (gl_FUNC_GETLINE):
59651         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
59652         * m4/hmac-md5.m4 (gl_HMAC_MD5):
59653         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
59654         * m4/md2.m4 (gl_MD2):
59655         * m4/md4.m4 (gl_MD4):
59656         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
59657         * m4/read-file.m4 (gl_FUNC_READ_FILE):
59658         * m4/readline.m4 (gl_FUNC_READLINE):
59659         * m4/rijndael.m4 (gl_RIJNDAEL):
59660         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
59661         to get the necessary .h files and whatnot.
59662
59663 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59664
59665         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
59666         gnulib rather than the other way around.
59667         * config/srclistvars.sh (COREUTILS): Remove.
59668
59669 2006-08-22  Jim Meyering  <jim@meyering.net>
59670
59671         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
59672
59673         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
59674
59675 2006-08-22  Eric Blake  <ebb9@byu.net>
59676
59677         * modules/regexprops-generic: New file.
59678         * MODULES.html.sh (Support for building documentation): List it.
59679
59680 2006-08-22  Eric Blake  <ebb9@byu.net>
59681
59682         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
59683         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
59684         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
59685         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
59686
59687 2006-08-22  Bruno Haible  <bruno@clisp.org>
59688
59689         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
59690         and lib_LTLIBRARIES like the other lib_* variables.
59691
59692 2006-08-22  Bruno Haible  <bruno@clisp.org>
59693
59694         * build-aux/x-to-1.in: New file, from GNU gettext.
59695
59696 2006-08-22  Bruno Haible  <bruno@clisp.org>
59697
59698         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
59699         <utmpx.h> exists.
59700
59701 2006-08-22  Bruno Haible  <bruno@clisp.org>
59702
59703         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
59704         <utmpx.h> exists.
59705
59706 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59707
59708         BeOS portability.
59709         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
59710         exist.
59711         Problem reported by Bruno Haible.
59712
59713 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59714
59715         Avoid the need for AC_LIBSOURCES in m4 macros.
59716         * modules/acl (EXTRA_DIST): Add acl.h.
59717         * modules/argmatch (Files): Add m4/argmatch.m4.
59718         (configure.ac): Add gl_ARGMATCH.
59719         (EXTRA_DIST): Renamed from lib_SOURCES, for
59720         consistency with the other modules.  Remove argmatch.c.
59721         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
59722         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
59723         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
59724         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
59725         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
59726         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
59727         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
59728         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
59729         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
59730         * modules/closeout (EXTRA_DIST): Add closeout.h.
59731         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
59732         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
59733         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
59734         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
59735         dirname.h; remove basename.c and stripslash.c.
59736         * modules/exclude (EXTRA_DIST): Add exclude.h.
59737         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
59738         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
59739         * modules/file-type (EXTRA_DIST): Add file-type.h.
59740         * modules/filemode (EXTRA_DIST): Add filemode.h.
59741         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
59742         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59743         * modules/fpending (EXTRA_DIST): Add __fpending.h.
59744         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
59745         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
59746         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
59747         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
59748         * modules/getdate (EXTRA_DIST): Add getdate.c.
59749         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
59750         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
59751         * modules/getpass (EXTRA_DIST): Add getpass.h.
59752         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
59753         * modules/group-member (EXTRA_DIST): Add group-member.h.
59754         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
59755         * modules/hash (EXTRA_DIST): Add hash.h.
59756         * modules/human (EXTRA_DIST): Add human.h.
59757         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
59758         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
59759         * modules/lchown (EXTRA_DIST): Add lchown.h.
59760         * modules/long-options (EXTRA_DIST): Add long-options.h.
59761         * modules/lstat (EXTRA_DIST): Add lstat.h.
59762         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
59763         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
59764         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
59765         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
59766         * modules/memxor (EXTRA_DIST): Add memxor.h.
59767         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
59768         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
59769         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
59770         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
59771         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
59772         * modules/physmem (EXTRA_DIST): Add physmem.h.
59773         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
59774         * modules/posixver (EXTRA_DIST): Add posixver.h.
59775         * modules/quote (EXTRA_DIST): Add quote.h.
59776         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
59777         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
59778         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
59779         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
59780         regex_internal.h regexec.c.
59781         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
59782         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
59783         * modules/same (EXTRA_DIST): Add same.h.
59784         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
59785         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
59786         * modules/savedir (EXTRA_DIST): Add savedir.h.
59787         * modules/sha1 (EXTRA_DIST): Add sha1.h.
59788         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
59789         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
59790         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
59791         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
59792         * modules/strdup (EXTRA_DIST): Add strdup.h.
59793         * modules/strftime (EXTRA_DIST): Add strftime.h.
59794         * modules/strndup (EXTRA_DIST): Add strndup.h.
59795         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
59796         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
59797         * modules/time_r (EXTRA_DIST): Add time_r.h.
59798         * modules/timespec (EXTRA_DIST): Add timespec.h.
59799         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59800         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
59801         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
59802         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
59803         * modules/userspec (EXTRA_DIST): Add userspec.h.
59804         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
59805         * modules/utimens (EXTRA_DIST): Add utimens.h.
59806         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
59807         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
59808         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
59809         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
59810         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
59811         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
59812         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
59813         * modules/yesno (EXTRA_DIST): Add yesno.h.
59814
59815 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59816
59817         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
59818
59819         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
59820         * m4/dev-ino.m4, same-inode.m4: Remove.
59821
59822         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
59823         * m4/acl.m4 (AC_FUNC_ACL):
59824         * m4/backupfile.m4 (gl_BACKUPFILE):
59825         * m4/c-strtod.m4 (gl_C99_STRTOLD):
59826         * m4/canon-host.m4 (gl_CANON_HOST):
59827         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
59828         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
59829         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
59830         * m4/cloexec.m4 (gl_CLOEXEC):
59831         * m4/close-stream.m4 (gl_CLOSE_STREAM):
59832         * m4/closeout.m4 (gl_CLOSEOUT):
59833         * m4/dirfd.m4 (gl_FUNC_DIRFD):
59834         * m4/dirname.m4 (gl_DIRNAME):
59835         * m4/exclude.m4 (gl_EXCLUDE):
59836         * m4/exitfail.m4 (gl_EXITFAIL):
59837         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
59838         * m4/file-type.m4 (gl_FILE_TYPE):
59839         * m4/filemode.m4 (gl_FILEMODE):
59840         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
59841         * m4/fpending.m4 (gl_FUNC_FPENDING):
59842         * m4/fprintftime.m4 (gl_FPRINTFTIME):
59843         * m4/fts.m4 (gl_FUNC_FTS):
59844         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
59845         * m4/getdate.m4 (gl_GETDATE):
59846         * m4/gethrxtime.m4 (gl_GETHRXTIME):
59847         * m4/getpagesize.m4 (gl_GETPAGESIZE):
59848         * m4/getpass.m4 (gl_FUNC_GETPASS):
59849         * m4/gettime.m4 (gl_GETTIME):
59850         * m4/getugroups.m4 (gl_GETUGROUPS):
59851         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
59852         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
59853         * m4/hard-locale.m4 (gl_HARD_LOCALE):
59854         * m4/hash.m4 (gl_HASH):
59855         * m4/idcache.m4 (gl_IDCACHE):
59856         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
59857         * m4/lchown.m4 (gl_FUNC_LCHOWN):
59858         * m4/long-options.m4 (gl_LONG_OPTIONS):
59859         * m4/lstat.m4 (gl_FUNC_LSTAT):
59860         * m4/md5.m4 (gl_MD5):
59861         * m4/memcasecmp.m4 (gl_MEMCASECMP):
59862         * m4/memcoll.m4 (gl_MEMCOLL):
59863         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
59864         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
59865         * m4/memxor.m4 (gl_MEMXOR):
59866         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
59867         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
59868         * m4/modechange.m4 (gl_MODECHANGE):
59869         * m4/mountlist.m4 (gl_MOUNTLIST):
59870         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
59871         * m4/openat.m4 (gl_FUNC_OPENAT):
59872         * m4/pathmax.m4 (gl_PATHMAX):
59873         * m4/physmem.m4 (gl_PHYSMEM):
59874         * m4/posixtm.m4 (gl_POSIXTM):
59875         * m4/posixver.m4 (gl_POSIXVER):
59876         * m4/quote.m4 (gl_QUOTE):
59877         * m4/quotearg.m4 (gl_QUOTEARG):
59878         * m4/readtokens.m4 (gl_READTOKENS):
59879         * m4/readutmp.m4 (gl_READUTMP):
59880         * m4/regex.m4 (gl_REGEX):
59881         * m4/safe-read.m4 (gl_SAFE_READ):
59882         * m4/safe-write.m4 (gl_SAFE_WRITE):
59883         * m4/same.m4 (gl_SAME):
59884         * m4/save-cwd.m4 (gl_SAVE_CWD):
59885         * m4/savedir.m4 (gl_SAVEDIR):
59886         * m4/settime.m4 (gl_SETTIME):
59887         * m4/sha1.m4 (gl_SHA1):
59888         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
59889         * m4/stat-macros.m4 (gl_STAT_MACROS):
59890         * m4/stat-time.m4 (gl_STAT_TIME):
59891         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
59892         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
59893         * m4/strdup.m4 (gl_FUNC_STRDUP):
59894         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
59895         * m4/strndup.m4 (gl_FUNC_STRNDUP):
59896         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
59897         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
59898         * m4/time_r.m4 (gl_TIME_R):
59899         * m4/timespec.m4 (gl_TIMESPEC):
59900         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
59901         * m4/unlinkdir.m4 (gl_UNLINKDIR):
59902         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
59903         * m4/userspec.m4 (gl_USERSPEC):
59904         * m4/utimecmp.m4 (gl_UTIMECMP):
59905         * m4/utimens.m4 (gl_UTIMENS):
59906         * m4/xalloc.m4 (gl_XALLOC):
59907         * m4/xgetcwd.m4 (gl_XGETCWD):
59908         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
59909         * m4/xreadlink.m4 (gl_XREADLINK):
59910         * m4/xstrtod.m4 (gl_XSTRTOD):
59911         * m4/yesno.m4 (gl_YESNO):
59912         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
59913         to get the necessary .h files and whatnot.
59914
59915 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
59916             Bruno Haible  <bruno@clisp.org>
59917
59918         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
59919         /bin/sh understanding of '!' conditional negation.
59920
59921 2006-08-21  Jim Meyering  <jim@meyering.net>
59922
59923         * modules/openat (Depends-on): Really alphabetize.
59924
59925         * modules/acl (Depends-on): Add error and quote.
59926
59927         * check-module (find_included_lib_files): Add at-func.c to the
59928         ok-to-include-more-than-once white list.
59929
59930         * modules/openat (Depends-on): Add lstat.  Alphabetize.
59931
59932 2006-08-21  Bruno Haible  <bruno@clisp.org>
59933
59934         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59935         Emit a pkgdata_DATA variable only if some snippets add contents to it.
59936         Reported by Martin Lambers <marlam@marlam.de>.
59937
59938 2006-08-21  Bruno Haible  <bruno@clisp.org>
59939
59940         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
59941         specify an installation location, don't emit a noinst_LIBRARIES or
59942         noinst_LTLIBRARIES assignment.
59943
59944 2006-08-21  Bruno Haible  <bruno@clisp.org>
59945
59946         BeOS portability.
59947         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
59948         BeOS has mbrtowc() but no <wctype.h>.
59949
59950 2006-08-21  Bruno Haible  <bruno@clisp.org>
59951
59952         BeOS portability.
59953         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
59954         exist.
59955
59956 2006-08-21  Bruno Haible  <bruno@clisp.org>
59957
59958         BeOS portability.
59959         * lib/mbchar.h: Include <wctype.h> only if it exists.
59960
59961 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59962
59963         Remove files that are no longer needed by their respective modules.
59964         * m4/obstack.m4: Remove.
59965         * m4/strerror_r.m4: Remove.
59966         * m4/uint32_t.m4: Remove.
59967         * m4/uintptr_t.m4: Remove.
59968         * m4/ullong_max.m4: Remove.
59969         * m4/xstrtoimax.m4: Remove.
59970         * m4/xstrtoumax.m4: Remove.
59971
59972         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
59973         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
59974         dependencies now capture this.
59975
59976         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
59977         Do not use AC_LIBSOURCES, since gnulib modules now do this.
59978         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
59979         * m4/human.m4 (gl_HUMAN): Likewise.
59980         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
59981         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
59982
59983         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
59984
59985         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
59986         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
59987         stdint.
59988         * m4/human.m4 (gl_HUMAN): Likewise.
59989         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
59990         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
59991         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
59992         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
59993         * m4/xstrtol (gl_XSTRTOL): Likewise.
59994
59995         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
59996         AC_TYPE_LONG_LONG_INT.
59997         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
59998         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
59999         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
60000         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
60001
60002         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
60003         on stdbool.
60004
60005         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
60006         (gl_PREREQ_XSTRTOUL): Remove.
60007
60008         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
60009
60010         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
60011         mode.
60012
60013 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60014
60015         Add and change modules to make it easier for coreutils to use
60016         gnulib-tool.
60017         * modules/backupfile (Files): Remove m4/d-ino.m4.
60018         (Depends-on): Add d-ino.
60019         * modules/cycle-check (Depends-on): Add stdint.
60020         (lib_SOURCES): Add cycle-check.h.
60021         * modules/d-ino: New module.
60022         * modules/d-type: New module.
60023         * modules/error (Files): Remove m4/strerror_r.m4.
60024         * modules/filemode (Files): Add m4/st_dm_mode.m4.
60025         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
60026         m4/inttypes_h.m4, m4/uintmax_t.m4.
60027         (Depends-on): Add stdint.
60028         (lib_SOURCES): Add fsusage.h.
60029         * modules/getcwd (Files): Remove d-ino.m4.
60030         (Depends-on): Add d-ino.
60031         * modules/getndelim2 (Depends-on): Add stdint.
60032         * modules/glob (Files): Remove m4/d-type.m4.
60033         (Depends-on): Add d-type.
60034         * modules/host-os: New module.
60035         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
60036         m4/inttypes_h.m4, m4/uintmax_t.m4.
60037         * Depends-on: Add stdint.
60038         (lib_SOURCES): Add human.h.
60039         * modules/inttostr (Files): Remove m4/intmax_t.m4,
60040         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
60041         m4/uintmax_t.m4, m4/ulonglong.m4.
60042         (Depends-on): Add stdint.
60043         (EXTRA_DIST): Add inttostr.h.
60044         * modules/lchmod: New module.
60045         * modules/link-follow: New module.
60046         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
60047         (Depends-on): Add lchmod.
60048         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
60049         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
60050         (Depends-on): Add stdint.
60051         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
60052         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
60053         (Depends-on): Add stdint.
60054         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
60055         * modules/perl: New module.
60056         * modules/regex (Depends-on): Add stdint.
60057         * modules/rmdir-errno: New module.
60058         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60059         m4/intmax_t.m4.
60060         (Depends-on): Add stdint.
60061         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60062         m4/uintmax_t.m4.
60063         (Depends-on): Add stdint.
60064         * modules/unlink-busy: New module.
60065         * modules/utimecmp (Depends-on): Add stdint.
60066         * modules/uptime: New module.
60067         * modules/winsz-ioctl: New module.
60068         * modules/winsz-termios: New module.
60069         * modules/xnanosleep (Depends-on): Add nanosleep.
60070         * modules/ullong_max: Remove.
60071         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
60072         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
60073         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
60074         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
60075         (Depends-on): Add inttypes.
60076         (lib_SOURCES): Add xstrtol.h.
60077         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
60078         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
60079         * MODULES.html.sh: Move 'assert' into the assert section.
60080         Move 'dummy' into the linking section.
60081         Remove ullong_max.
60082         Add section for compatibility checks for POSIX:2001 functions,
60083         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
60084         winsz-ioctl, and winsz-termios into it.
60085         Add lchmod.
60086         Add top-level Misc section and put host-os, perl, and uptime
60087         into it.
60088
60089 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60090
60091         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
60092         now assume the stdint module.  Do not include inttypes.h.
60093         * lib/fsusage.h: Likewise.
60094         * lib/getndelim2.c: Likewise.
60095         * lib/human.h: Likewise.
60096         * lib/inttostr.h: Likewise.
60097         * lib/obstack.c: Likewise.
60098         * lib/regex_internal.h: Likewise.
60099         * lib/tempname.c: Likewise.
60100         * lib/utimecmp.c: Likewise.
60101         * lib/xstrtol.h: Likewise.
60102
60103         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
60104
60105         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
60106         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
60107         * lib/xtime.h: Likewise.
60108
60109 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60110
60111         * modules/openat (Files): Add lib/fchmodat.c.
60112         Fixes problem reported by Jay Youngman.
60113
60114 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60115
60116         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
60117         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
60118
60119 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
60120             Bruno Haible  <bruno@clisp.org>
60121
60122         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
60123         and is a script that invokes bison. Tighten the code. Add comments.
60124
60125 2006-08-18  Jim Meyering  <jim@meyering.net>
60126
60127         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
60128         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
60129         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
60130         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
60131
60132 2006-08-18  Bruno Haible  <bruno@clisp.org>
60133
60134         * modules/bison-i18n: New file.
60135         * MODULES.html.sh (Internationalization functions): Add it.
60136
60137 2006-08-18  Bruno Haible  <bruno@clisp.org>
60138
60139         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
60140         sys/statvfs.h. When getmntinfo was found, check its declaration and
60141         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
60142
60143 2006-08-18  Bruno Haible  <bruno@clisp.org>
60144
60145         * m4/bison-i18n.m4: New file, from bison.
60146
60147 2006-08-18  Bruno Haible  <bruno@clisp.org>
60148
60149         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
60150         (ME_DUMMY): Treat "kernfs" as a dummy.
60151         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
60152
60153 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60154
60155         Update from coreutils.
60156
60157         2006-08-15  Jim Meyering  <jim@meyering.net>
60158
60159         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
60160
60161         2006-01-17  Jim Meyering  <jim@meyering.net>
60162
60163         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
60164
60165         2006-01-11  Jim Meyering  <jim@meyering.net>
60166
60167         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
60168         Check for the lchmod function.
60169
60170 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60171
60172         Update from coreutils.
60173
60174         * lib/__fpending.h: Add copyright notice.
60175         * lib/fprintftime.h: Likewise.
60176         * lib/savedir.c: Use (C) in copyright notice.
60177         * lib/savedir.h: Likewise.
60178
60179         2006-08-15  Jim Meyering  <jim@meyering.net>
60180
60181         * lib/at-func.c: New file, with the logic of all emulated at-functions.
60182         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
60183         in support of the EXPECTED_ERRNO macro.
60184         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
60185         definitions.  Instead, define the appropriate symbols and include
60186         "at-func.c".
60187         * lib/mkdirat.c (mkdirat): Likewise.
60188         * lib/fchmodat.c (fchmodat): Likewise.
60189         (ENOSYS): Remove definition.
60190         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
60191         it.  Don't include "unistd--.h" -- it wasn't ever used.
60192
60193         2006-01-17  Jim Meyering  <jim@meyering.net>
60194
60195         Rewrite fts.c not to change the current working directory,
60196         by using openat, fstatat, fdopendir, etc..
60197
60198         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
60199         (HAVE_OPENAT_SUPPORT): Define.
60200         [_LIBC] (fchdir): Don't undef or define; no longer used.
60201         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
60202         Now, this `function' always succeeds, and consumes its file descriptor
60203         parameter -- so callers must not close such FDs.  Update callers.
60204         (diropen_fd, opendirat, cwd_advance_fd): New functions.
60205         (diropen): Add parameter, SP.  Adjust all callers.
60206         Implement using diropen_fd, rather than open.
60207         (fts_open): Initialize new member, fts_cwd_fd.
60208         Remove fts_rft-setting code.
60209         (fts_close): Close fts_cwd_fd, if necessary.
60210         (__opendir2): Define in terms of opendir or opendirat,
60211         depending on whether the FST_NOCHDIR flag is set.
60212         (fts_build): Since fts_safe_changedir consumes its FD, and since
60213         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
60214         and close the dup'd file descriptor upon failure.
60215         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
60216         (fts_safe_changedir): Tweak semantics to reflect that this function
60217         now calls cwd_advance_fd and hence consumes its FD argument.
60218         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
60219         [struct FTS] (fts_rft): Remove now-unused member.
60220         [struct FTS] (fts_cycle.state): Improve comment.
60221
60222         * lib/openat.c (openat_needs_fchdir): New function.
60223         * lib/openat.h (openat_needs_fchdir): Declare it.
60224
60225 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
60226
60227         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
60228         Problem and fix reported by Pádraig Brady in
60229         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
60230
60231 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60232
60233         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
60234
60235 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60236
60237         * lib/memcoll.c (memcoll): Optimize for the common case where the
60238         arguments are bytewise equal.
60239
60240 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60241
60242         * doc/regexprops-generic.texi: Add a copyright notice.
60243
60244 2006-08-15  Bruno Haible  <bruno@clisp.org>
60245
60246         * modules/tmpdir (License): Change to LGPL.
60247
60248 2006-08-15  Bruno Haible  <bruno@clisp.org>
60249
60250         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
60251         module.
60252
60253 2006-08-14  Simon Josefsson  <jas@extundo.com>
60254
60255         * config/srclist.txt: Add gnupload.
60256
60257 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60258
60259         Change copyright notice from LGPL 2 to GPL 2, since that's the
60260         standard form used in the gnulib repository.
60261         * tests/test-lock.c: Likewise.
60262         * tests/test-stdint.c: Likewise.
60263         * tests/test-tls.c: Likewise.
60264
60265         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
60266         prelude-manager.  User shorter URLs for GNU projects, without '?'.
60267         Add copyright notice.
60268
60269         * check-module: Add copyright notice.  Output a copyright
60270         notice if "--version" is specified.
60271         * modules/COPYING: New file.
60272         * tests/test-getaddrinfo.c: Add copyright notice.
60273         * tests/test-verify.c: Likewise.
60274
60275 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60276
60277         Change copyright notice from LGPL 2 to GPL 2, since that's the
60278         standard form used in the gnulib repository.
60279         * lib/lock.c: LGPL -> GPL.
60280         * lib/lock.h: Likewise.
60281         * lib/strnlen1.c: Likewise.
60282         * lib/strnlen1.h: Likewise.
60283         * lib/tls.c: Likewise.
60284         * lib/tls.h: Likewise.
60285         * lib/tmpdir.c: Likewise.
60286
60287         * lib/TODO: Remove; this belongs only in coreutils.
60288
60289 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60290
60291         Add copyright notices to long-enough files that lack them, since
60292         otherwise the files aren't clearly free.  Use the same notice that
60293         getdate.texi already uses.
60294         * doc/alloca-opt.texi: Add copyright notice.
60295         * doc/alloca.texi: Likewise.
60296         * doc/ctime.texi: Likewise.
60297         * doc/functions.texi: Likewise.
60298         * doc/gcd.texi: Likewise.
60299         * doc/gnulib-tool.texi: Likewise.
60300         * doc/inet_ntoa.texi: Likewise.
60301         * doc/visibility.texi: Likewise.
60302
60303         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
60304         * doc/quote.texi: Add copyright notice.
60305
60306         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
60307         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
60308         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
60309         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
60310         is now obsolete, and give a pointer to the Sun list.
60311         Add copyright notice.
60312
60313 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60314
60315         * config/srclistvars.sh: Add copyright notice.
60316
60317 2006-08-14  Eric Blake  <ebb9@byu.net>
60318
60319         Import the following change from libc:
60320
60321         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
60322
60323         Upstream bug 2997.
60324         * lib/misc/error.c: Add space between program name and message if file
60325         name is missing.
60326
60327 2006-08-12  Karl Berry  <karl@gnu.org>
60328
60329         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
60330         remove, these originate in gnulib now.
60331
60332 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60333
60334         * doc/Makefile (standards.info standards.html standards.dvi):
60335         Also depend on make-stds.texi.
60336
60337 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60338
60339         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
60340         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
60341
60342         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
60343         in wchar_t.  Problem reported by Eric Blake.
60344
60345         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
60346         LEN is smaller than SIZE.  Suggested by Bruno Haible.
60347         Also, help the compiler to keep LEN in a register.
60348
60349 2006-08-11  Eric Blake  <ebb9@byu.net>
60350
60351         * users.txt: Sort.  Add tar.
60352
60353 2006-08-11  Bruno Haible  <bruno@clisp.org>
60354
60355         * users.txt: New file.
60356
60357 2006-08-11  Bruno Haible  <bruno@clisp.org>
60358
60359         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
60360         before <wchar.h>. Needed for OSF/1 and BSD/OS.
60361
60362 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60363
60364         * modules/snprintf (Depends-on): Remove minmax.
60365         (Maintainer): Add self and Bruno.
60366
60367 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60368
60369         * lib/.cppi-disable: Add snprintf.h, socket_.h.
60370         * lib/snprintf.c: Include <errno.h> and <limits.h>.
60371         (EOVERFLOW): Define if the system does not.
60372         Do not include "minmax.h"; it wasn't used.
60373         (snprintf): Don't assume size_t promotes to an unsigned type.
60374         Fix bug when generated string was too long for the buffer: the
60375         buffer's contents are supposed to be the initial prefix of the
60376         output.  Don't assume vasnprintf returns EOVERFLOW if the size
60377         exceeds INT_MAX; do the check ourselves.
60378
60379         Import the following changes from libc:
60380
60381         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
60382
60383         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
60384         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
60385         set wc to the byte which couldn't be converted.
60386         (re_string_reconstruct): Don't clear valid_raw_len before calling
60387         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
60388         tip_context using re_string_context_at.
60389
60390         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
60391
60392         * lib/posix/regex.h: g++ still cannot handled [restrict].
60393
60394         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
60395
60396         * lib/posix/regex.h: Remove special handling for VMS.
60397
60398 2006-08-10  Jim Meyering  <jim@meyering.net>
60399
60400         * modules/same-inode: New module.
60401         * modules/dev-ino: New module.
60402         * modules/cycle-check: Depend on these modules, rather than simply
60403         including their .h files.
60404         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
60405         required via m4/cycle-check.m4.
60406         * modules/same: Depend on new same-inode module, rather than
60407         including same-inode.h.
60408         * modules/chdir-safer: New file.
60409
60410         * modules/chown (Depends-on): Add stat-macros.
60411
60412 2006-08-10  Jim Meyering  <jim@meyering.net>
60413
60414         * m4/cycle-check.m4: New file.
60415         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
60416         * m4/dev-ino.m4, m4/same-inode.m4: New files.
60417
60418 2006-08-10  Eric Blake  <ebb9@byu.net>
60419
60420         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
60421         in from original proposal.
60422
60423 2006-08-10  Eric Blake  <ebb9@byu.net>
60424         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
60425
60426         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
60427         namespace.
60428
60429 2006-08-10  Bruno Haible  <bruno@clisp.org>
60430
60431         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
60432         as well.
60433
60434 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60435
60436         Sync from coreutils.
60437
60438         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
60439
60440         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
60441         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
60442
60443 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60444
60445         * modules/restrict: Remove; no longer needed now that we assume
60446         Autoconf 2.59 or later.
60447         * MODULES.html.sh: Remove 'restrict'.
60448         * modules/argp (Depends-on): Remove 'restrict'.
60449         * modules/base64 (Depends-on): Likewise.
60450         * modules/gc (Depends-on): Likewise.
60451         * modules/getaddrinfo (Depends-on): Likewise.
60452         * modules/glob (Depends-on): Likewise.
60453         * modules/inet_ntop (Depends-on): Likewise.
60454         * modules/inet_pton (Depends-on): Likewise.
60455         * modules/memxor (Depends-on): Likewise.
60456         * modules/regex (Depends-on): Likewise.
60457         * modules/strtok_r (Depends-on): Likewise.
60458         * modules/time_r (Depends-on): Likewise.
60459
60460 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60461
60462         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
60463         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
60464         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60465         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
60466         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
60467         * m4/memxor.m4 (gl_MEMXOR): Likewise.
60468         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
60469         gl_C_RESTRICT replaced by AC_C_RESTRICT.
60470
60471         Merge from coreutils.
60472         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
60473         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
60474         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60475         * m4/time_r.m4 (gl_TIME_R): Likewise.
60476
60477 2006-08-09  Karl Berry  <karl@gnu.org>
60478
60479         * config/srclist.txt: no more gettext-tools, per Bruno.
60480
60481 2006-08-08  Eric Blake  <ebb9@byu.net>
60482
60483         * modules/verror: New module.
60484         * MODULES.html.sh: Document it.
60485
60486 2006-08-08  Eric Blake  <ebb9@byu.net>
60487
60488         * lib/verror.h, lib/verror.c: New files.
60489
60490 2006-08-08  Eric Blake  <ebb9@byu.net>
60491
60492         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
60493         verror_at_line output complies with GNU Coding Standards even when
60494         file is NULL.
60495
60496 2006-08-07  Bruno Haible  <bruno@clisp.org>
60497
60498         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
60499         versions of AIX.
60500         Reported by Ralf Wildenhues.
60501
60502 2006-08-07  Bruno Haible  <bruno@clisp.org>
60503
60504         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
60505         in an AC_DEFUN. Needed so that the autoconf snippets can use
60506         AC_REQUIRE.
60507
60508 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60509
60510         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60511         Initialize pkgdata_DATA.
60512         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
60513         overriding it.
60514
60515 2006-08-06  Eric Blake  <ebb9@byu.net>
60516
60517         * lib/error.h: Fold in some upstream changes from glibc.
60518         * lib/error.c: Likewise.
60519
60520 2006-08-04  Bruno Haible  <bruno@clisp.org>
60521
60522         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60523         Make the mostlyclean-local rule depend on mostlyclean-generic.
60524         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
60525
60526 2006-07-31  Bruno Haible  <bruno@clisp.org>
60527
60528         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
60529         <stdlib.h>, <string.h>.
60530
60531 2006-07-30  Bruno Haible  <bruno@clisp.org>
60532
60533         * modules/readlink (License): Change to LGPL.
60534
60535 2006-07-30  Bruno Haible  <bruno@clisp.org>
60536
60537         * modules/javaversion (Makefile.am): Distribute javaversion.java and
60538         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
60539         set PKGDATADIR to point to it.
60540
60541 2006-07-30  Bruno Haible  <bruno@clisp.org>
60542
60543         * modules/csharpexec (configure.ac): Comment out macro invocation.
60544         * modules/javaexec (configure.ac): Likewise.
60545         * modules/javacomp-script (configure.ac): Likewise.
60546
60547         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
60548
60549 2006-07-30  Bruno Haible  <bruno@clisp.org>
60550
60551         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
60552         linked-list.
60553
60554 2006-07-30  Bruno Haible  <bruno@clisp.org>
60555
60556         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
60557
60558 2006-07-30  Bruno Haible  <bruno@clisp.org>
60559
60560         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60561         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
60562         get removed.
60563
60564 2006-07-29  Bruno Haible  <bruno@clisp.org>
60565
60566         Make it possible for gnulib-tool to work with locally modified or
60567         augmented gnulib repositories.
60568         * gnulib-tool (func_usage): Document --local-dir option.
60569         (local_gnulib_dir): New variable.
60570         Handle --local-dir option.
60571         (func_lookup_file): New function.
60572         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
60573         (func_get_description, func_get_filelist, func_get_description,
60574         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
60575         func_get_automake_snippet, func_get_include_directive,
60576         func_get_license, func_get_maintainer): Use func_lookup_file.
60577         (func_import, func_create_testdir): Use func_lookup_file.
60578
60579 2006-07-29  Bruno Haible  <bruno@clisp.org>
60580
60581         * modules/setenv (Depends-on): Add unistd.
60582
60583 2006-07-29  Bruno Haible  <bruno@clisp.org>
60584
60585         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
60586
60587 2006-07-29  Bruno Haible  <bruno@clisp.org>
60588
60589         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
60590
60591 2006-07-29  Bruno Haible  <bruno@clisp.org>
60592
60593         * gnulib-tool (import, update): If there is no Makefile.am, look at
60594         aclocal.m4, instead of bailing out.
60595
60596 2006-07-29  Bruno Haible  <bruno@clisp.org>
60597
60598         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
60599         Categorize the options by when they are useful.
60600
60601 2006-07-29  Bruno Haible  <bruno@clisp.org>
60602
60603         * gnulib-tool (func_usage): Document option --no-libtool.
60604         Handle option --no-libtool.
60605         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
60606         for changed semantics of $libtool variable.
60607         (func_import): Likewise. If libtool is not used, show this through
60608         an option --no-libtool.
60609         (func_create_testdir): Update.
60610
60611 2006-07-29  Bruno Haible  <bruno@clisp.org>
60612
60613         * gnulib-tool (func_import): Extend error message about missing
60614         --doc-base.
60615
60616 2006-07-29  Bruno Haible  <bruno@clisp.org>
60617
60618         * gnulib-tool (func_import): Don't create the $docbase directory if
60619         there is no file to store there.
60620
60621 2006-07-29  Bruno Haible  <bruno@clisp.org>
60622
60623         * gnulib-tool (autoconf_minversion): If a --dir option is given and
60624         relevant, look for configure.ac there, not in the current directory.
60625         Also use a simple search for AC_PREREQ, not "autoconf --trace".
60626
60627 2006-07-29  Bruno Haible  <bruno@clisp.org>
60628
60629         * gnulib-tool (SORT): New variable.
60630         (func_usage): Undocument --assume-autoconf option.
60631         Remove --assume-autoconf option handling.
60632         (autoconf_minversion): Determine from the contents of configure.ac.
60633         (func_import): Remove autoconf_minversion handling.
60634         Suggested by Eric Blake.
60635
60636 2006-07-29  Bruno Haible  <bruno@clisp.org>
60637
60638         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
60639
60640 2006-07-29  Bruno Haible  <bruno@clisp.org>
60641
60642         * config/srclist.txt (*setenv.[ch]): Remove rules.
60643
60644 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60645
60646         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
60647
60648 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60649
60650         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
60651         arpa/inet.h.
60652
60653 2006-07-28  Simon Josefsson  <jas@extundo.com>
60654
60655         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
60656         * modules/inet_pton (Depends-on): Likewise.
60657
60658 2006-07-28  Simon Josefsson  <jas@extundo.com>
60659
60660         * m4/netinet_in_h.m4: New file.
60661
60662 2006-07-28  Simon Josefsson  <jas@extundo.com>
60663
60664         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
60665         #include's.
60666
60667 2006-07-28  Simon Josefsson  <jas@extundo.com>
60668
60669         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
60670         #include's.
60671
60672 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
60673
60674         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
60675         setgid on directories only if they set these bits.
60676         * lib/modechange.h: Remove obsolete comment about masks.
60677
60678 2006-07-28  Eric Blake  <ebb9@byu.net>
60679
60680         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
60681         macro expansion.
60682
60683 2006-07-28  Bruno Haible  <bruno@clisp.org>
60684
60685         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
60686
60687 2006-07-28  Bruno Haible  <bruno@clisp.org>
60688
60689         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
60690
60691 2006-07-28  Bruno Haible  <bruno@clisp.org>
60692
60693         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60694         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60695         Define fallbacks.
60696         Avoids link error on FreeBSD 4.x.
60697         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60698
60699         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
60700         encoding.
60701         * lib/mbswidth.c (iswcntrl): Likewise.
60702
60703 2006-07-27  Bruno Haible  <bruno@clisp.org>
60704
60705         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
60706         test.
60707
60708 2006-07-27  Bruno Haible  <bruno@clisp.org>
60709
60710         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
60711         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
60712         defined.
60713
60714 2006-07-26  Eric Blake  <ebb9@byu.net>
60715
60716         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
60717
60718 2006-07-26  Eric Blake  <ebb9@byu.net>
60719
60720         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
60721         like mingw that lack mkstemp.
60722         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
60723         avoid compilation warning on mingw.
60724
60725 2006-07-26  Bruno Haible  <bruno@clisp.org>
60726
60727         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
60728         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
60729         INT_FAST*_MIN, INTPTR_MIN.
60730
60731 2006-07-25  Bruno Haible  <bruno@clisp.org>
60732
60733         * modules/version-etc (Depends-on): Add stdarg.
60734
60735 2006-07-25  Bruno Haible  <bruno@clisp.org>
60736
60737         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
60738         complex commands.
60739
60740 2006-07-25  Bruno Haible  <bruno@clisp.org>
60741
60742         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
60743         defined in <stdarg.h> or config.h.
60744
60745 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60746
60747         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
60748         (gl_STDIO_SAFER): Remove.
60749
60750 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60751
60752         * MODULES.html.sh (File stream based Input/Output):
60753         Add fopen-safer, tmpfile-safer; remove stdio-safer.
60754         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
60755         * modules/fopen-safer, modules/tmpfile-safer: New files.
60756         * modules/stdio-safer: Remove.
60757
60758 2006-07-24  Bruno Haible  <bruno@clisp.org>
60759
60760         * modules/tmpdir: New file.
60761         * MODULES.html.sh (File system functions): Add it.
60762
60763 2006-07-24  Bruno Haible  <bruno@clisp.org>
60764
60765         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
60766         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
60767
60768 2006-07-24  Bruno Haible  <bruno@clisp.org>
60769
60770         * modules/clean-temp: New file.
60771
60772 2006-07-24  Bruno Haible  <bruno@clisp.org>
60773
60774         * m4/tmpdir.m4: New file, from GNU gettext.
60775
60776 2006-07-24  Bruno Haible  <bruno@clisp.org>
60777
60778         * lib/tmpdir.h: New file, from GNU gettext.
60779         * lib/tmpdir.c: New file, from GNU gettext.
60780
60781 2006-07-24  Bruno Haible  <bruno@clisp.org>
60782
60783         * lib/clean-temp.h: New file, from GNU gettext.
60784         * lib/clean-temp.c: New file, from GNU gettext.
60785
60786 2006-07-23  Eric Blake  <ebb9@byu.net>
60787
60788         * modules/stdio-safer (Files): Add tmpfile-safer.c.
60789         (Depends-on): Add binary-io.
60790
60791 2006-07-23  Eric Blake  <ebb9@byu.net>
60792
60793         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
60794
60795 2006-07-23  Eric Blake  <ebb9@byu.net>
60796
60797         * lib/tmpfile-safer.c: New file.
60798         * lib/stdio-safer.h (fopen_safer): Add prototype.
60799         * lib/stdio--.h (tmpfile): Make safer.
60800
60801 2006-07-23  Bruno Haible  <bruno@clisp.org>
60802
60803         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
60804         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
60805         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
60806         gl_linked_remove_at): Use it.
60807
60808 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60809         and Simon Josefsson <jas@extundo.com>
60810
60811         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
60812
60813         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
60814
60815 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60816
60817         * modules/close-stream: New file.
60818         * modules/closeout (Description): Make it clear that it exits
60819         with a diagnostic on error.
60820         (Depends-on): Add close-stream.  Remove fpending, stdbool.
60821         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
60822
60823 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60824
60825         * m4/close-stream.m4: New file.
60826
60827 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60828
60829         * lib/close-stream.c, lib/close-stream.h: New files.
60830
60831 2006-07-22  Bruno Haible  <bruno@clisp.org>
60832
60833         Merge from GNU gettext 0.15.
60834
60835         2006-05-01  Bruno Haible  <bruno@clisp.org>
60836
60837                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
60838
60839         2006-07-22  Bruno Haible  <bruno@clisp.org>
60840
60841                 * modules/javaversion: New file.
60842                 * MODULES.html.sh (Java): Add javaversion.
60843
60844         2006-03-12  Bruno Haible  <bruno@clisp.org>
60845
60846                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
60847
60848         2005-12-04  Bruno Haible  <bruno@clisp.org>
60849
60850                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
60851                 (untested).
60852
60853         2006-06-21  Bruno Haible  <bruno@clisp.org>
60854
60855                 Avoid warnings from recent versions of mcs.
60856                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
60857                 -o, -L, -r any more. Use options documented since mcs-1.0
60858                 instead. Similarly for -g.
60859
60860         2005-12-04  Bruno Haible  <bruno@clisp.org>
60861
60862                 * build-aux/csharpcomp.sh.in: Suffix for resources is
60863                 .resources, not .resource.
60864
60865         2005-07-09  Bruno Haible  <bruno@clisp.org>
60866
60867                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
60868                 add a .dll suffix.
60869                 Reported by Mark Junker <mjscod@gmx.de>.
60870
60871         2006-07-22  Bruno Haible  <bruno@clisp.org>
60872
60873                 * modules/gettext: Upgrade to gettext-0.15.
60874                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
60875                 m4/visibility.m4.
60876                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
60877
60878 2006-07-22  Bruno Haible  <bruno@clisp.org>
60879
60880         Merge from GNU gettext 0.15.
60881
60882         2006-03-25  Bruno Haible  <bruno@clisp.org>
60883
60884                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
60885
60886         2006-07-21  Bruno Haible  <bruno@clisp.org>
60887
60888                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
60889                 "1.1".
60890
60891         2006-05-09  Bruno Haible  <bruno@clisp.org>
60892
60893                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
60894                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
60895                 for the conftestver execution.
60896
60897         2006-05-01  Bruno Haible  <bruno@clisp.org>
60898
60899                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
60900                 optional target-version argument. Verify that the compiler
60901                 groks source of the specified source-version, or add -source
60902                 option as necessary. Verify that the compiler produces
60903                 bytecode in the specified target-version, or add -target and
60904                 -source options as necessary. Make the result of the test
60905                 available as variable CONF_JAVAC. Also log error output in
60906                 config.log.
60907
60908         2006-03-11  Bruno Haible  <bruno@clisp.org>
60909
60910                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
60911
60912         2006-05-09  Bruno Haible  <bruno@clisp.org>
60913
60914                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
60915                 CLASSPATH_SEPARATOR to a semicolon.
60916
60917         2006-03-12  Bruno Haible  <bruno@clisp.org>
60918
60919                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
60920                 available as variable CONF_JAVA, for subsequent autoconf
60921                 tests. Also log error output in config.log.
60922
60923         2006-07-19  Bruno Haible  <bruno@clisp.org>
60924
60925                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
60926                 that getline works on glibc2 systems. Needed to avoid trouble
60927                 in relocatable.c.
60928                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
60929
60930         2005-12-04  Bruno Haible  <bruno@clisp.org>
60931
60932                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
60933                 launcher (untested).
60934
60935         2005-12-04  Bruno Haible  <bruno@clisp.org>
60936
60937                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
60938
60939         2006-07-22  Bruno Haible  <bruno@clisp.org>
60940
60941                 * gettext.m4: Update from GNU gettext-0.15.
60942                 * nls.m4: Likewise.
60943                 * po.m4: Likewise.
60944                 * inttypes-pri.m4: Likewise.
60945                 * inttypes-h.m4: Renamed from inttypes.m4.
60946                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
60947
60948 2006-07-22  Bruno Haible  <bruno@clisp.org>
60949
60950         Merge from GNU gettext 0.15.
60951
60952         2005-07-05  Bruno Haible  <bruno@clisp.org>
60953
60954                 * printf-args.c (printf_fetchargs): Work around broken
60955                 definition of wint_t on mingw.
60956
60957         2005-02-12  Bruno Haible  <bruno@clisp.org>
60958
60959                 * xallocsa.h: Add extern "C" for C++.
60960
60961         2006-05-17  Bruno Haible  <bruno@clisp.org>
60962
60963                 Cygwin portability.
60964                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
60965
60966         2006-04-30  Bruno Haible  <bruno@clisp.org>
60967
60968                 * progreloc.c: Include <mach-o/dyld.h> if available.
60969                 (find_executable): Use _NSGetExecutablePath when possible.
60970
60971         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
60972
60973                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
60974                 function.
60975
60976         2005-12-29  Bruno Haible  <bruno@clisp.org>
60977
60978                 * progreloc.c (set_program_name_and_installdir): Fix
60979                 compilation error.
60980
60981         2005-12-04  Bruno Haible  <bruno@clisp.org>
60982
60983                 Cygwin portability.
60984                 * progreloc.c: Include <windows.h> also on Cygwin.
60985                 (find_executable): Add support for Cygwin.
60986                 (set_program_name_and_installdir): Handle also platforms with
60987                 nonempty EXEEXT.
60988
60989         2006-07-11  Bruno Haible  <bruno@clisp.org>
60990
60991                 * javacomp.c: Fix a comment.
60992                 Reported by Jim Meyering.
60993
60994         2006-04-30  Bruno Haible  <bruno@clisp.org>
60995
60996                 * javacomp.h (compile_java_class): Add source_version,
60997                 target_version arguments.
60998                 * javacomp.c: Rewritten to choose only a compiler that
60999                 respects the specified source_version and target_version.
61000
61001         2006-06-27  Bruno Haible  <bruno@clisp.org>
61002
61003                 Assume correct S_ISDIR macro.
61004                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
61005
61006         2006-07-22  Bruno Haible  <bruno@clisp.org>
61007
61008                 * javaversion.h: New file, from GNU gettext.
61009                 * javaversion.c: New file, from GNU gettext.
61010                 * javaversion.java: New file, from GNU gettext.
61011                 * javaversion.class: New file, from GNU gettext.
61012
61013         2006-05-17  Bruno Haible  <bruno@clisp.org>
61014
61015                 Cygwin portability.
61016                 * javaexec.c (execute_java_class): Test for jview program
61017                 also on Cygwin.
61018
61019         2006-04-09  Bruno Haible  <bruno@clisp.org>
61020
61021                 * fatal-signal.c: Don't include string.h.
61022                 (at_fatal_signal): Use a copying loop instead of memcpy.
61023
61024         2005-12-04  Bruno Haible  <bruno@clisp.org>
61025
61026                 * csharpexec.c: Add support for 'clix' launcher (untested).
61027                 (execute_csharp_using_sscli): New function.
61028                 (execute_csharp_program): Call it.
61029
61030         2006-06-21  Bruno Haible  <bruno@clisp.org>
61031
61032                 Avoid warnings from recent versions of mcs.
61033                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
61034                 -o, -L, -r any more. Use options documented since mcs-1.0
61035                 instead. Similarly for -g.
61036
61037         2005-07-09  Bruno Haible  <bruno@clisp.org>
61038
61039                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
61040                 add a .dll suffix.
61041                 Reported by Mark Junker <mjscod@gmx.de>.
61042
61043         2006-06-17  Bruno Haible  <bruno@clisp.org>
61044
61045                 * config.charset: Update for NetBSD 3.0.
61046
61047         2006-05-17  Bruno Haible  <bruno@clisp.org>
61048
61049                 Cygwin portability.
61050                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
61051
61052         2006-05-16  Bruno Haible  <bruno@clisp.org>
61053
61054                 * localcharset.c [CYGWIN]: Include <windows.h>.
61055                 (get_charset_aliases): For Cygwin, return the same CPxxx
61056                 aliases list as under WIN32.
61057                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
61058                 the environment variables. Fall back to GetACP().
61059
61060         2006-04-05  Bruno Haible  <bruno@clisp.org>
61061
61062                 * config.charset: Update Juan Manuel Guerrero's address.
61063
61064         2005-02-12  Bruno Haible  <bruno@clisp.org>
61065
61066                 * allocsa.h: Add extern "C" for C++.
61067
61068         2005-02-10  Bruno Haible  <bruno@clisp.org>
61069
61070                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
61071                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
61072
61073         2006-07-22  Bruno Haible  <bruno@clisp.org>
61074
61075                 * gettext.h: Update to GNU gettext-0.15.
61076
61077 2006-07-22  Bruno Haible  <bruno@clisp.org>
61078
61079         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
61080         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
61081         lib-prefix.m4, longdouble.m4, ssize_t.m4.
61082
61083 2006-07-21  Eric Blake  <ebb9@byu.net>
61084
61085         * modules/stdlib-safer: New file.
61086         * MODULES.html.sh (File stream based Input/Output): Add
61087         stdlib-safer.
61088
61089 2006-07-21  Eric Blake  <ebb9@byu.net>
61090
61091         * lib/stdlib-safer.h: New file from coreutils, required by
61092         stdlib--.h.
61093
61094 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
61095
61096         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
61097
61098 2006-07-20  Bruno Haible  <bruno@clisp.org>
61099
61100         * gnulib-tool: Recognize new option --assume-autoconf.
61101         (autoconf_minversion): New variable.
61102         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
61103
61104 2006-07-20  Bruno Haible  <bruno@clisp.org>
61105
61106         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
61107
61108 2006-07-19  Derek R. Price  <derek@ximbiot.com>
61109
61110         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
61111         Reindent and repaginate.
61112
61113 2006-07-19  Derek Price  <derek@ximbiot.com>
61114
61115         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
61116         Correct grammar.
61117
61118 2006-07-17  Bruno Haible  <bruno@clisp.org>
61119
61120         * modules/list: New file.
61121         * modules/array-list: New file.
61122         * modules/carray-list, modules/carray-list-tests: New files.
61123         * modules/linked-list, modules/linked-list-tests: New files.
61124         * modules/avltree-list, modules/avltree-list-tests: New files.
61125         * modules/rbtree-list, modules/rbtree-list-tests: New files.
61126         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
61127         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
61128         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
61129         * modules/oset: New file.
61130         * modules/array-oset: New file.
61131         * modules/avltree-oset, modules/avltree-oset-tests: New files.
61132         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
61133         * tests/test-carray_list.c: New file.
61134         * tests/test-linked_list.c: New file.
61135         * tests/test-avltree_list.c: New file.
61136         * tests/test-rbtree_list.c: New file.
61137         * tests/test-linkedhash_list.c: New file.
61138         * tests/test-avltreehash_list.c: New file.
61139         * tests/test-rbtreehash_list.c: New file.
61140         * tests/test-avltree_oset.c: New file.
61141         * tests/test-rbtree_oset.c: New file.
61142         * MODULES.html.sh (Container data structures): New section.
61143
61144 2006-07-17  Bruno Haible  <bruno@clisp.org>
61145
61146         * m4/gl_list.m4: New file.
61147
61148 2006-07-17  Bruno Haible  <bruno@clisp.org>
61149
61150         * lib/gl_list.h: New file.
61151         * lib/gl_list.c: New file.
61152         * lib/gl_array_list.h: New file.
61153         * lib/gl_array_list.c: New file.
61154         * lib/gl_carray_list.h: New file.
61155         * lib/gl_carray_list.c: New file.
61156         * lib/gl_linked_list.h: New file.
61157         * lib/gl_linked_list.c: New file.
61158         * lib/gl_anylinked_list1.h: New file.
61159         * lib/gl_anylinked_list2.h: New file.
61160         * lib/gl_avltree_list.h: New file.
61161         * lib/gl_avltree_list.c: New file.
61162         * lib/gl_anyavltree_list1.h: New file.
61163         * lib/gl_anyavltree_list2.h: New file.
61164         * lib/gl_rbtree_list.h: New file.
61165         * lib/gl_rbtree_list.c: New file.
61166         * lib/gl_anyrbtree_list1.h: New file.
61167         * lib/gl_anyrbtree_list2.h: New file.
61168         * lib/gl_anytree_list1.h: New file.
61169         * lib/gl_anytree_list2.h: New file.
61170         * lib/gl_linkedhash_list.h: New file.
61171         * lib/gl_linkedhash_list.c: New file.
61172         * lib/gl_anyhash_list1.h: New file.
61173         * lib/gl_anyhash_list2.h: New file.
61174         * lib/gl_avltreehash_list.h: New file.
61175         * lib/gl_avltreehash_list.c: New file.
61176         * lib/gl_rbtreehash_list.h: New file.
61177         * lib/gl_rbtreehash_list.c: New file.
61178         * lib/gl_anytreehash_list1.h: New file.
61179         * lib/gl_anytreehash_list2.h: New file.
61180
61181         * lib/gl_oset.h: New file.
61182         * lib/gl_oset.c: New file.
61183         * lib/gl_array_oset.h: New file.
61184         * lib/gl_array_oset.c: New file.
61185         * lib/gl_avltree_oset.h: New file.
61186         * lib/gl_avltree_oset.c: New file.
61187         * lib/gl_rbtree_oset.h: New file.
61188         * lib/gl_rbtree_oset.c: New file.
61189         * lib/gl_anytree_oset.h: New file.
61190
61191 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61192
61193         * m4/mkancesdirs.m4: New file.
61194         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
61195         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
61196         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
61197         it.
61198
61199 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61200
61201         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
61202         * lib/mkancesdirs.h: New files.
61203         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
61204         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
61205         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
61206         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
61207         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
61208         callers changed.  Revamp internals significantly, by not
61209         attempting to create directories that are temporarily more
61210         permissive than the final results.  Do not attempt to use
61211         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
61212         This removes some race conditions, fixes some bugs, and simplifies
61213         things.  Use new dirchownmod function to do owner and mode changes.
61214         * lib/mkdir-p.h: Likewise.
61215         * lib/modechange.c (octal_to_mode): New function.
61216         (struct mode_change): New member mentioned.
61217         (make_node_op_equals): New arg mentioned.  All callers changed.
61218         (mode_compile): Keep track of which mode bits the user has explicitly
61219         mentioned.
61220         (mode_adjust): New arg DIR, so that we implement the X op correctly.
61221         New arg PMODE_BITS, to keep track of which mode bits the user
61222         mentioned; it treats S_ISUID and S_ISGID speciall.
61223         All callers changed.
61224         * lib/modechange.h: Likewise.
61225
61226 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61227
61228         * MODULES.html.sh: Add mkancestors.
61229         * modules/mkancesdirs: New module.
61230         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
61231         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
61232         The chdir-safer and afs files are now orphans; I'll remove them
61233         unless someone speaks up.
61234         Add lib/dirchownmod.c, lib/dirchownmod.h.
61235         (Depends-on): Remove alloca, chown, save-cwd, dirname.
61236         Add lchown, mkancesdirs.
61237         (Maintainer): Add self.
61238
61239 2006-07-15  Karl Berry  <karl@gnu.org>
61240
61241         * gnulib-tool: help message wording/arrangement.
61242
61243 2006-07-14  Simon Josefsson  <jas@extundo.com>
61244
61245         * doc/gnulib.texi (Libtool and Windows): New section.
61246
61247 2006-07-12  Simon Josefsson  <jas@extundo.com>
61248
61249         * modules/gendocs (License): Fix license, approved by Karl.
61250
61251 2006-07-12  Eric Blake  <ebb9@byu.net>
61252
61253         * MODULES.html.sh: Add gendocs.
61254
61255 2006-07-11  Eric Blake  <ebb9@byu.net>
61256
61257         * modules/fdl: New module, to install doc/fdl.texi.
61258         * MODULES.html.sh: Add new section for documentation modules.
61259         * gnulib-tool: Avoid space-tab.
61260         (--doc-base): New option, to manage files from doc.
61261
61262 2006-07-11  Eric Blake  <ebb9@byu.net>
61263
61264         * m4/absolute-header.m4: Fix comments to match recent change.
61265
61266 2006-07-11  Eric Blake  <ebb9@byu.net>
61267
61268         * gnulib-tool: List --doc-base before --tests-base.
61269
61270 2006-07-11  Derek R. Price  <derek@ximbiot.com>
61271
61272         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
61273
61274 2006-07-11  Bruno Haible  <bruno@clisp.org>
61275
61276         * README: Mention where to put documentation.
61277
61278 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61279
61280         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
61281
61282 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61283
61284         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
61285         to stdint.m4.
61286
61287 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61288
61289         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
61290         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
61291         "no/such/file/stdint.h" when there is no such file, so that
61292         the resulting C code can be parsed by dodgy compilers.
61293         Problems reported by Bob Proulx.
61294
61295 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61296
61297         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
61298         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61299         macros into the GNU _D_EXACT_NAMLEN.
61300         * lib/savedir.c:  Likewise.
61301         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
61302
61303 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61304         and Paul Eggert  <eggert@cs.ucla.edu>
61305
61306         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
61307         * m4/savedir.m4:
61308         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61309         macros into the GNU _D_EXACT_NAMLEN.
61310
61311 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61312
61313         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
61314         around the absolute name, to work around a problem with the HP-UX
61315         11.23 native C compiler, reported by Bob Proulx.
61316
61317 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61318
61319         * doc/maintain.texi, make-stds.texi: Sync from
61320         <http://savannah.gnu.org/projects/gnustandards>.
61321
61322 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61323
61324         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
61325
61326 2006-07-09  Jim Meyering  <jim@meyering.net>
61327
61328         * m4/glob.m4: Remove a doubled word in a comment.
61329
61330 2006-07-09  Jim Meyering  <jim@meyering.net>
61331
61332         * lib/argp-pv.c: Remove a doubled word in a comment.
61333         * lib/check-version.c (check_version): Likewise.
61334         * lib/javacomp.c (compile_java_class): Likewise.
61335
61336 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
61337
61338         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
61339         for the benefit of people using Autoconf 2.60.  If you want to
61340         support older Autoconf versions you can copy m4/onceonly_2_57.m4
61341         (or m4/onceonly.m4, if pre-2.57) manually.
61342
61343 2006-07-08  Jim Meyering  <jim@meyering.net>
61344
61345         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
61346         comment.
61347         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
61348         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
61349         comment.
61350
61351 2006-07-08  Jim Meyering  <jim@meyering.net>
61352
61353         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
61354
61355 2006-07-07  Simon Josefsson  <jas@extundo.com>
61356
61357         * tests/test-crc.c: Change expected crc value, the test vector
61358         were probably computed using the old broken crc.c?
61359
61360 2006-07-06  Simon Josefsson  <jas@extundo.com>
61361
61362         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
61363         now the canonical place for the M4 file).
61364
61365         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
61366         from the sys_socket dependency now.
61367
61368         * modules/inet_pton (Files): Ditto.
61369
61370         * modules/inet_ntop (Files): Ditto.
61371
61372 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61373
61374         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
61375         not gl_PREREQ_GETUSERSHELL.
61376
61377 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61378
61379         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
61380         with only one argument, for Autoconf 2.60.
61381         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
61382         expand to nothing, so add a shell command to avoid syntax error.
61383         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61384
61385 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61386
61387         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
61388
61389 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61390
61391         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
61392         no longer needed.  Check for isblank decl.
61393         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
61394         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
61395         of existence.
61396
61397 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61398
61399         * lib/getloadavg.c: Use __VMS, not VMS.
61400         * lib/getopt.c: Likewise.
61401         * lib/getpagesize.h: Likewise.
61402         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
61403         and probably does not work.
61404
61405 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61406
61407         * lib/.cppi-disable: Add wcwidth.
61408         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
61409         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
61410         (ISGRAPH): Remove.  All uses changed to isgraph.
61411         (FOLD) [!defined _LIBC]: Remove special case.
61412         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
61413         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
61414         HAVE_ISBLANK.
61415         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
61416         case.
61417
61418 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
61419
61420         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
61421         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
61422         brackets.  Other minor changes to suppress some compiler
61423         warnings.
61424
61425 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61426         and Paul Eggert  <eggert@cs.ucla.edu>
61427
61428         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
61429         of invoking obsolescent AC_HEADER_DIRENT macro.
61430         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
61431         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
61432         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
61433         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
61434         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
61435         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61436         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
61437         * m4/readdir.m4: Remove; no longer needed.
61438
61439 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61440         and Paul Eggert  <eggert@cs.ucla.edu>
61441
61442         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
61443         Don't worry about this obsolete case any more.
61444         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
61445         directories.
61446         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
61447         worry about this obsolete case any more.
61448         * lib/fts.c: Likewise.
61449         * lib/getcwd.c: Likewise.
61450         * lib/glob.h: Likewise.
61451         * lib/savedir.c: Likewise.
61452
61453 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61454
61455         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
61456         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
61457         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
61458         needed.
61459         All uses removed.
61460         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61461         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61462         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
61463         needed.
61464         * m4/getdate.m4 (gl_GETDATE): Likewise.
61465         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
61466         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
61467         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61468         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61469         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61470         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61471         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
61472         needed.
61473
61474 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61475
61476         * lib/memcasecmp.c: Include <limits.h>.
61477         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
61478         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
61479         Don't assume isdigit succeeds only on '0' through '9'.
61480
61481 2006-07-05  Eric Blake  <ebb9@byu.net>
61482
61483         * modules/getaddrinfo (Depends-on): Add snprintf.
61484
61485 2006-07-05  Eric Blake  <ebb9@byu.net>
61486
61487         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
61488         to avoid 'header present but could not be compiled' on cygwin.
61489
61490 2006-07-05  Eric Blake  <ebb9@byu.net>
61491
61492         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
61493         missing from netdb.h.
61494         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
61495
61496 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61497
61498         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
61499         no longer needed.
61500         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
61501         * m4/getdate.m4 (gl_GETDATE): Likewise.
61502         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
61503         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
61504         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61505         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61506         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61507
61508 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61509
61510         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
61511         All uses of is_space replaced by isspace.
61512         * lib/exit.h: Don't talk about STDC_HEADERS.
61513         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
61514         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
61515         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
61516         replaced by isprint etc.
61517         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
61518         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61519         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
61520         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
61521         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
61522         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61523
61524 2006-07-05  Bruno Haible  <bruno@clisp.org>
61525
61526         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
61527         the function exists, before testing against AIX.
61528         Reported by Martin Lambers <marlam@marlam.de>.
61529
61530 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61531
61532         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
61533         From Mark D. Baushke.
61534
61535 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61536
61537         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
61538         to the absolute name, not just one, to bypass Sun C 5.8's
61539         "warning: #include of /usr/include/... may be non-portable".
61540
61541 2006-07-04  Eric Blake  <ebb9@byu.net>
61542
61543         * modules/dirname-tests: New test module.
61544         * tests/test-dirname.c: New file, replacing dirname.c
61545         TEST_DIRNAME section that was recently deleted.
61546
61547 2006-07-04  Bruno Haible  <bruno@clisp.org>
61548
61549         Assume ANSI C header files and <ctype.h> functions.
61550         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
61551         (mbsnwidth): Use isprint, iscntrl instead.
61552
61553 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61554
61555         Merge from coreutils.
61556         * MODULES.html.sh: Add xstrtold.
61557         * modules/xstrtold: New file.
61558         * modules/cycle-check (Files): Add lib/same-inode.h.
61559         * modules/dirname (Files): Add m4/double-slash-root.m4.
61560         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
61561         * modules/mkdir-p (Files): Add lib/same-inode.h.
61562         * modules/same (Files): Add lib/same-inode.h.
61563
61564 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61565
61566         * m4/absolute-header.m4: Renamed from full-header-path.m4.
61567         This is to keep the terminology clean; POSIX talks about
61568         "absolute pathnames", not "full pathnames", but the GNU
61569         Coding Standards say to use "path" for something else;
61570         so use "absolute" to keep both sides happy.
61571         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
61572         Set gl_absolute_header, not gl_full_header_path.
61573         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
61574         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
61575         All uses changed.
61576
61577         Merge from coreutils.
61578
61579         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61580
61581         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
61582         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
61583         want to require the building of c-strtod.o.
61584         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
61585         needs -lm directly.
61586         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
61587
61588         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
61589
61590         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
61591         --as-needed option if available.  Problem reported by Albert Chin in
61592         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
61593         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
61594         cc merely issues a bunch of annoying warnings for --as-needed
61595         (this problem was reported by Bob Proulx).  Also, try linking with
61596         -lm to detect a bug in binutils 2.16 (this problem was reported
61597         by Ralf Wildenhues).
61598
61599         2006-06-18  Jim Meyering  <jim@meyering.net>
61600
61601         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
61602         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
61603         macro.
61604         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
61605         also check for glibc-2.4's abort-inducing bug.
61606
61607         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
61608         Low-probability clean-up should be to use rmdir to get rid of
61609         the just-created directory, not unlink.
61610
61611         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
61612         configure fail, and request a bug report to inform us about it.
61613         Add a comment that, barring reports to the contrary, in 2007 we'll
61614         assume ftruncate is universally available.
61615
61616         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61617
61618         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
61619
61620         2006-03-12  Jim Meyering  <jim@meyering.net>
61621
61622         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
61623         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
61624         * m4/same.m4 (gl_SAME): Likewise.
61625         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
61626
61627         2006-03-11  Eric Blake  <ebb9@byu.net>
61628
61629         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
61630         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
61631         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
61632         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
61633
61634 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61635
61636         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
61637         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
61638         reported by Mark D. Baushke, one in
61639         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
61640
61641         Merge from coreutils.
61642
61643         * lib/.cppi-disable: Add stdint_.h.
61644         * lib/.cvsignore: Add stdint.h.
61645
61646         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61647
61648         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
61649         both double and long double versions.
61650         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
61651         * lib/xstrtold.c: New file.
61652         * lib/xstrtod.h (xstrtold): New decl.
61653
61654         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
61655
61656         * lib/filemode.c (setst): Remove.
61657         (strmode): Rewrite to avoid setst.  This makes the code shorter,
61658         (arguably) clearer, and the generated code is a bit smaller on my
61659         Debian GNU/Linux stable x86 host.
61660
61661         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61662
61663         * lib/filemode.c: Include "filemode.h" first, to test the interface.
61664         Assume that filemode.h includes sys/types.h and sys/stat.h.
61665         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
61666         (ftypelet): Reorder to put common cases first, for efficiency.
61667         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
61668         to do 'M'.
61669         (strmode): Renamed from mode_string, and now stores 12 bytes instead
61670         of 10, for compatibility with FreeBSD.  All callers changed.
61671         (filemodestring): Now stores 12 bytes instead of 10, and sets file
61672         types that can't be deduced solely from st_mode.  First arg is now a
61673         const pointer.
61674         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
61675         (strmode): Renamed from mode_string.
61676         (filemodestring): New decl.
61677         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
61678         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
61679         needed.
61680         (S_ISPORT, S_ISWHT): New macros, if not already defined.
61681
61682         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
61683
61684         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
61685         fsusage.h now does that.  Include fsusage.h first, to test interface.
61686         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
61687         at most one method (the old code could have generated decls that
61688         didn't conform to C89, not that this was ever exercised).
61689         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
61690
61691         2006-03-19  Jim Meyering  <jim@meyering.net>
61692
61693         Work even in a chroot where d_ino values for entries in "/"
61694         don't match the stat.st_ino values for the same names.
61695         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
61696         number, iterate through all entries again, using lstat instead.
61697         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
61698         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
61699
61700         * lib/getcwd.c (__getcwd): Clarify a comment.
61701         Use memcpy in place of a call to strcpy.
61702
61703         2006-03-12  Jim Meyering  <jim@meyering.net>
61704
61705         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
61706         matches that of the current directory (which we're about to chdir ".."
61707         out of), then save the dev-ino of the parent, instead.
61708
61709         * lib/same-inode.h (SAME_INODE): New file/macro.
61710         * lib/chdir-safer.c (SAME_INODE): Remove definition.
61711         Include "same-inode.h", instead.
61712         * lib/same.c: Likewise.
61713         * lib/cycle-check.h: Include "same-inode.h".
61714         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
61715         * lib/cycle-check.c (SAME_INODE): Remove definition.
61716         * lib/root-dev-ino.h: Include "same-inode.h".
61717
61718         2006-03-11  Eric Blake  <ebb9@byu.net>
61719
61720         * lib/same.c (same_name): s/base_name/last_component/
61721         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
61722         * lib/filenamecat.c (file_name_concat): Likewise.
61723
61724         2006-03-11  Eric Blake  <ebb9@byu.net>,
61725                     Paul Eggert  <eggert@cs.ucla.edu>
61726
61727         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
61728         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
61729         drive prefix.
61730         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
61731         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
61732         (last_component): New method.
61733         * lib/dirname.c (dir_len): Determine when drive letters need a
61734         subsequent slash.  Preserve // when it is special.
61735         (dir_name): Don't append dot when drive letter is absolute.
61736         [TEST_DIRNAME]: Move into a full-blown gnulib test.
61737         * lib/basename.c (base_name): New semantics - malloc the result.
61738         Preserve // when it is special.  Preserve relative files that look
61739         like drive letters.
61740         (base_len): Preserve // when it is special.
61741         (last_component): New method, similar to old base_name semantics.
61742         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
61743         base_name.  Strip redundant slashes from ///.
61744
61745 2006-07-03  Jim Meyering  <jim@meyering.net>
61746
61747         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
61748         macro is used before the first cycle_check call.
61749
61750 2006-07-03  Eric Blake  <ebb9@byu.net>
61751
61752         * modules/dirname (Depends-on): Add xstrndup.
61753
61754 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61755
61756         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
61757         test cases, so that config.log is a bit easier to follow.
61758
61759 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61760
61761         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
61762         both are 64 bits, since this seems to be the tradition, and this
61763         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
61764         we ever run into a host that prefers long long to long in this
61765         case, we'll need another configure-time test.  Problem reported by
61766         Jim Meyering.
61767
61768 2006-07-02  Eric Blake  <ebb9@byu.net>
61769
61770         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
61771
61772 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61773
61774         * modules/inttypes (Depends-on): No longer depends on stdint.
61775         * modules/stdint (Description): Say more about assumptions.
61776         Say that the fast types might differ.  Say macros are used.
61777         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
61778         (Makefile.am): Revise list of substituted symbols to match
61779         new stdint.m4.
61780         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
61781         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
61782         * tests/test-stdint.c (verify_same_types)
61783         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
61784         the code conforms to C99/C89.
61785         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
61786         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
61787
61788 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61789
61790         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
61791         but fix a bug, by requiring at least 64 bits.
61792         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61793         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
61794         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
61795         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
61796
61797         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
61798         changes.  Make 2.59 a prerequisite.  Check and substitute for
61799         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
61800         inttypes.h.  Do not use special include files; just use the
61801         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
61802         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
61803         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
61804         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
61805         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
61806         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
61807         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
61808         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
61809         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
61810         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
61811         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
61812         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
61813         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
61814         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
61815         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
61816         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
61817         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
61818         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
61819         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
61820         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
61821         WINT_MAX.  Check for C99 conformance more strictly, by detecting
61822         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
61823         not check for things that C99 does not require, e.g., int8_t.  If
61824         a test isn't needed unless <stdint.h> isn't working, and is
61825         unlikely to be needed for any other reason, then don't do it
61826         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
61827         size_t, since we assume C89 freestanding at least.  Do not check
61828         for sig_atomic_t, wchar_t, or wint_t, since the code now does
61829         the right thing even if the types are not defined.  Instead use:
61830         (gl_STDINT_TYPE_PROPERTIES): New macro.
61831         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
61832         testing whether <sys/types.h> clashes, as Autoconf does this for
61833         us now.  All uses removed.
61834         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
61835         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
61836         (gl_CHECK_TYPE_SAME):
61837         Remove; no longer needed.
61838         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
61839         exists, since we'll return 0 anyway in that case.
61840         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
61841
61842 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61843
61844         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
61845         possible collision with system files.
61846         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
61847         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
61848         WCHAR_MIN and WCHAR_MAX in this case.
61849         (<stddef.h>): Do not include; no longer needed.
61850         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
61851         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
61852         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
61853         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
61854         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
61855         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
61856         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
61857         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
61858         !defined(__c99))]: Include in this case too, since it's harmless
61859         now.
61860         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
61861         dangerous to do so.
61862         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
61863         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
61864         (_STDINT_MIN, _STDINT_MAX): New macros.
61865         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
61866         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
61867         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
61868         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
61869         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
61870         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
61871         macros, not typedefs; this simplifies things quite a bit.
61872         Use long int for all types narrower than int64_t.
61873         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
61874         Define in terms of long long int or int64_t or long int,
61875         not int64_t or int32_t.  This saves some compile-time testing.
61876         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
61877         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
61878         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
61879         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
61880         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
61881         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
61882         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
61883         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
61884         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
61885         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
61886         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
61887         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
61888         undef any previous version and define our own version, for
61889         simplicity and consistency with the new macros for types.
61890         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
61891         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
61892         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
61893         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
61894         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
61895         @WINT_T_SUFFIX@ to keep things simple here.
61896         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
61897         Simplify by assuming typical 8/16/32/64 host, since we're
61898         already doing that elsewhere anyway.
61899         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
61900         and assume long long int is 64 bits if available.  This
61901         speeds up 'configure'.
61902
61903 2006-07-01  Eric Blake  <ebb9@byu.net>
61904
61905         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
61906         Reported by Andreas Buening.
61907
61908 2006-07-01  Eric Blake  <ebb9@byu.net>
61909
61910         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
61911
61912 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
61913
61914         * lib/getaddrinfo.c: fixed typo
61915
61916 2006-06-29  Jim Meyering  <jim@meyering.net>
61917
61918         * modules/strftime (Maintainer): Add my name, since with the
61919         FPRINTFTIME changes strftime.c has forked from glibc.
61920
61921 2006-06-29  Eric Blake  <ebb9@byu.net>
61922
61923         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
61924
61925 2006-06-29  Eric Blake  <ebb9@byu.net>
61926
61927         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
61928
61929 2006-06-29  Eric Blake  <ebb9@byu.net>
61930
61931         * lib/stat_.h: New file.
61932
61933 2006-06-29  Eric Blake  <ebb9@byu.net>
61934
61935         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
61936         unused static function.
61937
61938 2006-06-29  Eric Blake  <ebb9@byu.net>
61939
61940         * doc/functions.texi (Function Portability): Document missing lstat
61941         on mingw.
61942
61943 2006-06-29  Eric Blake  <ebb9@byu.net>
61944
61945         * MODULES.html.sh: Add sys_stat.
61946         * modules/sys_stat: New module.
61947         * modules/mkstemp (Depends-on): Add sys_stat.
61948
61949 2006-06-29  Derek R. Price  <derek@ximbiot.com>
61950
61951         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
61952
61953 2006-06-29  Derek R. Price  <derek@ximbiot.com>
61954
61955         * m4/c-bs-a.m4: Removed.
61956
61957 2006-06-29  Derek R. Price  <derek@ximbiot.com>
61958
61959         * lib/strftime.c: Assume strftime() exists.
61960
61961 2006-06-29  Derek Price  <derek@ximbiot.com>
61962
61963         * modules/c-bs-a: Removed - \a is C89.
61964         * MODULES.html.sh: Remove c-bs-a.
61965
61966 2006-06-29  Bruno Haible  <bruno@clisp.org>
61967
61968         * modules/wcwidth (License): Change to LGPL.
61969
61970 2006-06-28  Simon Josefsson  <jas@extundo.com>
61971
61972         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
61973         on _WIN32.
61974
61975         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
61976         getnameinfo.
61977
61978 2006-06-28  Simon Josefsson  <jas@extundo.com>
61979
61980         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
61981
61982 2006-06-28  Simon Josefsson  <jas@extundo.com>
61983
61984         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
61985         functions there.  It will succeed on Windows XP, but on Windows
61986         2000 and (presumably) earlier, it will fail, and use the internal
61987         re-implementation.
61988         (use_win32_p): New function.
61989         (getaddrinfo): Use strtoul on servname, to support numeric ports.
61990         Support AI_NUMERICSERV to disable getservbyname.
61991         (getnameinfo): New function, only supports
61992         NI_NUMERICHOST|NI_NUMERICSERV for now.
61993
61994         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
61995         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
61996         getnameinfo.
61997
61998 2006-06-28  Eric Blake  <ebb9@byu.net>
61999
62000         * modules/wcwidth: New file.
62001         * modules/mbchar (Depends-on): Add wcwidth.
62002         * modules/mbswidth (Depends-on): Add wcwidth.
62003         * MODULES.html.sh: Add wcwidth.
62004
62005 2006-06-28  Eric Blake  <ebb9@byu.net>
62006
62007         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
62008         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
62009
62010 2006-06-28  Eric Blake  <ebb9@byu.net>
62011
62012         * lib/xvasprintf.h: Fix comments.
62013
62014 2006-06-28  Eric Blake  <ebb9@byu.net>
62015
62016         * lib/mbchar.h (wcwidth): Include wcwidth.h.
62017         * lib/mbswidth.c (wcwidth): Move from here...
62018         * lib/wcwidth.h: ...to this new file.
62019
62020 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62021
62022         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
62023
62024         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
62025         it's obsolete.
62026         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
62027
62028 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62029
62030         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
62031         Autoconf 2.60 says this stuff was obsolete.
62032
62033 2006-06-28  Bruno Haible  <bruno@clisp.org>
62034
62035         * modules/wcwidth (Files): Add m4/wchar_t.m4.
62036
62037 2006-06-28  Bruno Haible  <bruno@clisp.org>
62038
62039         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
62040         gt_TYPE_WCHAR_T.
62041
62042 2006-06-28  Bruno Haible  <bruno@clisp.org>
62043
62044         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
62045         declaration for wcwidth.
62046         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
62047
62048 2006-06-28  Bruno Haible  <bruno@clisp.org>
62049
62050         * lib/mkdtemp.c [MINGW]: Include <io.h>.
62051         (mkdir): Define using _mkdir.
62052
62053 2006-06-28  Bruno Haible  <bruno@clisp.org>
62054
62055         * lib/getaddrinfo.h: Fix POSIX URL.
62056         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
62057         _WIN32.
62058         (use_win32_p): Make static.
62059         (getaddrinfo): Reject service name if it is empty or does not consist
62060         solely of decimal digits, or if its value is > 65535.
62061         (getnameinfo): Remove useless casts.
62062
62063 2006-06-27  Simon Josefsson  <jas@extundo.com>
62064
62065         * modules/sys_select: New file, suggested by Bruno Haible, Paul
62066         Eggert and Martin Lambers.
62067
62068 2006-06-27  Simon Josefsson  <jas@extundo.com>
62069
62070         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
62071         Eggert and Martin Lambers.
62072
62073 2006-06-27  Bruno Haible  <bruno@clisp.org>
62074
62075         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
62076         result to 0, not to empty.
62077         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
62078
62079 2006-06-27  Bruno Haible  <bruno@clisp.org>
62080
62081         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
62082
62083 2006-06-26  Simon Josefsson  <jas@extundo.com>
62084
62085         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
62086         present.
62087
62088 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
62089
62090         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
62091         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
62092         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
62093
62094 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
62095
62096         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
62097
62098 2006-06-26  Bruno Haible  <bruno@clisp.org>
62099
62100         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
62101
62102 2006-06-26  Bruno Haible  <bruno@clisp.org>
62103
62104         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
62105
62106 2006-06-26  Bruno Haible  <bruno@clisp.org>
62107
62108         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
62109         SGI C compiler in pre-C99 mode.
62110         Suggested by Mark D. Baushke and Larry Jones.
62111
62112 2006-06-26  Bruno Haible  <bruno@clisp.org>
62113
62114         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
62115         WCHAR_MAX.
62116         Reported by Mark D. Baushke and Larry Jones.
62117
62118 2006-06-26  Bruno Haible  <bruno@clisp.org>
62119
62120         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
62121         in pre-C99 mode.
62122         Suggested by Mark D. Baushke and Larry Jones.
62123
62124 2006-06-23  Simon Josefsson  <jas@extundo.com>
62125             Bruno Haible  <bruno@clisp.org>
62126
62127         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
62128         Emit mostlyclean-local rule.
62129         (func_emit_tests_Makefile_am): Likewise.
62130         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
62131
62132 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
62133
62134         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
62135
62136 2006-06-23  Bruno Haible  <bruno@clisp.org>
62137
62138         * tests/test-stdint.c: Update to match ISO C 99 Technical
62139         Corrigendum 1.
62140
62141 2006-06-23  Bruno Haible  <bruno@clisp.org>
62142
62143         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
62144
62145 2006-06-23  Bruno Haible  <bruno@clisp.org>
62146
62147         * lib/stdint_.h: Treat IRIX like OpenBSD.
62148
62149 2006-06-23  Bruno Haible  <bruno@clisp.org>
62150
62151         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
62152         ISO C 99 Technical Corrigendum 1.
62153
62154 2006-06-22  Simon Josefsson  <jas@extundo.com>
62155
62156         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
62157         MinGW.
62158
62159 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
62160
62161         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
62162         needed.  Some compiler complained about some of them.  Problem reported
62163         by Larry Jones in
62164         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
62165
62166 2006-06-21  Simon Josefsson  <jas@extundo.com>
62167
62168         * tests/test-getaddrinfo.c: New file.
62169
62170         * modules/getaddrinfo-tests: New file.
62171
62172         * MODULES.html.sh: Add inet_pton.
62173
62174         * modules/inet_pton: New file.
62175
62176 2006-06-21  Simon Josefsson  <jas@extundo.com>
62177
62178         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
62179         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
62180         of using the (limited) gnulib implementation on Windows XP.
62181
62182         * m4/inet_pton.m4: New file.
62183
62184 2006-06-21  Simon Josefsson  <jas@extundo.com>
62185
62186         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
62187         variable.
62188
62189         * lib/socket_.h: Don't define WINVER.
62190
62191         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
62192         slightly modified to work in gnulib.
62193
62194 2006-06-21  Simon Josefsson  <jas@extundo.com>
62195
62196         * doc/gnulib.texi (Windows sockets): Add.
62197
62198 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62199
62200         * lib/read-file.c (fread_file): Start with buffer allocation of
62201         0 bytes rather than 1 byte; this simplifies the code.
62202         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
62203         code to free buffer and save/restore errno.
62204         (internal_read_file): Remove unused local.
62205
62206 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62207
62208         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
62209         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
62210         Problem reported by Denis Excoffier in
62211         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
62212
62213 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62214
62215         * modules/sys_socket, modules/socklen: Include sys/types since
62216         FreeBSD 4.x's sys/socket.h needs it.
62217
62218 2006-06-19  Simon Josefsson  <jas@extundo.com>
62219
62220         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
62221
62222 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
62223
62224         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
62225
62226 2006-06-19  Bruno Haible  <bruno@clisp.org>
62227
62228         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
62229         and FULL_PATH_INTTYPES_H in angle brackets.
62230         Reported by Mark D. Baushke <mdb@gnu.org>.
62231
62232 2006-06-17  Eric Blake  <ebb9@byu.net>
62233
62234         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
62235         errno.
62236
62237 2006-06-17  Bruno Haible  <bruno@clisp.org>
62238
62239         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
62240         <sys/inttypes.h>.
62241
62242 2006-06-17  Bruno Haible  <bruno@clisp.org>
62243
62244         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
62245         whether errno is declared. Assume <errno.h> declares errno.
62246
62247 2006-06-17  Bruno Haible  <bruno@clisp.org>
62248
62249         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
62250
62251 2006-06-17  Bruno Haible  <bruno@clisp.org>
62252
62253         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
62254         problem on Solaris 2.5.1.
62255
62256 2006-06-16  Eric Blake  <ebb9@byu.net>
62257
62258         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
62259         * lib/unicodeio.c [!defined errno]: Likewise.
62260         * lib/strtol.c [!defined errno]: Likewise.
62261         * lib/strtod.c [!defined errno]: Likewise.
62262
62263 2006-06-15  Eric Blake  <ebb9@byu.net>
62264
62265         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
62266
62267 2006-06-15  Eric Blake  <ebb9@byu.net>
62268
62269         * config/srclist.txt (ssize_t.m4): Lose sync.
62270
62271 2006-06-15  Bruno Haible  <bruno@clisp.org>
62272
62273         * modules/stdint (Files): Include m4/full-header-path.m4,
62274         m4/size_max.m4, m4/wchar_t.m4.
62275         (Makefile.am): Many more substitutions.
62276         * modules/stdint-tests: New file.
62277         * tests/test-stdint.c: New file.
62278
62279 2006-06-15  Bruno Haible  <bruno@clisp.org>
62280
62281         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
62282         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
62283         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
62284         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
62285         gl_CHECK_TYPE_SAME): New macros.
62286
62287 2006-06-15  Bruno Haible  <bruno@clisp.org>
62288
62289         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
62290
62291 2006-06-15  Bruno Haible  <bruno@clisp.org>
62292
62293         * lib/stdint_.h: Rewritten to be fully auto-configured.
62294         Fixes bug on HP-UX/IA64.
62295
62296 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
62297
62298         * lib/getdate.y (__attribute__): Don't define if already defined.
62299         Problem reported by Larry Jones.
62300         * lib/utimens.c (__attribute__): Likewise.
62301
62302 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
62303
62304         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
62305         reported by Andreas Schwab.
62306
62307 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62308             Bruno Haible  <bruno@clisp.org>
62309
62310         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
62311         check for the declaration of strnlen and a run test that exposes the
62312         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
62313         rpl_strndup.
62314
62315 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62316             Bruno Haible  <bruno@clisp.org>
62317
62318         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
62319
62320 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62321
62322         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
62323         compile test, for Tru64 4.0D.
62324
62325 2006-05-28  Karl Berry  <karl@gnu.org>
62326
62327         * config/srclist.txt (printf-args.c): lose sync.
62328
62329 2006-05-26  Martin Lambers  <marlam@marlam.de>
62330
62331         * lib/getpass.c: Updates the test for the native W32 API, and adds
62332         missing includes, thus fixing compilation warnings.
62333
62334 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
62335
62336         * lib/exclude.c (exclude_fnmatch): New function.
62337         (excluded_file_name): Call exclude_fnmatch.
62338         * lib/exclude.h (excluded_file_name): New prototype
62339
62340 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
62341
62342         * lib/tempname.c (small_open, large_open): New macros.
62343         (__open, __open64) [!_LIBC]: Remove.
62344         (__gen_tempname): Use small_open and large_open instead of __open
62345         and __open64.  This fixes a portability bug on HP-UX 11.11i
62346         reported by Simon Wing-Tang in
62347         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
62348
62349 2006-05-24  Bruno Haible  <bruno@clisp.org>
62350
62351         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
62352         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
62353         Reported by Thorsten Maerz <torte@netztorte.de> via
62354         Aaron Stone <aaron@serendipity.cx>.
62355
62356 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62357
62358         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
62359         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
62360         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
62361         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
62362         not really conditional on the cache.
62363         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
62364
62365 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62366
62367         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
62368         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
62369         (my_usleep): Don't mishandle maximum value.
62370
62371 2006-05-19  Jim Meyering  <jim@meyering.net>
62372
62373         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
62374
62375 2006-05-17  Bruno Haible  <bruno@clisp.org>
62376
62377         Cygwin portability.
62378         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
62379
62380 2006-05-17  Bruno Haible  <bruno@clisp.org>
62381
62382         * lib/stdint_.h: Fix recognition of Cygwin.
62383
62384 2006-05-15  Bruno Haible  <bruno@clisp.org>
62385
62386         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
62387         on libtool patch by Ralf Wildenhues.
62388
62389 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
62390
62391         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
62392         test for C99 conformance; (bool) 0.5 is an integer constant
62393         expression, but (bool) -0.5 is not.  Problem reported by Fedor
62394         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
62395
62396 2006-05-11  Simon Josefsson  <jas@extundo.com>
62397
62398         * m4/xvasprintf.m4: Fix obvious typo.
62399
62400 2006-05-11  Jim Meyering  <jim@meyering.net>
62401
62402         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
62403         James Lemley.
62404
62405 2006-05-10  Simon Josefsson  <jas@extundo.com>
62406
62407         * lib/md4.c: Typo fix, update copyright years.
62408         (K1, K2): Don't use L because it turn computations into 64-bit on
62409         64-bit platforms.
62410
62411 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
62412
62413         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
62414         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
62415         unwanted sign propagation, e.g., on hosts with 64-bit int.
62416         There still are some problems with reeelly weird theoretical hosts
62417         (e.g., 33-bit int) but it's not worth worrying about now.
62418         * lib/sha1.c (rol): Likewise.
62419         (K1, K2, K3, K4): Remove unnecessary L suffix.
62420
62421 2006-05-10  Bruno Haible  <bruno@clisp.org>
62422
62423         * lib/des.c: Cast to avoid warnings.
62424
62425 2006-05-09  Bruno Haible  <bruno@clisp.org>
62426
62427         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
62428         (Depends-on): Depend also on xsize, stdarg.
62429         (configure.ac): Add gl_XVASPRINTF.
62430
62431 2006-05-09  Bruno Haible  <bruno@clisp.org>
62432
62433         * m4/xvasprintf.m4: New file.
62434
62435 2006-05-09  Bruno Haible  <bruno@clisp.org>
62436
62437         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
62438         (EOVERFLOW): Define fallback value.
62439         (xstrcat): New function.
62440         (xvasprintf): Recognize the special case of a string concatenation.
62441
62442 2006-05-08  Eric Blake  <ebb9@byu.net>
62443
62444         * gnulib-tool (func_version): Base copyright year on CVS date.
62445         (func_emit_copyright_notice): New function.
62446         (func_emit_lib_Makefile_am): Use it.
62447         (func_emit_tests_Makefile_am): Likewise.
62448         (func_import): Likewise.
62449
62450 2006-05-08  Bruno Haible  <bruno@clisp.org>
62451
62452         * modules/stdarg: New file.
62453         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
62454
62455 2006-05-08  Bruno Haible  <bruno@clisp.org>
62456
62457         * m4/stdarg.m4: New file, from GNU gettext.
62458
62459 2006-05-08  Bruno Haible  <bruno@clisp.org>
62460
62461         * config/srclist.txt (build-aux/config.rpath): different from latest
62462         release.
62463
62464 2006-05-08  Bruno Haible  <bruno@clisp.org>
62465
62466         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
62467
62468 2006-05-05  Jim Meyering  <jim@meyering.net>
62469
62470         * m4/warning.m4: New file, derived from bison's file by the same name.
62471
62472 2006-05-03  Bruno Haible  <bruno@clisp.org>
62473
62474         * lib/stdint_.h: Shorter URL.
62475         * lib/inttypes.h: Likewise.
62476
62477 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62478
62479         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
62480
62481 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62482
62483         * lib/verify.h: Document the internals better.  Most of this change
62484         was written by Bruno Haible.
62485
62486 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62487
62488         * doc/verify.texi: New file, partly based on a proposal by
62489         Bruno Haible.
62490
62491 2006-05-02  Bruno Haible  <bruno@clisp.org>
62492
62493         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
62494         test from here...
62495         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
62496
62497 2006-04-29  Bruno Haible  <bruno@clisp.org>
62498
62499         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
62500         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
62501
62502 2006-04-29  Bruno Haible  <bruno@clisp.org>
62503
62504         * gnulib-tool: Make --update option actually work.
62505
62506 2006-04-29  Bruno Haible  <bruno@clisp.org>
62507
62508         * doc/gcd.texi: New file.
62509         * doc/gnulib.texi: Include it.
62510
62511 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
62512
62513         * lib/getdate.y (get_date): When adding relative date, start with the
62514         initial time, not with the result of the first mktime call.
62515
62516 2006-04-25  Bruno Haible  <bruno@clisp.org>
62517
62518         * gnulib-tool (func_import): Output the include directives in three
62519         blocks, sorted separately.
62520         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62521
62522 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62523
62524         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
62525         to define main with arguments, for C++.  Reported by Eric Blake.
62526         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
62527         Prefer 'int main ()' to 'int main (void)', for C++.
62528         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
62529         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
62530         for 'main', for C99 and C++.
62531
62532 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62533
62534         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
62535         Don't assume that exit status -1 is valid.
62536         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62537         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
62538         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
62539         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
62540         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
62541         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
62542         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
62543         functions can be used without declaring them, or that you can
62544         exit with status -1.
62545         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
62546
62547 2006-04-24  Karl Berry  <karl@gnu.org>
62548
62549         * config/srclist.txt (longdouble.m4): sync lost.
62550
62551 2006-04-24  Eric Blake  <ebb9@byu.net>
62552
62553         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
62554
62555 2006-04-24  Bruno Haible  <bruno@clisp.org>
62556
62557         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
62558         poll() implementation in AIX.
62559         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62560
62561 2006-04-24  Bruno Haible  <bruno@clisp.org>
62562
62563         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
62564         assigned exactly once.
62565
62566 2006-04-23  Claudio Fontana  <claudio@gnu.org>
62567             Bruno Haible  <bruno@clisp.org>
62568
62569         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
62570         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
62571         for AM_CPPFLAGS.
62572
62573 2006-04-23  Bruno Haible  <bruno@clisp.org>
62574
62575         * modules/copy-file: Depend on unistd.
62576         * modules/execute: Likewise.
62577         * modules/fatal-signal: Likewise.
62578         * modules/findprog: Likewise.
62579         * modules/mkdtemp : Likewise.
62580         * modules/pipe: Likewise.
62581         * modules/wait-process: Likewise.
62582
62583 2006-04-23  Bruno Haible  <bruno@clisp.org>
62584
62585         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
62586         condition was already detected.
62587         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62588
62589 2006-04-23  Bruno Haible  <bruno@clisp.org>
62590
62591         * lib/copy-file.c: Include <unistd.h> unconditionally.
62592         * lib/execute.c: Likewise.
62593         * lib/fatal-signal.c: Likewise.
62594         * lib/findprog.c: Likewise.
62595         * lib/mkdtemp.c: Likewise.
62596         * lib/pipe.h: Likewise.
62597         * lib/pipe.c: Likewise.
62598         * lib/wait-process.h: Likewise.
62599
62600 2006-04-23  Bruno Haible  <bruno@clisp.org>
62601
62602         * gnulib-tool (func_usage): Fix --import description. Document
62603         --update.
62604         (func_import): Create temporary file in a temporary directory, if
62605         --dry-run is specified. Silence errors from 'grep' when there are no
62606         m4 files in $m4dir.
62607         (func_create_testdir): Silence errors from 'grep' when there are no
62608         m4 files in $m4dir.
62609         Reported by Karl Berry <karl@freefriends.org>.
62610
62611 2006-04-20  Bruno Haible  <bruno@clisp.org>
62612
62613         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
62614         one argument, so that the code will be portable to Autoconf 2.60.
62615         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
62616         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
62617         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
62618
62619 2006-04-19  Derek Price  <derek@ximbiot.com>
62620             Eric Blake  <ebb9@byu.net>
62621
62622         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
62623         rather than "/full/path.h".  Update comment to match.  Shorten &
62624         generalize m4_translit call via AS_TR_CPP.
62625
62626 2006-04-19  Derek Price  <derek@ximbiot.com>
62627             Eric Blake  <ebb9@byu.net>
62628
62629         * lib/inttypes.h: Correct grammar in comment.
62630
62631 2006-04-18  Derek Price  <derek@ximbiot.com>
62632             Paul Eggert  <eggert@cs.ucla.edu>
62633
62634         * modules/inttypes: New file.
62635         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
62636
62637 2006-04-18  Derek Price  <derek@ximbiot.com>
62638             Paul Eggert  <eggert@cs.ucla.edu>
62639
62640         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
62641         New files.
62642
62643 2006-04-18  Derek Price  <derek@ximbiot.com>
62644             Paul Eggert  <eggert@cs.ucla.edu>
62645
62646         * lib/inttypes.h: New file.
62647         * lib/strtoimax.c: Assume <inttypes.h>.
62648
62649 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
62650
62651         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
62652         isn't mounted.  Problem reported by Kir Kolyshkin.
62653
62654 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62655
62656         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
62657         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
62658         Derek R. Price.
62659         * lib/regex.h (RE_DUP_MAX): Update comment to match current
62660         implementation.
62661
62662 2006-04-12  Eric Blake  <ebb9@byu.net>
62663
62664         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
62665         is now done automatically by the corresponding Autoconf macro.
62666
62667 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
62668
62669         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
62670         time_r.h.
62671
62672 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62673
62674         Merge regex changes from libc, removing some of our
62675         POSIX-conformance changes that were rejected and redoing them in a
62676         less-intrusive way.
62677
62678         * lib/regcomp.c (re_compile_internal, init_dfa):
62679         Length arg is now size_t, not Idx.  All uses changed.
62680         (peek_token): Forward decl now says internal_function.
62681         (__re_error_msgid, __re_error_msgid_idx):
62682         Now static rather than extern with attribute_hidden.
62683         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
62684         For some reason libc prefers K&R style defns for external functions.
62685         (regerror) [!defined _LIBC]: Likewise.
62686         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
62687         (seek_collating_symbol_entry, lookup_collation_sequence_value):
62688         (build_range_exp, build_collating_symbol):
62689         Use K&R-style defn.
62690         (re_compile_fastmap): Use '\0' to memset, not 0.
62691         (utf8_sb_map): Make the calculations more obvious.
62692         (init_dfa, parse_bracket_exp, build_charclass_op):
62693         Call calloc and cast result, as glibc does.
62694         (init_word_char, fetch_token, peek_token, peek_token_bracket):
62695         (build_range_exp, build_collating_symbol):
62696         Now internal functions.
62697
62698         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
62699
62700         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
62701         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
62702         Don't depend on VMS; depend on __VMS instead, for POSIX
62703         namespace cleanness.
62704         (regoff_t): Define to ssize_t, not long int.
62705
62706         Remove the REG_ macros named below.  Instead, make the old names
62707         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
62708         __USE_GNU_REGEX.
62709         (REG_BACKSLASH_ESCAPE_IN_LISTS):
62710         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
62711         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
62712         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
62713         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
62714         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
62715         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
62716         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
62717         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
62718         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
62719         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
62720         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
62721         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
62722         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
62723         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
62724         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
62725         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
62726         (REG_NREGS):
62727         Remove.  All uses replaced by the old RE_* names.
62728         (RE_BACKSLASH_ESCAPE_IN_LISTS):
62729         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
62730         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
62731         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
62732         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
62733         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
62734         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
62735         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
62736         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
62737         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
62738         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
62739         Don't bother having these macros be independent of each others'
62740         values, since they no longer exist in the POSIX name space.
62741
62742         Rename the following member names back to their old names,
62743         unless !__USE_GNU_REGEX.  All uses changed back.
62744         (buffer): Renamed from re_buffer.
62745         (allocated): Renamed from re_allocated.
62746         (used): Renamed from re_used.
62747         (syntax): Renamed from re_syntax.
62748         (fastmap): Renamed from re_fastmap.
62749         (translate): Renamed from re_translate.
62750         (can_be_null): Renamed from re_can_be_null.
62751         (regs_allocated): Renamed from re_regs_allocated.
62752         (fastmap_accurate): Renamed from re_fastmap_accurate.
62753         (no_sub): Renamed from re_no_sub.
62754         (not_bol): Renamed from re_not_bol.
62755         (not_eol): Renamed from re_not_eol.
62756         (newline_anchor): Renamed from re_newline_anchor.
62757         (num_regs): Renamed from rm_num_regs.
62758         (start): Renamed from rm_start.
62759         (end): Renamed from rm_end.
62760
62761         (free_state): Move up a bit.
62762
62763         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
62764         #define to be empty.
62765         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
62766         when that is what is intended.
62767         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
62768         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
62769         (MAX): New macro.
62770         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
62771         All uses changed back to re_malloc, etc.  It's now the caller's
62772         responsibility to check for overflow; all callers changed.
62773         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
62774         (re_x2nrealloc): Remove.
62775         (free_state): Remove decl.
62776
62777         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
62778         (re_set_registers, re_exec):
62779         Use K&R-style defn.
62780
62781         2006-01-31  Roland McGrath  <roland@redhat.com>
62782
62783         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
62784         Reported by Mike Frysinger <vapier@gentoo.org>.
62785
62786         2006-01-15  Andreas Jaeger  <aj@suse.de>
62787
62788         [BZ #1950]
62789         * lib/regex_internal.c (re_string_reconstruct): Adjust for
62790         build_wcs_upper_buffer change.
62791         (build_wcs_upper_buffer): Change return type.
62792
62793         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
62794
62795         * lib/regex_internal.h: Include <stdint.h> if available.
62796
62797         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
62798
62799         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
62800
62801         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
62802
62803         * lib/regcomp.c: Adjust for changed secondary hash function.
62804
62805         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
62806
62807         * lib/regex.h: Pretty printing.
62808         Clean up namespace a bit.
62809
62810         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
62811
62812         * lib/regexec.c (update_cur_sifted_state, check_arrival,
62813         check_arrival_add_next_nodes): Avoid using uninitialized variable.
62814
62815         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62816                     Ulrich Drepper  <drepper@redhat.com>
62817
62818         [BZ #1302]
62819         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
62820         changed.
62821         (bitset_word_t): Renamed from bitset_word.  All uses changed.
62822
62823         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
62824
62825         [BZ #281]
62826         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
62827         * lib/regcomp.c: Remove unnecessary uses of
62828         unsigned RE_TRANSLATE_TYPE.
62829         * lib/regex_internal.h: Likewise.
62830         * lib/regex_internal.c: Likewise.
62831         * lib/regexec.c: Likewise.
62832         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
62833
62834         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
62835
62836         * lib/regexec.c (find_recover_state): Remove unnecessary
62837         initialization.
62838         (transit_state_bkref): Make DFA a const pointer.
62839         (get_subexp): Likewise.
62840         (check_arrival): Likewise.
62841         (update_cur_sifted_state): Likewise.
62842         (re_search_internal): Likewise.
62843         (prune_impossible_nodes): Likewise.
62844         (acquire_init_state_context): Likewise.
62845         (proceed_next_node): Likewise.
62846         (set_regs): Likewise.
62847         (free_fail_stack_return): Likewise.
62848         (check_arrival_expand_ecl): Mark DFA parameter as const.
62849         (check_arrival_expand_ecl_sub): Likewise.
62850         (check_subexp_limits): Likewise.
62851         (sub_epsilon_src_nodes):  Likewise.
62852         (add_epsilon_src_nodes):  Likewise.
62853         (merge_state_array): Likewise.
62854         (update_regs): Likewise.
62855         (build_trtable): Likewise.
62856         (sift_states_backward): Mark MCTX parameter as const.
62857         (build_sifted_states): Likewise.
62858         (update_cur_sifted_state): Likewise.
62859         (sift_states_mkref): Likewise.
62860         (check_arrival_expand_ecl): Mark eclosure as const.
62861         (check_dst_limits_calc_pos_1): Likewise.
62862         * lib/regex_internal.h (re_match_context_t): Make dfa a const
62863         pointer.
62864
62865         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
62866
62867         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
62868         (transit_state_sb): Likewise.
62869         (transit_state_mb): Likewise.
62870         (sift_states_iter_mb): Likewise.
62871         (check_arrival_add_next_nodes): Likewise.
62872         (check_node_accept_bytes): Change first parameter to pointer-to-const.
62873         [_LIBC] (re_search_2_stub): Use mempcpy.
62874
62875         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
62876         mbrtowc for very simple UTF-8 case.
62877
62878         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
62879         a pointer-to-const.
62880         (re_acquire_state_context): Likewise.
62881         * lib/regex_internal.h: Adjust prototypes.
62882
62883         * lib/regex.c: Prevent using C++ compilers.
62884
62885         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
62886         (re_acquire_state_context): Likewise.
62887
62888 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62889
62890         * modules/regex (Depends-on): Add ssize_t.
62891
62892 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62893
62894         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
62895         translation table.
62896
62897 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62898
62899         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
62900
62901 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
62902             Bruno Haible  <bruno@clisp.org>
62903
62904         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
62905         <sys/types.h> and <inttypes.h>.
62906
62907 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62908
62909         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
62910         `__error_t_defined', so argp.h will not typedef the former.
62911
62912 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
62913
62914         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
62915         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
62916         glibc names.  Even if glibc is changed to conform to POSIX, the
62917         traditional names will be available anyway, since regex depends on
62918         the extensions module.  Also, fix a longstanding typo in the
62919         implementation of Spencer ERE test #75 from grep 2.3.  Problems
62920         reported by Emanuele Giaquinta.  Also, change sense of cached
62921         variable, so that the message makes sense.
62922
62923 2006-03-24  Simon Josefsson  <jas@extundo.com>
62924
62925         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
62926         including some doc fixes.
62927         (base64_encode_alloc): Fix +1 bug on allocation failures.
62928
62929 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62930
62931         * lib/base64.c (base64_encode): Do not read past end of array with
62932         unsanitized input on systems with CHAR_BIT > 8.
62933
62934 2006-03-24  Eric Blake  <ebb9@byu.net>
62935
62936         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
62937
62938 2006-03-22  Karl Berry  <karl@gnu.org>
62939
62940         * config/srclist.txt (*setenv.[ch]): get from coreutils.
62941         * config/srclistvars.sh (COREUTILS): new var.
62942
62943 2006-03-17  Jim Meyering  <jim@meyering.net>
62944
62945         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
62946         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
62947
62948 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
62949
62950         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
62951         no longer needs it.  Instead, check that regoff_t is as least
62952         as wide as ptrdiff_t.
62953
62954         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
62955         so that our regex.h stays compatible with the installed regex.
62956         This is helpful for installers who configure --without-included-regex.
62957         Problem reported by Emanuele Giaquinta.
62958
62959 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
62960
62961         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
62962         Typedef to long int, not to off_, as POSIX will likely change
62963         in that direction.
62964
62965 2006-03-15  Eric Blake  <ebb9@byu.net>
62966
62967         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
62968
62969 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
62970
62971         * lib/argp-help.c (validate_uparams): Fix typo
62972         * lib/argp-parse.c (argp_default_options): Consistently begin help
62973         messages with a lowercase letter.
62974
62975 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
62976
62977         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
62978         overrun buffers and shouldn't be used (much as gets shouldn't be
62979         used).
62980         * lib/time_r.c (asctime_r, ctime_r): Likewise.
62981
62982 2006-03-08  Simon Josefsson  <jas@extundo.com>
62983
62984         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
62985         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62986
62987 2006-03-08  Simon Josefsson  <jas@extundo.com>
62988
62989         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
62990         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62991
62992 2006-03-08  Simon Josefsson  <jas@extundo.com>
62993
62994         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
62995         signal that configure disabled the device.
62996
62997 2006-03-08  Simon Josefsson  <jas@extundo.com>
62998
62999         * build-aux/maint.mk: Fix refresh-po, to handle no translated
63000         languages.
63001
63002 2006-03-07  Simon Josefsson  <jas@extundo.com>
63003
63004         * modules/getopt (Depends-on): Add unistd.
63005
63006         * modules/unistd: New file.
63007
63008 2006-03-07  Simon Josefsson  <jas@extundo.com>
63009
63010         * modules/gc-random: New file.
63011
63012 2006-03-07  Simon Josefsson  <jas@extundo.com>
63013
63014         * m4/unistd_h.m4: New file.
63015
63016 2006-03-07  Simon Josefsson  <jas@extundo.com>
63017
63018         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
63019         test to be side-effect free by storing the result in the cache
63020         variable gl_cv_lib_readline, and moving the assignment of
63021         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
63022         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63023
63024 2006-03-07  Simon Josefsson  <jas@extundo.com>
63025
63026         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
63027         error on missing devices (the functions will return an error).
63028
63029         * m4/gc.m4: Move random stuff to gc-random.m4
63030
63031 2006-03-07  Simon Josefsson  <jas@extundo.com>
63032
63033         * lib/unistd_.h: New file.
63034
63035 2006-03-07  Simon Josefsson  <jas@extundo.com>
63036
63037         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
63038
63039 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63040
63041         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
63042         Problem reported by Juan Manuel Guerrero.
63043
63044 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63045
63046         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
63047         the unistd module.
63048         * lib/getlogin_r.c: Likewise.
63049         * lib/getlogin_r.h: Likewise.
63050         * lib/glob.c: Likewise.
63051         * lib/pagealign_alloc.c: Likewise.
63052         * lib/unistd_.h: Remove; no longer needed.
63053
63054 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63055
63056         * MODULES.html.sh (Support for systems lacking POSIX:2001):
63057         Add unistd.
63058         * modules/c-stack (Depends-on): Add unistd.
63059         * modules/getlogin_r: Likewise.
63060         * modules/glob: Likewise.
63061         * modules/pagealign_alloc: Likewise.
63062         * modules/unistd (Files): Remove lib/unistd_.h.
63063         (EXTRA_DIST): Remove.
63064         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
63065         need unistd_.h.
63066         (MOSTLYCLEANFILES): Remove unistd.h-t.
63067
63068 2006-03-03  Simon Josefsson  <jas@extundo.com>
63069
63070         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
63071
63072 2006-03-03  Simon Josefsson  <jas@extundo.com>
63073
63074         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
63075         libidn and bison.
63076
63077 2006-03-03  Simon Josefsson  <jas@extundo.com>
63078
63079         * build-aux/maint.mk: Add indent target.
63080
63081 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
63082
63083         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
63084         our replacement poll.h in any case, to avoid a differing
63085         declaration from a system header.  Seen on AIX.
63086
63087 2006-03-01  Simon Josefsson  <jas@extundo.com>
63088
63089         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
63090         <kasal@ucw.cz>.
63091
63092 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63093
63094         * modules/gettime (Depends-on): Add extensions module.
63095         * modules/nanosleep (Depends-on): Likewise.
63096         * modules/settime (Depends-on): Likewise.
63097
63098 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63099
63100         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
63101         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
63102         pedantically.
63103         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63104         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
63105
63106         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
63107         not "==".  Reported by Ralf Wildenhues.
63108
63109 2006-03-01  Karl Berry  <karl@gnu.org>
63110
63111         * doc/Copyright/request-*: new files, synced from gnuorg.
63112
63113 2006-03-01  Karl Berry  <karl@gnu.org>
63114
63115         * config/srclist.txt (Copyright/*): new entries.
63116
63117 2006-02-28  Simon Josefsson  <jas@extundo.com>
63118
63119         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
63120
63121 2006-02-27  Simon Josefsson  <jas@extundo.com>
63122
63123         * lib/base64.h: Indent #define's.  From Jim Meyering
63124         <jim@meyering.net>.
63125
63126 2006-02-27  Jim Meyering  <jim@meyering.net>
63127
63128         Revert the change of 2006-02-24, so these files can continue
63129         to be sync'd from gettext.
63130         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
63131         of `config.h'.
63132
63133 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
63134
63135         * modules/intprops: New file.
63136         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
63137         Add intprops.
63138         * modules/getloadavg (Files): Remove lib/intprops.h.
63139         (Depends-on): Add intprops.
63140         * modules/human: Likewise.
63141         * modules/inttostr: Likewise.
63142         * modules/openat: Likewise.
63143         * modules/sig2str: Likewise.
63144         * modules/userspec: Likewise.
63145         * modules/utimecmp: Likewise.
63146         * modules/xnanosleep: Likewise.
63147         * modules/xstrtol: Likewise.
63148
63149 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
63150
63151         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
63152         * modules/lock-tests (TESTS): Use $(EXEEXT).
63153         * modules/tls-tests: Likewise.
63154         * modules/argp-tests: Likewise.
63155         (check_PROGRAMS): New var, replacing...
63156         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
63157
63158 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63159
63160         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
63161         `config.h'.
63162
63163 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
63164
63165         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
63166
63167 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63168
63169         Sync from coreutils.
63170         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
63171         gl_CHDIR_SAFER.
63172
63173 2006-02-22  Jim Meyering  <jim@meyering.net>
63174
63175         Sync from coreutils.
63176         * m4/chdir-safer.m4: New file.
63177
63178 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
63179
63180         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
63181         AT_FDCWD exceeds INT_MAX.
63182         * lib/openat.h (AT_FDCWD): Likewise.
63183
63184 2006-02-17  Eric Blake  <address@hidden>
63185
63186         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
63187
63188 2006-02-16  Simon Josefsson  <jas@extundo.com>
63189
63190         * modules/getaddrinfo (Depends-on): Add sys_socket.
63191
63192 2006-02-15  Simon Josefsson  <jas@extundo.com>
63193
63194         * build-aux/maint.mk: Add dsyntax-check rule.
63195
63196 2006-02-15  Eric Blake  <ebb9@byu.net>
63197
63198         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
63199         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
63200         'present but cannot compile' warnings on cygwin.
63201         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
63202         use ws2tcpip.h if sys/socket.h works.
63203         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
63204         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
63205
63206 2006-02-14  Simon Josefsson  <jas@extundo.com>
63207
63208         * modules/maintainer-makefile (Files): Rename.
63209
63210         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
63211         and (the local) Makefile.cfg to maint-cfg.mk.
63212
63213         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
63214         to the latter.
63215
63216         * modules/maintainer-makefile: New module.
63217
63218         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
63219         severaly stripped to make it possible to build it up from scratch
63220         with reliable tests.
63221
63222         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
63223         fixes to permit overriding the default actions when configure and
63224         makefile are not available.
63225
63226 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
63227
63228         Sync from coreutils.
63229         * modules/lstat (Depends-on): Don't depend on xalloc.
63230         (License): Change from GPL to LGPL, since this is now simply a
63231         replacement for a libc function.
63232
63233 2006-02-14  Jim Meyering  <jim@meyering.net>
63234
63235         Sync from coreutils.
63236
63237         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
63238         failure on deficient systems, and simplify gnulib lgpl dependencies.
63239         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
63240         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
63241
63242         * lib/xalloc-die.c: Remove unused definition of N_.
63243
63244 2006-02-14  Jim Meyering  <jim@meyering.net>
63245
63246         Sync from coreutils.
63247         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
63248         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
63249         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
63250         double-quote uses of that variable, to accommodate the rare case in
63251         which getmntent is available in none of the libraries checked.  This
63252         happens at least on FreeBSD 5.0.
63253
63254 2006-02-13  Simon Josefsson  <jas@extundo.com>
63255
63256         * gnulib-tool (Usage): Fix --import, from
63257         karl@freefriends.org (Karl Berry).
63258
63259 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
63260
63261         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
63262
63263 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
63264
63265         * lib/argp-namefrob.h: Restore changes accidentally lost during the
63266         "autoupdate" on 2005-12-12.
63267
63268 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63269
63270         * modules/closeout (Depends-on): Remove atexit.
63271
63272 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63273
63274         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
63275         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
63276
63277 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63278
63279         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
63280         __EXTENSIONS__ if this causes compilation to fail.  Problem
63281         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
63282         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
63283
63284 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
63285
63286         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
63287         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
63288         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
63289         All uses changed.
63290
63291 2006-01-26  Simon Josefsson  <jas@extundo.com>
63292
63293         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
63294         prototype is visible on mingw32.
63295
63296         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
63297         for mingw32.
63298
63299         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
63300         mingw32).
63301
63302 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63303
63304         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
63305         attempt to open for write; this always fails, at least on POSIX
63306         hosts.  This reinstates the 2006-01-09 change, which was
63307         inadvertently removed.
63308
63309 2006-01-26  Bruno Haible  <bruno@clisp.org>
63310
63311         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
63312         Reported by Paul Eggert.
63313
63314 2006-01-26  Bruno Haible  <bruno@clisp.org>
63315             Paul Eggert  <eggert@cs.ucla.edu>
63316
63317         * lib/stdbool_.h (_Bool)
63318         [(! (defined __cplusplus || defined __BEOS__)
63319           && !defined __GNUC__
63320           && !(defined __HP_cc || defined __xlc__
63321                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
63322                || defined __sgi))]:
63323         #define to signed char in these cases too; this simplifies
63324         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
63325         etc., separately) and makes it more conservative.
63326
63327 2006-01-25  Simon Josefsson  <jas@extundo.com>
63328
63329         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
63330         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
63331         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
63332
63333 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
63334
63335         * lib/argp-namefrob.h: Bugfix. Remove stray #
63336
63337 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
63338
63339         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
63340         so that we test the test.
63341         Check for yet another HP-UX cc bug involving *bool |= bool.
63342
63343 2006-01-25  Karl Berry  <karl@gnu.org>
63344
63345         * config/srclist.txt (vasnprintf.c): sync lost.
63346
63347 2006-01-25  Jim Meyering  <jim@meyering.net>
63348
63349         Sync from the stable (b5) branch of coreutils:
63350
63351         * lib/fts.c (fts_children): Don't let close() clobber errno from
63352         failed fchdir().
63353
63354         * lib/fts.c (fts_stat): When following a symlink-to-directory,
63355         don't necessarily interpret stat-fails+lstat-succeeds as indicating
63356         a dangling symlink.  That can also happen at least for ELOOP.
63357         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
63358         FYI, this bug predates the inclusion of fts.c in coreutils.
63359
63360         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
63361         in their own block, so pre-c99 compilers don't object.
63362
63363         Avoid the double-free (first in fts_read, second in fts_close) that
63364         would occur when an `active' directory is made inaccessible (e.g.,
63365         via chmod a-x) during a traversal.
63366         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63367         before returning.  Reproduce this failure by
63368         mkdir -p a/b; cd a; chmod a-x . b
63369         Reported by Stavros Passas.
63370
63371 2006-01-25  Jim Meyering  <jim@meyering.net>
63372
63373         * lib/fileblocks.c: Remove more useless parentheses.
63374         * lib/readutmp.h: Likewise.
63375
63376 2006-01-25  Bruno Haible  <bruno@clisp.org>
63377
63378         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
63379         warnings.
63380         Reported by Paul Eggert.
63381
63382 2006-01-25  Bruno Haible  <bruno@clisp.org>
63383
63384         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
63385         rid of a trap command. For Solaris sh.
63386         Reported by Mark D. Baushke <mdb@gnu.org>.
63387
63388 2006-01-24  Simon Josefsson  <jas@extundo.com>
63389
63390         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
63391         Bruno.
63392
63393 2006-01-24  Karl Berry  <karl@gnu.org>
63394
63395         * config/srclist.txt (argp-namefrob.h): sync lost.
63396
63397 2006-01-24  Jim Meyering  <jim@meyering.net>
63398
63399         * modules/openat (Files): Add lib/intprops.h.
63400         From Mark D. Baushke.
63401
63402 2006-01-24  Jim Meyering  <jim@meyering.net>
63403
63404         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
63405         Reported by Mark D. Baushke.
63406
63407 2006-01-24  Jim Meyering  <jim@meyering.net>
63408
63409         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
63410
63411 2006-01-24  Bruno Haible  <bruno@clisp.org>
63412
63413         * modules/strnlen (Maintainer): Change from glibc to all.
63414
63415 2006-01-24  Bruno Haible  <bruno@clisp.org>
63416
63417         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
63418         Patch by Paul Eggert.
63419
63420 2006-01-24  Bruno Haible  <bruno@clisp.org>
63421
63422         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
63423         already has it.
63424         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
63425         2005-11-26.
63426
63427         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
63428         'signed char' to avoid problems with the built-in _Bool type.
63429         Reported by Paul Eggert on 2005-11-26.
63430
63431 2006-01-24  Bruno Haible  <bruno@clisp.org>
63432
63433         * gnulib-tool (func_import): Avoid constructing complicated sed
63434         expressions inside backquote.
63435         Report and solution by Mark D. Baushke <mdb@gnu.org>.
63436
63437 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
63438
63439         These changes imported from libc.
63440         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
63441         test and two separate function calls.
63442         * lib/strndup.c (__strndup): Add libc_hidden_def.
63443
63444 2006-01-23  Simon Josefsson  <jas@extundo.com>
63445
63446         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
63447         Remove the test_*_SOURCES variable: automake infers it by default.
63448         * modules/tls-tests: Likewise.
63449
63450 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63451
63452         Work around porting bugs reported by Dieter in
63453         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
63454         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
63455         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
63456         Include "getopt.h" first, to check interface.
63457         (getenv): Declare only if defined HAVE_DECL_GETENV &&
63458         !HAVE_DECL_GETENV.
63459         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
63460         (__strndup): Revert to K&R-style function dfns, the glibc style.
63461         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
63462         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
63463         Include strnlen.h first, to get prototype properly.
63464         (strnlen): Renamed from __strnlen.
63465         Remove weak alias.
63466
63467 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63468
63469         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
63470
63471 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63472
63473         * config/srclist.txt: Adjust to reflect glibc reorganization.
63474         This affects only comments.
63475
63476 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63477
63478          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
63479          Reported by Bruce Korb <bkorb@gnu.org>.
63480
63481 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63482
63483         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
63484         to pacify gcc -Wswitch-default.
63485
63486 2006-01-22  Bruno Haible  <bruno@clisp.org>
63487
63488         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
63489         temporary buffer for sprintf, take into account the precision also
63490         for 'd', 'i', 'u', 'o', 'x', 'X'.
63491
63492 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63493
63494         * modules/argp-tests: New module
63495         * tests/test-argp.c: New file
63496         * tests/test-argp-2.sh: New file
63497
63498 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63499
63500         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
63501         (__argp_base_name): Removed
63502         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
63503         typo.
63504         (__argp_base_name): Provide macro definition or extern declaration
63505         depending on the configuration
63506
63507 2006-01-20  Simon Josefsson  <jas@extundo.com>
63508
63509         * modules/inet_ntop (Depends-on): Depend on sys_socket.
63510
63511 2006-01-20  Simon Josefsson  <jas@extundo.com>
63512
63513         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
63514
63515 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
63516
63517         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
63518         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
63519         Suggested by Bruno Haible.
63520
63521 2006-01-20  Karl Berry  <karl@gnu.org>
63522
63523         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
63524         until changes propagate, I guess.
63525
63526 2006-01-19  Simon Josefsson  <jas@extundo.com>
63527
63528         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
63529
63530 2006-01-19  Simon Josefsson  <jas@extundo.com>
63531
63532         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
63533
63534 2006-01-19  Simon Josefsson  <jas@extundo.com>
63535
63536         * gnulib-tool: Set check_PROGRAMS.
63537
63538         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63539         modules/des-tests, modules/gc-arcfour-tests,
63540         modules/gc-arctwo-tests, modules/gc-des-tests,
63541         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63542         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63543         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63544         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63545         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63546         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
63547         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
63548         test_*_SOURCES.
63549
63550 2006-01-18  Simon Josefsson  <jas@extundo.com>
63551
63552         * modules/socklen (Depends-on): Depend on sys_socket.
63553
63554 2006-01-18  Simon Josefsson  <jas@extundo.com>
63555
63556         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63557         modules/des-tests, modules/gc-arcfour-tests,
63558         modules/gc-arctwo-tests, modules/gc-des-tests,
63559         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63560         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63561         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63562         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63563         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63564         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
63565         $(EXEEXT) to automake TESTS variable, for mingw32.
63566
63567 2006-01-17  Simon Josefsson  <jas@extundo.com>
63568
63569         * modules/socklen (Include): Need sys/socket.h.
63570
63571 2006-01-17  Bruno Haible  <bruno@clisp.org>
63572
63573         * modules/ssize_t (Include): Add <sys/types.h>.
63574
63575 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
63576
63577         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
63578         it's not portable and it doesn't work with cross-compiles.
63579         Problem reported by Bruno Haible.  Fix missing-$ typo in
63580         'test "gl_cv_ignore_unused_libraries" ...' that prevented
63581         -zignore from being used with Sun's C compiler.
63582
63583 2006-01-12  Simon Josefsson  <jas@extundo.com>
63584
63585         * lib/base64.c: Fix warning, reported by Bruno Haible
63586         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
63587
63588 2006-01-12  Bruno Haible  <bruno@clisp.org>
63589
63590         * modules/ldd: New file.
63591         * build-aux/ldd.sh.in: New file.
63592         * MODULES.html.sh (Support for building libraries and executables): Add
63593         ldd.
63594
63595 2006-01-12  Bruno Haible  <bruno@clisp.org>
63596
63597         * m4/ldd.m4: New file.
63598
63599 2006-01-12  Bruno Haible  <bruno@clisp.org>
63600
63601         * gnulib-tool (func_import, func_create_testdir): Don't go into an
63602         endless loop while replacing $auxdir with build-aux.
63603
63604 2006-01-11  Simon Josefsson  <jas@extundo.com>
63605
63606         * lib/stdint_.h (SIZE_MAX): Add missing (.
63607
63608 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
63609
63610         Sync from coreutils.
63611         * lib/md5.c: Fix commentary typos.
63612         (alignof, UNALIGNED_P): No need for a GCC-specific version.
63613         * lib/md5.h (__attribute__): Remove; unused.
63614         * lib/sha1.c: Fix commentary to match md5 better.
63615         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
63616         so that we don't need to worry about alignment.  All uses changed.
63617         This merges the 2005-10-28 md5 change into sha1.
63618
63619 2006-01-11  Jim Meyering  <jim@meyering.net>
63620
63621         Sync from coreutils.
63622         * lib/md5.c (OP): Fix spacing.
63623
63624 2006-01-11  Bruno Haible  <bruno@clisp.org>
63625
63626         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63627         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
63628         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
63629
63630 2006-01-11  Bruno Haible  <bruno@clisp.org>
63631
63632         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63633         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
63634         the "early" section as well.
63635
63636 2006-01-11  Bruno Haible  <bruno@clisp.org>
63637
63638         Avoid "ar: no archive members specified" error on MacOS X.
63639         * gnulib-tool (func_modules_add_dummy): New function.
63640         (func_import, func_create_testdir): Invoke it.
63641
63642 2006-01-11  Bruno Haible  <bruno@clisp.org>
63643
63644         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
63645         with $auxdir in AC_CONFIG_FILES statements.
63646
63647 2006-01-11  Bruno Haible  <bruno@clisp.org>
63648
63649         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63650         Initialize also noinst_HEADERS to empty.
63651
63652 2006-01-11  Bruno Haible  <bruno@clisp.org>
63653
63654         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
63655         variables.
63656         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
63657         autoreconf.
63658
63659 2006-01-11  Bruno Haible  <bruno@clisp.org>
63660
63661         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
63662         overridable by the user.
63663         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63664
63665 2006-01-10  Simon Josefsson  <jas@extundo.com>
63666
63667         * modules/sys_socket: New file.
63668
63669 2006-01-10  Simon Josefsson  <jas@extundo.com>
63670
63671         * m4/sys_socket_h.m4: New file.
63672
63673 2006-01-10  Simon Josefsson  <jas@extundo.com>
63674
63675         * lib/socket_.h: New file.
63676
63677 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63678
63679         * modules/readutmp (Maintainer): Add myself.
63680
63681 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63682
63683         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
63684         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
63685         People who are still concerned with buggy memcmp implementations
63686         can invoke gl_FUNC_MEMCMP themselves.
63687
63688 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63689
63690         * lib/regex_internal.h (BITSET_WORD_BITS):
63691         Work around a bug in 64-bit PGC (before version 6.1-2), where the
63692         preprocessor mishandles large unsigned values as if they were signed.
63693         Problem reported by Claudio Fontana in
63694         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
63695
63696 2006-01-10  Jim Meyering  <jim@meyering.net>
63697
63698         Avoid the double-free (first in fts_read, second in fts_close) that
63699         would occur when an `active' directory is made inaccessible (e.g.,
63700         via chmod a-x) during a traversal.
63701         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63702         before returning.  Reproduce this failure by
63703         mkdir -p a/b; cd a; chmod a-x . b
63704         Reported by Stavros Passas.
63705
63706         Sync from coreutils.
63707         * lib/sha1.c: Tweak grammar in a comment.
63708
63709 2006-01-10  Jim Meyering  <jim@meyering.net>
63710
63711         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
63712         Patch by Joerg Sonnenberger.
63713
63714 2006-01-10  Bruno Haible  <bruno@clisp.org>
63715
63716         * modules/readutmp: Depend on module free.
63717         * modules/strtok_r: Depend on module restrict.
63718
63719 2006-01-10  Bruno Haible  <bruno@clisp.org>
63720
63721         * modules/gettext (configure.ac): Add an invocation of
63722         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
63723
63724 2006-01-10  Bruno Haible  <bruno@clisp.org>
63725
63726         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
63727         Reported by Werner Lemberg <wl@gnu.org>.
63728
63729 2006-01-10  Bruno Haible  <bruno@clisp.org>
63730
63731         * lib/localcharset.c: Update from GNU gettext.
63732
63733 2006-01-10  Bruno Haible  <bruno@clisp.org>
63734
63735         * lib/argp.h (__const): Remove macro. Use const instead.
63736         * lib/argp-fmtstream.h (__const): Likewise.
63737         * lib/glob_.h (__const): Remove macro.
63738         * lib/glob-libc.h: Use const instead of __const.
63739
63740 2006-01-10  Bruno Haible  <bruno@clisp.org>
63741
63742         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
63743         variable.
63744         Needed to avoid an automake error regarding the 'gettext' module.
63745
63746 2006-01-09  Simon Josefsson  <jas@extundo.com>
63747
63748         * modules/inet_ntop (Depends-on): Add restrict.
63749
63750 2006-01-09  Simon Josefsson  <jas@extundo.com>
63751
63752         * modules/gc-rijndael-tests (License): Put under LGPL.
63753
63754         * modules/gc-des-tests (License): Likewise.
63755
63756         * modules/gc-arcfour-tests (License): Likewise.
63757
63758         * modules/gc-arctwo-tests (License): Likewise.
63759
63760         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
63761
63762         * modules/gc-hmac-sha1-tests (Files): Likewise.
63763
63764         * modules/gc-hmac-md5-tests (License): Likewise.
63765
63766         * modules/gc-sha1-tests (License): Likewise.
63767
63768         * modules/gc-md5-tests (License): Likewise.
63769
63770         * modules/gc-md4-tests (License): Likewise.
63771
63772         * modules/gc-md2-tests (License): Likewise.
63773
63774         * modules/gc-tests (License): Likewise.
63775
63776         * modules/des-tests (License): Likewise.
63777
63778         * modules/md4-tests (License): Likewise.
63779
63780         * modules/md2-tests (License): Likewise.
63781
63782 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63783
63784         Sync from coreutils:
63785
63786         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
63787         * modules/lib-ignore: New file.
63788         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
63789         chdir-safer.m4, lchmod.m4.
63790         * modules/openat: Add mkdirat.c, openat-priv.h.
63791
63792 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63793
63794         Sync from coreutils.
63795         * m4/lib-ignore.m4: New file.
63796         * m4/lchmod.m4: New file.
63797
63798 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63799
63800         Sync from coreutils.
63801         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
63802         for write access: POSIX says that must fail.
63803         * lib/fts.c (diropen): Likewise.
63804         * lib/save-cwd.c (save_cwd): Likewise.
63805         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
63806         well, for minor improvements on hosts that lack O_DIRECTORY.
63807         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
63808         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
63809         Fall back on chown if open failed with EACCES.
63810
63811         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
63812         Report an error at compile-time if only a 1-second nominal clock
63813         resolution is found.
63814
63815         * lib/lchmod.h: New file.
63816         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
63817         (make_dir_parents): Use lchown rather than chown, and
63818         lchmod rather than chmod.
63819
63820         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
63821         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
63822         "proc" reported by n0dalus.
63823
63824         * lib/mountlist.c: Include <limits.h>.
63825         (dev_from_mount_options)
63826         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
63827         New function.  It no longer assumes "dev=" has the System V meaning
63828         on Linux (since it doesn't).  It also parses "dev=" more carefully.
63829         (read_file_system_list)
63830         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
63831         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
63832         dev= in that case.
63833
63834         * lib/posixtm.h (PDS_PRE_2000): New macro.
63835         * lib/posixtm.c (year): Arg is now syntax_bits rather than
63836         allow_century.  All usages changed.  Reject dates outside the range
63837         1969-1999 if PDS_PRE_2000 is used.
63838
63839 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63840
63841         Sync from coreutils.
63842         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
63843         (Time of day items): Mention the possibility of leap seconds.
63844         Problem reported by Dr. David Alan Gilbert.
63845
63846 2006-01-09  Jim Meyering  <jim@meyering.net>
63847
63848         Sync from coreutils.
63849
63850         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
63851
63852         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
63853
63854         * lib/modechange.c (mode_compile): Reject an invalid mode string
63855         that starts with an octal digit.  From Andreas Gruenbacher.
63856
63857         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
63858         and dup to open_safer and dup_safer, respectively.
63859         (openat_permissive): Fix typo in comment.
63860
63861         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
63862         "gettext.h"; either no longer needed or are guaranteed by openat.h.
63863         (_): Remove; no longer needed.
63864         (openat): Renamed from rpl_openat; no need for rpl_openat
63865         since openat.h renames openat for us.
63866         Replace most of the body with a call to openat_permissive,
63867         to avoid duplicate code.
63868         Port to (probably hypothetical) environments were mode_t is
63869         wider than int.
63870         (openat_permissive): Require mode arg, so that we can check
63871         types better.  Put it just after flags.  Change cwd failure
63872         indicator from pointer-to-bool to pointer-to-errno-value.
63873         All callers changed.
63874         Invoke openat_save_fail and/or openat_restore_fail if
63875         cwd_errno is null, so that openat can call us.
63876         (openat_permissive, fdopendir, fstatat, unlinkat):
63877         Simplify errno handling to avoid some duplicate code,
63878         as it's OK to set errno on success.
63879         * lib/openat.h: Revamp code so that function macros depend on
63880         __OPENAT_PREFIX only, not also on AT_FDCWD.
63881         (openat_ro): Remove.  Caller changed to use openat_permissive.
63882         (openat_permissive): Now a macro, if not a function.
63883         (openat_restore_fail, openat_save_fail): Now always functions,
63884         since mkdirat needs them even if __OPENAT_PREFIX is defined.
63885
63886         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
63887         and openat.c.
63888         * lib/mkdirat.c: Include openat-priv.h.
63889         Remove definitions of macros defined therein.
63890         * lib/openat.c: Likewise.
63891
63892         * lib/mkdirat.c (mkdirat): New file and function.
63893         * lib/openat.h (mkdirat): Declare.
63894
63895         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
63896
63897         * lib/openat.h (openat_permissive): Declare.
63898         (openat_ro): Define.
63899
63900         * lib/openat.c (EXPECTED_ERRNO): New macro.
63901         (openat_permissive): New function -- used in remove.c rewrite.
63902         (all functions): Set errno just before returning, only if there
63903         was an actual failure.
63904         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
63905
63906         Emulate openat-family functions using Linux's procfs, if possible.
63907         Idea and some code based on Ulrich Drepper's glibc changes.
63908
63909         * lib/openat.c: (BUILD_PROC_NAME): New macro.
63910         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
63911         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
63912         before falling back on save_cwd and restore_cwd.
63913         (fdopendir, fstatat, unlinkat): Likewise.
63914
63915         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
63916         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
63917
63918         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
63919         as second argument to va_arg.  Otherwise, some versions of gcc
63920         warn that `if this code is reached, the program will abort'.
63921
63922 2006-01-09  Jim Meyering  <jim@meyering.net>
63923
63924         Sync from coreutils.
63925         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
63926         Require openat-priv.h.
63927
63928 2006-01-09  Bruno Haible  <bruno@clisp.org>
63929
63930         * modules/strnlen (Include): Use strnlen.h.
63931
63932 2006-01-09  Bruno Haible  <bruno@clisp.org>
63933
63934         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
63935
63936 2006-01-09  Bruno Haible  <bruno@clisp.org>
63937
63938         * lib/sysexit_.h (EX_OK): New macro.
63939         Suggested by Martin Lambers <marlam@marlam.de>.
63940
63941 2006-01-09  Bruno Haible  <bruno@clisp.org>
63942
63943         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
63944         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
63945
63946 2006-01-09  Bruno Haible  <bruno@clisp.org>
63947
63948         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
63949         numbers.
63950
63951 2006-01-09  Bruno Haible  <bruno@clisp.org>
63952
63953         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
63954         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
63955         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
63956         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
63957
63958 2006-01-09  Bruno Haible  <bruno@clisp.org>
63959
63960         * build-aux/javacomp.sh.in: New file, moved from lib/.
63961         * modules/javacomp-script (Files): Update.
63962         (configure.ac): Add AC_CONFIG_FILES invocation.
63963         (EXTRA_DIST): Remove variable.
63964
63965         * build-aux/javaexec.sh.in: New file, moved from lib/.
63966         * modules/javaexec (Files): Update.
63967         (configure.ac): Add AC_CONFIG_FILES invocation.
63968         (EXTRA_DIST): Remove javaexec.sh.in.
63969
63970         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
63971         * modules/csharpcomp-script (Files): Update.
63972         (configure.ac): Add AC_CONFIG_FILES invocation.
63973         (EXTRA_DIST): Remove variable.
63974
63975         * build-aux/csharpexec.sh.in: New file, moved from lib/.
63976         * modules/csharpexec (Files): Update.
63977         (configure.ac): Add AC_CONFIG_FILES invocation.
63978         (EXTRA_DIST): Remove csharpexec.sh.in.
63979
63980 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
63981
63982         Sync from coreutils.
63983
63984         Add POSIX ACL support
63985         * lib/acl.h (copy_acl, set_acl): Add declarations.
63986         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
63987         systems other than Linux.
63988         (chmod_or_fchmod): New function: use fchmod when possible,
63989         and chmod otherwise.
63990         (file_has_acl): Add a POSIX ACL implementation, with a
63991         Linux-specific subcase.
63992         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
63993         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
63994         acls are unsupported.
63995         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
63996         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
63997         are unsupported.
63998
63999 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
64000
64001         Sync from coreutils.
64002         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
64003
64004 2006-01-07  Bruno Haible  <bruno@clisp.org>
64005
64006         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
64007         gl_EARLY.
64008
64009 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64010
64011         * lib/strftime.c (tzname): Don't declare if it is already #defined.
64012         Problem reported for Mingw by Mark Junker.
64013
64014 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64015
64016         * README: Gnulib normally doesn't generate a tarball.
64017
64018 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
64019
64020         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
64021         long int, not int, for nanosecond counts, so that people who are
64022         used to POSIX struct timespec won't be surprised.  Reported by Jim
64023         Meyering.
64024
64025 2005-12-28  Bruno Haible  <bruno@clisp.org>
64026
64027         * build-aux/config.rpath: Update from GNU gettext.
64028
64029 2005-12-16  Jim Meyering  <jim@meyering.net>
64030
64031         * modules/fprintftime: New module.
64032         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
64033
64034 2005-12-16  Jim Meyering  <jim@meyering.net>
64035
64036         * m4/fprintftime.m4: New file.
64037
64038 2005-12-16  Jim Meyering  <jim@meyering.net>
64039
64040         * lib/fprintftime.c, lib/fprintftime.h: New files.
64041
64042 2005-12-15  Simon Josefsson  <jas@extundo.com>
64043
64044         * modules/socklen (configure.ac): Fix M4 macro name, to align with
64045         new m4/socklen.m4.
64046
64047 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64048
64049         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
64050         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
64051
64052 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64053
64054         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
64055         * lib/argp-help.c (fill_in_uparams): Check if the constructed
64056         struct uparams is valid. Fall back to the default values if it is
64057         not.
64058
64059 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64060
64061         * modules/argp (Files): Add argp-pin.c
64062         (Depends-on): dirname
64063         (lib_SOURCES): Add argp-pin.c
64064
64065 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64066
64067         * m4/argp.m4:  Check if program_invocation_name and
64068         program_invocation_short_name are declared and define appropriate
64069         macros if they are not.
64070
64071 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64072
64073         * lib/argp-help.c (__argp_base_name): New function
64074         (__argp_short_program_name): Rewrite using __argp_base_name
64075         * lib/argp-namefrob.h: Define program_invocation_name and
64076         program_invocation_short_name if requested
64077         (__argp_base_name): Add prototype
64078         * lib/argp-parse.c (argp_def): Use gettext wrappers
64079         (argp_default_parser): Use __argp_base_name
64080         * lib/argp-pin.c: New file. Defines program_invocation_name and
64081         program_invocation_short_name on systems that lack them.
64082
64083 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64084
64085         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
64086         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64087         porting problem reported by Georg Schwarz in
64088         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64089
64090 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64091
64092         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
64093         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64094         porting problem reported by Georg Schwarz in
64095         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64096
64097 2005-12-05  Bruno Haible  <bruno@clisp.org>
64098
64099         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
64100         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
64101         Reported by Mark Junker <mjscod@gmx.de>.
64102
64103 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
64104
64105         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
64106         Use implementation from Albert Chin, with some
64107         comments/corrections by Stepan Kasal and myself.
64108
64109 2005-12-02  Bruno Haible  <bruno@clisp.org>
64110
64111         * gnulib-tool (func_import): Accept GPLed build tool modules when
64112         --lgpl is given.
64113         * modules/csharpcomp-script: New file.
64114         * modules/csharpcomp: Depend on it.
64115         * modules/javacomp-script: New file.
64116         * modules/javacomp: Depend on it.
64117         Suggested by Simon Josefsson.
64118
64119 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
64120
64121         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
64122         statement, to work around an HP-UX 10.20 compiler bug reported by
64123         Peter O'Gorman.
64124
64125 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64126
64127         * modules/savedir (Depends-on): Add openat.
64128
64129 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64130
64131         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
64132         (uintmax_t) [defined uintmax_t]: Do not declare.
64133         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
64134         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
64135         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
64136         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
64137         sake of portability to weird hosts that C allows (though we don't
64138         know of any practical examples).
64139
64140         * lib/savedir.h (fdsavedir): New decl.
64141         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
64142         contains most of the former guts of savedir.
64143         (savedir): Use savedirstream.
64144         Include "openat.h".
64145
64146 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64147
64148         * modules/obstack (Files): Add m4/ulonglong.m4.
64149         Problem reported by Davide Angelocola.
64150
64151 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64152
64153         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
64154         coreutils no longer futzes with rounding modes.
64155
64156 2005-11-14  Jim Meyering  <jim@meyering.net>
64157
64158         * lib/mkstemp-safer.c: Include <config.h>, required for possible
64159         replacement of mkstemp.
64160
64161 2005-11-10  Simon Josefsson  <jas@extundo.com>
64162
64163         * lib/readline.c: Remove EOL.
64164
64165 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64166
64167         * modules/gethrxtime (Depends-on): Add gettime.
64168
64169 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64170
64171         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
64172         or gettimeofday; no longer needed.
64173
64174 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64175
64176         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
64177         time business.
64178         (gethrxtime) [! (HAVE_NANOUPTIME
64179         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
64180         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
64181         our own approximation.
64182
64183 2005-11-08  Eric Blake  <ebb9@byu.net>
64184
64185         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64186
64187 2005-11-08  Eric Blake  <ebb9@byu.net>
64188
64189         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64190
64191 2005-11-04  Bruno Haible  <bruno@clisp.org>
64192
64193         * gnulib-tool: Implement --update mode.
64194
64195 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64196
64197         Fix porting problem reported by Theodoros V. Kalamatianos.
64198         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
64199         Don't assume that futimes failing means we must fail.
64200
64201 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64202
64203         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
64204         variables to suggest the intended function of the PATH_MAX check.
64205
64206 2005-10-30  Kean Johnston  <jkj@sco.com>
64207
64208         Trivial changes to support SCO systems.
64209         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
64210         as PATH_MAX.
64211         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
64212         where __ptr is null when no I/O is pending.
64213
64214 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
64215
64216         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
64217         leave errno alone.  Problem reported by Dmitry V. Levin.
64218
64219 2005-10-28  Simon Josefsson  <jas@extundo.com>
64220
64221         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
64222         Test more.
64223
64224         * tests/test-gc-md2.c, tests/test-md2.c: New files.
64225
64226         * modules/md2, modules/md2-tests: New files.
64227
64228 2005-10-28  Simon Josefsson  <jas@extundo.com>
64229
64230         * m4/inet_ntop.m4: More tests.
64231
64232         * m4/gc-md2.m4, md2.m4: New file.
64233
64234 2005-10-28  Simon Josefsson  <jas@extundo.com>
64235
64236         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
64237         "restrict" keywords, as per POSIX.  Protect the function
64238         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
64239         Don't use K&R prototypes.  Check the sprintf return values.
64240         Re-define EAFNOSUPPORT if not present.  Indent.
64241
64242         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
64243         suggested by Bruno Haible <bruno@clisp.org>.
64244
64245         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
64246
64247         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
64248
64249         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
64250         libgcrypt).
64251
64252         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
64253
64254         * lib/md2.h, lib/md2.c: New files.
64255
64256 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
64257
64258         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
64259         errno alone.  Problem reported by Frederic Jolliton.
64260
64261 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
64262
64263         * modules/verify (License): Change from GPL to LGPL.  This is a
64264         tiny module and there are apparently near-equivalents that are
64265         under the BSD license.
64266
64267 2005-10-24  Simon Josefsson  <jas@extundo.com>
64268
64269         * modules/sha1: Relicense to LGPL.
64270
64271 2005-10-24  Simon Josefsson  <jas@extundo.com>
64272
64273         * lib/md4.h: Shrink buffer size, now that we changed the type.
64274
64275 2005-10-23  Simon Josefsson  <jas@extundo.com>
64276
64277         * gnulib-tool (func_import): Fix --tests-base.
64278
64279 2005-10-22  Simon Josefsson  <jas@extundo.com>
64280
64281         * modules/arcfour (Depends-on): Need stdint.
64282
64283 2005-10-22  Simon Josefsson  <jas@extundo.com>
64284
64285         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
64286         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
64287
64288 2005-10-22  Simon Josefsson  <jas@extundo.com>
64289
64290         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
64291         suggested by Bruno Haible <bruno@clisp.org>.
64292
64293 2005-10-22  Simon Josefsson  <jas@extundo.com>
64294
64295         * lib/crc.h: Include stddef.h, for size_t.
64296
64297 2005-10-22  Simon Josefsson  <jas@extundo.com>
64298
64299         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
64300         arcfour_context struct (simplify test vector testing in GNU
64301         Shishi).
64302
64303 2005-10-21  Simon Josefsson  <jas@extundo.com>
64304
64305         * modules/des, modules/des-tests: New files.
64306
64307         * modules/gc-des, modules/gc-des-tests: New files.
64308
64309         * tests/test-des.c, tests/test-gc-des.c: New file.
64310
64311 2005-10-21  Simon Josefsson  <jas@extundo.com>
64312
64313         * modules/arctwo, modules/arctwo-tests: New files.
64314
64315         * tests/test-arctwo.c: New file.
64316
64317         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
64318
64319         * tests/test-gc-arctwo.c: New file.
64320
64321 2005-10-21  Simon Josefsson  <jas@extundo.com>
64322
64323         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
64324         Bruno Haible <bruno@clisp.org>.
64325
64326         * m4/gc-des.m4: New file.
64327
64328 2005-10-21  Simon Josefsson  <jas@extundo.com>
64329
64330         * m4/arctwo.m4: New file.
64331
64332         * m4/gc-arctwo.m4: New file.
64333
64334 2005-10-21  Simon Josefsson  <jas@extundo.com>
64335
64336         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
64337         block.
64338
64339 2005-10-21  Simon Josefsson  <jas@extundo.com>
64340
64341         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
64342         <bruno@clisp.org>.
64343
64344         * lib/hmac-sha1.c (hmac_sha1): Likewise.
64345
64346         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
64347         Bruno Haible <bruno@clisp.org>.
64348
64349         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
64350         <bruno@clisp.org>.
64351
64352 2005-10-21  Simon Josefsson  <jas@extundo.com>
64353
64354         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
64355
64356 2005-10-21  Simon Josefsson  <jas@extundo.com>
64357
64358         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
64359
64360 2005-10-21  Simon Josefsson  <jas@extundo.com>
64361
64362         * lib/des.h, lib/des.c: New files.
64363
64364         * lib/gc-gnulib.c: Support DES.c
64365
64366 2005-10-21  Simon Josefsson  <jas@extundo.com>
64367
64368         * lib/arctwo.h, lib/arctwo.c: New files.
64369
64370         * lib/gc-gnulib.c: Support ARCTWO.
64371
64372 2005-10-21  Simon Josefsson  <jas@extundo.com>
64373
64374         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
64375         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64376
64377 2005-10-21  Simon Josefsson  <jas@extundo.com>
64378
64379         * gnulib-tool (func_import, func_create_testdir): Define automake
64380         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
64381         Makefile.am snippet),
64382         suggested by Bruno Haible <bruno@clisp.org>.
64383
64384         * modules/gc (Makefile.am): Use it.
64385
64386 2005-10-21  Bruno Haible  <bruno@clisp.org>
64387
64388         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
64389         patch.
64390
64391 2005-10-19  Simon Josefsson  <jas@extundo.com>
64392
64393         * tests/test-gc-rijndael.c: New file.
64394
64395         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
64396
64397 2005-10-19  Simon Josefsson  <jas@extundo.com>
64398
64399         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
64400         interface too.
64401
64402 2005-10-19  Simon Josefsson  <jas@extundo.com>
64403
64404         * tests/test-gc-arcfour.c: New file.
64405
64406         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
64407
64408 2005-10-19  Simon Josefsson  <jas@extundo.com>
64409
64410         * modules/gc-md4, modules/gc-md4-tests: New file.
64411
64412         * tests/test-gc-md4.c: New file.
64413
64414 2005-10-19  Simon Josefsson  <jas@extundo.com>
64415
64416         * m4/gc-md4.m4: New file.
64417
64418 2005-10-19  Simon Josefsson  <jas@extundo.com>
64419
64420         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
64421         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
64422         <kasal@ucw.cz>.
64423
64424 2005-10-19  Simon Josefsson  <jas@extundo.com>
64425
64426         * m4/gc-arcfour.m4: New file.
64427
64428         * m4/gc-rijndael.m4: New file.
64429
64430 2005-10-19  Simon Josefsson  <jas@extundo.com>
64431
64432         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
64433
64434 2005-10-19  Simon Josefsson  <jas@extundo.com>
64435
64436         * lib/gc-gnulib.c: Support ARCFOUR.
64437
64438 2005-10-19  Simon Josefsson  <jas@extundo.com>
64439
64440         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
64441         support.
64442
64443         * lib/gc.h: Add ECB enum type.
64444
64445         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
64446
64447 2005-10-18  Simon Josefsson  <jas@extundo.com>
64448
64449         * tests/test-md5.c: New file.
64450
64451         * modules/md5-tests: New file.
64452
64453 2005-10-18  Simon Josefsson  <jas@extundo.com>
64454
64455         * tests/test-md4.c: New file.
64456
64457         * modules/md4, modules/md4-tests: New files.
64458
64459 2005-10-18  Simon Josefsson  <jas@extundo.com>
64460
64461         * m4/md4.m4: New file.
64462
64463 2005-10-18  Simon Josefsson  <jas@extundo.com>
64464
64465         * lib/md4.h, lib/md4.c: New files, based on md5.?.
64466
64467 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
64468
64469         * gnulib-tool (func_create_testdir): Omit the second check whether
64470         BUILT_SOURCES in nonempty.
64471
64472 2005-10-17  Simon Josefsson  <jas@extundo.com>
64473
64474         * tests/test-rijndael.c: New file.
64475
64476 2005-10-17  Simon Josefsson  <jas@extundo.com>
64477
64478         * modules/sha1: Depend on stdint instead of md5.
64479
64480         * modules/md5: Depend on stdint, remove uint32_t.
64481
64482 2005-10-17  Simon Josefsson  <jas@extundo.com>
64483
64484         * modules/gc-sha1-tests: New file.
64485
64486         * tests/test-gc-sha1.c: New file.
64487
64488 2005-10-17  Simon Josefsson  <jas@extundo.com>
64489
64490         * m4/md5.m4: Remove call to uint32_t.m4.
64491
64492 2005-10-17  Simon Josefsson  <jas@extundo.com>
64493
64494         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
64495
64496         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
64497         md5.h.
64498
64499         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
64500
64501         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
64502
64503 2005-10-17  Simon Josefsson  <jas@extundo.com>
64504
64505         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
64506
64507 2005-10-17  Simon Josefsson  <jas@extundo.com>
64508
64509         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
64510
64511 2005-10-17  Simon Josefsson  <jas@extundo.com>
64512
64513         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
64514
64515         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
64516
64517 2005-10-17  Bruno Haible  <bruno@clisp.org>
64518
64519         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
64520         that it can also be used in a test.
64521
64522 2005-10-16  Bruno Haible  <bruno@clisp.org>
64523
64524         * gnulib-tool (func_emit_tests_Makefile_am): Also define
64525         TESTS_ENVIRONMENT, so that individual tests can augment it.
64526
64527         * gnulib-tool (func_create_testdir): Use an intermediate target for
64528         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
64529         macros, like $(ALLOCA_H), which cannot be passed through the command
64530         line.
64531
64532 2005-10-15  Simon Josefsson  <jas@extundo.com>
64533
64534         * modules/rijndael-tests: New file.
64535
64536         * modules/rijndael: New file.
64537
64538 2005-10-15  Simon Josefsson  <jas@extundo.com>
64539
64540         * m4/rijndael.m4: New file.
64541
64542 2005-10-15  Simon Josefsson  <jas@extundo.com>
64543
64544         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
64545
64546         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
64547
64548 2005-10-14  Simon Josefsson  <jas@extundo.com>
64549
64550         * tests/test-arcfour.c: New file.
64551
64552         * modules/arcfour, modules/arcfour-tests: New files.
64553
64554 2005-10-14  Simon Josefsson  <jas@extundo.com>
64555
64556         * m4/arcfour.m4: New file.
64557
64558 2005-10-14  Simon Josefsson  <jas@extundo.com>
64559
64560         * lib/arcfour.h, lib/arcfour.c: New files.
64561
64562 2005-10-14  Roland McGrath  <roland@redhat.com>
64563
64564         Import from libc.  [BZ #1331]
64565         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
64566         macro argument.
64567         Reported by Matej Vela <vela@debian.org>.
64568
64569 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64570
64571         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
64572         include <wchar.h>; no longer needed.
64573
64574 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64575
64576         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
64577
64578 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
64579         and  Ulrich Drepper  <drepper@redhat.com>
64580
64581         Import from libc.
64582         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
64583         instead of inline stream orientation test and two separate
64584         function calls.  Pay no attention to USE_IN_LIBIO.
64585
64586 2005-10-13  Simon Josefsson  <jas@extundo.com>
64587
64588         * modules/gc-hmac-md5-tests: New file.
64589
64590         * tests/test-gc-hmac-sha1.c: New file.
64591
64592         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
64593
64594         * modules/gc-hmac-md5-tests: New file.
64595
64596         * tests/test-gc-md5.c: New file.
64597
64598         * modules/gc-md5-tests: New file.
64599
64600 2005-10-13  Simon Josefsson  <jas@extundo.com>
64601
64602         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
64603         Move memory allocation outside of loop.
64604
64605 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64606
64607         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
64608         intermediate directory is in a read-only file system.  Problem
64609         reported by Eric Blake.
64610
64611 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
64612
64613         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
64614
64615 2005-10-12  Simon Josefsson  <jas@extundo.com>
64616
64617         * tests/test-hmac-sha1.c: New file.
64618
64619         * modules/hmac-sha1-tests: New file.
64620
64621         * modules/hmac-sha1: New file.
64622
64623 2005-10-12  Simon Josefsson  <jas@extundo.com>
64624
64625         * modules/gc-sha1: New file.
64626
64627 2005-10-12  Simon Josefsson  <jas@extundo.com>
64628
64629         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
64630
64631         * tests/test-gc-pbkdf2-sha1.c: New file.
64632
64633 2005-10-12  Simon Josefsson  <jas@extundo.com>
64634
64635         * modules/gc-md5, modules/gc-hmac-md5: New files.
64636
64637         * modules/gc (Files): Remove md5, memxor and hmac files.
64638
64639 2005-10-12  Simon Josefsson  <jas@extundo.com>
64640
64641         * m4/gc-pbkdf2-sha1.m4: New file.
64642
64643         * m4/gc-hmac-sha1.m4: New file.
64644
64645         * m4/gc-sha1: New file.
64646
64647         * m4/hmac-sha1.m4: New file.
64648
64649 2005-10-12  Simon Josefsson  <jas@extundo.com>
64650
64651         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
64652
64653         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
64654
64655 2005-10-12  Simon Josefsson  <jas@extundo.com>
64656
64657         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
64658         suggested by Bruno Haible <bruno@clisp.org>.
64659
64660 2005-10-12  Simon Josefsson  <jas@extundo.com>
64661
64662         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
64663
64664 2005-10-12  Simon Josefsson  <jas@extundo.com>
64665
64666         * lib/gc-pbkdf2-sha1.c: New file.
64667
64668         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
64669
64670 2005-10-12  Simon Josefsson  <jas@extundo.com>
64671
64672         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
64673
64674         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
64675
64676 2005-10-12  Simon Josefsson  <jas@extundo.com>
64677
64678         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
64679         GC_USE_HMAC_MD5, respectively.
64680
64681         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
64682         (gc_md5): Fix typo.
64683
64684         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
64685
64686         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
64687
64688         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
64689
64690 2005-10-12  Bruno Haible  <bruno@clisp.org>
64691
64692         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
64693         Reported by Stepan Kasal <kasal@ucw.cz>.
64694
64695 2005-10-11  Simon Josefsson  <jas@extundo.com>
64696
64697         * tests/test-crc.c: New file.
64698
64699         * modules/crc, modules/crc-tests: New files.
64700
64701 2005-10-11  Simon Josefsson  <jas@extundo.com>
64702
64703         * m4/crc.m4: New file.
64704
64705 2005-10-11  Simon Josefsson  <jas@extundo.com>
64706
64707         * lib/gc.h: Add gc_hash and gc_hash_buffer.
64708
64709         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
64710
64711         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
64712
64713 2005-10-11  Simon Josefsson  <jas@extundo.com>
64714
64715         * lib/crc.h, lib/crc.c: New files.
64716
64717         * lib/gc.h (gc_hash_buffer): Add doc.
64718
64719 2005-10-11  Bruno Haible  <bruno@clisp.org>
64720
64721         * modules/c-strcasestr: New file.
64722         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
64723
64724 2005-10-11  Bruno Haible  <bruno@clisp.org>
64725
64726         * modules/c-strcase: New file.
64727         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
64728
64729 2005-10-11  Bruno Haible  <bruno@clisp.org>
64730
64731         * lib/strcasecmp.c: Include limits.h.
64732         (strcasecmp): Avoid integer overflow on exotic platforms.
64733         * lib/strncasecmp.c: Include limits.h.
64734         (strncasecmp): Avoid integer overflow on exotic platforms.
64735         Reported by Paul Eggert.
64736
64737 2005-10-11  Bruno Haible  <bruno@clisp.org>
64738
64739         * lib/c-strcasestr.h: New file, from GNU gettext.
64740         * lib/c-strcasestr.c: New file, from GNU gettext.
64741
64742 2005-10-11  Bruno Haible  <bruno@clisp.org>
64743
64744         * lib/c-strcase.h: New file, from GNU gettext.
64745         * lib/c-strcasecmp.c: New file, from GNU gettext.
64746         * lib/c-strncasecmp.c: New file, from GNU gettext.
64747
64748 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64749
64750         * modules/mempcpy (License): GPL -> LGPL.
64751         * modules/strchrnul (License): Likewise.
64752         * modules/sysexits (License): Likewise.
64753
64754 2005-10-08  Simon Josefsson  <jas@extundo.com>
64755
64756         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
64757
64758 2005-10-07  Simon Josefsson  <jas@extundo.com>
64759
64760         * m4/memxor.m4: Remove gl_C_RESTRICT call.
64761
64762 2005-10-06  Simon Josefsson  <jas@extundo.com>
64763
64764         * tests/test-hmac-md5.c: New file.
64765
64766         * modules/hmac-md5-tests: New file.
64767
64768         * modules/hmac-md5: New file.
64769
64770 2005-10-06  Simon Josefsson  <jas@extundo.com>
64771
64772         * m4/hmac-md5.m4: New file.
64773
64774         * m4/memxor.m4: Require gl_C_RESTRICT.
64775
64776 2005-10-06  Simon Josefsson  <jas@extundo.com>
64777
64778         * lib/memxor.c (memxor): Avoid casts and warnings.
64779
64780 2005-10-06  Simon Josefsson  <jas@extundo.com>
64781
64782         * lib/hmac-md5.c: New file.
64783
64784         * lib/hmac.h: New file.
64785
64786 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
64787
64788         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
64789         promotes to int, not unsigned int, to catch the AIX 5.3
64790         compiler bug.
64791
64792 2005-10-05  Simon Josefsson  <jas@extundo.com>
64793
64794         * modules/memxor: New file.
64795
64796         * modules/iconv (Files): Move config.rpath to havelib, it is used
64797         there.
64798
64799         * modules/havelib (Files): Add config.rpath.
64800
64801 2005-10-05  Simon Josefsson  <jas@extundo.com>
64802
64803         * m4/memxor.m4: New file.
64804
64805 2005-10-05  Simon Josefsson  <jas@extundo.com>
64806
64807         * lib/memxor.c (memxor): Fix compiler error.
64808
64809         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
64810         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
64811
64812         * lib/memxor.h, lib/memxor.c: New files.
64813
64814         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
64815         we assume all systems have it, suggested by Jim Meyering
64816         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
64817         any systems lack sys/socket.h; mingw32 is known to lack it, but we
64818         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
64819         same reasons.
64820
64821 2005-10-05  Simon Josefsson  <jas@extundo.com>
64822
64823         * config/srclist.txt: Add glibc bug 1423 for md5.h.
64824
64825 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64826
64827         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
64828         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
64829         needed, since the source code now assumes these .h files.
64830
64831 2005-10-05  Derek Price  <derek@ximbiot.com>
64832
64833         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
64834
64835 2005-10-05  Bruno Haible  <bruno@clisp.org>
64836
64837         * modules/stdint (License): Change to LGPL.
64838
64839 2005-10-04  Simon Josefsson  <jas@extundo.com>
64840
64841         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
64842         D. Baushke" <mdb@gnu.org>.
64843
64844 2005-10-04  Bruno Haible  <bruno@clisp.org>
64845
64846         * lib/verify.h (verify_true): Provide alternative definition for C++.
64847
64848 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64849
64850         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
64851         (SSIZE_MAX): New macro, if not already defined.
64852         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
64853         than 2 GiB.
64854
64855 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64856
64857         Sync from coreutils.
64858         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
64859         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
64860         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
64861         ULLONG_MAX doesn't work with 2.7.2.1.
64862
64863 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64864
64865         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
64866         From Ben Pfaff.
64867
64868         * modules/exclude (Depends-on): Depend on verify.
64869         * modules/strtoimax (Depends-on): Likewise.
64870         * modules/utimecmp (Depends-on): Likewise.
64871
64872 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64873
64874         * lib/exclude.c: Include verify.h.
64875         (verify): Remove.  All callers changed to use verify.h's version.
64876         * lib/strtoimax.c: Likewise.
64877         * lib/utimecmp.c: Likewis.e
64878
64879         Sync from coreutils.
64880         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
64881         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
64882         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
64883         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
64884         bother returning ENOSYS if settimeofday or stime fails; just let
64885         them return whatever errno they want to return.
64886         * lib/utimens.c: Include unistd.h, for dup2.
64887         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
64888         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
64889
64890 2005-10-02  Jim Meyering  <jim@meyering.net>
64891
64892         Sync from coreutils.
64893         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
64894         from glibc-2.2.5 that fails for read-only files.
64895
64896 2005-10-02  Jim Meyering  <jim@meyering.net>
64897
64898         Sync from coreutils.
64899         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
64900         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
64901         `#if HAVE_CONFIG_H'.
64902         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
64903         Remove AT_FDCWD test.
64904         Do not consume the fd unless successful.
64905         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
64906         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
64907         block, so that we don't even try to compile it if settimeofday is
64908         available.  This works around a compilation failure on OSF1 V5.1,
64909         due to stime requiring a `long int*' while tv_sec is `int'.
64910
64911 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
64912
64913         Sync from coreutils.
64914         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
64915         against `yes', rather than just testing for nonempty.
64916
64917 2005-10-01  Simon Josefsson  <jas@extundo.com>
64918
64919         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
64920         and Darwin.
64921
64922         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
64923         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
64924         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
64925         freeaddrinfo and gai_strerror are declared by the POSIX headers.
64926         Check if struct addrinfo is declared.
64927
64928 2005-10-01  Simon Josefsson  <jas@extundo.com>
64929
64930         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
64931         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
64932         AI_* and EAI_* definitions.  Protect function declarations.
64933
64934 2005-10-01  Jim Meyering  <jim@meyering.net>
64935
64936         Sync from coreutils.
64937
64938         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
64939         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
64940         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
64941         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
64942         in the inet and nsl libraries.  Required on Solaris 5.7.
64943
64944 2005-10-01  Jim Meyering  <jim@meyering.net>
64945
64946         Sync from coreutils.
64947         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
64948         in the inet and nsl libraries.  Required on Solaris 5.7.
64949
64950 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
64951
64952         * lib/getdelim.c (getdelim): Remove unused variables.
64953
64954 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
64955
64956         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
64957         so that the code works even with ancient cpp.  Portability problem
64958         with GCC 2.7.2.1 reported by Thomas M.Ott.
64959
64960 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
64961
64962         * modules/regex (Depends-on): Add strcase.
64963
64964         * modules/gethostname (Licence): Change from GPL to LGPL, since
64965         gethostname.c is a trivial implementation of a standard library
64966         function.
64967         * modules/poll (License): Change from GPL to LGPL, since it's
64968         derived from LGPL code.
64969
64970 2005-09-27  Jim Meyering  <jim@meyering.net>
64971
64972         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
64973         HAVE_CONFIG_H.
64974
64975         * lib/intprops.h (signed_type_or_expr__): Define.
64976         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
64977         for unsigned types.
64978
64979 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
64980
64981         * lib/verify.h (verify_expr): Remove, replacing with:
64982         (verify_true): New macro that returns true instead of void.
64983         (verify_type__): Remove.
64984         (verify): Use verify_true rather than verify_type__.
64985
64986 2005-09-26  Bruno Haible  <bruno@clisp.org>
64987
64988         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
64989         is necessary.
64990         (lib_SOURCES): Remove mbchar.c.
64991         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
64992         (Files): Add m4/mbrtowc.m4.
64993         * modules/mbiter: Likewise.
64994         * modules/mbuiter: Likewise.
64995
64996 2005-09-26  Bruno Haible  <bruno@clisp.org>
64997
64998         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
64999         compile mbchar.c if they are not both present.
65000         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
65001         * m4/mbiter.m4 (gl_MBITER): Likewise.
65002         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
65003         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
65004         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
65005
65006 2005-09-25  Jim Meyering  <jim@meyering.net>
65007
65008         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
65009         also uses socklen_t.
65010
65011 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
65012
65013         * lib/utimens.c (ENOSYS): Define if not already defined.
65014         (futimens): Support having a null PATH if the file descriptor
65015         is nonnegative.
65016
65017         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
65018         Remove.
65019         (__attribute): Define to empty unless GCC 3.1 or later.
65020         This works around a core dump on OpenBSD 3.4, which has GCC
65021         2.95.3, which dumps core when given __attribute__(()).  It also
65022         simplifies other tests, since we really don't want to bother with
65023         worrying about which ancient version of GCC supported what.
65024         Original problem reported by Yoann Vandoorselaere, with part of
65025         the fix suggested by Derek Price.
65026
65027 2005-09-24  Jim Meyering  <jim@meyering.net>
65028
65029         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
65030         so we can once again use a positive bitfield width of 1 -- now we
65031         don't have to explain why we were using a bitfield width of 2.
65032
65033 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65034
65035         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
65036         and similarly for the other external symbols.  Problem reported
65037         by James Gallager.
65038
65039         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
65040         bug reported by Jim Meyering.
65041
65042         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
65043         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
65044         not needed, since socklen is a prerequisite module.
65045
65046 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65047
65048         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
65049         Problem reported by Eric Blake.
65050         (getaddrinfo): Initialize se so that it's not garbage.
65051         Redo internal storage allocation so that it doesn't make unportable
65052         assumptions about alignment.
65053         Fix a memory leak.
65054
65055         * lib/utimens.c (futimens): Use futimesat if available.
65056         Prefer it to futimes since it doesn't have the futimes bug.
65057
65058         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
65059         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
65060         Instead, declare a function that returns a pointer to an array,
65061         and use verify_type__ to declare the size of the array.
65062         Problem and germ of a solution reported by Bruno Haible.
65063         (verify_type__): Use 2, not 1, for bitfield size, to avoid
65064         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
65065
65066 2005-09-23  Jim Meyering  <jim@meyering.net>
65067
65068         Sync from coreutils.
65069         Correct build failure (socklen_t not defined) on at least
65070         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
65071         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
65072
65073 2005-09-23  Jim Meyering  <jim@meyering.net>
65074
65075         * modules/getaddrinfo (Depends-on): Add socklen.
65076
65077 2005-09-23  Bruno Haible  <bruno@clisp.org>
65078
65079         * tests/test-verify.c: New file.
65080
65081 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65082
65083         Sync from coreutils.
65084
65085         * modules/argmatch (Depends-on): Add verify.
65086         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
65087         unistd-safer.
65088         * modules/save-cwd (Depends-on): Likewise.
65089
65090         * modules/openat (Files): Add lib/openat-die.c.
65091         (Depends-on): Remove error, exitfail.
65092         Add dirname.
65093
65094         * modules/verify: New file.
65095         * MODULES.html.sh (Diagnostics <assert.h>): New section,
65096         with "verify" module.
65097
65098 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65099
65100         Sync from coreutils.
65101
65102         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
65103         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
65104         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
65105         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
65106         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
65107         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
65108         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
65109         Don't bother checking for string.h, stdlib.h, unistd.h.
65110         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
65111         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
65112         module's job.
65113         * m4/jm-macros.m4 (gl_MACROS): Likewise.
65114         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
65115
65116         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
65117         (gl_GETDATE): Use it.
65118
65119         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
65120
65121 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65122
65123         Sync from coreutils.
65124
65125         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
65126         stat-time.h.
65127         * lib/argmatch.h: Include verify.h
65128         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
65129         (ARGMATCH_ASSERT): Remove; unused.
65130         * lib/canonicalize.c: Assume STDC_HEADERS.
65131         * lib/exclude.c: Include "strcase.h".
65132         * lib/regex_internal.h [!defined _LIBC]: Likewise.
65133         * lib/getusershell.c: Include stdio--.h rather than stdio.h
65134         and stdio-safer.h.
65135         (getusershell): Call fopen, not fopen_safer.
65136         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
65137         Do not include unistd-safer.h.
65138         (save_cwd): Don't call fd_safer; no longer needed
65139         now that we include fcntl--.h.
65140
65141         * lib/getdate.y (relative_time): New type.
65142         (RELATIVE_TIME_0): New constant.
65143         (parser_control): Use relative_time instead of doing it ourselves.
65144         (%union): Add new relative_time rel member.
65145         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
65146         Now typeless.
65147         (relunit, relunit_snumber): Now of type rel.
65148         (zone, rel, relunit, get_date): Adjust to above changes.
65149
65150         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
65151         Do not include unistd-safer.h.
65152         (getloadavg): Don't call fd_safer; no longer needed
65153         now that we include fcntl--.h.
65154
65155         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
65156         (make_dir_parents): Treat ENOSYS like EEXIST.
65157
65158         Improve quality of diagnostics on restore_cwd failure.
65159         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
65160         (make_dir_parents): Last arg is now int * (for errno), not bool *.
65161         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
65162         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
65163         each time through the loop.  Do not diagnose restore_cwd failure;
65164         that is the caller's job (and perhaps the caller does not care).
65165
65166         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
65167         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
65168         If the file already exists but is not a directory, don't bother
65169         to try to make its parents.
65170         Close potential file descriptor leak if we can't chdir("/") (!).
65171         Don't always return true if chdir($PWD) fails; return true only
65172         if the requested action was done successfully (except for the
65173         chdir($PWD)).
65174         Don't log final directory unless we actually made it.
65175         Refactor to avoid duplicate code to fix up permissions.
65176         Don't attempt to fix up parent permissions if chdir($PWD) fails.
65177
65178         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
65179         to make it a bit faster and (I hope) clearer.
65180         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
65181         Fix bug in formats like %2N.
65182
65183         * lib/verify.h: New file.
65184
65185 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65186
65187         Sync from coreutils.
65188         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
65189
65190 2005-09-22  Jim Meyering  <jim@meyering.net>
65191
65192         Sync from coreutils.
65193
65194         * m4/lstat.m4 (gl_FUNC_LSTAT):
65195         Use AC_LIBSOURCES to require lstat.c and lstat.h.
65196         Remove obsolete comment.
65197         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
65198         * m4/xstrtod.m4: Likewise.
65199
65200         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
65201
65202 2005-09-22  Jim Meyering  <jim@meyering.net>
65203
65204         Sync from coreutils.
65205
65206         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
65207
65208         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
65209         the .tm_year member, since otherwise gcc-4.0 would now warn about
65210         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
65211
65212         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
65213         order to avoid an unsuppressible warning from gcc on 64-bit systems.
65214
65215         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
65216         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
65217         when run in a time zone for which daylight savings time is in effect
65218         for the starting date.
65219
65220         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
65221         stop us from restricting permissions of just-created absolute-named
65222         directories.
65223         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
65224         to restore initial working directory.
65225         * lib/mkdir-p.c (make_dir_parents): New parameter:
65226         different_working_dir, to tell caller if/when we change the working
65227         directory and are unable to return to the initial one.
65228         * lib/mkdir-p.h (make_dir_parents): Update prototype.
65229         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
65230         `return false'.  This fixes a bug introduced on 2004-07-30.
65231
65232         * lib/openat.c (fdopendir): Be sure to close the supplied
65233         file descriptor before returning.  This makes our replacement
65234         implementation a little closer to Solaris's, where fdopendir
65235         ties the file descriptor to the returned DIR* pointer.
65236         * lib/openat.c (unlinkat): New function.
65237         * lib/openat.h (unlinkat): Add prototype.
65238         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
65239         (openat_restore_fail): Rename from openat_restore_die.
65240         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
65241
65242         Provide an alternative to exiting immediately upon save_cwd or
65243         restore_cwd failure.  Now, an application can arrange e.g.,
65244         to perform a longjump in that case.
65245         * lib/openat.c: Include dirname.h.
65246         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
65247         (rpl_openat, fdopendir, fstatat): Call openat_save_die
65248         and openat_restore_die rather than calling error directly.
65249         Don't include "error.h" or "exitfail.h"; they're no longer needed.
65250
65251         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
65252         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
65253         define.
65254
65255         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
65256         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
65257                             int utc, int nanoseconds);
65258         Background:
65259         date should not have to allocate a megabyte of virtual memory to
65260         handle a format argument like +%1048575T.  When implemented with
65261         strftime, it must allocate such a buffer, use strftime to fill it
65262         in, print it, then free it.
65263         With fprintftime, it simply prints everything and exits.
65264         With no need for memory allocation, that's one fewer way to fail.
65265         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
65266         optional field width, not before, so we accept %9:z, not %:9z.
65267         (my_strftime): Be sure to use L_('x') for literals.
65268
65269         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
65270         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
65271         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
65272         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
65273         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
65274         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
65275         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
65276         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
65277         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
65278         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
65279         * lib/xgethostname.c, lib/xreadlink.c:
65280         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
65281
65282         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
65283         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
65284         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
65285         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65286         and don't include <sys/file.h>).
65287
65288 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
65289
65290         Sync from coreutils.
65291
65292         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
65293         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
65294         [!LDAV_DONE]: Avoid unused variable warning.
65295
65296 2005-09-21  Bruno Haible  <bruno@clisp.org>
65297
65298         * lib/unicodeio.h (unicode_to_mb): New declaration.
65299
65300 2005-09-20  Derek Price  <derek@ximbiot.com>
65301
65302         * lib/getaddrinfo.c: Don't include <netdb.h> included from
65303         getaddrinfo.h.
65304
65305 2005-09-20  Bruno Haible  <bruno@clisp.org>
65306
65307         * gnulib-tool: Remove trailing slashes from the values specified for
65308         --source-base, --m4-base, --tests-base, --aux-dir.
65309         Suggested by Simon Josefsson <jas@extundo.com>.
65310
65311 2005-09-20  Bruno Haible  <bruno@clisp.org>
65312
65313         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
65314         func_modules_to_filelist, func_import, func_create_testdir): Make all
65315         sorting results locale-independent, so that gnulib-cache.m4 doesn't
65316         change when gnulib-tool is invoked in a different locale.
65317
65318 2005-09-19  Simon Josefsson  <jas@extundo.com>
65319
65320         * m4/socklen.m4: Fix typo.
65321
65322 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65323
65324         Use a consistent style for including <config.h>.
65325         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
65326         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
65327         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
65328         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
65329         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
65330         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
65331         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
65332         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
65333         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
65334         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
65335         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
65336         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
65337         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
65338         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
65339         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
65340         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
65341         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
65342         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
65343         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
65344         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
65345         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
65346         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
65347         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
65348         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
65349         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
65350         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
65351         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
65352         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
65353         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
65354         lib/xstrtoumax.c, lib/yesno.c:
65355         Standardize inclusion of config.h.
65356         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
65357         lib/inttostr.h:  Removed inclusion of config.h from header files.
65358         * lib/inttostr.c:  Adjusted in-tree users.
65359         * lib/timespec.h: Remove superfluous warning to include config.h.
65360         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
65361         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
65362         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
65363         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
65364         config.h with HAVE_CONFIG_H.
65365
65366 2005-09-19  Jim Meyering  <jim@meyering.net>
65367
65368         * modules/pathmax (License): Change to LGPL.
65369
65370 2005-09-19  Derek Price  <derek@ximbiot.com>
65371
65372         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
65373
65374 2005-09-19  Bruno Haible  <bruno@clisp.org>
65375
65376         * gnulib-tool (import): Provide default for --tests-base.
65377
65378 2005-09-19  Bruno Haible  <bruno@clisp.org>
65379
65380         * doc/quote.texi: New file, extracted from gnulib.texi.
65381         * doc/ctime.texi: New file, extracted from gnulib.texi.
65382         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
65383         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
65384         * doc/gnulib.texi: Include them.
65385
65386 2005-09-18  Bruno Haible  <bruno@clisp.org>
65387
65388         Portability fix.
65389         * gnulib-tool (func_readlink): New function.
65390         (func_ln_if_changed): Use it.
65391
65392 2005-09-18  Bruno Haible  <bruno@clisp.org>
65393
65394         * gnulib-tool: Support --with-tests also with --import.
65395         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
65396         (func_import): Use variables $testsbase and $inctests. Emit a
65397         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
65398         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
65399         SUBDIRS += $testsdir.
65400         (func_create_testdir): Update.
65401
65402 2005-09-18  Bruno Haible  <bruno@clisp.org>
65403
65404         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
65405         instead of $dry_run.
65406         (func_cp_if_changed, func_mv_if_changed): Remove functions.
65407         (func_ln_if_changed): Don't handle dry-run here.
65408         (func_import): In dry-run mode, detect more precisely which actions
65409         would be performed, and don't use "...ing" verbs.
65410
65411 2005-09-18  Bruno Haible  <bruno@clisp.org>
65412
65413         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
65414         (func_import): Use join on two temporary files instead of three nested
65415         loops, in order to determine which files are new or old.
65416
65417 2005-09-18  Bruno Haible  <bruno@clisp.org>
65418
65419         * gnulib-tool (func_import): Comment out code that spits out the
65420         new files with --dry-run.
65421
65422 2005-09-18  Bruno Haible  <bruno@clisp.org>
65423
65424         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
65425
65426 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65427
65428         * lib/stat-time.h: New file.
65429         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
65430         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
65431         in a different way.
65432         (timespec_cmp): New function.
65433         * lib/utimecmp.c: Include stat-time.h.
65434         (SYSCALL_RESOLUTION): Depend on whether various struct stat
65435         members exist, not on the obsolescent ST_MTIM_NSEC.
65436         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
65437
65438 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65439
65440         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
65441
65442 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65443
65444         * MODULES.html.sh (File system functions): Add stat-time.
65445         * modules/stat-time: New file.
65446         * modules/timespec (Files): Remove m4/st_mtim.m4; this
65447         is now done in a different way, by the stat-time module.
65448         * modules/utimecmp (Depends-on): Add stat-time.
65449
65450 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65451
65452         * m4/st_mtim.m4: Remove.  Superseded by...
65453         * m4/stat-time.m4: New file.
65454         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
65455         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
65456
65457 2005-09-15  Derek Price  <derek@ximbiot.com>
65458
65459         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
65460
65461 2005-09-15  Derek Price  <derek@ximbiot.com>
65462
65463         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
65464         * lib/regex_internal.c: Ditto, using this...
65465         (__GNUC_PREREQ): ...new macro.
65466         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
65467         using...
65468         (__GNUC_PREREQ): ...this new macro.
65469
65470         * lib/strstr.h: Include string.h. Define strstr as a macro here.
65471
65472 2005-09-15  Derek Price  <derek@ximbiot.com>
65473             Paul Eggert  <eggert@cs.ucla.edu>
65474
65475         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
65476         changes, consolidating in...
65477         * lib/regex_internal.h: ...this file.
65478
65479 2005-09-13  Jim Meyering  <jim@meyering.net>
65480
65481         * lib/canon-host.c: Filter through gnu indent and reword comments
65482         slightly.
65483         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
65484
65485 2005-09-13  Derek Price  <derek@ximbiot.com>
65486
65487         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
65488         failure.
65489         Reported by Jim Meyering  <jim@meyering.net>.
65490
65491 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65492
65493         * lib/base64.c: Typo.
65494         (base64_encode): Put b64str in initialized data section.
65495
65496 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65497
65498         Merge glibc and coreutils changes into gnulib, plus a few
65499         extra fixes.
65500         * lib/md5.c: Use #error rather than a string.
65501         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
65502         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
65503         (__attribute__): Define to empty for non recent-GCC.
65504         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
65505         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
65506         Renamed from their non-__ counterparts, with new macros replacing
65507         them if not _LIBC.  Add __THROW attribute.
65508         (rol): Remove.
65509         (struct md5_ctx): Align buffer if using GCC.
65510         * lib/sha1.h (struct sha1_ctx): Likewise.
65511         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
65512         The old name was backwards.
65513         (NOTSWAP): Remove; not used.
65514         (rol): New macro, moved here from md5.h.
65515         (sha1_process_block): Remove a FIXME that doesn't make sense.
65516
65517 2005-09-12  Derek Price  <derek@ximbiot.com>
65518
65519         Return usable errors from canon-host.
65520         * lib/canon-host.h: New file.
65521         * lib/canon-host.c (canon_host): Wrap...
65522         (canon_host_r): ...this new function, which now relies exclusively on
65523         getaddrinfo.
65524         (ch_strerror): New function.
65525         (last_cherror): New global.
65526         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
65527         interface.
65528         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
65529         void *.
65530         (freeaddrinfo): Free ai->ai_canonname when set.
65531
65532 2005-09-12  Derek Price  <derek@ximbiot.com>
65533
65534         Make canon-host require getaddrinfo.
65535         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
65536         AC_LIBSOURCE canon-host.h.  Call...
65537         (gl_PREREQ_CANON_HOST): ...this new function, which requires
65538         gl_GETADDRINFO.
65539         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
65540
65541 2005-09-12  Derek Price  <derek@ximbiot.com>
65542
65543         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
65544         LGPL.
65545         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
65546
65547 2005-09-12  Derek Price  <derek@ximbiot.com>
65548
65549         * lib/gai_strerror.c: Include config.h when available.  Include
65550         getaddrinfo.h before other headers to test interface.
65551         Reported by Larry Jones <lawrence.jones@ugs.com>.
65552
65553 2005-09-12  Derek Price  <derek@ximbiot.com>
65554             Paul Eggert  <eggert@cs.ucla.edu>
65555
65556         * modules/glob (Files): Add glob-libc.h.
65557
65558 2005-09-12  Derek Price  <derek@ximbiot.com>
65559             Paul Eggert  <eggert@cs.ucla.edu>
65560
65561         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
65562         glob_.h, glob-libc.h.
65563         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
65564
65565 2005-09-12  Derek Price  <derek@ximbiot.com>
65566             Paul Eggert  <eggert@cs.ucla.edu>
65567
65568         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
65569         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
65570         protecting things that should be done only in gnulib contexts.
65571         * lib/glob_.h: New file, containing only the glob things needed for
65572         gnulib.
65573         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
65574         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
65575         (glob, globfree, glob_pattern_p): Now defined simply in terms of
65576         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
65577         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
65578         and to respect the namespace rules better.
65579
65580 2005-09-08  Simon Josefsson  <jas@extundo.com>
65581
65582         * modules/socklen: New file.
65583
65584 2005-09-08  Simon Josefsson  <jas@extundo.com>
65585
65586         * m4/socklen.m4: New file.
65587
65588 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65589
65590         * modules/utimens (Files): Add m4/utimbuf.m4, since
65591         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
65592         Reported by Sergey Poznyakoff.
65593
65594 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65595
65596         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
65597         definitions, since that's the preferred style in glibc.
65598         Fix a minor spacing issue, and update copyright notice to match
65599         glibc's.
65600
65601 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65602
65603         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
65604
65605 2005-09-06  Simon Josefsson  <jas@extundo.com>
65606
65607         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
65608         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
65609
65610 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65611
65612         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
65613         warning.
65614
65615 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65616
65617         * config/srclist.txt: Add glibc bug 1302.
65618
65619 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
65620
65621         Change bitset word type from unsigned int to unsigned long int,
65622         as this has better performance on typical 64-bit hosts.
65623         Port bitset code to hosts with unusual word sizes.
65624         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
65625         (build_collating_symbol):
65626         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
65627         argument is a bitset.  This is merely a style issue, but it makes
65628         it clearer that an entire array is expected.
65629         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
65630         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
65631         Port to the case where bitset_word is not the same as unsigned int.
65632         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
65633         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
65634         Likewise.
65635         * lib/regexec.c (check_dst_limits_calc_pos_1,
65636         check_subexp_matching_top):
65637         (build_trtable, group_nodes_into_DFAstates):
65638         Likewise.
65639         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
65640         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
65641         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
65642         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
65643         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
65644         * lib/regcomp.c (optimize_subexps, lower_subexp):
65645         Work even if bitset_word has holes in its bitwise representation.
65646         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
65647         * lib/regexec.c (check_dst_limits_calc_pos_1,
65648         check_subexp_matching_top):
65649         Likewise.
65650         * lib/regex_internal.c (re_string_reconstruct):
65651         Don't assume UCHAR_MAX == 255.
65652         * lib/regex_internal.h (bitset_set_all): Likewise.
65653         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
65654         All uses changed.
65655         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
65656         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
65657         All uses changed.
65658         (BITSET_WORD_MAX): New macro.
65659         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
65660         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
65661         (bitset_empty, bitset_copy):
65662         Prefer sizeof (bitset) to multiplying it out ourselves.
65663         (bitset_not_merge): Remove; unused.
65664         (bitset_contain): Return bool, not unsigned int with one bit on.
65665         All callers changed.
65666         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
65667         alignment than re_node_set; do this by defining a new internal
65668         type struct dests_alloc and using it to allocate memory.
65669
65670 2005-09-05  Bruno Haible  <bruno@clisp.org>
65671
65672         * gnulib-tool (func_import): Fix comparison in handling of symbolic
65673         links.
65674
65675 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
65676
65677         * modules/size_max (Makefile.am): Add size_max.h
65678
65679 2005-09-04  Derek Price  <derek@ximbiot.com>
65680
65681         * gnulib-tool (func_import): Fix reversed $symbolic logic.
65682
65683 2005-09-03  Simon Josefsson  <jas@extundo.com>
65684
65685         * gnulib-tool: Fix typo.
65686
65687 2005-09-03  Simon Josefsson  <jas@extundo.com>
65688
65689         * config/srclist.txt: Add glibc bug 1293.
65690
65691 2005-09-03  Derek Price  <derek@ximbiot.com>
65692
65693         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
65694         From Larry Jones <lawrence.jones@ugs.com>.
65695
65696 2005-09-02  Simon Josefsson  <jas@extundo.com>
65697
65698         * modules/socklen: New file.
65699
65700 2005-09-02  Simon Josefsson  <jas@extundo.com>
65701
65702         * modules/havelib: New module.
65703
65704         * modules/gettext, modules/iconv, modules/lock, modules/readline:
65705         Use havelib.
65706
65707 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65708
65709         Check for arithmetic overflow when calculating sizes, to prevent
65710         some buffer-overflow issues.  These patches are conservative, in the
65711         sense that when I couldn't determine whether an overflow was possible,
65712         I inserted a run-time check.
65713         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
65714         macros.
65715         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
65716         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
65717         (re_xnrealloc, re_x2nrealloc): New inline functions.
65718         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
65719         parse_bracket_exp):
65720         (build_equiv_class, build_charclass): Check for arithmetic overflow
65721         in size expression calculations.
65722         * lib/regex_internal.c (re_string_realloc_buffers):
65723         (build_wcs_upper_buffer, re_node_set_add_intersect):
65724         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
65725         (re_dfa_add_node, register_state): Likewise.
65726         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
65727         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
65728         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
65729         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
65730
65731 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65732
65733         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
65734         m4/ulonglong.m4.  Problem reported by Martin Lambers.
65735
65736 2005-09-02  Bruno Haible  <bruno@clisp.org>
65737
65738         Support for lib vs. lib64 distinction on biarch platforms.
65739         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
65740         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
65741         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
65742
65743 2005-09-02  Bruno Haible  <bruno@clisp.org>
65744
65745         * gnulib-tool (import): In the other first-use case, provide defaults
65746         as well.
65747
65748 2005-09-02  Bruno Haible  <bruno@clisp.org>
65749
65750         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
65751         patches not yet found in the latest gettext release.
65752
65753 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65754
65755         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
65756         to avoid a collision with bits/local_lim.h in glibc.
65757         All uses changed.  Problem reported by Dmitry V. Levin in
65758         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
65759
65760         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
65761         bugs in int versus size_t comparisons.
65762         (re_string_context_at): Fix bug where the code assumed that
65763         Idx is signed.
65764
65765         Use bool where appropriate.
65766         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
65767         All callers changed.
65768         (calc_eclosure_iter): Likewise, for ROOT arg.
65769         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
65770         (build_charclass_op): Likewise, for NON_MATCH arg.
65771         * lib/regex_internal.c (re_string_allocate, re_string_construct):
65772         (re_string_construct_common): Likewise, for ICASE arg.
65773         * lib/regexec.c (re_search_2_stub, re_search_stub):
65774         Likewise, for RET_LEN arg.
65775         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
65776         (set_regs): Likewise, for FL_BACKTRACK arg.
65777         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
65778         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
65779         (calc_eclosure_iter, parse_bracket_exp):
65780         Use bool for internal variables that are booleans.
65781         * lib/regexec.c (re_search_internal, check_matching,
65782         proceed_next_node):
65783         (set_regs, build_sifted_states, sift_states_bkref):
65784         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
65785         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65786         (find_collation_sequence_value):
65787         Likewise.
65788         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
65789         (re_node_set_compare):
65790         Return bool, not int. All callers changed.
65791         * lib/regexec.c (check_halt_node_context, check_dst_limits):
65792         (build_trtable, check_node_accept): Likewise.
65793         * lib/regex_internal.h: Include stdbool.h.
65794
65795         Fix bugs uncovered when converting to bool.
65796         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
65797         failure instead of charging ahead blindly.
65798         * lib/regex_internal.c (register_state): Likewise.
65799         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
65800         for freeing internal storage.
65801         (group_nodes_into_DFA_states): Use unsigned int, not int, for
65802         bitset pieces used as boolean, to avoid undefined behavior
65803         on hosts that do int overflow checking.
65804
65805 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65806
65807         * config/srclist.txt: Add glibc bugs 1285-1287.
65808
65809 2005-09-01  Jim Meyering  <jim@meyering.net>
65810
65811         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
65812         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
65813         Require gl_STAT_MACROS, too.
65814
65815 2005-09-01  Bruno Haible  <bruno@clisp.org>
65816
65817         * gnulib-tool (import): In the first-use case, provide defaults.
65818
65819 2005-09-01  Bruno Haible  <bruno@clisp.org>
65820
65821         * gnulib-tool (func_import): Remove the .tmp files.
65822
65823 2005-09-01  Bruno Haible  <bruno@clisp.org>
65824
65825         * gnulib-tool (func_import): Fix handling of symbolic links.
65826
65827 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65828
65829         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
65830         old glibc regex code mishandles strings longer than 2**31 bytes.
65831         This patch fixes this when the regex code is used in gnulib
65832         (i.e., outside glibc).
65833
65834         This patch should not affect the use of the regex code inside
65835         glibc.  No doubt this problem also needs to be handled for glibc
65836         as well, but the result will be an incompatible change to the
65837         glibc ABI, and the old ABI will have to be supported too.  That
65838         can be the the subject for another patch.
65839
65840         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
65841         governing whether the rest of this patch is active.  By default,
65842         the macro is disabled and the patch has no effect.
65843         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
65844         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
65845         (struct re_pattern_buffer, re_search, re_search_2, re_match):
65846         (re_match_2, re_set_registers): Use the new types.
65847         * lib/regex_internal.h (Idx, re_hashval_t): New types.
65848         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
65849         New macros.
65850         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
65851         (re_string_context_at, bin_tree_t, re_dfastate_t):
65852         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
65853         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
65854         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
65855         (re_string_char_size_at, re_string_wchar_at):
65856         (re_string_elem_size_at):
65857         Use the new types and macros to port to 64-bit hosts.
65858         Use unsigned types for internal values, so that the code
65859         mostly works even for arrays larger than SSIZE_MAX.
65860         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
65861         (search_duplicated_node, calc_eclosure_iter, fetch_number):
65862         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
65863         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
65864         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
65865         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
65866         (calc_inveclosure, parse_dup_op, build_range_exp):
65867         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
65868         (fetch_number, create_token_tree, mark_opt_subexp):
65869         Likewise.
65870         * lib/regex_internal.c (re_string_construct_common,
65871         create_ci_newstate):
65872         (create_cd_newstate, re_string_allocate, re_string_construct):
65873         (re_string_realloc_buffers, build_wcs_upper_buffer):
65874         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
65875         (re_string_reconstruct, re_string_peek_byte_case):
65876         (re_string_fetch_byte_case, re_string_context_at):
65877         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
65878         (re_node_set_init_copy, re_node_set_add_intersect):
65879         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65880         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65881         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
65882         (re_acquire_state, re_acquire_state_context, register_state):
65883         Likewise.
65884         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
65885         search_cur_bkref_entry):
65886         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
65887         (re_search_internal, re_search_2_stub, re_search_stub)
65888         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
65889         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
65890         (update_cur_sifted_state, check_dst_limits):
65891         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
65892         (check_subexp_limits, sift_states_bkref, merge_state_array):
65893         (check_subexp_matching_top, get_subexp, get_subexp_sub):
65894         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
65895         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
65896         (expand_bkref_cache, check_node_accept_bytes):
65897         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
65898         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
65899         (acquire_init_state_context, check_halt_node_context):
65900         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
65901         (sift_states_backward, clean_state_log_if_needed):
65902         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
65903         (find_recover_state, transit_state_sb, transit_state_mb):
65904         (transit_state_bkref, build_trtable, match_ctx_clean):
65905         Likewise.
65906         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
65907         to work around an assumption that REG_MISSING is negative.
65908
65909         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
65910         (seek_collating_symbol_entry) [defined _LIBC]:
65911         (lookup_collation_sequence_value) [defined _LIBC]:
65912         (build_range_exp, build_collating_symbol) [defined _LIBC]:
65913         Use prototypes rather than old-style function definitions.
65914         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
65915         (transit_state_sb) [0]:
65916         (find_collation_sequence_value) [defined _LIBC]: Likewise.
65917
65918         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
65919         rm_eo.
65920
65921         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
65922         (optimize_subexps, lower_subexp):
65923         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
65924         since the signed shift might overflow.  Use 1u<<31 instead.
65925         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
65926         Likewise.
65927         * lib/regexec.c (check_dst_limits_calc_pos_1,
65928         check_subexp_matching_top): Likewise.
65929
65930         * lib/regcomp.c (optimize_subexps, lower_subexp):
65931         Use CHAR_BIT rather than 8, for clarity.
65932         * lib/regexec.c (check_dst_limits_calc_pos_1):
65933         (check_subexp_matching_top): Likewise.
65934         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
65935         have to worry about portability issues when shifting it left.
65936         Remove no-longer-needed test for table_size > 0.
65937         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
65938         in a word, as the resulting behavior is undefined.
65939         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
65940         in one case, a <= should have been an <, and in another case the
65941         whole test was missing.
65942         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
65943         the standard name CHAR_BIT.
65944         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
65945         this is not true on one's complement and signed-magnitude hosts.
65946
65947         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
65948         next_last_offset.
65949         (struct re_dfa_t): Remove unused member states_alloc.
65950         * lib/regcomp.c (init_dfa): Don't initialize unused members.
65951
65952 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65953
65954         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
65955         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
65956         and large-file glibc and in 32-bit large-file Solaris.
65957
65958 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65959
65960         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
65961         lengths fit in regoff_t; this isn't true if regoff_t is the same
65962         width as size_t.
65963         * lib/regex.c (re_search_internal): 5th arg is LAST_START
65964         (= START + RANGE) instead of RANGE.  This avoids overflow
65965         problems when regoff_t is the same width as size_t.
65966         All callers changed.
65967         (re_search_2_stub): Check for overflow when adding the
65968         sizes of the two strings.
65969         (re_search_stub): Check for overflow when adding START
65970         to RANGE; if it occurs, substitute the extreme value.
65971
65972 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65973
65974         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
65975
65976 2005-08-31  Jim Meyering  <jim@meyering.net>
65977
65978         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
65979         a pointer-to-const.
65980         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
65981         (register_state): Likewise.
65982         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
65983         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
65984         (group_nodes_into_DFAstates): Likewise.
65985
65986 2005-08-31  Jim Meyering  <jim@meyering.net>
65987
65988         * check-module: Add a FIXME comment.
65989
65990 2005-08-31  Eric Blake  <ebb9@byu.net>
65991
65992         * modules/unistd-safer (Files): Add unistd--.h.
65993         * modules/stdio-safer (Files): Add stdio--.h.
65994
65995 2005-08-31  Derek Price  <derek@ximbiot.com>
65996
65997         * lib/getdelim.c (getdelim): Return EOF on EOF.
65998         Reported by Larry Jones <lawrence.jones@ugs.com>.
65999
66000 2005-08-31  Bruno Haible  <bruno@clisp.org>
66001
66002         Avoid unnecessary diffs in the generated lib/Makefile.am.
66003         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
66004         the generated files.
66005         (func_import): Don't set cmd.
66006
66007 2005-08-31  Bruno Haible  <bruno@clisp.org>
66008
66009         * lib/strstr.c: Include <stddef.h>, for NULL.
66010         * lib/strcasestr.c: Likewise.
66011         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66012
66013 2005-08-31  Bruno Haible  <bruno@clisp.org>
66014
66015         * gnulib-tool: New option --macro-prefix.
66016         (func_import): Use macro_prefix.
66017         (import): Handle option --macro-prefix.
66018
66019 2005-08-31  Bruno Haible  <bruno@clisp.org>
66020
66021         * gnulib-tool (import): Rename most ac_* variables to cached_*.
66022         Also use new variables cached_lgpl, cached_libtool.
66023
66024 2005-08-31  Bruno Haible  <bruno@clisp.org>
66025
66026         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
66027         always instantiating them.
66028
66029 2005-08-31  Bruno Haible  <bruno@clisp.org>
66030
66031         * gnulib-tool (func_import): Read the previous cached settings
66032         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
66033         earlier added by gnulib but are now dropped. Warn when a gnulib file
66034         overwrites a non-gnulib file.
66035
66036 2005-08-31  Bruno Haible  <bruno@clisp.org>
66037
66038         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
66039         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
66040         projects that don't keep autogenerated files in CVS. Put into
66041         actioncmd only the specified modules, not the transitive closure.
66042
66043 2005-08-31  Bruno Haible  <bruno@clisp.org>
66044
66045         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
66046         Create directories that shall be filled.
66047         (import): Don't look for gl_* macros in configure.ac. Recurse across
66048         all directories containing a gnulib-cache.m4 files, if meaningful.
66049
66050 2005-08-31  Bruno Haible  <bruno@clisp.org>
66051
66052         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
66053         (import): Set seen_libtool when we see gl_LIBTOOL.
66054
66055 2005-08-31  Bruno Haible  <bruno@clisp.org>
66056
66057         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
66058         declaration macro definitions from generated gnulib.m4.
66059
66060 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
66061
66062         * lib/iconvme.h: Add prototype for iconv_alloc.
66063
66064 2005-08-29  Simon Josefsson  <jas@extundo.com>
66065
66066         * lib/iconvme.c: Fix errno.
66067
66068 2005-08-29  Bruno Haible  <bruno@clisp.org>
66069
66070         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
66071         that it works when the directory contains spaces.
66072
66073 2005-08-29  Bruno Haible  <bruno@clisp.org>
66074
66075         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
66076
66077 2005-08-29  Bruno Haible  <bruno@clisp.org>
66078
66079         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
66080         Emit more advice.
66081
66082 2005-08-29  Bruno Haible  <bruno@clisp.org>
66083         and Stepan Kasal  <kasal@ucw.cz>
66084
66085         * check-module: If more parameters are given, check each of them
66086         separately; add more exceptions, as noted by Jim Meyering.
66087         (check_module): New procedure.
66088         (%exempt_header): Now contains all exceptions.
66089
66090 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
66091
66092         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
66093
66094 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
66095
66096         * lib/iconvme.c: Split iconv_string into iconv_alloc.
66097
66098 2005-08-28  Bruno Haible  <bruno@clisp.org>
66099
66100         * m4/gnulib-tool.m4: New file.
66101
66102 2005-08-27  Jim Meyering  <jim@meyering.net>
66103
66104         * modules/unistd-safer (Files): Add pipe-safer.c.
66105         * modules/fcntl-safer (Files): Add creat-safer.c.
66106
66107 2005-08-27  Jim Meyering  <jim@meyering.net>
66108
66109         * m4/stdlib-safer.m4: New file.  From coreutils.
66110         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
66111         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
66112         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
66113         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
66114         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
66115
66116 2005-08-27  Jim Meyering  <jim@meyering.net>
66117
66118         * lib/fopen-safer.c: Merge minor changes from coreutils.
66119         * lib/dup-safer.c: Likewise.
66120         * lib/fd-safer.c: Likewise.
66121
66122         Merge from coreutils.
66123         * lib/stdio--.h: New file.
66124         * lib/stdlib--.h: New file.
66125         * lib/mkstemp-safer.c: New file.
66126
66127         GNU tar needs these.
66128         * lib/pipe-safer.c: New file.
66129         * lib/creat-safer.c: New file.
66130         * lib/fcntl--.h (creat): Define to creat_safer.
66131         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
66132         * lib/unistd--.h (pipe): Define to pipe_safer.
66133         * lib/unistd-safer.h: Declare pipe_safer.
66134
66135 2005-08-26  Simon Josefsson  <jas@extundo.com>
66136
66137         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
66138         Haible <bruno@clisp.org>.
66139
66140 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
66141
66142         * lib/regex_internal.h: Remove all references to
66143         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
66144         or better.
66145         (bitset_not, bitset_merge, bitset_not_merge):
66146         (bitset_mask, re_string_allocate, re_string_construct):
66147         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
66148         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
66149         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
66150         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
66151         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66152         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66153         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
66154         (re_acquire_state_context):
66155         Remove unnecessary forward decls.
66156         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
66157         Put __attribute at function definition,
66158         now that the function decl has been removed.
66159         * lib/regex_internal.c (re_string_peek_byte_case):
66160         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
66161         Likewise.
66162
66163 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
66164
66165         * m4/regex.m4: Add AC_PREREQ(2.50).
66166         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
66167
66168 2005-08-25  Simon Josefsson  <jas@extundo.com>
66169
66170         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
66171         __fsetlocking.
66172
66173 2005-08-25  Simon Josefsson  <jas@extundo.com>
66174
66175         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
66176         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
66177         GLIBC specific code.
66178
66179 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66180
66181         Make regex safe for g++.  This fixes one real bug (an "err"
66182         that should have been "*err").  g++ problem reported by
66183         Sam Steingold.
66184         * lib/regex_internal.h (re_calloc): New macro, consistent with
66185         re_malloc etc.  All callers of calloc changed to use re_calloc.
66186         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
66187         not int.  All callers changed.
66188         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
66189         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
66190         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
66191         (find_recover_state): Change "err" to "*err"; this fixes what
66192         appears to be a real bug.
66193         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
66194         versus int.
66195
66196 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66197
66198         * modules/regex (Depends-on): Add malloc, since the code
66199         assumes that !malloc(0) means failure.
66200
66201 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66202
66203         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
66204
66205         alloca modernization/simplification for regex.
66206         * lib/regex.c: Remove portability cruft for alloca.  This no longer
66207         needs to be at the start of the file, and can be moved into
66208         regex_internal.h and simplified.
66209         * lib/regex_internal.h: Include <alloca.h>.
66210         (__libc_use_alloca) [!defined _LIBC]: New macro.
66211         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
66212         now works outside glibc.
66213
66214 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66215
66216         * config/srclist.txt: Add glibc bugs 1241, 1245.
66217
66218 2005-08-25  Jim Meyering  <jim@meyering.net>
66219
66220         * lib/open-safer.c: Include <config.h>.
66221         Otherwise, we'd lose LARGEFILE support in any file using
66222         e.g. "fcntl--.h"
66223
66224 2005-08-25  Bruno Haible  <bruno@clisp.org>
66225
66226         * m4/minmax.m4: Require autoconf 2.52.
66227         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
66228         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
66229         alternatives of translit over the alphabet.
66230         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
66231
66232 2005-08-24  Simon Josefsson  <jas@extundo.com>
66233
66234         * tests/test-getpass.c: New file.
66235
66236 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66237
66238         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
66239         for GNU regex features.
66240
66241 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66242
66243         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
66244         * lib/regex.h (regerror): Likewise.
66245
66246         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
66247         requires this.  (The code never needed it.)
66248
66249         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
66250         All uses of recently-renamed identifiers changed to use the new,
66251         POSIX-compliant names.  The code will build and run just fine
66252         without these changes, but it's better to eat our own dog food
66253         and use the standard-conforming names.
66254
66255         * lib/regex.h: Fix a multitude of POSIX name space violations.
66256         These changes have an effect only for programs that define
66257         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
66258         do not change anything for programs compiled in the normal way.
66259         Also, there is no effect on the ABI.
66260
66261         (_REGEX_SOURCE): New macro.
66262         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
66263         defined and _GNU_SOURCE is not; this fixes a name space violation.
66264
66265         Rename the following macros to obey POSIX requirements.
66266         The old names are still visible as macros if _REGEX_SOURCE is defined.
66267         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
66268         RE_BACKSLASH_ESCAPE_IN_LISTS.
66269         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
66270         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
66271         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
66272         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
66273         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
66274         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
66275         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
66276         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
66277         (REG_INTERVALS): renamed from RE_INTERVALS.
66278         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
66279         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
66280         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
66281         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
66282         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
66283         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
66284         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
66285         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
66286         RE_UNMATCHED_RIGHT_PAREN_ORD.
66287         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
66288         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
66289         (REG_DEBUG): renamed from RE_DEBUG.
66290         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
66291         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
66292         unusual, since we can't clash with the POSIX REG_ICASE.
66293         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
66294         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
66295         (REG_NO_SUB): renamed from RE_NO_SUB.
66296         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
66297         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
66298         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
66299         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
66300         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
66301         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
66302         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
66303         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
66304         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
66305         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
66306         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
66307         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
66308         RE_SYNTAX_POSIX_MINIMAL_BASIC.
66309         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
66310         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
66311         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
66312         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
66313         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
66314         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
66315         (REG_FIXED): Renamed from REGS_FIXED.
66316         (REG_NREGS): Renamed from RE_NREGS.
66317
66318         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
66319         of other REG_* macros, since POSIX says the user is allowed to
66320         #undef these macros selectively.
66321
66322         (reg_errcode_t): Update comment stating what other tables need
66323         to be consistent.
66324
66325         Rename the following enum values to obey POSIX requirements.
66326         The old names are still visible as macros.
66327         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
66328         is not defined, since GNU is supposed to be a superset of POSIX as
66329         much as possible, and since we want reg_errcode_t to be a signed
66330         type for implementation consistency.
66331         (_REG_NOERROR): Renamed from REG_NOERROR.
66332         (_REG_NOMATCH): Renamed from REG_NOMATCH.
66333         (_REG_BADPAT): Renamed from REG_BADPAT.
66334         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
66335         (_REG_ECTYPE): Renamed from REG_ECTYPE.
66336         (_REG_EESCAPE): Renamed from REG_EESCAPE.
66337         (_REG_ESUBREG): Renamed from REG_ESUBREG.
66338         (_REG_EBRACK): Renamed from REG_EBRACK.
66339         (_REG_EPAREN): Renamed from REG_EPAREN.
66340         (_REG_EBRACE): Renamed from REG_EBRACE.
66341         (_REG_BADBR): Renamed from REG_BADBR.
66342         (_REG_ERANGE): Renamed from REG_ERANGE.
66343         (_REG_ESPACE): Renamed from REG_ESPACE.
66344         (_REG_BADRPT): Renamed from REG_BADRPT.
66345         (_REG_EEND): Renamed from REG_EEND.
66346         (_REG_ESIZE): Renamed from REG_ESIZE.
66347         (_REG_ERPAREN): Renamed from REG_ERPAREN.
66348         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
66349         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
66350         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
66351         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
66352
66353         (_REG_RE_NAME, _REG_RM_NAME): New macros.
66354         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
66355         changed.  But support the old name if the new one is not defined
66356         and if _REGEX_SOURCE.
66357
66358         Change the following member names in struct re_pattern_buffer.
66359         The old names are still supported if !_REGEX_SOURCE.
66360         The new names are always supported, regardless of _REGEX_SOURCE.
66361         (re_buffer): Renamed from buffer.
66362         (re_allocated): Renamed from allocated.
66363         (re_used): Renamed from used.
66364         (re_syntax): Renamed from syntax.
66365         (re_fastmap): Renamed from fastmap.
66366         (re_translate): Renamed from translate.
66367         (re_can_be_null): Renamed from can_be_null.
66368         (re_regs_allocated): Renamed from regs_allocated.
66369         (re_fastmap_accurate): Renamed from fastmap_accurate.
66370         (re_no_sub): Renamed from no_sub.
66371         (re_not_bol): Renamed from not_bol.
66372         (re_not_eol): Renamed from not_eol.
66373         (re_newline_anchor): Renamed from newline_anchor.
66374
66375         Change the following member names in struct re_registers.
66376         The old names are still supported if !_REGEX_SOURCE.
66377         The new names are always supported, regardless of _REGEX_SOURCE.
66378         (rm_num_regs): Renamed from num_regs.
66379         (rm_start): Renamed from start.
66380         (rm_end): Renamed from end.
66381
66382         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
66383         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
66384         Prepend __ to parameter names.
66385
66386         Undo yesterday's changes.
66387
66388 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66389
66390         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
66391         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
66392         lib/regex.c.
66393
66394 2005-08-24  Jim Meyering  <jim@meyering.net>
66395
66396         Sync from coreutils.
66397         * m4/fcntl-safer.m4: New file.
66398
66399         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
66400         and object files for this module.
66401
66402 2005-08-24  Jim Meyering  <jim@meyering.net>
66403
66404         Sync from coreutils.
66405         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
66406
66407 2005-08-24  Jim Meyering  <jim@meyering.net>
66408
66409         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
66410         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
66411
66412 2005-08-24  Jim Meyering  <jim@meyering.net>
66413
66414         * modules/fcntl-safer: New module.
66415         * modules/fts (Depends-on): Add fcntl-safer.
66416         * MODULES.html.sh (File descriptor based Input/Output):
66417         Add fcntl-safer.
66418
66419 2005-08-24  Bruno Haible  <bruno@clisp.org>
66420
66421         Support for unit test modules.
66422         * modules/README: Mention tests modules.
66423         * modules/TEMPLATE-TESTS: New file.
66424         * gnulib-tool: New options --extract-tests-module, --with-tests and
66425         --tests-base (unused for the moment).
66426         (testsbase, inctests): New variables.
66427         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
66428         (func_verify_module): Exclude TEMPLATE-TESTS.
66429         (func_verify_nontests_module, func_verify_tests_module): New functions.
66430         (func_get_dependencies): Add implicit dependency for tests modules.
66431         (func_get_tests_module): New function.
66432         (func_modules_transitive_closure): When --with-tests was specified,
66433         include the unit tests as well, unless explicitly avoided.
66434         (func_emit_lib_Makefile_am): Ignore the tests modules here.
66435         (func_emit_tests_Makefile_am): New function.
66436         (func_create_testdir): When --with-tests was specified, emit a
66437         tests/ directory.
66438         * MODULES.html.sh (Future developments): Update.
66439
66440 2005-08-24  Bruno Haible  <bruno@clisp.org>
66441
66442         * modules/tls-tests: New file.
66443         * tests/test-tls.c: New file, from GNU gettext.
66444
66445 2005-08-24  Bruno Haible  <bruno@clisp.org>
66446
66447         * modules/lock-tests: New file.
66448         * tests/test-lock.c: New file, from GNU gettext.
66449
66450 2005-08-24  Bruno Haible  <bruno@clisp.org>
66451
66452         * lib/lock.h: Add multiple inclusion guard.
66453         * lib/tls.h: Add multiple inclusion guard.
66454
66455 2005-08-24  Bruno Haible  <bruno@clisp.org>
66456
66457         * gnulib-tool: Add support for the --aux-dir option to
66458         --create-testdir, --create-megatestdir, --test, --megatest.
66459         (func_create_testdir, func_create_megatestdir): Optionally emit a
66460         AC_CONFIG_AUX_DIR directive.
66461         (create-testdir, create-megatestdir, test, megatest): Provide a
66462         default value for $auxdir.
66463
66464 2005-08-24  Bruno Haible  <bruno@clisp.org>
66465
66466         * gnulib-tool (import): Use compound statement instead of subshell
66467         where possible.
66468
66469 2005-08-24  Bruno Haible  <bruno@clisp.org>
66470
66471         * gnulib-tool (import): Change --aux-dir default to "build-aux".
66472
66473 2005-08-24  Bruno Haible  <bruno@clisp.org>
66474
66475         * gnulib-tool (func_version): Update.
66476
66477 2005-08-24  Bruno Haible  <bruno@clisp.org>
66478
66479         * gnulib-tool (func_import, func_create_testdir,
66480         func_create_megatestdir): Quote all autoconf macro arguments.
66481
66482 2005-08-24  Bruno Haible  <bruno@clisp.org>
66483
66484         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
66485         option --force, because --force causes the aclocal.m4 of each
66486         subdirectory to be newer than the corresponding config.h.in.
66487
66488 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66489
66490         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
66491         All contents moved to gl_REGEX.
66492         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
66493         assume that it does.
66494
66495 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66496
66497         * lib/regex.h (REG_NOSYS)
66498         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
66499         Define, since POSIX requires it as of 2001.
66500         (_REG_ENOSYS)
66501         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
66502         New private symbol, used to keep the enum signed in all cases.
66503         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
66504         Youngman in
66505         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
66506
66507         * lib/regex_internal.c (re_string_skip_chars, register_state):
66508         (calc_state_hash):
66509         Remove forward decls; no longer needed now that we use prototypes.
66510         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
66511         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
66512         (clean_state_log_if_needed): Likewise.
66513
66514 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66515
66516         * config/srclist.txt: Add glibc bugs 1231-1233.
66517
66518 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66519
66520         Fix problems reported by Sam Steingold in
66521         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
66522         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
66523         assumed that reg_errcode_t is a signed type, which is not
66524         necessarily true if _XOPEN_SOURCE is not defined.
66525         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
66526         since some compilers warn about it otherwise.
66527
66528 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66529
66530         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
66531         (init_word_char, create_initial_state, duplicate_node_closure):
66532         (fetch_token, peek_token_bracket, build_range_exp):
66533         (build_collating_symbol): Remove forward decls; no longer needed
66534         now that we use prototypes.
66535
66536         * lib/regcomp.c:
66537         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
66538         (re_compile_fastmap_iter, regcomp, regerror, regfree):
66539         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
66540         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
66541         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
66542         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
66543         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
66544         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
66545         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
66546         (build_range_exp, build_collating_symbol, parse_bracket_exp):
66547         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
66548         (build_charclass, build_charclass_op, fetch_number, create_tree):
66549         (create_token_tree, mark_opt_subexp, duplicate_tree):
66550         Use prototypes rather than old-style definitions.
66551
66552         * lib/regex_internal.c:
66553         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
66554         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
66555         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
66556         (re_string_reconstruct, re_string_peek_byte_case):
66557         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
66558         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
66559         (re_node_set_init_copy, re_node_set_add_intersect):
66560         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66561         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66562         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
66563         (re_acquire_state, re_acquire_state_context, register_state):
66564         (create_ci_newstate, create_cd_newstate, free_state):
66565         Likewise.
66566         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
66567         re_search_2):
66568         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
66569         (re_search_internal, prune_impossible_nodes):
66570         (acquire_init_state_context, check_matching, static):
66571         (check_halt_node_context, check_halt_state_context, proceed_next_node):
66572         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
66573         (update_regs, sift_states_backward, build_sifted_states):
66574         (clean_state_log_if_needed, merge_state_array):
66575         (update_cur_sifted_state, add_epsilon_src_nodes):
66576         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
66577         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
66578         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
66579         (find_recover_state, check_subexp_matching_top, transit_state_mb):
66580         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
66581         (check_arrival, check_arrival_add_next_nodes):
66582         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66583         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
66584         (check_node_accept_bytes, check_node_accept, extend_buffers):
66585         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
66586         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
66587         (sift_ctx_init):
66588         Likewise.
66589
66590         * lib/regex_internal.h:
66591         (re_string_allocate, re_string_construct, re_string_reconstruct):
66592         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
66593         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
66594         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
66595         (re_string_context_at, re_string_peek_byte_case):
66596         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
66597         is defined, since we now use prototypes always.
66598
66599         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
66600         C89 or better.  All uses removed.
66601
66602 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66603
66604         * config/srclist.txt: Add glibc bugs 1220-1227.
66605
66606 2005-08-20  Jim Meyering  <jim@meyering.net>
66607
66608         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
66609         of unused local, dfa.
66610
66611 2005-08-20  Bruno Haible  <bruno@clisp.org>
66612
66613         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
66614
66615 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66616
66617         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
66618         (re_node_set_insert_last, re_dfa_add_node):
66619         Rename local variables to avoid GCC shadowing warnings.
66620
66621 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66622
66623         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
66624         [defined lint]: Suppress bogus uninitialized-variable warnings.
66625
66626         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
66627         and let the caller return REG_ESPACE if out of space.  This
66628         removes an uninitialied-variable warning with GCC 4.0.1, and also
66629         avoids taking the address of a local variable.  All callers
66630         changed.
66631
66632 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66633
66634         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
66635         $LIBCSRC/posix/regexec.c.
66636         Add glibc bug 1217 for regcomp.c.
66637
66638 2005-08-19  Jim Meyering  <jim@meyering.net>
66639
66640         * lib/regexec.c (proceed_next_node): Redo local variables to
66641         avoid GCC shadowing warnings.
66642
66643 2005-08-18  Bruno Haible  <bruno@clisp.org>
66644
66645         * lib/strstr.c (strstr): Fix return value in multibyte case.
66646         * lib/strcasestr.c (strcasestr): Likewise.
66647
66648 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66649
66650         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
66651
66652 2005-08-17  Jim Meyering  <jim@meyering.net>
66653
66654         Make the %s format (seconds since the epoch) work for a negative
66655         number and when used with a zero-padded field width, e.g. %015s.
66656
66657         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
66658         label so that it precedes the code to set `digits'.  Otherwise,
66659         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
66660         print `00-22'.  Now, it prints `-0022', as it should.
66661
66662 2005-08-17  Bruno Haible  <bruno@clisp.org>
66663
66664         * modules/strstr (Files): Add m4/mbrtowc.m4.
66665         (Depends-on): Add mbuiter.
66666
66667 2005-08-17  Bruno Haible  <bruno@clisp.org>
66668
66669         * modules/strcasestr: New file.
66670         * MODULES.html.sh (String handling, based on ANSI C 89): Add
66671         strcasestr.
66672
66673 2005-08-17  Bruno Haible  <bruno@clisp.org>
66674
66675         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
66676
66677 2005-08-17  Bruno Haible  <bruno@clisp.org>
66678
66679         * modules/mbuiter: New file.
66680         * MODULES.html.sh (Extended multibyte and wide character utilities):
66681         Add mbuiter.
66682
66683 2005-08-17  Bruno Haible  <bruno@clisp.org>
66684
66685         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
66686         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
66687
66688 2005-08-17  Bruno Haible  <bruno@clisp.org>
66689
66690         * m4/strcasestr.m4: New file.
66691
66692 2005-08-17  Bruno Haible  <bruno@clisp.org>
66693
66694         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
66695         * lib/strstr.c: Completely rewritten, with multibyte locale support.
66696
66697 2005-08-17  Bruno Haible  <bruno@clisp.org>
66698
66699         * lib/strcasestr.h: New file.
66700         * lib/strcasestr.c: New file.
66701
66702 2005-08-17  Bruno Haible  <bruno@clisp.org>
66703
66704         * lib/strcasecmp.c: Use mbuiter.h.
66705
66706 2005-08-17  Bruno Haible  <bruno@clisp.org>
66707
66708         * lib/mbuiter.h: New file.
66709
66710 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
66711
66712         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
66713         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
66714         and gl_GETOPT are both invoked via different paths (as happens
66715         with GNU tar CVS because it uses both argp and getopt), the former
66716         wins.
66717
66718 2005-08-16  Bruno Haible  <bruno@clisp.org>
66719
66720         * modules/tls: New file.
66721         * MODULES.html.sh (Multithreading): Add tls.
66722
66723 2005-08-16  Bruno Haible  <bruno@clisp.org>
66724
66725         * modules/strnlen1: New file.
66726         * MODULES.html.sh (String handling): Add strnlen1.
66727
66728 2005-08-16  Bruno Haible  <bruno@clisp.org>
66729
66730         * modules/strcase (Files): Add m4/mbrtowc.m4.
66731         (Depends-on): Add strnlen1, mbchar.
66732
66733 2005-08-16  Bruno Haible  <bruno@clisp.org>
66734
66735         * modules/mbiter: New file.
66736         * MODULES.html.sh (Extended multibyte and wide character utilities):
66737         Add mbiter.
66738
66739 2005-08-16  Bruno Haible  <bruno@clisp.org>
66740
66741         * modules/mbfile: New file.
66742         * MODULES.html.sh (Extended multibyte and wide character utilities):
66743         Add mbfile.
66744
66745 2005-08-16  Bruno Haible  <bruno@clisp.org>
66746
66747         * modules/mbchar: New file.
66748         * MODULES.html.sh (Extended multibyte and wide character utilities):
66749         New section.
66750
66751 2005-08-16  Bruno Haible  <bruno@clisp.org>
66752
66753         * m4/tls.m4: New file, from GNU gettext.
66754
66755 2005-08-16  Bruno Haible  <bruno@clisp.org>
66756
66757         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
66758         always.
66759         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
66760
66761 2005-08-16  Bruno Haible  <bruno@clisp.org>
66762
66763         * m4/mbiter.m4: New file.
66764
66765 2005-08-16  Bruno Haible  <bruno@clisp.org>
66766
66767         * m4/mbfile.m4: New file.
66768
66769 2005-08-16  Bruno Haible  <bruno@clisp.org>
66770
66771         * m4/mbchar.m4: New file.
66772
66773 2005-08-16  Bruno Haible  <bruno@clisp.org>
66774
66775         * lib/tls.h: New file, from GNU gettext.
66776         * lib/tls.c: New file, from GNU gettext.
66777
66778 2005-08-16  Bruno Haible  <bruno@clisp.org>
66779
66780         * lib/strnlen1.h: New file.
66781         * lib/strnlen1.c: New file.
66782
66783 2005-08-16  Bruno Haible  <bruno@clisp.org>
66784
66785         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
66786         (mbi_init): Update.
66787         (mbi_avail, mbi_advance): Let the iteration end before the terminating
66788         NUL byte, not after it.
66789
66790 2005-08-16  Bruno Haible  <bruno@clisp.org>
66791
66792         * lib/strcase.h (strcasecmp): Add note in comments.
66793         * lib/strncasecmp.c: Use code from strcasecmp.c.
66794         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
66795         (strcasecmp): Work correctly in multibyte locales.
66796
66797 2005-08-16  Bruno Haible  <bruno@clisp.org>
66798
66799         * lib/mbiter.h: New file.
66800
66801 2005-08-16  Bruno Haible  <bruno@clisp.org>
66802
66803         * lib/mbfile.h: New file.
66804
66805 2005-08-16  Bruno Haible  <bruno@clisp.org>
66806
66807         * lib/mbchar.h: New file.
66808         * lib/mbchar.c: New file.
66809
66810 2005-08-16  Bruno Haible  <bruno@clisp.org>
66811
66812         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
66813         the valid ones. Makes the comparison operations transitive:
66814         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
66815         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
66816
66817 2005-08-15  Simon Josefsson  <jas@extundo.com>
66818
66819         * modules/ssize_t (License): Change to 'unlimited'.
66820
66821         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
66822
66823 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66824
66825         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
66826         Add comments for each pending glibc patch.
66827
66828 2005-08-15  Bruno Haible  <bruno@clisp.org>
66829
66830         * lib/regex.h (__restrict_arr): Don't define to __restrict if
66831         __cplusplus is defined.
66832
66833 2005-08-14  Jim Meyering  <jim@meyering.net>
66834
66835         Sync from coreutils.
66836
66837         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
66838         Use the hash-table-based cycle-detection code not just when
66839         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
66840         Reported by James Youngman in
66841         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
66842         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
66843         FTS_TIGHT_CYCLE_CHECK.
66844         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
66845         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
66846         once again.
66847         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
66848         * lib/fts.c (fd_safer): Remove decl.
66849         Include fcntl--.h rather than unistd-safer.h
66850         (fts_safe_changedir): Don't call fd_safer; no longer needed
66851         now that we include fcntl--.h.
66852
66853 2005-08-12  Simon Josefsson  <jas@extundo.com>
66854
66855         * modules/getndelim2: Use ssize_t module.
66856         * modules/getnline: Likewise.
66857         * modules/safe-read: Likewise.
66858         * modules/xreadlink: Likewise.
66859
66860         * modules/ssize_t: New file.
66861
66862 2005-08-12  Simon Josefsson  <jas@extundo.com>
66863
66864         * m4/readline.m4: Look for termcap, curses or ncurses if required.
66865
66866 2005-08-12  Simon Josefsson  <jas@extundo.com>
66867
66868         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66869         ssize_t.
66870
66871 2005-08-12  Simon Josefsson  <jas@extundo.com>
66872
66873         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
66874         readline, getdelim and check_version.
66875         (Support for systems lacking ISO C 99: Sizes of integer types):
66876         Add size_max.
66877
66878 2005-08-12  Bruno Haible  <bruno@clisp.org>
66879
66880         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
66881
66882 2005-08-11  Simon Josefsson  <jas@extundo.com>
66883
66884         * modules/readline: New file.
66885
66886         * modules/strnlen (Files): Add strnlen.h.
66887
66888 2005-08-11  Simon Josefsson  <jas@extundo.com>
66889
66890         * m4/readline.m4: New file.
66891
66892 2005-08-11  Simon Josefsson  <jas@extundo.com>
66893
66894         * lib/readline.h, readline.c: New file.
66895
66896 2005-08-11  Simon Josefsson  <jas@extundo.com>
66897
66898         * doc/gnulib.texi (Initial import, Finishing touches): Mention
66899         gl_AVOID.
66900
66901 2005-08-11  Bruno Haible  <bruno@clisp.org>
66902
66903         * lib/strnlen.h (strnlen): Change parameter name to match comment.
66904
66905 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
66906
66907         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
66908
66909 2005-08-10  Simon Josefsson  <jas@extundo.com>
66910
66911         * tests/test-iconvme.c: New file.
66912
66913 2005-08-10  Simon Josefsson  <jas@extundo.com>
66914
66915         * m4/strnlen.m4: New file.
66916
66917         * m4/strndup.m4: Don't check for strnlen declaration, done in
66918         strnlen.m4.
66919
66920 2005-08-10  Simon Josefsson  <jas@extundo.com>
66921
66922         * lib/strndup.c: Use strnlen.h.
66923
66924         * lib/strnlen.h: New file.
66925
66926 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
66927
66928         * README: Typos.
66929
66930 2005-08-02  Simon Josefsson  <jas@extundo.com>
66931
66932         * modules/readline: New file.
66933
66934 2005-08-02  Simon Josefsson  <jas@extundo.com>
66935
66936         * modules/getdelim: New file.
66937
66938         * modules/getline: Rewrite, don't use getndelim2.
66939
66940 2005-08-02  Simon Josefsson  <jas@extundo.com>
66941
66942         * m4/getline.m4: Separate out getdelim stuff into separate module.
66943
66944         * m4/getdelim.m4: New file.
66945
66946 2005-08-02  Simon Josefsson  <jas@extundo.com>
66947
66948         * lib/getline.h, getline.c: Rewrite.
66949
66950         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
66951
66952 2005-07-31  Bruno Haible  <bruno@clisp.org>
66953
66954         * lib/lock.h (gl_lock_initializer): New macro.
66955         (gl_lock_define_initialized): Use it.
66956         (gl_rwlock_initializer): New macro.
66957         (gl_rwlock_define_initialized): Use it.
66958         (gl_recursive_lock_initializer): New macro.
66959         (gl_recursive_lock_define_initialized): Use it.
66960
66961 2005-07-30  Karl Berry  <karl@gnu.org>
66962
66963         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
66964         Report from Ben Pfaff, regarding getopt.
66965
66966 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
66967
66968         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
66969         normal way.
66970         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
66971         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
66972         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
66973         (gl_GETOPT): Use the new macros.  Most of the implementation
66974         is moved to the new macros.  This is for programs like Emacs
66975         that don't want all the functionality of gl_GETOPT.
66976
66977 2005-07-26  Bruno Haible  <bruno@clisp.org>
66978
66979         * m4/lock.m4: Update from GNU gettext.
66980
66981 2005-07-26  Bruno Haible  <bruno@clisp.org>
66982
66983         * lib/lock.h: Update from GNU gettext.
66984         * lib/lock.c: Update from GNU gettext.
66985
66986 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
66987
66988         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
66989         obsolescent AC_TRY_RUN.  Include the default includes files, for
66990         'exit'.
66991
66992 2005-07-24  Bruno Haible  <bruno@clisp.org>
66993
66994         * modules/visibility: New file.
66995         * MODULES.html.sh (Misc): Add visibility.
66996
66997 2005-07-24  Bruno Haible  <bruno@clisp.org>
66998
66999         * m4/visibility.m4: New file.
67000
67001 2005-07-24  Bruno Haible  <bruno@clisp.org>
67002
67003         * doc/visibility.texi: New file.
67004
67005 2005-07-22  Bruno Haible  <bruno@clisp.org>
67006
67007         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
67008         $(ALLOCA_H), redundant through BUILT_SOURCES.
67009         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
67010         redundant through BUILT_SOURCES.
67011         * modules/byteswap (Makefile.am): Remove explicit dependency on
67012         $(BYTESWAP_H), redundant through BUILT_SOURCES.
67013         * modules/fnmatch (Makefile.am): Remove explicit dependency on
67014         $(FNMATCH_H), redundant through BUILT_SOURCES.
67015         * modules/getopt (Makefile.am): Remove explicit dependency on
67016         $(GETOPT_H), redundant through BUILT_SOURCES.
67017         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
67018         redundant through BUILT_SOURCES.
67019         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
67020         redundant through BUILT_SOURCES.
67021         * modules/stdbool (Makefile.am): Remove explicit dependency on
67022         $(STDBOOL_H), redundant through BUILT_SOURCES.
67023         * modules/stdint (Makefile.am): Remove explicit dependency on
67024         $(STDINT_H), redundant through BUILT_SOURCES.
67025         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
67026         Remove explicit dependency on $(SYSEXITS_H).
67027         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
67028
67029 2005-07-18  Simon Josefsson  <jas@extundo.com>
67030
67031         * lib/check-version.c (check_version): Accept identical versions too.
67032
67033 2005-07-18  Bruno Haible  <bruno@clisp.org>
67034
67035         * modules/lock: New file.
67036         * MODULES.html.sh (Multithreading): New section.
67037
67038 2005-07-18  Bruno Haible  <bruno@clisp.org>
67039
67040         * m4/lock.m4: New file, from GNU gettext.
67041
67042 2005-07-18  Bruno Haible  <bruno@clisp.org>
67043
67044         * lib/lock.h: New file, from GNU gettext.
67045         * lib/lock.c: New file, from GNU gettext.
67046
67047 2005-07-18  Bruno Haible  <bruno@clisp.org>
67048
67049         * lib/lock.h (gl_once_t): New type.
67050         (gl_once_define, gl_once): New macros.
67051         * lib/lock.c (fresh_once): New variable.
67052         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
67053         functions.
67054
67055 2005-07-16  Simon Josefsson  <jas@extundo.com>
67056
67057         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
67058         workaround, suggested by Bruno.
67059
67060 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67061
67062         * modules/xalloc (Depends-on): Add xalloc-die.
67063         * modules/xvasprintf (Depends-on): Add xalloc-die.
67064
67065 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67066
67067         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
67068         with a minor change.
67069
67070 2005-07-15  Bruno Haible  <bruno@clisp.org>
67071
67072         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
67073         When using lib/poll.c, define poll as rpl_poll.
67074
67075 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
67076
67077         * modules/argp (Depends-on): Remove unlocked-io.
67078
67079 2005-07-14  Derek Price  <derek@ximbiot.com>
67080
67081         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
67082         for glob symlink bug.
67083
67084 2005-07-14  Bruno Haible  <bruno@clisp.org>
67085
67086         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
67087         Instead, test for *_unlocked function declarations directly.
67088
67089 2005-07-11  Simon Josefsson  <jas@extundo.com>
67090
67091         * modules/size_max: New file.
67092
67093         * modules/xsize: Depend on size_max module for size_max.m4.
67094
67095 2005-07-11  Simon Josefsson  <jas@extundo.com>
67096
67097         * lib/size_max.h: New file.
67098
67099 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
67100
67101         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
67102         copyright symbol and the year.
67103         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
67104         (version_etc_va): Use parameterized copyright notice.
67105         Reword to conform to the current GNU coding standards.
67106
67107 2005-07-11  Karl Berry  <karl@gnu.org>
67108
67109         * doc/gnulib.texi (Quoting): new node.
67110         (Initial import): more info, from Patrice.
67111
67112 2005-07-11  Bruno Haible  <bruno@clisp.org>
67113
67114         * gnulib-tool (func_usage): Document option --avoid.
67115         (Command line options): Handle --avoid.
67116         (func_acceptable): New function.
67117         (func_modules_transitive_closure): Use it.
67118
67119 2005-07-11  Bruno Haible  <bruno@clisp.org>
67120
67121         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
67122         Reported by Jim Meyering.
67123
67124 2005-07-10  Bruno Haible  <bruno@clisp.org>
67125
67126         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
67127         Needed when size_t is smaller than 'unsigned int'.
67128         Reported by Paul Eggert.
67129
67130 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67131
67132         * modules/argp (Depends-on): Add unlocked-io
67133
67134 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67135
67136         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
67137         block of defines.
67138
67139 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67140
67141         * config/srclist.txt: Comment out regcomp.c, since we have a porting
67142         fix now.
67143
67144 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
67145         and Paul Eggert  <eggert@cs.ucla.edu>
67146
67147         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
67148         in wint_t, not wchar_t.  Remove now-unnecessary cast.
67149
67150 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67151
67152         * modules/regex (Files): Add lib/regex_internal.c,
67153         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
67154         (Depends-on): Add extensions.
67155         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
67156
67157 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67158
67159         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
67160         pathconf.
67161         * m4/same.m4 (gl_SAME): Likewise.
67162         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
67163
67164         * m4/regex.m4: Adjust to new libc regex implementation.
67165         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
67166         all the .c and .h parts of (the new) regex.
67167         Quote the m4 stuff better.
67168         Check for RE_ICASE bug of old gnulib.
67169         Check for REG_STARTEND of recent libc.
67170         Rename local variables from jm_* to gl_*.
67171         Quote operand of "test -f".
67172         Say "recent enough" version of libc, not "version 2".
67173         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
67174         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
67175         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
67176         Remove check for btowc, isascii.
67177         Require AM_LANGINFO_CODESET.
67178
67179 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67180
67181         * lib/regex.c, regex.h: Sync from libc.
67182         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
67183         * lib/regexec.c:
67184         New files, synced from libc, except that regex_internal.h
67185         currently has a small porting fix.
67186
67187 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67188
67189         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
67190         regex_internal.c, regexec.c.
67191         Add regex_internal.h too, but as a comment, since the libc version
67192         is currently broken in gnulib mode.
67193
67194 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67195
67196         Support programs like Emacs that use gnulib but not gettext.
67197         * MODULES.html.sh (Internationalization functions): Add gettext-h.
67198         * modules/gettext-h: New file.
67199         * modules/gettext (Files): Remove lib/gettext.h.
67200         (Depends-on): Add gettext-h.
67201         (Makefile.am): Remove lib_SOURCES.
67202         * modules/argmatch, modules/c-stack, modules/closeout:
67203         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
67204         * modules/execute, modules/file-type, modules/getaddrinfo:
67205         * modules/getopt, modules/human, modules/javacomp:
67206         * modules/javaexec, modules/mkdir-p, modules/obstack:
67207         * modules/openat, modules/pagealign_alloc, modules/pipe:
67208         * modules/quotearg, modules/regex, modules/rpmatch:
67209         * modules/unicodeio, modules/userspec, modules/version-etc:
67210         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
67211         * modules/xsetenv:
67212         Depend on gettext-h, not gettext.
67213
67214 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
67215
67216         * gnulib-tool (func_import): Add support for 'public domain' license.
67217         * modules/alloca, modules/atexit, modules/memmove:
67218         Now public domain, not GPL.
67219         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
67220         * modules/realloc, modules/strerror, modules/strtod:
67221         Now LGPL, not GPL.
67222
67223 2005-07-05  Bruno Haible  <bruno@clisp.org>
67224
67225         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
67226         autoconf CVS. Needed for mingw.
67227
67228 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67229
67230         Remove the dependency of the strftime module on the tzset module.
67231         * modules/strftime (Depends-on): Remove dependency on tzset.
67232
67233 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67234
67235         Remove the dependency of the strftime module on the tzset module.
67236         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
67237         gl_FUNC_TZSET_CLOBBER.
67238
67239 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67240
67241         Remove the dependency of the strftime module on the tzset module.
67242         * lib/strftime.c (my_strftime)
67243         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
67244         Copy the input structure, to work around some of the bug with
67245         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
67246         Solaris releases, you should also use the tzset module, but we won't
67247         require it as a dependency any more since we don't want LGPLed code
67248         to depend on GPLed code.
67249
67250 2005-07-02  Jim Meyering  <jim@meyering.net>
67251
67252         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
67253         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
67254         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
67255         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
67256
67257 2005-07-02  Jim Meyering  <jim@meyering.net>
67258
67259         * lib/backupfile.c (backup_args): Change a `0' to NULL.
67260
67261 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67262
67263         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
67264         declares only 'struct timespec;' (!).
67265
67266 2005-07-01  Jim Meyering  <jim@meyering.net>
67267
67268         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
67269         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
67270         * lib/save-cwd.c, tempname.c:
67271         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
67272         and don't include <sys/file.h>).
67273
67274 2005-06-29  Jim Meyering  <jim@meyering.net>
67275
67276         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
67277         type name.  Use the variable name instead.
67278         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
67279         Likewise.
67280
67281 2005-06-28  Simon Josefsson  <jas@extundo.com>
67282
67283         * modules/check-version (Files): Add check-version.m4.
67284
67285 2005-06-28  Simon Josefsson  <jas@extundo.com>
67286
67287         * m4/check-version.m4: New file, suggested by Jim Meyering
67288         <jim@meyering.net>.
67289
67290 2005-06-28  Simon Josefsson  <jas@extundo.com>
67291
67292         * lib/check-version.h, lib/check-version.c: New files.
67293
67294 2005-06-28  Simon Josefsson  <jas@extundo.com>
67295
67296         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
67297         collision with global variable.  Better indentation.  Don't
67298         increment buffer pointer beyond buffer end.  Based on comments
67299         from Paul Eggert <eggert@cs.ucla.edu>.
67300
67301         * lib/base64.h: Indent.
67302
67303 2005-06-28  Simon Josefsson  <jas@extundo.com>
67304
67305         * doc/gnulib.texi (Library version handling): New section.
67306
67307 2005-06-28  Jim Meyering  <jim@meyering.net>
67308
67309         * check-module (find_included_lib_files): Hard-code another
67310         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
67311         but modules/fts-lgpl (correctly) does not list those files.
67312
67313         * modules/canonicalize (Files): Add lib/pathmax.h.
67314
67315 2005-06-25  Simon Josefsson  <jas@extundo.com>
67316
67317         * modules/check-version: New file.
67318
67319 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
67320
67321         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
67322         initializer of struct addrinfo, as an indication that we don't
67323         care how many members the structure has.
67324
67325 2005-06-24  Derek Price  <derek@ximbiot.com>
67326         and Bruno Haible  <bruno@clisp.org>
67327
67328         Remove stat module & update lstat.
67329         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
67330         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67331         * m4/stat.m4: Remove this file.
67332
67333 2005-06-24  Derek Price  <derek@ximbiot.com>
67334         and Bruno Haible  <bruno@clisp.org>
67335
67336         Remove stat module & update lstat.
67337         * lib/stat.c: Remove this file...
67338         (slash_aware_lstat): ...moving this content and its support...
67339         * lib/lstat.c (rpl_lstat): ...into here.
67340         * lib/lstat.h: New file.
67341
67342 2005-06-24  Derek Price  <derek@ximbiot.com>
67343         and Bruno Haible  <bruno@clisp.org>
67344
67345         Remove stat module & update lstat.
67346         * config/srclist.txt (libc sources): Remove stat.
67347
67348 2005-06-24  Derek Price  <derek@ximbiot.com>
67349         and Bruno Haible  <bruno@clisp.org>
67350
67351         Remove stat module & update lstat.
67352         * MODULES.html.sh (stat): Remove.
67353         * MODULES.html: Regenerated.
67354         * modules/lstat (Description): Correct function name.
67355         (Files): Add "lstat.h".
67356         (Depends-on): Remove stat, add xalloc, stat-macros.
67357         * modules/stat: Remove this file.
67358         (Include): Add "lstat.h", remove <sys/stat.h>.
67359
67360 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67361
67362         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
67363         (ranged_convert): Don't save conversion in a temporary struct.
67364         This causes a warning with GCC 4.0.0, and anyway in the typical
67365         case it's not worth the extra 100 bytes or so of code.
67366         (ranged_convert, __mktime_internal): When calling a function via a
67367         pointer P, use P () rather than (*P) (), as we now assume C89 or
67368         better.
67369
67370 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67371
67372         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
67373         "who -r" failed to give output.  Problem reported by Tim Waugh.
67374
67375         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
67376         (xcalloc): Use it to avoid needless tests.
67377         Problem reported by Jim Meyering.
67378
67379 2005-06-20  Derek Price  <derek@ximbiot.com>
67380
67381         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
67382         unnecessary for Autoconfs > 2.59c.
67383
67384 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67385
67386         * lib/argp.h (__option_is_short): Check upper limit of
67387         __key. Isprint() requires its argument to have the value
67388         of an unsigned char or EOF.
67389
67390 2005-06-16  Jim Meyering  <jim@meyering.net>
67391
67392         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
67393         when either N or S is zero.
67394
67395 2005-06-16  Derek Price  <derek@ximbiot.com>
67396
67397         * m4/bison.m4: Declare YACC & YFLAGS precious.
67398
67399 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
67400
67401         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
67402         multibyte string or pattern, fall back on unibyte matching.
67403         Problem reported by James Youngman.
67404
67405 2005-06-08  Bruno Haible  <bruno@clisp.org>
67406
67407         * modules/csharpcomp: New file.
67408         * MODULES.html.sh (C#): Add csharpcomp.
67409
67410 2005-06-08  Bruno Haible  <bruno@clisp.org>
67411
67412         * m4/csharpcomp.m4: New file, from GNU gettext.
67413
67414 2005-06-08  Bruno Haible  <bruno@clisp.org>
67415
67416         * lib/csharpcomp.h: New file, from GNU gettext.
67417         * lib/csharpcomp.c: New file, from GNU gettext.
67418         * lib/csharpcomp.sh.in: New file, from GNU gettext.
67419
67420 2005-06-08  Bruno Haible  <bruno@clisp.org>
67421
67422         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
67423         warning on mingw.
67424
67425 2005-06-07  Derek Price  <derek@ximbiot.com>
67426
67427         Sync from CVS.
67428         * lib/glob_.h: Indent nested #ifdef.
67429
67430 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67431
67432         Sync from coreutils.
67433         Use "file name" when talking about file names, instead of "filename"
67434         or "path", as per the GNU coding standards.
67435         * lib/mkdir-p.c: Renamed from makepath.c.
67436         (make_dir_parents): Renamed from make_path.  All callers changed.
67437         * lib/mkdir-p.h: Likewise.  All includers changed.
67438         * lib/filenamecat.c: Renamed from path-concat.c.
67439         (file_name_concat): Renamed from path_concat.  All callers changed.
67440         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
67441         * lib/filenamecat.h: Likewise.  All includers changed.
67442         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
67443         in comments or local variable names.
67444         * lib/basename.c: Likewise.
67445         * lib/canonicalize.c, canonicalize.h: Likewise.
67446         * lib/dirname.c, dirname.h: Likewise.
67447         * lib/euidaccess.c: Likewise.
67448         * lib/exclude.c: Likewise
67449         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
67450         * lib/fsusage.c, fsuage.h: Likewise.
67451         * lib/fts.c, fts_.h: Likewise.
67452         * lib/getcwd.c: Likewise.
67453         * lib/getloadavg.c: Likewise.
67454         * lib/mkstemp.c: Likewise.
67455         * lib/mountlist.c, mountlist.h: Likewise.
67456         * lib/openat.c, openat.h: Likewise.
67457         * lib/readlink-stub.c: Likewise.
67458         * lib/readutmp.c, readutmp.h: Likewise.
67459         * lib/rename.c: Likewise.
67460         * lib/rmdir.c: Likewise.
67461         * lib/same.c: Likewise.
67462         * lib/savedir.c: Likewise.
67463         * lib/stripslash.c: Likewise.
67464         * lib/tempname.c: Likewise.
67465         * lib/xreadlink.c: Likewise.
67466         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
67467         All uses changed.
67468         * lib/exclude.h: Likewise.
67469
67470         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
67471         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67472         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
67473         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67474         * lib/pathmax.h: Include <limits.h> unconditionally, since other
67475         files have been getting away with it for years (MORE/BSD 4.3
67476         is extinct now).
67477         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
67478         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67479
67480         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
67481         Define to 256, not 255, as per modern POSIX.
67482
67483 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67484
67485         Sync from coreutils.
67486         Use "file name" when talking about file names, instead of "filename"
67487         or "path", as per the GNU coding standards.
67488         * MODULES.html.sh: mkdir-p renamed from makepath.
67489         filenamecat renamed from path-concat.
67490         * modules/filenamecat: Renamed from modules/path-concat.
67491         (Files): filenamecat.h and filenamecat.c renamed from
67492         path-concat.h and path-concat.c.
67493         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
67494         (Include): filenamecat.h, not path-concat.h.
67495         * modules/mkdir-p: Renamed from modules/makepath.
67496         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
67497         makepath.c.
67498         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
67499         (Include): mkdir-p.h, not makepath.h.
67500
67501 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67502
67503         Sync from coreutils.
67504         * m4/mkdir-p.m4: Renamed from makepath.m4.
67505         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
67506         Rename files from makepath.c to mkdir-p.c, and from
67507         makepath.h to mkdir-p.h.
67508         * m4/filenamecat.m4: Renamed from path-concat.m4.
67509         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
67510         Rename files from path-concat.c to filenamecat.c,
67511         and from path-concat.h to filenamecat.h.
67512         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
67513         "file name" in local variables or comments.
67514         * m4/rename.m4: Likewise.
67515
67516 2005-06-01  Bruno Haible  <bruno@clisp.org>
67517
67518         * modules/csharpexec: New file.
67519         * MODULES.html.sh (C#): New section.
67520
67521 2005-06-01  Bruno Haible  <bruno@clisp.org>
67522
67523         * m4/csharp.m4: New file, from GNU gettext.
67524         * m4/csharpexec.m4: New file, from GNU gettext.
67525
67526 2005-06-01  Bruno Haible  <bruno@clisp.org>
67527
67528         * lib/csharpexec.h: New file, from GNU gettext.
67529         * lib/csharpexec.c: New file, from GNU gettext.
67530         * lib/csharpexec.sh.in: New file, from GNU gettext.
67531
67532 2005-05-31  Derek Price  <derek@ximbiot.com>
67533             Paul Eggert  <eggert@cs.ucla.edu>
67534
67535         Sync from cvs.
67536         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67537
67538 2005-05-31  Derek Price  <derek@ximbiot.com>
67539             Paul Eggert  <eggert@cs.ucla.edu>
67540
67541         Sync from cvs.
67542         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67543
67544 2005-05-29  Derek Price  <derek@ximbiot.com>
67545
67546         * config/srclist.txt (glob_.h, glob.c): Add these files.
67547
67548 2005-05-29  Derek Price  <derek@ximbiot.com>
67549
67550         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
67551         * modules/glob: New file.
67552         * modules/getlogin_r: Add link to POSIX spec in description.
67553
67554 2005-05-29  Derek Price  <derek@ximbiot.com>
67555             Paul Eggert  <eggert@cs.ucla.edu>
67556
67557         * m4/glob.m4: New file.
67558
67559 2005-05-29  Derek Price  <derek@ximbiot.com>
67560             Paul Eggert  <eggert@cs.ucla.edu>
67561
67562         * lib/glob_.h, lib/glob.c: New files.
67563
67564 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67565
67566         * modules/fts (Files): Remove m4/inttypes-pri.m4.
67567         * modules/fts-lgpl (Depends-on): Remove gettext.
67568
67569 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67570
67571         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
67572         and don't require gt_INTTYPES_PRI.
67573
67574 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67575
67576         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
67577
67578         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
67579         the configuration hassle isn't worth it.
67580         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
67581         (LONGEST_MODIFIER, PRIuMAX): Remove.
67582
67583 2005-05-27  Bruno Haible  <bruno@clisp.org>
67584
67585         * lib/getlogin_r.h: Remove second include of <stddef.h>.
67586
67587 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
67588
67589         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
67590         _POSIX_PTHREAD_SEMANTICS for Solaris.
67591
67592 2005-05-25  Derek Price  <derek@ximbiot.com>
67593
67594         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
67595
67596 2005-05-25  Derek Price  <derek@ximbiot.com>
67597             Paul Eggert  <eggert@cs.ucla.edu>
67598
67599         * modules/getlogin_r, m4/getlogin_r.m4: New files.
67600         * lib/getlogin_r.c, getlogin_r.h: New files.
67601
67602 2005-05-25  Bruno Haible  <bruno@clisp.org>
67603             Derek Price  <derek@ximbiot.com>
67604
67605         * lib/getlogin_r.h: Simplify API documentation.
67606
67607 2005-05-23  Derek Price  <derek@ximbiot.com>
67608
67609         * modules/minmax (Files): Add m4/minmax.m4.
67610         (configure.ac): Add gl_MINMAX.
67611
67612 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
67613
67614         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
67615         so that unistd-safer.h (GPL'ed code) need not be included.
67616
67617 2005-05-22  Bruno Haible  <bruno@clisp.org>
67618
67619         * m4/minmax.m4: New file.
67620         Based on a patch by Derek Price <derek@ximbiot.com>.
67621
67622 2005-05-22  Bruno Haible  <bruno@clisp.org>
67623
67624         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
67625         (INT64_MIN): Fix definition.
67626         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
67627
67628         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
67629         NEED_SIGNED_INT_TYPES.
67630
67631         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
67632         HAVE_SYSTEM_INTTYPES.
67633
67634 2005-05-22  Bruno Haible  <bruno@clisp.org>
67635
67636         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
67637         Also include <sys/param.h> if it defines MIN, MAX.
67638         Based on a patch by Derek Price <derek@ximbiot.com>.
67639
67640 2005-05-21  Jim Meyering  <jim@meyering.net>
67641
67642         * modules/fts (Files): Add m4/inttypes-pri.m4.
67643         (Depends-on): Add lstat and remove gettext.  Alphabetize.
67644
67645 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67646
67647         New fts module.
67648         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
67649         (setup_dir, free_dir): New functions.
67650         (enter_dir, leave_dir): Define trivial
67651         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
67652         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
67653         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
67654         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
67655         Move to fts-cycle.c.
67656         (fts_open): Use setup_dir.
67657         (fts_close): Use free_dir.
67658         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
67659         This adds a label and some gotos, but the alternatives were messier.
67660         Check for memory allocation failure when entering a dir.
67661         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
67662         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
67663         (FTS): New member fts_cycle, that is a union that contains the
67664         old active_dir_ht and cycle_state.  All uses changed to mention
67665         fts_cycle.ht and fts_cycle.state.
67666         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
67667         fts.c, with the following changes:
67668         (setup_dir, free_dir): New functions.
67669         (enter_dir): Now returns bool.  Return true if successful, false
67670         if memory exhausted.  All callers changed.
67671         Do not bother partly cleaning up on
67672         memory allocation failure; that is free_dir's job.
67673         However, free ad if hash_insert fails, to avoid memory leak.
67674         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
67675         fts->fts_options to see which union member to use.
67676
67677 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67678
67679         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
67680         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
67681
67682 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67683
67684         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
67685
67686 2005-05-20  Jim Meyering  <jim@meyering.net>
67687
67688         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
67689         Now a macro, to pacify GCC.
67690
67691 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67692
67693         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
67694         of -1.
67695
67696 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67697
67698         * lib/chown.c (rpl_chown): Return -1 on failure.
67699
67700 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67701
67702         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
67703         Don't check for stddef.h.
67704         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
67705         don't use its results.
67706         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
67707         since we include them unconditionally.  Don't require
67708         AM_STDBOOL_H, since stdbool is a prerequisite.
67709         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
67710         since we assume C89 or better.
67711         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
67712         as we don't use their results.
67713         Don't check for fchdir, memmove, memset, strrchr, as we use
67714         them unconditionally.
67715         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
67716         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
67717
67718 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67719
67720         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
67721         Include <stddef.h> unconditionally, since we assume C89 now.
67722         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
67723         * lib/fts.c: Include fts_.h first, to check interface.
67724         Do not include intprops.h; no longer needed.
67725         Include cycle-check.h and hash.h, since fts_.h no longer does.
67726         Remove unnecessary casts of closedir to void.
67727         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
67728         decide whether to decrement nlinks.
67729         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
67730         (FTS): Use struct hash_table * instead of Hash_table, so that
67731         we no longer need to include hash.h here.
67732
67733 2005-05-18  Jim Meyering  <jim@meyering.net>
67734
67735         * modules/dirfd (License): Change to LGPL.  Most of the code
67736         is already in the public domain.
67737
67738 2005-05-18  Jim Meyering  <jim@meyering.net>
67739
67740         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
67741         Reported by Yoann Vandoorselaere.
67742
67743 2005-05-17  Jim Meyering  <jim@meyering.net>
67744
67745         * m4/fts.m4: New file, from coreutils.
67746
67747 2005-05-17  Jim Meyering  <jim@meyering.net>
67748
67749         * lib/fts.c, lib/fts_.h: New files, from coreutils.
67750
67751 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67752
67753         Sync from coreutils.
67754         * m4/unlinkdir.m4: New file.
67755
67756 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67757
67758         Sync from coreutils.
67759         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
67760         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
67761         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
67762         White space changes only.
67763         * lib/makepath.c (make_path): Port to hosts where leading "//" is
67764         special.
67765         * lib/yesno.c: Include getline.h, not ctype.h.
67766         (yesno): Don't remove leading white space; POSIX doesn't allow it.
67767         Use getline to remove arbitrary restriction on response length.
67768
67769 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67770
67771         * config/srclist-update: Spell out "Street" in FSF postal
67772         mail address; this is the style the FSF seems to prefer.
67773
67774         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
67775         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
67776         this updates FSF postal mail address.
67777
67778         Sync from coreutils.
67779         * modules/unlinkdir: New file.
67780         * modules/yesno (Depends-on): Add getline.
67781         * MODULES.html.sh (File system functions): Add unlinkdir.
67782
67783 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
67784
67785         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
67786         lib/strsep.h:
67787         Change the initial comment to refer to GPL, not LGPL.
67788         gnulib-tool will change it to LGPL as needed.
67789
67790         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
67791         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
67792         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
67793         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
67794         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
67795         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
67796         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
67797         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
67798         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
67799         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
67800         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
67801         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
67802         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
67803         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
67804         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
67805         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
67806         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
67807         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
67808         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
67809         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
67810         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
67811         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
67812         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
67813         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
67814         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
67815         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
67816         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
67817         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
67818         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
67819         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
67820         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
67821         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
67822         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
67823         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
67824         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
67825         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
67826         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
67827         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
67828         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
67829         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
67830         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
67831         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
67832         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
67833         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
67834         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
67835         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
67836         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
67837         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
67838         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
67839         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
67840         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67841         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
67842         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
67843         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
67844         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
67845         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
67846         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
67847         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
67848         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
67849         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
67850         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
67851         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
67852         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
67853         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
67854         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
67855         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
67856         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
67857         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
67858         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
67859         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
67860         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
67861         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
67862         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
67863         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
67864         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
67865         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
67866         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
67867         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
67868         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
67869         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
67870         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
67871         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
67872         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
67873         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
67874         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
67875         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
67876         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
67877         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
67878         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
67879         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
67880         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
67881         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
67882         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
67883         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
67884         lib/yesno.c, lib/yesno.h:
67885         Update FSF postal mail address.
67886
67887 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
67888
67889         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
67890         tests/test-memmem.c, tests/test-stpncpy.c:
67891         Update FSF postal mail address.
67892
67893 2005-05-13  Bruno Haible  <bruno@clisp.org>
67894
67895         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
67896         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
67897         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
67898         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
67899         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
67900         Add support for 64-bit integers in the MSVC compiler.
67901
67902 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67903
67904         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
67905
67906 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
67907
67908         * gnulib-tool (func_import): Sort and uniquify recommended includes.
67909
67910 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
67911
67912         * doc/getdate.texi (General date syntax): Don't say that date
67913         date --iso-8601=ns generates acceptable dates; it doesn't yet.
67914         Problem reported by Nic Ferrier.
67915
67916 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67917
67918         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
67919         specified in ai_socktype. Fix invalid ai_protocol
67920         check. ai_protocol is usually set to 0 or depending on
67921         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
67922         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
67923         ai_socktype / ai_protocol in the returned addrinfo structure.
67924
67925 2005-05-10  Simon Josefsson  <jas@extundo.com>
67926
67927         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
67928         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
67929
67930 2005-05-10  Karl Berry  <karl@gnu.org>
67931
67932         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
67933         (from http://www.gnu.org/licenses).
67934         * doc/COPYING.LIB: also rename to COPYING.LESSER.
67935         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
67936         fdl.texi suffices.
67937
67938 2005-05-10  Karl Berry  <karl@gnu.org>
67939
67940         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
67941         (COPYING.DOC): remove.
67942
67943         * config/srclist-update: new FSF address.
67944
67945 2005-05-10  Derek Price  <derek@ximbiot.com>
67946
67947         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
67948         possible.
67949
67950 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67951             Bruno Haible  <bruno@clisp.org>
67952
67953         * modules/inet_ntop: New file.
67954         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67955         inet_ntop.
67956
67957 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67958             Bruno Haible  <bruno@clisp.org>
67959
67960         * m4/inet_ntop.m4: New file.
67961
67962 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67963             Bruno Haible  <bruno@clisp.org>
67964
67965         * lib/inet_ntop.h: New file.
67966         * lib/inet_ntop.c: New file, from glibc with modifications.
67967
67968 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
67969
67970         * modules/time_r (License): Change to LGPL.
67971         * modules/extensions (License): Change to LGPL.  Actually,
67972         the license is more permissive than that, but currently gnulib-tool
67973         doesn't know how to handle more-permissive licenses.
67974
67975         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
67976         Problem reported by Dave Love.
67977
67978 2005-05-08  Jim Meyering  <jim@meyering.net>
67979
67980         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
67981         blank.
67982
67983 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
67984
67985         * modules/argmatch (Depends-on): Add stdbool.
67986         * modules/backupfile (Depends-on): Likewise.
67987         * modules/chdir-long (Depends-on): Likewise.
67988         * modules/closeout (Depends-on): Likewise.
67989         * modules/cycle-check (Depends-on): Likewise.
67990         * modules/dirname (Depends-on): Likewise.
67991         * modules/fnmatch (Depends-on): Likewise.
67992         * modules/fsusage (Depends-on): Likewise.
67993         * modules/fwriteerror (Depends-on): Likewise.
67994         * modules/getcwd (Depends-on): Likewise.
67995         * modules/getloadavg (Depends-on): Likewise.
67996         * modules/hard-locale (Depends-on): Likewise.
67997         * modules/makepath (Depends-on): Likewise.
67998         * modules/mountlist (Depends-on): Likewise.
67999         * modules/nanosleep (Depends-on): Likewise.
68000         * modules/posixtm (Depends-on): Likewise.
68001         * modules/quotearg (Depends-on): Likewise.
68002         * modules/readtokens (Depends-on): Likewise.
68003         * modules/readtokens0 (Depends-on): Likewise.
68004         * modules/readutmp (Depends-on): Likewise.
68005         * modules/save-cwd (Depends-on): Likewise.
68006         * modules/strftime (Depends-on): Likewise.
68007         * modules/userspec (Depends-on): Likewise.
68008         * modules/utimecmp (Depends-on): Likewise.
68009         * modules/xgetcwd (Depends-on): Likewise.
68010         * modules/xnanosleep (Depends-on): Likewise.
68011         * modules/xstrtod (Depends-on): Likewise.
68012         * modules/yesno (Depends-on): Likewise.
68013
68014 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68015
68016         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
68017         needless checks.
68018
68019 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68020
68021         Merge from coreutils.  Among other things,
68022         add bulletproofing for cases where stdin, stdout, or stderr are closed.
68023         * lib/fd-safer.c: New file.
68024         * lib/fcntl-safer.h, open-safer.c: Remove.
68025         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
68026         * lib/dup-safer.c: Include unistd-safer.h first.
68027         Don't include errno.h.
68028         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
68029         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
68030         * lib/file-type.c: Rely on file-type.h change.
68031         * lib/getloadavg.c: Include unistd-safer.h.
68032         (getloadavg): Use safer open.
68033         * lib/getusershell.c: Include "stdio-safer.h".
68034         (getusershell): Use safer fopen.
68035         * lib/long-options.c (long_options): Use NULL rather than 0.
68036         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
68037         'free'.
68038         * lib/modechange.c: Likewise.
68039         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
68040         (MODE_DONE): New constant.
68041         (struct mode_change): Remove 'next' member.
68042         (make_node_op_equals): New function; like the old one of the
68043         same name, except it allocates an array.
68044         (mode_compile, mode_create_from_ref): Use it.
68045         (mode_compile): Allocate result as an array, not a linked list.
68046         Parse octal string ourself, so that we catch mistakes like "+0".
68047         (mode_adjust): Arg is an array, not a linked list.
68048         * lib/modechange.c: Include stat-macros.h, xalloc.h.
68049         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
68050         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
68051         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
68052         Remove.  This is now stat-macros.h's job.
68053         (talloc): Remove.  All callers replaced by xalloc, so that
68054         our invokers don't have to worry about reporting memory failures.
68055         (make_node_op_equals): Remove.
68056         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68057         New constants.
68058         (struct mode_change): Moved here from modechange.h.
68059         (mode_append_entry): Remove.
68060         (mode_compile): Remove MASKED_OPS arg, since it encouraged
68061         apps to have incorrect behavior.  Use simpler algorithm for head
68062         and tail.  Don't futz with umask; that's now the job of mode_adjust.
68063         Detect more invalid usages rather than having somewhat-random behavior.
68064         Don't insert an "a=" action, as that leads to incorrect behavior.
68065         (mode_compile, mode_create_from_ref): Return NULL on error instead
68066         of an enum, since now there's only one way to have an error.  All
68067         callers changed.
68068         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
68069         at the correct time.  Simplify calculation of "+u" and its ilk.
68070         Don't mishandle "+X".
68071         (mode_free): Remove "register" and localize decls.
68072         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68073         (struct mode_change): Move to modechange.c; callers don't
68074         need to see this stuff.
68075         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
68076         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
68077         (mode_change, mode_adjust): Reflect the new signatures noted above.
68078         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
68079         that might redefine system include files.
68080         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
68081         (my_usleep): Use NULL rather than (void *) 0.
68082         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
68083         Use siginterrupt to specify that system calls should be interrupted.
68084         (rpl_nanosleep): Move initialization of suspended closer to call of
68085         my_usleep.
68086         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
68087         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
68088         (desirable_utmp_entry): New function.
68089         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
68090         using x2nrealloc, to simplify logic.
68091         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
68092         size calculation.  Do not assume utmp file is a regular file.
68093         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
68094         (READ_UTMP_CHECK_PIDS): New constant.
68095         * lib/save-cwd.c: Include unistd-safer.h.
68096         (save_cwd): Use fd_safer.
68097         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
68098         [!_LIBC] Include "stat-macros.h" instead.
68099         * lib/unistd-safer.h (fd_safer): New decl.
68100
68101 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68102
68103         * modules/getloadavg (Depends-on): Add unistd-safer.
68104         * modules/getusershell (Depends-on): Add stdio-safer.
68105         * modules/lstat (Depends-on): Remove xalloc.
68106         * modules/mkstemp (Depends-on): Add stat-macros.
68107         * modules/modechange (Depends-on): Remove xstrtol.
68108         Add stat-macros, xalloc.
68109         * modules/save-cwd (Depends-on): Add unistd-safer.
68110         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
68111         * modules/unistd-safer (Files): Add lib/fd-safer.c
68112         (Makefile.am): Remove lib_SOURCES.
68113
68114         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
68115         Remove fcntl-safer; unistd-safer supersedes it.
68116
68117 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68118
68119         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
68120         AC_HEADER_STAT.
68121         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
68122         (gl_PREREQ_CHOWN): Remove.
68123         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
68124         it.  Don't require AC_HEADER_STAT.
68125         (gl_PREREQ_LSTAT): Remove.
68126         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
68127         Don't require AC_HEADER_STAT.
68128         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
68129         (gl_PREREQ_RMDIR): Remove.
68130         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
68131         mention stat-macros.h or AC_HEADER_STAT, since we'll make
68132         the stat-macros module a prerequisite.
68133         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
68134         * m4/filemode.m4 (gl_FILEMODE): Likewise.
68135         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
68136         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
68137         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
68138         variable names.
68139         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
68140         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
68141         variable prefixes.
68142         * m4/fcntl-safer.m4: Remove.
68143         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
68144         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
68145         Invoke gl_PREREQ_FD_SAFER.
68146         (gl_PREREQ_FD_SAFER): New macro.
68147         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
68148         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
68149         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
68150         Remove duplicate call to AC_LIBOBJ(readutmp).
68151         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
68152
68153         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
68154         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
68155
68156 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68157
68158         * MODULES.html.sh (Misc): Add byteswap.
68159
68160 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68161
68162         * modules/getcwd (Depends-on): Add extensions.
68163         * modules/openat (Depends-on): Likewise.
68164
68165 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68166
68167         * modules/byteswap: New file.
68168
68169 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68170
68171         * m4/byteswap.m4: New file.
68172
68173 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68174
68175         * lib/byteswap_.h: New file.
68176
68177 2005-04-25  Karl Berry  <karl@gnu.org>
68178
68179         * m4/gettext.m4: Update from GNU gettext 0.14.4.
68180
68181 2005-04-25  Albert Chin  <china@thewrittenword.com>
68182
68183         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
68184         Toolkit C bug.
68185
68186 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
68187
68188         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
68189         (func_ln_if_changed): Remove forcibly for no error message
68190         in case file does not exist.
68191
68192 2005-04-19  Simon Josefsson  <jas@extundo.com>
68193
68194         * gnulib-tool (Options): Make --symlink mean --symbolic.
68195
68196 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
68197
68198         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
68199
68200 2005-04-16  Simon Josefsson  <jas@extundo.com>
68201
68202         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
68203
68204 2005-04-15  Simon Josefsson  <jas@extundo.com>
68205
68206         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
68207
68208 2005-04-15  Simon Josefsson  <jas@extundo.com>
68209
68210         * gnulib-tool: Rename --symlink to --symbolic.
68211
68212 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
68213
68214         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
68215         symbolic links to files instead of copying/moving.  Add --aux-dir,
68216         specifying directory relative --dir where auxiliary build tools
68217         are placed.
68218
68219 2005-04-14  Bruno Haible  <bruno@clisp.org>
68220
68221         * modules/allocsa (License): Change to LGPL.
68222         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
68223
68224 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68225
68226         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
68227         that "UTC +1 second" continues to work.  Problem reported
68228         by Dmitry V. Levin.
68229         (relunit_snumber): New rule.
68230         (relunit): Use it.
68231
68232 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
68233
68234         * lib/getdate.y (universal_time_zone_table): New constant.
68235         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
68236         universal_time_zone_table.
68237         (lookup_zone): Prefer universal_time_zone_table to
68238         local_time_zone_table, so that "GMT" time stamps are allowed in
68239         London during the summer.  Problem reported by Ian Abbott.
68240
68241 2005-04-12  Jim Meyering  <jim@meyering.net>
68242
68243         * lib/human.c (humblock): Set *options even when returning due to
68244         xstrtoumax conversion failure.  Thanks to a used-uninitialized
68245         warning from gcc-4.
68246
68247 2005-04-09  Jim Meyering  <jim@meyering.net>
68248
68249         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
68250         -Wuninitialized: initialize tm0.tm_year.
68251
68252 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68253
68254         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
68255         count, since there's no maximum.  All uses changed.
68256         Add member dsts_seen.
68257         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
68258         not being INT_MAX.
68259         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
68260         Use pc_rels_seen to decide whther a date is absolute.
68261
68262         * lib/getdate.y (number): Don't overwrite year.
68263         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
68264         check.
68265
68266 2005-04-02  Simon Josefsson  <jas@extundo.com>
68267
68268         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
68269         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
68270
68271 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
68272
68273         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
68274         where no absolute path name can be longer than PATH_MAX.
68275
68276 2005-03-27  Jim Meyering  <jim@meyering.net>
68277
68278         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
68279
68280 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
68281
68282         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
68283         "one's complement" -> "ones' complement" in comment, as per Knuth.
68284         "value of type" -> "type or expression" in comment.
68285         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
68286
68287 2005-03-26  Jim Meyering  <jim@meyering.net>
68288
68289         Comment nits.
68290         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
68291         Correct typos: s/or/of/.
68292
68293 2005-03-26  Jim Meyering  <jim@meyering.net>
68294
68295         * modules/check-include-files: Move to ../ and rename to...
68296         * check-module: ...this.
68297
68298 2005-03-25  Jim Meyering  <jim@meyering.net>
68299
68300         * modules/xvasprintf (Files): Add xalloc.h.
68301
68302 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68303
68304         * modules/gettext (Files): config/config.rpath ->
68305         build-aux/config.rpath
68306         * modules/iconv (Files): Likewise.
68307         Problem reported by Oskar Liljeblad.
68308
68309 2005-03-23  Jim Meyering  <jim@meyering.net>
68310
68311         * modules/check-include-files: New script to check for
68312         missing dependencies, multiple includes, etc.
68313
68314         * modules/c-strtold (Depends-on): Add xalloc.
68315         * modules/c-strtod (Depends-on): Add xalloc.
68316         * modules/hash (Depends-on): Add xalloc.
68317         (Files): Remove lib/xalloc.h.
68318
68319         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
68320         * modules/userspec (Files): Add lib/inttostr.h.
68321
68322 2005-03-23  Jim Meyering  <jim@meyering.net>
68323
68324         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
68325
68326 2005-03-22  Jim Meyering  <jim@meyering.net>
68327
68328         * modules/stat-macros: New module.
68329         * modules/canonicalize, modules/euidaccess, modules/file-type,
68330         * modules/filemode, modules/lchown, modules/makepath,
68331         * modules/rmdir, modules/stat: Depend on new stat-macros module
68332         rather than listing lib/stat-macros.h manually.
68333         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
68334
68335 2005-03-22  Jim Meyering  <jim@meyering.net>
68336
68337         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
68338
68339 2005-03-22  Bruno Haible  <bruno@clisp.org>
68340
68341         * config/srclist.txt: Replace target directory 'config' with
68342         'build-aux'.
68343         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
68344         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
68345         ../build-aux/.
68346
68347 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
68348
68349         * modules/chdir-long (Depends-on): Add mempcpy.
68350
68351         * modules/acl, modules/backupfile, modules/c-strtod,
68352         modules/c-strtold, modules/canon-host, modules/canonicalize,
68353         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
68354         modules/exclude, modules/exitfail, modules/file-type,
68355         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
68356         modules/getdate, modules/getline, modules/getpagesize,
68357         modules/getpass, modules/getugroups, modules/group-member,
68358         modules/hard-locale, modules/hash, modules/human, modules/idcache,
68359         modules/inttostr, modules/long-options, modules/makepath,
68360         modules/md5, modules/memcasecmp, modules/memcoll,
68361         modules/modechange, modules/mountlist, modules/path-concat,
68362         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
68363         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
68364         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
68365         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
68366         modules/strftime, modules/strndup, modules/strverscmp,
68367         modules/timespec, modules/unlocked-io, modules/userspec,
68368         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
68369         modules/yesno:
68370         Remove lib_SOURCES line from Makefile.am section, as this is now
68371         done automatically by the corresponding Autoconf macro.
68372
68373 2005-03-21  Jim Meyering  <jim@meyering.net>
68374
68375         Changes imported from coreutils.
68376
68377         * lib/cycle-check.c: Don't include xalloc.h.
68378
68379         * lib/path-concat.c: Don't include assert.h.
68380         (path_concat): Remove assertion that would have triggered
68381         for ABASE starting with more than one slash.
68382         Reported by Andreas Schwab.
68383
68384         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
68385         properly when ABASE is an absolute file name.
68386         Correct the description of this function.
68387         Include <assert.h>.
68388         Add an assertion and a test driver.
68389         This fixes a bug introduced on 2004-07-02.
68390         Andreas Schwab reported the resulting failure of cp --parents:
68391         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
68392
68393 2005-03-21  Jim Meyering  <jim@meyering.net>
68394
68395         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
68396         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
68397
68398 2005-03-21  Jim Meyering  <jim@meyering.net>
68399         and  Paul Eggert  <eggert@cs.ucla.edu>
68400
68401         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
68402         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
68403         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
68404         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
68405         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
68406         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
68407         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
68408         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
68409         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
68410         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
68411         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
68412         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
68413         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
68414         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
68415         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
68416         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
68417         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
68418         for these modules.
68419
68420 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
68421
68422         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
68423         (which shouldn't happen), generate nothing instead of returning 0
68424         immediately, so that nstrftime (NULL, ...) doesn't return 0.
68425
68426 2005-03-16  Bruno Haible  <bruno@clisp.org>
68427
68428         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
68429         HAVE_LONGLONG_64BIT.
68430
68431 2005-03-16  Bruno Haible  <bruno@clisp.org>
68432
68433         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
68434         HAVE_LONGLONG_64BIT.
68435
68436 2005-03-16  Bruno Haible  <bruno@clisp.org>
68437
68438         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
68439         HAVE_LONGLONG_64BIT.
68440
68441 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68442
68443         * lib/strftime.c (my_strftime): Prepend space to format so that we can
68444         reliably distinguish strftime failure from empty output on POSIX
68445         hosts.
68446
68447 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68448
68449         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
68450         (iconv_string): Don't guess a size-zero buffer, as that might cause
68451         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
68452         result would be 'too large', where 'too large' is (heuristically)
68453         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
68454         overflow concerns.  This will prevent some unwanted malloc failures
68455         when the inputs are very large.
68456
68457 2005-03-15  Karl Berry  <karl@gnu.org>
68458
68459         * config/srclist.txt (config.rpath): from gettext.
68460         * config/config.rpath: update.
68461
68462 2005-03-15  Bruno Haible  <bruno@clisp.org>
68463
68464         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
68465         to 'negate'.
68466
68467         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
68468         variable.
68469
68470         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
68471         results.
68472
68473 2005-03-14  Simon Josefsson  <jas@extundo.com>
68474
68475         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
68476         <fx@gnu.org>.
68477
68478 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
68479
68480         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
68481         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
68482         intprops.h.
68483         * lib/strtol.c: Likewise.
68484
68485 2005-03-14  Jim Meyering  <jim@meyering.net>
68486
68487         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
68488         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
68489         to be nonzero so that we (and caller) can detect the difference
68490         between a valid zero-length expansion and an error return, even
68491         when the underlying strftime fails before writing anything into
68492         that location.
68493
68494 2005-03-14  Bruno Haible  <bruno@clisp.org>
68495
68496         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
68497         Update from GNU gettext 0.14.3.
68498
68499 2005-03-10  Jim Meyering  <jim@meyering.net>
68500
68501         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
68502
68503 2005-03-10  Jim Meyering  <jim@meyering.net>
68504
68505         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
68506         so that this module works on systems without fchdir.
68507
68508 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
68509
68510         Factor int-properties macros into a single file, except for
68511         glibc-related files.
68512         * lib/intprops.h: New file.
68513         * lib/getloadavg.c: Include it instead of limits.h.
68514         (INT_STRLEN_BOUND): Remove.
68515         * lib/human.c: Include intprops.h.
68516         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
68517         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
68518         302/1000.
68519         * lib/inttostr.h: Include intprops.h instead of limits.h.
68520         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
68521         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
68522         for consistency with intprops.h.
68523         (time_t_is_integer, twos_complement_arithmetic): Use them.
68524         * lib/sig2str.h: Include <signal.h>, intprops.h.
68525         (INT_STRLEN_BOUND): Remove.
68526         * lib/strftime.c (TYPE_SIGNED): Remove.
68527         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
68528         * lib/strtol.c: Adjust comments to match intprops.h.
68529         * lib/userspec.c: Include intprops.h.
68530         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
68531         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
68532         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
68533         instead of rolling our own expressions.
68534         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
68535
68536         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
68537         instead of int.
68538         (my_strftime): Do not mishandle years close to INT_MAX, by doing
68539         the right thing even if adding 1900 would overflow.  Similarly
68540         for tm_mon + 1 and tm_yday + 1.
68541         Make %Y always equivalent to %C%y, and similarly for %G and %g.
68542         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
68543         (DO_SIGNED_NUMBER): New macro.
68544         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
68545
68546 2005-03-07  Bruno Haible  <bruno@clisp.org>
68547
68548         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
68549
68550 2005-03-07  Bruno Haible  <bruno@clisp.org>
68551
68552         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
68553
68554 2005-03-04  Derek R. Price  <derek@ximbiot.com>
68555
68556         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
68557         (func_import): Only replace files via --import when they have actually
68558         changed.
68559
68560 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68561
68562         * m4/mmap-anon.m4: New file.
68563         * m4/pagealign_alloc.m4: New file.
68564
68565 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68566             Bruno Haible  <bruno@clisp.org>
68567
68568         * modules/pagealign_alloc: New file.
68569         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
68570
68571 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68572             Bruno Haible  <bruno@clisp.org>
68573
68574         * lib/pagealign_alloc.h: New file.
68575         * lib/pagealign_alloc.c: New file.
68576
68577 2005-03-03  Bruno Haible  <bruno@clisp.org>
68578
68579         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
68580         Use an all-permissive copyright notice, recommended by RMS.
68581
68582 2005-03-02  Bruno Haible  <bruno@clisp.org>
68583
68584         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
68585         of AIX, the replacement has to be done only after <string.h> is
68586         included, therefore not in config.h. stpncpy.h does the replacement,
68587         and stpncpy.c uses it.
68588
68589 2005-03-02  Bruno Haible  <bruno@clisp.org>
68590
68591         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
68592         stpncpy.c uses it.
68593
68594 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68595
68596         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
68597         The workaround isn't strictly needed for POSIX conformance, and
68598         it's too much of a pain to configure and maintain.  We'll ask
68599         people to fix their kernels instead.
68600         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
68601         (NANOSLEEP_BUG_WORKAROUND): Remove.
68602         (xnanosleep): Remove the workaround.
68603
68604 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68605
68606         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
68607         Reported by Derek Price.
68608         (Include): Add "timespec.h".
68609
68610         * modules/xnanosleep (Depends-on): Remove gethrxtime.
68611
68612 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68613
68614         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
68615         to detect nanosleep bug.
68616
68617 2005-03-01  Bruno Haible  <bruno@clisp.org>
68618
68619         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
68620
68621 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
68622
68623         * modules/gethrxtime: New file.
68624         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
68625         (Depends-on): Add gethrxtime.
68626         (configure.ac): Add gl_XNANOSLEEP.
68627         (Makefile.am): Remove lib_SOURCES line.
68628
68629 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68630
68631         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
68632         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
68633
68634 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68635
68636         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
68637         * lib/timespec.h (gettime): Return void, since it always
68638         succeeds now.  All uses changed.
68639         * lib/gettime.c (gettime): Likewise.
68640         [HAVE_NANOTIME]: Prefer nanotime.
68641         Assume gettimeofday succeeds, as POSIX requires.
68642         Assime time () succeeds, since other code already does.
68643         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
68644         (timespec_subtract): Remove.
68645         (NANOSLEEP_BUG_WORKAROUND): New constant.
68646         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
68647         things considerably.  Use it only on GNU/Linux hosts, since the
68648         workaround shouldn't be needed elsewhere.
68649
68650 2005-02-24  Bruno Haible  <bruno@clisp.org>
68651
68652         * modules/gettext (Files): Add m4/glibc2.m4.
68653
68654 2005-02-24  Bruno Haible  <bruno@clisp.org>
68655
68656         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
68657         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
68658         * m4/progtest.m4:
68659         Update from GNU gettext 0.14.2.
68660         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
68661
68662 2005-02-24  Bruno Haible  <bruno@clisp.org>
68663
68664         * lib/localcharset.c: Update from GNU gettext 0.14.2.
68665         * lib/config.charset: Update from GNU gettext 0.14.2.
68666
68667 2005-02-24  Bruno Haible  <bruno@clisp.org>
68668
68669         * lib/gettext.h: Update from GNU gettext 0.14.2.
68670
68671 2005-02-23  Simon Josefsson  <jas@extundo.com>
68672
68673         * m4/iconvme.m4: New file.
68674
68675 2005-02-23  Jim Meyering  <jim@meyering.net>
68676
68677         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
68678         change.
68679         Thanks to Bruno Haible for catching it.
68680
68681 2005-02-22  Simon Josefsson  <jas@extundo.com>
68682
68683         * modules/iconvme: New file.
68684
68685         * MODULES.html.sh: Add iconvme.
68686
68687 2005-02-22  Simon Josefsson  <jas@extundo.com>
68688
68689         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
68690
68691 2005-02-22  Simon Josefsson  <jas@extundo.com>
68692
68693         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
68694
68695 2005-02-22  Jim Meyering  <jim@meyering.net>
68696
68697         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
68698         s/ifndef/ifdef/.
68699
68700 2005-02-20  Neil Conway  <neilc@samurai.com>
68701
68702         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
68703         returned by OSX/Darwin if the specified buffer is not large
68704         enough for the hostname.
68705
68706 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68707
68708         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
68709         pass it to _help, otherwise the latter coredumps trying to
68710         dereference state.root_argp.
68711
68712 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68713
68714         * modules/chdir-long (Depends-on): Add memrchr.
68715         * modules/memrchr (Files): Add lib/memrchr.h.
68716         (Include): "memrchr.h".
68717
68718 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68719
68720         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
68721
68722 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68723
68724         * lib/memrchr.h: New file.
68725         * lib/chdir-long.c: Include it.
68726         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
68727         Don't bother including stddef.h.
68728
68729 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68730
68731         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
68732         inclusion.
68733         Include <sys/types.h>, for dev_t.
68734         (ME_DUMMY, ME_REMOTE): Move from here....
68735         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
68736         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
68737         Dmitry V. Levin.
68738         Include mountlist.h first, to test the interface.
68739
68740 2005-01-29  Bruno Haible  <bruno@clisp.org>
68741
68742         * lib/progname.c (program_name): Initialize.
68743         Needed when linking statically on MacOS X.
68744
68745 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68746
68747         Sync from coreutils.
68748         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
68749         (Depends-on): Add c-strtod.
68750         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
68751
68752 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68753
68754         Sync from coreutils.
68755         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
68756
68757         Remove files that are specific to coreutils.
68758         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
68759
68760 2005-01-28  Bruno Haible  <bruno@clisp.org>
68761
68762         * modules/javacomp: New file.
68763         * MODULES.html.sh (Java): Add javacomp.
68764
68765 2005-01-28  Bruno Haible  <bruno@clisp.org>
68766
68767         * m4/javacomp.m4: New file, from GNU gettext.
68768
68769 2005-01-28  Bruno Haible  <bruno@clisp.org>
68770
68771         * lib/javacomp.sh.in: New file, from GNU gettext.
68772         * lib/javacomp.h: New file, from GNU gettext.
68773         * lib/javacomp.c: New file, from GNU gettext.
68774
68775 2005-01-26  Simon Josefsson  <jas@extundo.com>
68776
68777         * lib/gai_strerror.c: Use GPL in header.
68778
68779 2005-01-26  Bruno Haible  <bruno@clisp.org>
68780
68781         * modules/javaexec: New file.
68782         * MODULES.html.sh (Java): Add javaexec.
68783
68784 2005-01-26  Bruno Haible  <bruno@clisp.org>
68785
68786         * m4/javaexec.m4: New file, from GNU gettext.
68787
68788 2005-01-26  Bruno Haible  <bruno@clisp.org>
68789
68790         * lib/javaexec.sh.in: New file, from GNU gettext.
68791         * lib/javaexec.h: New file, from GNU gettext.
68792         * lib/javaexec.c: New file, from GNU gettext.
68793
68794 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68795
68796         * modules/lchown (Depends-on): Remove lchown.h
68797
68798 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68799
68800         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
68801         must be defined if the header file was not found, in order
68802         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
68803
68804 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68805
68806         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
68807         initializers for struct pentry_state.
68808         (__argp_error): Check return value of __asprintf
68809         (__argp_failure): Translate error message
68810
68811         * lib/argp-parse.c: Removed braces around the expansion of N_()
68812
68813 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68814
68815         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
68816         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
68817         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
68818         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
68819         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
68820         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
68821         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
68822         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
68823         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
68824         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
68825         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
68826         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
68827         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
68828         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
68829         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
68830         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
68831         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
68832         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
68833         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
68834         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
68835         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
68836         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
68837         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
68838         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
68839         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
68840         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
68841         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
68842         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
68843         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
68844         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
68845         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
68846         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
68847         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
68848         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
68849         xstrtol.m4, xstrtoumax.m4, yesno.m4:
68850         Use an all-permissive copyright notice, recommended by RMS.
68851
68852 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
68853
68854         * modules/chdir-long (Depends-on): Remove mempcpy.
68855
68856 2005-01-21  Jim Meyering  <jim@meyering.net>
68857
68858         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
68859         same value as for Solaris 9.
68860
68861         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
68862         component length.  This included changing the parameter to be
68863         of type `char *' rather than `char const *'.
68864         * lib/chdir-long.h (chdir_long): Update prototype.
68865
68866         * lib/openat.c (fdopendir, fstatat): New functions.
68867         * lib/openat.h: Include headers required for use of DIR and struct
68868         stat.
68869         [AT_SYMLINK_NOFOLLOW]: Define.
68870         (fdopendir, fstatat): Add prototypes.
68871
68872 2005-01-21  Bruno Haible  <bruno@clisp.org>
68873
68874         * modules/classpath: New file.
68875         * MODULES.html.sh (Java): Add classpath.
68876
68877 2005-01-21  Bruno Haible  <bruno@clisp.org>
68878
68879         * lib/classpath.h: New file, from GNU gettext.
68880         * lib/classpath.c: New file, from GNU gettext.
68881
68882 2005-01-20  Simon Josefsson  <jas@extundo.com>
68883
68884         * modules/version-etc-fsf: New file.
68885
68886 2005-01-20  Simon Josefsson  <jas@extundo.com>
68887
68888         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
68889         * lib/version-etc.c: Remove version_etc_copyright.
68890         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
68891         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
68892
68893 2005-01-20  Simon Josefsson  <jas@extundo.com>
68894
68895         * lib/base64.h (isbase64): Add.
68896
68897         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
68898         using a unsigned prototype, don't inline.
68899         (base64_decode): Use it.
68900
68901 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
68902
68903         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
68904         it.
68905
68906 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
68907
68908         * lib/save-cwd.c (save_cwd): Remove code to support the case
68909         where fchdir is missing or flaky.
68910
68911 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
68912
68913         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
68914
68915 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68916
68917         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
68918         AC_LIBSOURCES now does this.
68919         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
68920         with new ullong_max module.
68921
68922 2005-01-19  Bruno Haible  <bruno@clisp.org>
68923
68924         * modules/sh-quote: New file.
68925         * MODULES.html.sh (Executing programs): Add sh-quote.
68926
68927 2005-01-19  Bruno Haible  <bruno@clisp.org>
68928
68929         * lib/sh-quote.h: New file, from GNU gettext.
68930         * lib/sh-quote.c: New file, from GNU gettext.
68931
68932 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
68933
68934         Merge from coreutils.
68935         * m4/ullong_max.m4: New file.
68936         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
68937         (gl_MACROS): Assume localeconv exists.
68938
68939 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
68940
68941         Merge changes from coreutils, as described below in several
68942         changelogs dated today.
68943
68944         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
68945         (O_DIRECTORY): Remove; not needed here, since "." must be
68946         a directory.  All uses removed.
68947         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
68948         universal on Suns, and we also need to test for IRIX.
68949         Revamp code to use 'if' rather than '#if'.
68950         Avoid unnecessary comparison of cwd->desc to 0.
68951
68952         * lib/utimens.c (futimens): Robustify the previous patch, by checking
68953         for known valid error numbers rather than observed invalid ones.
68954
68955 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
68956
68957         * modules/ullong_max: New file.
68958
68959         * modules/chdir-long, modules/openat: New files.
68960         * modules/save-cwd (Depends-on): Depend on chdir-long.
68961         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
68962
68963 2005-01-18  Jim Meyering  <jim@meyering.net>
68964
68965         Merge from coreutils.
68966         * m4/chdir-long.m4, m4/openat.m4: New files.
68967         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
68968         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
68969         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
68970         is sane and DOES follow symlinks.  Besides, testing 20 different
68971         systems found no broken chown implementations.
68972         Prompted by a change in rsync's copy of this macro.
68973         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
68974
68975         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
68976
68977         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
68978         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
68979         NULL-means-set-to-current-time semantics.
68980         Remove temporary file immediately, rather than waiting
68981         for configure's at-exit trap code to do it.
68982
68983 2005-01-18  Jim Meyering  <jim@meyering.net>
68984
68985         * lib/version-etc.c (version_etc_copyright): Update copyright date.
68986
68987         * lib/utimens.c (futimens): Account for the fact that futimes
68988         can also fail with errno == ENOSYS or errno == ENOENT.
68989         Patch from Dmitry V. Levin.
68990
68991         Change the name of the robust chdir function from chdir to chdir_long.
68992         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
68993         (restore_cwd): Use chdir_long, not chdir.
68994         * lib/chdir-long.c: Renamed from chdir.c.
68995         * lib/chdir-long.h: Renamed from chdir.h.
68996         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
68997         Hurd.
68998
68999 2005-01-18  Bruno Haible  <bruno@clisp.org>
69000
69001         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
69002         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
69003         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
69004         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
69005         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
69006         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
69007         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
69008         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
69009         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
69010         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
69011         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
69012         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
69013         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
69014         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
69015         Use an all-permissive copyright notice, recommended by RMS.
69016
69017 2005-01-18  Bob Proulx  <bob@proulx.com>
69018
69019         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
69020         simplify offsetof() macro construct to avoid compile failure with
69021         native HP-UX 11.0 ANSI C compiler.
69022
69023 2005-01-17  Bruno Haible  <bruno@clisp.org>
69024
69025         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
69026         redundant because stpncpy.m4 takes care of it.
69027
69028 2005-01-17  Bruno Haible  <bruno@clisp.org>
69029
69030         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
69031
69032 2005-01-17  Bruno Haible  <bruno@clisp.org>
69033
69034         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
69035         used.
69036
69037 2005-01-17  Bruno Haible  <bruno@clisp.org>
69038
69039         * lib/fwriteerror.h (fwriteerror): Change specification to include
69040         fclose.
69041         * lib/fwriteerror.c: Include <stdbool.h>.
69042         (fwriteerror): At the end, close the file stream. Record whether
69043         stdout was already closed.
69044
69045 2005-01-17  Bruno Haible  <bruno@clisp.org>
69046
69047         * lib/execute.c (environ): Declare if needed.
69048         * lib/pipe.c (environ): Likewise.
69049         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
69050
69051 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69052
69053         * modules/argp: Depend on vsnprintf
69054
69055 2005-01-10  Jim Meyering  <jim@meyering.net>
69056
69057         * modules/closeout (Depends-on): Add atexit.
69058
69059 2005-01-06  Bruno Haible  <bruno@clisp.org>
69060
69061         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
69062
69063 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69064
69065         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
69066         definitions to be after all include files, to avoid collisions.
69067         Problem reported by Bob Proulx.
69068
69069 2005-01-04  Jim Meyering  <jim@meyering.net>
69070
69071         Changes imported from coreutils.
69072         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
69073         as the mkstemp template, use a temporary directory and an
69074         8.3-friendly template to avoid trouble on systems like DJGPP.
69075         Reported by Juan M. Guerrero via Stepan Kasal.
69076         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
69077         close. Remove the temporary directory right away, rather than waiting
69078         for configure's at-exit trap code to do it.
69079         Suggestion from Stepan Kasal.
69080
69081 2005-01-01  Simon Josefsson  <jas@extundo.com>
69082
69083         * gnulib-tool: Print #include directives when --import'ing.
69084
69085 2004-12-28  Simon Josefsson  <jas@extundo.com>
69086
69087         * tests/test-base64.c: Include required header files.  Remove
69088         unused variables.
69089
69090 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69091
69092         * modules/error (Depends-on): Remove gettext.
69093
69094 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69095
69096         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
69097         not needed.  This removes a dependency on the gettext module.
69098         [defined _LIBC]: Do not include <libintl.h>; not needed.
69099
69100 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69101
69102         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
69103         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
69104
69105 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69106
69107         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
69108         HAVE_DECL_STRTOLD.
69109
69110 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69111
69112         * modules/getdate (Depends-on): Remove alloca-opt.
69113
69114 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69115
69116         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
69117
69118 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69119
69120         * lib/argp-parse.c: Include <stddef.h>.
69121         (alignof, alignto): New macros.
69122         (parser_init): Don't assume that void * is aligned sufficiently
69123         for struct option.
69124
69125         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
69126         need to extend the stack.
69127         (YYINITDEPTH): New macro, so that the initial stack isn't overly
69128         large.
69129
69130 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69131
69132         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
69133
69134 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69135
69136         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
69137         (2004-10-24) change.  Apparently this was a false alarm.
69138
69139         * modules/getdate: Depend on alloca-opt, not alloca.
69140
69141 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69142
69143         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
69144         Remove now-obsolete comment about AIX.
69145         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
69146         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
69147         (YYMAXDEPTH): New macro.
69148
69149 2004-12-18  Simon Josefsson  <jas@extundo.com>
69150
69151         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
69152
69153 2004-12-18  Bruno Haible  <bruno@clisp.org>
69154
69155         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
69156
69157 2004-12-18  Bruno Haible  <bruno@clisp.org>
69158
69159         * lib/fatal-signal.c (fatal_signals): Make non-const.
69160         (init_fatal_signals): New function.
69161         (uninstall_handlers, install_handlers): Ignore signals that were set to
69162         SIG_IGN.
69163         (at_fatal_signal): Call init_fatal_signals.
69164         (init_fatal_signal_set): Likewise. Ignore signals that were set to
69165         SIG_IGN.
69166         Reported by Paul Eggert.
69167
69168 2004-12-18  Bruno Haible  <bruno@clisp.org>
69169
69170         * doc/alloca.texi: New file.
69171         * doc/alloca-opt.texi: New file.
69172
69173 2004-12-17  Jim Meyering  <jim@meyering.net>
69174
69175         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
69176         Otherwise, install-sh could exit with improper exit status when
69177         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
69178
69179 2004-12-16  Simon Josefsson  <jas@extundo.com>
69180
69181         * tests/test-base64.c: Add license.
69182
69183 2004-12-15  Stepan Kasal  <address@hidden>
69184
69185         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
69186
69187 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
69188
69189         * modules/getcwd (Files): Add m4/d-ino.m4.
69190         Suggested by Mark D. Baushke.
69191
69192 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69193
69194         * lib/getdate.y (textint): New member "negative".
69195         (time_zone_hhmm): New function.
69196         Expect 14 shift-reduce conflicts, not 13.
69197         (o_colon_minutes): New rule.
69198         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
69199         (yylex): Set the "negative" member of signed numbers.
69200
69201 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69202
69203         * doc/getdate.texi (Time of day items, Time zone items):
69204         Describe new formats +00:00, UTC+00:00.
69205
69206 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
69207
69208         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
69209         spurious "-l"s.  Problem reported by Stepan Kasal.
69210
69211 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
69212
69213         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
69214         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
69215
69216 2004-12-04  Simon Josefsson  <jas@extundo.com>
69217
69218         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
69219         Vandoorselaere <yoann@prelude-ids.org>.
69220
69221 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69222
69223         Changes imported from coreutils.
69224         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
69225         exist.
69226         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
69227
69228 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69229
69230         Changes imported from coreutils.
69231         * lib/hard-locale.c: Assume <locale.h> exists.
69232         Include "strdup.h".
69233         (GLIBC_VERSION): New macro.
69234         (hard_locale): Assume setlocale exists.
69235         Rewrite to avoid #ifdef.
69236         Use strdup rather than malloc + strcpy.
69237         * lib/human.c: Assume <locale.h> exists.
69238         (human_readable): Assume localeconv exists.
69239
69240 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69241
69242         * modules/hard-locale (Depends-on): Add strdup.
69243
69244 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
69245
69246         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
69247         convert T2, not T.  (Imported from libc.)
69248
69249 2004-11-30  Simon Josefsson  <jas@extundo.com>
69250
69251         * modules/restrict (License): Change to LGPL.
69252
69253 2004-11-30  Simon Josefsson  <jas@extundo.com>
69254
69255         * m4/restrict.m4: Add copyright and copying conditions.
69256
69257 2004-11-30  Simon Josefsson  <jas@extundo.com>
69258
69259         * m4/base64.m4: New file.
69260
69261 2004-11-30  Simon Josefsson  <jas@extundo.com>
69262
69263         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
69264         base64.
69265
69266         * tests/test-base64.c: New file.
69267
69268         * modules/base64: New file.
69269
69270 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69271
69272         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
69273         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
69274
69275         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
69276
69277 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69278
69279         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
69280         (__getcwd.c): Don't restore errno; glibc doesn't.
69281         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
69282         first, falling back to our code only if its results look suspicious.
69283         Ensure that the resulting buffer is only as large as necessary.
69284
69285         * lib/readutmp.c: Include readutmp.h first.
69286         Include <errno.h>, since readutmp.h no longer does that.
69287         * lib/readutmp.h: Don't include <errno.h>,
69288         <sys/param.h>, <time.h>; not needed to establish interface.
69289         (errno): Remove decl.
69290         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
69291         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
69292         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
69293
69294 2004-11-28  Simon Josefsson  <jas@extundo.com>
69295
69296         * lib/base64.h, base64.c: New file.
69297
69298 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69299
69300         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
69301
69302 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69303
69304         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
69305         (Depends-on): Remove pathmax, same.  Add mempcpy.
69306         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
69307         (Makefile.am): Append getcwd.h to lib_SOURCES.
69308         (Include): Add getcwd.h.
69309         (Maintainer): Change from Jim Meyering to "all, glibc",
69310         since getdate now uses intended-for-glibc code.
69311         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
69312         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
69313
69314 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69315
69316         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
69317         HP's ANSI C compiler.
69318         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
69319         Declaring int functions causes warnings on some modern systems and
69320         shouldn't be needed to compile on ancient ones.
69321         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
69322         defined.
69323
69324         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
69325         with the following changes.
69326         (__set_errno): Parenthesize properly.
69327         Include <stdbool.h>.
69328         (MIN, MAX, MATCHING_INO): New macros.
69329         (__getcwd): Define with prototype, not K&R form.
69330         Use heuristics to allocate default buffer on stack if possible.
69331         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
69332         behavior, and to avoid the PATH_MAX limit when computing
69333         ../../../../...
69334         Use MATCHING_INO to compare inode number to file.
69335         Check for arithmetic overflow in size calculations.
69336         Fix bug in reallocation of dot array that caused getcwd to fail
69337         on directories nested deeper than 75.
69338         Be more careful about saving errno on error.
69339         Do not use realloc; use only free+malloc, as this is a bit
69340         more flexible and avoids a needless copy operation.
69341         Do not inspect st_dev and st_ino for symbolic links; POSIX
69342         doesn't specify the latter.
69343         Check for closedir errors.
69344         Avoid needless casts.
69345         Use "#ifdef weak_alias" around weak_alias, to be like other
69346         glibc code.
69347         The following changes to getcwd.c have effect only when used in
69348         gnulib; they have no effect inside glibc proper.
69349         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
69350         as alloca isn't used.
69351         (alloca, __alloca): Likewise.
69352         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
69353         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
69354         unconditionally, as gnulib assumes C89 or better.
69355         Do not include <sys/param.h>.
69356         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
69357         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
69358         better.
69359         (NULL) [!defined NULL]: Remove; we assume C89 or better.
69360         Include <dirent.h> in a way that is compatible with modern Autoconf.
69361         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
69362         New macros, if not already defined.
69363         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
69364         Use "_LIBC", not "defined _LIBC", for consistency.
69365         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
69366         a mempcpy module.
69367         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
69368         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
69369         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
69370         credit only to Jim Meyering and adjust the copyright dates.
69371         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
69372         <stdlib.h>, <unistd.h>, "pathmax.h".
69373         Instead, include "xgetcwd.h" (first) and "getcwd.h".
69374         (INITIAL_BUFFER_SIZE): Remove.
69375         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
69376
69377 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69378
69379         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
69380         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
69381         Use the _ONCE methods, for efficiency.
69382         Check for fcntl.h.  In test program, include <errno.h>
69383         and <fcntl.h> if available.  Remove old K&R cruft from
69384         test program.  Check for common errors in GNU/Linux,
69385         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
69386         don't do AC_LIBOBJ, as that's getcwd.m4's job.
69387         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
69388         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
69389         name accordingly.
69390         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
69391         accommodate new getcwd.c.
69392         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
69393         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
69394         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
69395         that's all we need now.
69396
69397 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69398
69399         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
69400         argp-parse.c depends on getopt internals, that means we should
69401         always use our getopt, to be on the safe side.
69402         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
69403         order not to spoil the result of an eventual previous invocation
69404         of gl_GETOPT_SUBSTITUTE.
69405
69406 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69407
69408         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
69409         redefinition warnings. To avoid them, include the defines
69410         in `#if !defined __need_getopt ... #endif'. The only place
69411         where __getopt_argv_const is used is in definitions
69412         of getopt_long and getopt_long_only below, which are as well
69413         protected by `#ifndef __need_getopt'.
69414         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
69415         __need_getopt after including <stdio.h> and <unistd.h> These
69416         headers might have defined it.
69417
69418 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69419
69420         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
69421
69422 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69423
69424         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
69425         (futimens): New function, which uses futimes if available.
69426         (futimens, utimens): Support timespec==NULL, with same semantics
69427         as utime and utimens.
69428         * lib/utimens.h (futimens): New decl.
69429
69430 2004-11-23  Jim Meyering  <jim@meyering.net>
69431
69432         * lib/getopt_.h: Remove trailing blanks.
69433
69434 2004-11-23  Jim Meyering  <jim@meyering.net>
69435
69436         * lib/__fpending.c: Add comment.
69437
69438 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
69439
69440         * modules/canonicalize (Depends-on): Add xreadlink.
69441         Problem reported by James Youngman.
69442
69443 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69444
69445         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
69446         New macros.
69447         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
69448         optopt): Use them instead of invoking ## directly; otherwise, the
69449         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
69450
69451 2004-11-19  Bruno Haible  <bruno@clisp.org>
69452
69453         * lib/strtok_r.c: Move comments from here...
69454         * lib/strtok_r.h: ... to here.
69455
69456 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69457
69458         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
69459         implementations that mishandle size_t overflow.
69460
69461 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69462
69463         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
69464         might fail.  Problem reported by Yoann Vandoorselaere.
69465         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
69466         implementations that mishandle size_t overflow.
69467
69468 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69469
69470         * modules/canon-host (Depends-on): Add strdup.
69471
69472 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69473
69474         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
69475
69476 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69477
69478         * lib/canon-host.c: Include "strdup.h".
69479         (canon_host): Use getaddrinfo if available, so that IPv6 works.
69480         Use strdup instead of malloc/strcpy to duplicate strings.
69481
69482         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
69483         (human_space_before_unit): New constant.
69484         * lib/human.c (human_readable): Support it.
69485
69486         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
69487         (xgetcwd): Set errno correctly when failing.
69488         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
69489         the failure is actually due to a PATH_MAX problem.
69490
69491         Further getopt changes to make it more likely that glibc will
69492         buy the changes back.
69493         * lib/getopt.c (POSIXLY_CORRECT): New constant.
69494         (getopt): Use it, so to preserve glibc semantic
69495         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
69496         when compiling for libc.
69497         * lib/getopt_.h (__getopt_argv_const): Bring it back.
69498         (getopt_long, getopt_long_only): Use it.
69499
69500         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69501         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
69502         (getopt): Argv is now char * const *, as per standard.
69503         (_getopt_internal_r, _getopt_internal): Argv is now char **,
69504         not char *__getopt_argv_const *.
69505         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69506         _getopt_long_only_r): Likewise.
69507         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
69508         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69509         _getopt_long_r, _getopt_long_only_r): Likewise.
69510         * lib/getopt_.h (__getopt_argv_const): Remove.
69511         (getopt): Argv is now char * const *, as per standard.
69512
69513         * lib/getdate.y (tORDINAL): New token.
69514         (day, relunit): Allow it for relative times.
69515         (relative_time_table): Use tORDINAL for ordinals.
69516
69517 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69518
69519         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
69520         Document that "second" isn't allowed as an ordinal number.
69521
69522 2004-11-16  Jim Meyering  <jim@meyering.net>
69523
69524         * modules/closeout (Depends-on): Add fpending.
69525
69526 2004-11-15  Jim Meyering  <jim@meyering.net>
69527
69528         * lib/closeout.c: Include "__fpending.h" once again.
69529         Include <stdbool.h>.
69530         (close_stdout): Don't fail just because stdout was closed initially,
69531         since some programs don't write to stdout in the normal course of
69532         operation (other than --version and --help), and we don't want this
69533         function to make e.g. `touch file >&-' fail.
69534         But do fail if it was closed and someone has tried to write to it.
69535         E.g., `printf foo >&-' must fail.
69536
69537 2004-11-13  Jim Meyering  <jim@meyering.net>
69538
69539         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
69540
69541 2004-11-12  Simon Josefsson  <jas@extundo.com>
69542
69543         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
69544         small doc fix is still pending.
69545
69546 2004-11-11  Simon Josefsson  <jas@extundo.com>
69547
69548         * modules/strtok_r: New file.
69549
69550         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69551         strtok_r.
69552
69553 2004-11-11  Simon Josefsson  <jas@extundo.com>
69554
69555         * m4/strtok_r.m4: New file.
69556
69557         * m4/getopt.m4: Replace opterr.
69558
69559 2004-11-11  Simon Josefsson  <jas@extundo.com>
69560
69561         * lib/strtok_r.h, strtok_r.c: New file.
69562
69563 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69564
69565         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
69566         of replacing opterr, getopt, etc.  This should handle the
69567         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
69568
69569 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69570
69571         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
69572         we can stop lying to compilers about the constness of argv when we
69573         are compiled outside glibc.
69574         (getopt, getopt_long, getopt_long_only): Use it.
69575         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69576         _getopt_internal, getopt): Likewise.
69577         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69578         _getopt_long_only_r): Likewise.
69579         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69580         _getopt_long_r, _getopt_long_only_r): Likewise.
69581
69582         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
69583         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
69584         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
69585         the other external symbols.
69586         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
69587         declaration, since the above renaming now works around collisions.
69588
69589 2004-11-11  Jim Meyering  <jim@meyering.net>
69590
69591         * lib/linebreak.c: Remove trailing blanks.
69592         * lib/alloca_.h: Likewise.
69593         * lib/acosl.c: Likewise.
69594         * lib/euidaccess.c: Likewise.
69595         * lib/allocsa.h: Likewise.
69596
69597 2004-11-10  Simon Josefsson  <jas@extundo.com>
69598
69599         * m4/getaddrinfo.m4: New file.
69600
69601 2004-11-10  Simon Josefsson  <jas@extundo.com>
69602
69603         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
69604
69605 2004-11-10  Simon Josefsson  <jas@extundo.com>
69606
69607         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69608         getaddrinfo.
69609
69610         * modules/getaddrinfo: New file.
69611
69612 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69613
69614         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
69615
69616 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69617
69618         * lib/mktime.c (SHR): New macro, which is a portable
69619         substitute for >> that should work even on Crays.
69620         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
69621         Problem reported by Mark D. Baushke in
69622         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
69623         * lib/getdate.y (SHR): Likewise.
69624         (tm_diff): Use it.
69625         * lib/strftime.c (SHR): Likewise.
69626         (tm_diff): Use it.
69627         * lib/quotearg.c (struct quoting_options): Use unsigned int for
69628         quote_these_too, so that right shifts are well defined.  All uses
69629         changed.
69630
69631 2004-11-10  Jim Meyering  <jim@meyering.net>
69632
69633         Ensure that no close failure goes unreported.
69634         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
69635         return early when it seems there's nothing to flush.
69636         Don't include __fpending.h.
69637
69638 2004-11-10  Jim Meyering  <jim@meyering.net>
69639
69640         * modules/closeout (Depends-on): Remove fpending.
69641
69642 2004-11-10  Jim Meyering  <jim@meyering.net>
69643
69644         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
69645
69646 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69647
69648         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
69649         gl_FUNC_STRFTIME.
69650         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
69651         and AC_REQUIRE when possible, to avoid duplicate checks.
69652         Check for <wchar.h>.
69653
69654 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69655
69656         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
69657
69658 2004-11-09  Bruno Haible  <bruno@clisp.org>
69659
69660         * m4/sockpfaf.m4: New file.
69661
69662 2004-11-05  Bruno Haible  <bruno@clisp.org>
69663
69664         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
69665         Reported by Mark D. Baushke <mdb@cvshome.org>.
69666
69667 2004-11-04  Bruno Haible  <bruno@clisp.org>
69668
69669         2004-09-11  Bruno Haible  <bruno@clisp.org>
69670                 * allocsa.valgrind: New file.
69671         2004-02-06  Bruno Haible  <bruno@clisp.org>
69672                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
69673                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
69674                 Reported by Christopher Seip <chris.seip@hp.com>.
69675
69676 2004-11-04  Bruno Haible  <bruno@clisp.org>
69677
69678         * modules/allocsa (Files): Add lib/allocsa.valgrind.
69679         (Makefile.am): Distribute it.
69680
69681 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69682
69683         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
69684         with errno == ERANGE if the buffer is too small.
69685         Problem reported by Mark D. Baushke.
69686
69687 2004-11-03  Albert Chin  <china@thewrittenword.com>
69688             Paul Eggert  <eggert@cs.ucla.edu>
69689
69690         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
69691         equivalent, substitute $ac_type for equivalent type rather than
69692         blindly using uint32_t *always* which won't work if uint32_t is not
69693         available.  Define _UINT32_T to work around typedef of uint32_t if
69694         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
69695         2.5.1.
69696
69697 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69698
69699         * m4/jm-macros.m4: Sync from coreutils.
69700         (gl_MACROS): Check for mbrlen, for pathchk.
69701         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
69702
69703 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69704
69705         * lib/xreadlink.c (MAXSIZE): New macro.
69706         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
69707         size does not exceed MAXSIZE.  Avoid cast.
69708         As suggested by Mark D. Baushke in
69709         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
69710         if readlink fails with buffer size just under MAXSIZE, try again
69711         with MAXSIZE.
69712
69713 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69714
69715         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
69716
69717 2004-11-02  Derek R. Price  <derek@ximbiot.com>
69718         and  Paul Eggert  <eggert@cs.ucla.edu>
69719
69720         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
69721         (get_date): Overparenthesize to avoid GCC warning.
69722
69723 2004-11-02  Bruno Haible  <bruno@clisp.org>
69724
69725         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
69726         returns void.
69727
69728 2004-11-02  Bruno Haible  <bruno@clisp.org>
69729
69730         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
69731         function returns void.
69732
69733 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69734
69735         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
69736         fflush_unlocked, flockfile, funlockfile, funlockfile,
69737         fputs_unlocked, putc_unlocked.
69738
69739 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69740
69741         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
69742         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
69743         already declared.
69744
69745 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69746
69747         * modules/getdate (Files): Add doc/getdate.texi.
69748         (Depends-on): Add setenv, xalloc.
69749
69750 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69751
69752         * lib/getdate.y: Add support for TZ="foo" within a date string.
69753         Fix some bugs near time_t boundaries.  Reject dates with
69754         out-of-range components, e.g., "Sept 31".
69755         Include <stdlib.h>, "setenv.h", "xalloc.h".
69756         (ISDIGIT_LOCALE): Remove; unused.
69757         Note that the TZ and time functions used here are not reentrant.
69758         (mktime_ok, get_tz): New functions.
69759         (TZBUFSIZE): New constant.
69760         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
69761         This requires that we sometimes generate our own TZ="XXX..." setting.
69762
69763 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69764
69765         * doc/getdate.texi: New file, from coreutils with modifications for
69766         the new TZ parsing.
69767
69768 2004-10-27  Derek R. Price  <derek@ximbiot.com>
69769
69770         * lib/mktime.c (not_equal_tm): Remove redundant check.
69771
69772 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69773
69774         * modules/regex (lib_SOURCES): Add regex.c.
69775         Reported by James Youngman in
69776         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
69777
69778 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69779
69780         * lib/getdate.y: Use Bison 1.875 features, and some minor
69781         code cleanups.  This change does not affect semantics.
69782         Don't include <stdlib.h>; no longer needed.
69783         Don't include unlocked-io.h; only the "#if TEST" code uses
69784         stdio, and performance isn't crucial there.
69785         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
69786         Bison 1.875 features as described below.
69787         All uses of "PC." replaced by "pc->".
69788         (YYSTYPE): Add a forward declaration.
69789         (yylex, yyerror): Use full prototypes in forward decls.
69790         Use "%pure-parser" rather than obsolescent "%pure_parser".
69791         Use %parse-param and %lex-param instead of obsolescent
69792         YYPARSE_PARAM and YYLEX_PARAM.
69793         (meridian_table, month_and_day_table, time_units_table,
69794         relative_time_table, time_zone_table, military_table,
69795         lookup_zone, lookup_word, get_date):
69796         Use NULL instead of 0 where appropriate.
69797         (to_hour): Avoid abort (), to avoid a dependency on
69798         stdlib.h.
69799         (yyerror, yylex): Now accepts parser_control * arg.
69800         (main) [TEST]: Use '\0' rather than 0 for char.
69801
69802 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69803
69804         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
69805
69806 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69807
69808         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
69809         It's now the caller's responsibility to handle the case where
69810         !HAVE_GETPAGESIZE && !defined getpagesize.
69811
69812         * lib/mktime.c (leapyear): Arg is long int, not int.
69813
69814 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
69815
69816         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
69817
69818 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69819
69820         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
69821         missing.  Problem reported by James Youngman.
69822
69823 2004-10-16  Simon Josefsson  <jas@extundo.com>
69824
69825         * gnulib-tool: Fix comments.  Fix parse problem.
69826         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
69827
69828 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
69829
69830         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
69831         implementation of getopt_long.  Problem reported by Alexander Taler in:
69832         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
69833
69834 2004-10-15  Bruno Haible  <bruno@clisp.org>
69835
69836         * gnulib-tool: Untabify. Initialize supplied_libname.
69837         (func_usage): More homogenous output.
69838         (func_modules_transitive_closure, func_modules_to_filelist,
69839         func_emit_lib_Makefile_am): New functions.
69840         (func_import): New function, extracted from big case statement. Use
69841         func_get_license, func_modules_transitive_closure,
69842         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
69843         opt_lgpl. Don't use test -a, as it's not portable.
69844         (func_create_testdir): Use func_modules_transitive_closure,
69845         func_modules_to_filelist, func_emit_lib_Makefile_am.
69846
69847 2004-10-15  Bruno Haible  <bruno@clisp.org>
69848
69849         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
69850
69851 2004-10-15  Bruno Haible  <bruno@clisp.org>
69852
69853         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
69854         the portions belonging to each module.
69855         Suggested by Derek Robert Price <derek@ximbiot.com>.
69856
69857 2004-10-12  Simon Josefsson  <jas@extundo.com>
69858
69859         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
69860         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
69861         to real functions.
69862
69863 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69864
69865         * modules/vsnprintf: New file.
69866
69867 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69868
69869         * m4/vsnprintf.m4: New file.
69870
69871 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69872
69873         * lib/vsnprintf.h: New file.
69874         * lib/vsnprintf.c: New file.
69875
69876 2004-10-11  Bruno Haible  <bruno@clisp.org>
69877
69878         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
69879         vsnprintf.
69880
69881 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69882
69883         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
69884
69885 2004-10-07  Bruno Haible  <bruno@clisp.org>
69886
69887         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
69888         fits into the provided buffer.
69889
69890 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69891
69892         * lib/diacrit.c, diacrit.h: Add GPL notice.
69893
69894         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
69895         notice.
69896         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
69897         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
69898         This avoids a potential constant-folding bug.
69899
69900 2004-10-05  Bruno Haible  <bruno@clisp.org>
69901
69902         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
69903         for the declaration of strsep.
69904
69905 2004-10-05  Bruno Haible  <bruno@clisp.org>
69906
69907         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
69908
69909 2004-10-04  Simon Josefsson  <jas@extundo.com>
69910
69911         * modules/memmem: New file.
69912         * tests/test-memmem.c: New file.
69913         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
69914
69915 2004-10-04  Simon Josefsson  <jas@extundo.com>
69916
69917         * m4/memmem.m4: New file.
69918
69919 2004-10-04  Simon Josefsson  <jas@extundo.com>
69920
69921         * lib/memmem.h: New file.
69922         * lib/memmem.c: New file, taken from glibc.
69923
69924 2004-10-04  Simon Josefsson  <jas@extundo.com>
69925
69926         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
69927         '#ifdef USE_UNLOCKED_IO'.
69928
69929 2004-10-04  Simon Josefsson  <jas@extundo.com>
69930
69931         * config/srclist.txt: Add memmem from glibc.
69932
69933 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69934
69935         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
69936
69937         * modules/argmatch, modules/argp, modules/closeout, modules/error,
69938         modules/exclude, modules/getdate, modules/getline,
69939         modules/getndelim2, modules/getpass, modules/getpass-gnu,
69940         modules/getusershell, modules/linebuffer, modules/md5,
69941         modules/mountlist, modules/posixtm, modules/readtokens,
69942         modules/readutmp, modules/regex, modules/sha1,
69943         modules/version-etc, modules/yesno:
69944         Remove dependency on unlocked-io.
69945
69946 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69947
69948         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
69949
69950         * m4/unlocked-io.m4: Add copyright notice.
69951         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
69952
69953 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69954
69955         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
69956         * lib/xmalloc.c (xmemdup): Likewise.
69957         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
69958         XFREE): Remove these long-obsolescent macros.
69959         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
69960         * lib/xstrdup.c: Remove.
69961
69962         * lib/regex.c (re_comp): Cast gettext return value to char *,
69963         Problem reported by Martin Neitzel via Mark D. Baushke.
69964
69965 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69966
69967         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
69968         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
69969         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
69970         regex.c, sha1.c, version-etc.c, yesno.c:
69971         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
69972         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
69973         the includer's responsibility.
69974
69975         Sync from coreutils.
69976
69977         * lib/modechange.c (mode_compile): Don't decrement a pointer that
69978         points to the start of a string, as the C Standard says the
69979         resulting behavior is undefined.
69980
69981         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
69982         simple -> simple_backups, numbered_existing ->
69983         numbered_existing_backups, numbered -> numbered_backups
69984         to avoid shadowing problems.  All uses changed.
69985         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
69986         * lib/backupfile.c (check_extension, numbered_backup):
69987         Rename locals to avoid shadowing 'basename'.
69988         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
69989         once.
69990
69991         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
69992         * lib/.cvsignore: Add getopt.h.
69993
69994 2004-10-04  Bruno Haible  <bruno@clisp.org>
69995
69996         * modules/README: New file.
69997         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
69998         not a module.
69999
70000 2004-10-02  Jim Meyering  <jim@meyering.net>
70001
70002         * lib/dirfd.h, getpagesize.h: Add copyright notice.
70003
70004 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70005
70006         * modules/strsep: New file.
70007
70008 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70009
70010         * m4/strsep.m4: New file.
70011
70012 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70013
70014         * lib/strsep.h: New file.
70015         * lib/strsep.c: New file.
70016
70017 2004-10-01  Simon Josefsson  <jas@extundo.com>
70018
70019         * lib/snprintf.c (snprintf): Handle size==0.
70020
70021 2004-10-01  Simon Josefsson  <jas@extundo.com>
70022             Bruno Haible  <bruno@clisp.org>
70023
70024         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
70025         (snprintf): Declare 'args'.
70026
70027 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
70028
70029         * lib/snprintf.c: Remove comments as to why each header is needed.
70030
70031 2004-10-01  Bruno Haible  <bruno@clisp.org>
70032
70033         * MODULES.html.sh: Add strsep.
70034
70035 2004-09-30  Simon Josefsson  <jas@extundo.com>
70036
70037         * modules/snprintf: New file.
70038
70039 2004-09-30  Simon Josefsson  <jas@extundo.com>
70040
70041         * m4/snprintf.m4: New file.
70042
70043 2004-09-30  Simon Josefsson  <jas@extundo.com>
70044
70045         * lib/snprintf.h, lib/snprintf.c: New files.
70046
70047 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70048
70049         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
70050         (hol_entry_help): Never translate an empty string.
70051         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
70052         * lib/argp.h (OPTION_NO_TRANS): New option.
70053
70054 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70055
70056         * modules/argp (Maintainer): Replace Simon Josefsson
70057         by Sergey Poznyakoff.
70058
70059 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70060
70061         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
70062         changes merged back into glibc.
70063
70064 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70065
70066         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
70067
70068 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
70069
70070         * lib/xvasprintf.c: Include xalloc.h.
70071         (xvasprintf): Use xalloc_die, not xmalloc_die.
70072
70073 2004-09-29  Bruno Haible  <bruno@clisp.org>
70074
70075         * modules/alloca-opt: New file, derived from modules/alloca.
70076         * modules/allocsa: Depend on alloca-opt instead of alloca.
70077         * modules/setenv: Likewise.
70078         * modules/vasnprintf: Likewise.
70079         * MODULES.html.sh: Add alloca-opt.
70080
70081 2004-09-28  Simon Josefsson  <jas@extundo.com>
70082
70083         * gnulib-tool: New parameter --lgpl, to asseert that modules are
70084         LGPL, and to replace license template from GPL to LGPL.
70085
70086 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70087
70088         * modules/dummy: Change license to LGPL.
70089
70090 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70091
70092         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
70093
70094 2004-09-24  Simon Josefsson  <jas@extundo.com>
70095
70096         * modules/minmax (License): Change from GPL to LGPL.
70097
70098 2004-09-23  Simon Josefsson  <jas@extundo.com>
70099
70100         * gnulib-tool (--import): Typo.
70101
70102 2004-09-23  Simon Josefsson  <jas@extundo.com>
70103
70104         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
70105
70106 2004-09-22  Bruno Haible  <bruno@clisp.org>
70107
70108         * modules/*: Add 'License' field.
70109         * gnulib-tool: Accept --extract-license option.
70110         (func_get_license): New function.
70111
70112 2004-09-21  Bruno Haible  <bruno@clisp.org>
70113
70114         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
70115         Reported by Simon Josefsson.
70116
70117 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70118
70119         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
70120         gl_AC_TYPE_LONG_LONG.
70121
70122 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70123
70124         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
70125
70126 2004-09-18  Simon Josefsson  <jas@extundo.com>
70127         and  Paul Eggert  <eggert@cs.ucla.edu>
70128
70129         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
70130         calls with autoreconf.  Define GL_LIB.
70131
70132 2004-09-14  Karl Berry  <karl@gnu.org>
70133
70134         * config/srclist.txt: unsync setenv.c, sigh.
70135
70136 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70137
70138         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
70139         Problem reported by Bruno Haible in:
70140         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
70141
70142 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70143
70144         * config/srclist.txt: Comment out argp-pvh.c.
70145
70146 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
70147
70148         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
70149         in case some system header has #define'd it.  Problem reported by
70150         Soeren D. Schulze in
70151         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
70152
70153 2004-09-09  Karl Berry  <karl@gnu.org>
70154
70155         * regex.[ch]: delete from the root.  These were supposed to be
70156                 synced with emacs cvs, but this has not happened for about
70157                 a year, and anyway nothing else uses emacs regex.[ch].
70158                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
70159                 lib/regex[.ch] is untouched.
70160
70161 2004-09-09  Bruno Haible  <bruno@clisp.org>
70162
70163         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
70164
70165 2004-09-09  Bruno Haible  <bruno@clisp.org>
70166
70167         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
70168         modifications.
70169         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
70170
70171 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70172
70173         * modules/xvasprintf: New file.
70174         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
70175
70176 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70177
70178         * lib/xvasprintf.h: New file.
70179         * lib/xvasprintf.c: New file.
70180         * lib/xasprintf.c: New file.
70181
70182 2004-09-08  Bruno Haible  <bruno@clisp.org>
70183
70184         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
70185
70186 2004-09-08  Bruno Haible  <bruno@clisp.org>
70187
70188         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
70189         length is > INT_MAX.
70190         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
70191         more.
70192
70193 2004-09-08  Bruno Haible  <bruno@clisp.org>
70194
70195         * lib/stdint_.h: New file, taken from GNU clisp.
70196
70197 2004-09-08  Bruno Haible  <bruno@clisp.org>
70198             Oskar Liljeblad  <oskar@osk.mine.nu>
70199
70200         * modules/stdint: New file.
70201         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
70202
70203 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70204
70205         Import from coreutils.
70206         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
70207         strings on unbounded length.  alloca's performance benefits aren't
70208         that important here.
70209         (V_STRDUP): Remove.
70210         (parse_with_separator): New function, with most of the internals
70211         of the old parse_user_spec.  Allow user to omit both user and group,
70212         for compatibility with FreeBSD.
70213         Clone only the user name, not the entire spec.
70214         Do not set *uid, *gid unless entirely successful.
70215         Avoid memory leak in some failing cases.
70216         Fix regression for USER.GROUP reported by Dmitry V. Levin in
70217         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
70218         (parse_user_spec): Rewrite to use parse_with_separator.
70219
70220 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70221
70222         * modules/userspec: Don't depend on alloca.
70223
70224 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70225
70226         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
70227
70228 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70229
70230         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
70231         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
70232         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
70233
70234 2004-08-16  Simon Josefsson  <jas@extundo.com>
70235
70236         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
70237         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
70238         Add --dry-run for --import.
70239         Let user provided command line parameters override configure.ac
70240         settings.
70241
70242 2004-08-12  Simon Josefsson  <jas@extundo.com>
70243
70244         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
70245         as discussed with Paul Eggert in threads rooted at
70246         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
70247         and
70248         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
70249         Before, the test was empty, and relied on ELIDE_CODE in source
70250         code.)
70251         (gl_PREREQ_GETOPT): New macro.
70252         (gl_GETOPT): Use them.
70253
70254 2004-08-12  Simon Josefsson  <jas@extundo.com>
70255
70256         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
70257         * lib/getopt_.h: Renamed from getopt.h.
70258
70259 2004-08-12  Simon Josefsson  <jas@extundo.com>
70260
70261         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
70262         Change default library name from libfoo to libgnu.
70263         Now, if you have a configure.ac that says:
70264                 gl_SOURCE_BASE(gl)
70265                 gl_M4_BASE(gl/m4)
70266                 gl_MODULES(error getopt etcetera)
70267                 gl_INIT
70268         you can import all you need by running:
70269                 ../gnulib/gnulib-tool --import
70270
70271         * modules/getopt (Files): Rename getopt.h to getopt_.h.
70272         (Makefile.am): Rewrite, use logic from argz.
70273         (Include): Use <getopt.h> instead of "getopt.h".
70274
70275 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70276
70277         * modules/argp (Files): Add m4/unlocked-io.m4.
70278         (Depends-on): Add extensions.
70279
70280 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70281
70282         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
70283         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
70284         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
70285         Check for program_invocation_name, program_invocation_short_name,
70286         flockfile, funlockfile, features.h, _getopt_long_only_r.
70287
70288 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70289
70290         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
70291         its complicated substitute.
70292         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
70293         and program_invocation_name.
70294         (__argp_basename) [!_LIBC]: Remove; the only use was
70295         replaced by its body.
70296         (__argp_short_program_name): Change condition from
70297         !defined __argp_short_program_name to
70298         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
70299         to match argp-namefrob.h.
70300         (__argp_failure): Don't assume strerror_r returns char *.
70301         * lib/argp-parse.c (N_): Define unconditionally.
70302         (argp_default_options): Fill out initializers with 0 to avoid
70303         gcc warnings.
70304
70305 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70306
70307         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
70308         getopt1.c.
70309
70310 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70311
70312         Merge from coreutils.
70313
70314         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
70315
70316         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
70317         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
70318
70319 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70320
70321         Merge from coreutils.
70322
70323         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
70324         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
70325         for Reliant Unix 5.43.
70326
70327         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
70328         (union fooround): Use uintmax_t, not long int.
70329         The rest is a merge from libc:
70330         [defined _LIBC]: Include <shlib-compat.h>.
70331         (_obstack) [defined _LIBC]: Remove after 2.3.4.
70332
70333         * lib/settime.c (settime): Recode to avoid warning with
70334         Sun Forte C 6U2.
70335
70336         * lib/strverscmp.c: Convert to UTF-8.
70337
70338 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70339
70340         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
70341         m4/uintmax_t.m4.
70342
70343 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70344
70345         * modules/xalloc-die: New file.
70346         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
70347
70348         * modules/md5 (Files): Add m4/uint32_t.m4.
70349         * modules/sha1: Renamed from modules/sha.
70350         (Files):
70351         Rename lib/sha.h to lib/sha1.h.
70352         Rename lib/sha.c to lib/sha1.c.
70353         Rename m4/sha.m4 to m4/sha1.m4.
70354         (lib_SOURCES): Likewise.
70355         (configure.ac): Rename gl_SHA to gl_SHA1.
70356         (Include): sha.h -> sha1.h.
70357
70358 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70359
70360         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
70361         * m4/sha1.m4: Renamed from sha.m4.
70362         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
70363
70364 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70365
70366         * lib/obstack.h (obstack_empty_p):
70367         Don't assume that chunk->contents is suitably aligned.
70368         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
70369         Likewise. Problem reported by Benno in
70370         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
70371
70372         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
70373         readable.  This could be improved further but it'd take some work.
70374
70375 2004-08-08  Simon Josefsson  <jas@extundo.com>
70376
70377         * modules/xgethostname (Depends-on): Remove exit and error (not
70378         used).
70379
70380         * modules/getpass-gnu: Add getpass.h.
70381         (Depends-on): Add stdbool.
70382         * modules/getpass: Add getpass.h.
70383
70384 2004-08-08  Simon Josefsson  <jas@extundo.com>
70385
70386         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
70387         Check getpass declaration.
70388
70389 2004-08-08  Simon Josefsson  <jas@extundo.com>
70390
70391         * lib/xgethostname.c: Don't include error.h (not used).
70392
70393         * lib/getpass.h: Add.
70394         * lib/getpass.c: Include getpass.h first.
70395
70396 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
70397
70398         * lib/xalloc-die.c: New file.
70399         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
70400         All uses removed.
70401         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
70402         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
70403         xalloc-die.c.
70404         (_, N_, xalloc_die): Move to xalloc-die.c.
70405         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
70406         so that we needn't mess with xalloc_msg_memory_exhausted.
70407
70408         * lib/sha1.h: Renamed from sha.h.
70409         (SHA1_H): Renamed from _SHA_H.
70410         (sha1_ctx): Renamed from sha_ctx.
70411         (sha1_init_ctx): Renamed from sha_init_ctx.
70412         (sha1_process_block): Renamed from sha_process_block.
70413         (sha1_process_bytes): Renamed from sha_process_bytes.
70414         (sha1_finish_ctx): Renamed from sha_finish_ctx.
70415         (sha1_read_ctx): Renamed from sha_read_ctx.
70416         (sha1_stream): Renamed from sha_stream.
70417         (sha1_buffer): Renamed from sha_buffer.
70418         * lib/sha1.c: Likewise; renamed from sha.c.
70419         Do not include <sys/types.h>.
70420         Include <stddef.h> rather than <stdlib.h>.
70421
70422 2004-08-08  Bruno Haible  <bruno@clisp.org>
70423
70424         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
70425         FILESYSTEM_PREFIX_LEN.
70426         * lib/progreloc.c: Likewise.
70427         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
70428
70429 2004-08-06  Simon Josefsson  <jas@extundo.com>
70430
70431         * modules/progname (Depends-on): Don't depend on stdbool.
70432
70433 2004-08-06  Simon Josefsson  <jas@extundo.com>
70434
70435         * modules/getsubopt: New file.
70436         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70437         getsubopt.
70438
70439 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70440
70441         More merge from coreutils.
70442
70443         * m4/utimens.m4, m4/utimecmp.m4: New files.
70444         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
70445         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
70446         prereq.m4, sha.m4: Import changes from coreutils.
70447
70448 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70449
70450         More merge from coreutils.
70451         * modules/raise, modules/readtokens0, modules/utimens:
70452         * modules/utimecmp, module/xnanosleep: New files.
70453         * modules/strftime: Add lib/strftime.h.
70454         Change include from <time.h> to "strftime.h".
70455         * modules/yesno: Add lib/yesno.h.
70456         * modules/backupfile: Remove lib/addext.c.
70457         * modules/euidaccess: Add stat-macros.h.
70458         * modules/canonicalize, modules/euidaccess,
70459         modules/filemode, modules/lchown, modules/makepath,
70460         modules/rmdir, modules/stat: Likewise.
70461
70462 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70463
70464         Merge from tar.
70465         * lib/argp-help.c (make_hol, hol_append): Don't assume that
70466         SIZE_MAX is a valid preprocessor constant.
70467         (__argp_basename): Change from "#ifndef _LIBC"
70468         to "#ifndef __argp_short_program_name", so that
70469         we don't compile these functions for tar.
70470
70471         More merges from coreutils.
70472         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
70473         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
70474         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
70475         * lib/addext.c: Remove; no longer needed.
70476         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
70477         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
70478         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
70479         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
70480         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
70481         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
70482         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
70483         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
70484         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
70485         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
70486         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
70487         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
70488         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
70489         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
70490         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
70491         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
70492         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
70493         Import changes from coreutils.
70494
70495 2004-08-05  Simon Josefsson  <jas@extundo.com>
70496
70497         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
70498
70499 2004-08-05  Simon Josefsson  <jas@extundo.com>
70500
70501         * m4/getsubopt.m4: New file.
70502
70503 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70504
70505         Merge from coreutils.
70506
70507         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
70508         * m4/getcwd-path-max.m4: New files.
70509
70510         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
70511         FILESYSTEM_PREFIX_LEN ->
70512         FILE_SYSTEM_PREFIX_LEN.
70513         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
70514         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
70515         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
70516         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
70517
70518         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
70519         prerequisite modules now handle the DOS stuff.
70520         Don't check for unistd.h.
70521
70522 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70523
70524         Merge from coreutils.
70525
70526         * lib/.gdb-history: Remove; this doesn't belong here.
70527
70528         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
70529         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
70530         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
70531         * lib/getcwd.c: New files.
70532
70533         * lib/dirname.h: Include <stdbool.h>.
70534         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
70535         for consistency with POSIX terminology.  All uses changed.
70536         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
70537         (strip_trailing_slashes): Use bool for booleans.
70538         * lib/stripslash.c (strip_trailing_slashes): Likewise.
70539
70540         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
70541         sometimes returns a positive errno value even when it succeeds.
70542         (print_errno_message) [!LIBC]: Fall back on strerror if
70543         __strerror_r fails.
70544
70545         * lib/path-concat.c (mempcpy): Don't define if a system header defines
70546         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
70547         (longest_relative_suffix): New function.
70548         (path_concat): Use it.  Assume first argument is not NULL.
70549         Port to DOS.  Omit redundant separators.
70550         Report an error instead of returning NULL.
70551         Use mempcpy instead of memcpy.
70552         (xpath_concat): Remove: not declared or used.
70553
70554         * lib/same.h: Include <stdbool.h>
70555         (same_name): Return bool, not int.
70556         * lib/same.c (same_name): Likewise.
70557         (errno): Don't declare; we assume C89 or better now.
70558
70559         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
70560         if not already defined.
70561
70562         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
70563         * lib/dup-safer.c (errno): Likewise.
70564
70565 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70566
70567         Merge from coreutils.
70568         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
70569         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
70570         * modules/path-concat: Don't depend on strdup.
70571
70572 2004-08-03  Simon Josefsson  <jas@extundo.com>
70573
70574         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
70575         * lib/progname.h: Don't include stdbool.h.
70576
70577 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70578
70579         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
70580         * MODULES.html.sh (func_all_modules): Remove fatal.
70581
70582 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70583
70584         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
70585
70586 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70587
70588         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
70589         working.
70590
70591 2004-08-02  Simon Josefsson  <jas@extundo.com>
70592
70593         * lib/getsubopt.h: New file, with comments from Bruno Haible.
70594         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
70595         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
70596
70597 2004-08-01  Simon Josefsson  <jas@extundo.com>
70598
70599         * lib/xgetdomainname.c: Include stdlib.h, for free().
70600
70601 2004-07-19  Bruno Haible  <bruno@clisp.org>
70602
70603         * MODULES.html.sh (func_all_modules): Add dummy.
70604
70605 2004-07-16  Simon Josefsson  <jas@extundo.com>
70606
70607         * modules/dummy: New file.
70608
70609 2004-07-16  Simon Josefsson  <jas@extundo.com>
70610
70611         * lib/dummy.c: New file.
70612
70613 2004-07-16  Bruno Haible  <bruno@clisp.org>
70614
70615         * lib/backupfile.h: Add extern "C" for C++.
70616         * lib/closeout.h: Likewise.
70617         * lib/copy-file.h: Likewise.
70618         * lib/findprog.h: Likewise.
70619         * lib/full-write.h: Likewise.
70620         * lib/pathname.h: Likewise.
70621         * lib/progname.h: Likewise.
70622         * lib/stpcpy.h: Likewise.
70623         * lib/stpncpy.h: Likewise.
70624         * lib/strcase.h: Likewise.
70625         * lib/strstr.h: Likewise.
70626         * lib/xalloc.h: Likewise.
70627
70628         * lib/mbswidth.h: Add extern "C" for C++.
70629         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
70630
70631 2004-07-13  Robert Millan  <robertmh@gnu.org>
70632
70633         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
70634
70635 2004-07-09  Simon Josefsson  <jas@extundo.com>
70636
70637         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
70638         failed without this.)
70639
70640 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70641
70642         * modules/chown (Files): Add lib/fchown-stub.c, since
70643         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
70644
70645 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70646
70647         * lib/fchown-stub.c: New file.
70648
70649 2004-06-24  Jim Meyering  <jim@meyering.net>
70650
70651         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
70652
70653 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70654
70655         * modules/argz: Omit "#include".
70656
70657         * MODULES.html.sh (func_all_modules): Add calloc, to match
70658         2004-06-01 addition of calloc module.
70659
70660 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70661
70662         * m4/argz.m4: New file, which is autoupdated from libtool.
70663
70664 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70665
70666         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
70667         libtool.
70668
70669 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70670
70671         * config/srclist-update: Don't insist on "USA." before the
70672         close-comment, as libtool omits the period and puts the */ on a
70673         separate line.
70674         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
70675         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
70676
70677 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
70678
70679         * modules/argz: New file.
70680         * MODULES.html.sh (func_all_modules): Add argz.
70681
70682 2004-06-12  Jim Meyering  <jim@meyering.net>
70683         and  Paul Eggert  <eggert@cs.ucla.edu>
70684
70685         * modules/hash (Files): Add lib/xalloc.h.
70686         * modules/pipe (Depends-on): Add wait-process.
70687         * modules/stat (Depends-on): Add xalloc.
70688         * modules/userspec (Files): Add lib/userspec.h.
70689         * modules/xstrto
70690
70691         Upgrade from gettext-0.13.
70692         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
70693         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
70694         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
70695
70696 2004-06-10  Jim Meyering  <jim@meyering.net>
70697
70698         * lib/calloc.c: New file.
70699
70700 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
70701
70702         * lib/getdate.y (yylex): Allow space between sign and number.
70703         Problem reported by Dan Jacobson.
70704
70705 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70706
70707         Merge from coreutils CVS.
70708
70709         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
70710         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
70711         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
70712         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
70713         xstrtol.m4: Fix copyright date and/or serial number.
70714
70715         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
70716         See if we need an fchown replacement.
70717         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
70718         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
70719         and use the replacement function if we detect either defect.
70720
70721         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
70722         gl_UTIMECMP.
70723
70724 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70725         and  Jim Meyering  <jim@meyering.net>
70726
70727         Merge from coreutils CVS.
70728
70729         * lib/stat-macros.h: New file, with contents from file-type.h
70730         and coreutils' system.h.
70731         * lib/file-type.c: Include "stat-macros.h".
70732         * lib/file-type.h (file_type): Move all macro definitions to new file,
70733         stat-macros.h.
70734
70735         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
70736         Wrap old code with this conditional.
70737         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
70738         function that does not dereference symlinks.
70739         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
70740
70741         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
70742         dependency problems.
70743         (xreadlink): Accept new arg SIZE, for efficiency.
70744         All decls and uses changed.
70745         * lib/xreadlink.h: Include <stddef.h>, for size_t.
70746
70747         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
70748         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
70749
70750         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
70751         sysexits.h.
70752
70753 2004-06-01  Jim Meyering  <jim@meyering.net>
70754
70755         * m4/calloc.m4: New file.
70756
70757 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
70758
70759         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
70760         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
70761         Also, fix a typo in a diagnostic.
70762
70763 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70764
70765         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
70766         or AC_FUNC_REALLOC.
70767
70768 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70769
70770         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
70771         macros to be defined.
70772         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
70773         the allocator returns NULL because the requested size is zero.
70774
70775 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70776
70777         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
70778         var.  Add comment explaining why libc still defines it.  This
70779         merges the following patch from glibc:
70780         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
70781
70782 2004-05-20  Andreas Schwab  <schwab@suse.de>
70783
70784         * m4/free.m4: Replace free if it not known to work, not the other
70785         way round.
70786
70787 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70788
70789         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
70790         present in glibc since revision 1.1 of this file.
70791         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
70792         obstack_alignment_mask, obstack_alloc, obstack_base,
70793         obstack_blank, obstack_blank_fast, obstack_chunk_size,
70794         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
70795         obstack_grow0, obstack_init, obstack_int_grow,
70796         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
70797         obstack_next_free, obstack_object_size, obstack_ptr_grow,
70798         obstack_ptr_grow_fast, obstack_room): Remove declarations of
70799         nonexistent functions.
70800
70801 2004-05-18  Karl Berry  <karl@gnu.org>
70802
70803         * config/srclist.txt: break link for vasnprintf.c.
70804
70805 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70806
70807         Port obstack to the AS/400, where pointers are 16 bytes wide and
70808         you cannot cast an integer to a valid pointer.  This patch is
70809         currently waiting to be integrated into glibc; see
70810         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
70811
70812         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
70813         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
70814         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
70815         (struct obstack): temp member is now a union of a pointer and
70816         an integer, instead of an integer.  All integer uses changed.
70817         This does not affect the physical layout of struct obstack,
70818         except on hosts (like the AS/400) where the size or alignment of
70819         void * is greater than that of ptrdiff_t.
70820         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
70821         __STDC__)]: Store temporary in pointer member of union, not
70822         integer member.
70823         * lib/obstack.c: Include <stddef.h>, for offsetof.
70824         (struct fooalign): Remove; it doesn't need a name.
70825         (union fooround): Change double to long double, and add void *.
70826         (DEFAULT_ALIGNMENT): Use offsetof to compute.
70827         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
70828         not a macro.  Hence the values are always int; so remove all
70829         casts-to-int in uses.
70830
70831 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70832
70833         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
70834         we can get this patch merged into glibc.
70835
70836 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70837             Paul Eggert  <eggert@cs.ucla.edu>
70838
70839         * m4/argp: Depend on alloca.
70840
70841 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70842             Paul Eggert  <eggert@cs.ucla.edu>
70843
70844         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
70845         freecoding.
70846
70847 2004-05-17  Bruno Haible  <bruno@clisp.org>
70848
70849         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
70850         precision that consists of a '.' followed by an empty digit string.
70851         Patch by Tor Lillqvist <tml@iki.fi>.
70852
70853 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70854
70855         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
70856         for backward compatibility with older code.  We need our own
70857         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
70858         it under some other name, and our alloca.h will define it.
70859
70860 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70861             Derek Price  <derek@ximbiot.com>
70862
70863         * lib/alloca.c: Include <alloca.h>, to get our interface.
70864         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
70865         include <alloca.h> first.  Use C89 prototype for alloca; this
70866         requires including <stddef.h> for size_t.  Use extern "C" if C++.
70867         Use #elif for simplicity, since we can assume C89 now.
70868         Don't try to source the system alloca.h since it will not be found
70869         and to prevent recursively including its replacement.
70870         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
70871         * lib/regex.c: Likewise.
70872
70873 2004-05-16  Derek Price  <derek@ximbiot.com>
70874             Paul Eggert  <eggert@cs.ucla.edu>
70875
70876         getline cleanup.  This changes the getndelim2 API: both order of
70877         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
70878         no delimiter).
70879
70880         * lib/getline.c: Don't include stddef.h or stdio.h, since our
70881         interface does that.
70882         (getline): Always use getdelim, so that we don't have two
70883         copies of this code.
70884         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
70885         if available.
70886         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
70887         (GETNDELIM2_MAXIMUM): New macro.
70888         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
70889         instead of the old practice of delim2==0.  All callers changed.
70890         Return -1 on overflow, instead of returning junk.
70891         Do not set *linesize unless allocation succeeds.
70892         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
70893         that we include sys/types.h.
70894         * lib/getnline.h: Likewise.
70895         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
70896         (getndelim2): Reorder arguments.
70897         * lib/getnline.c (getnline, getndelim):
70898         Don't discard the NMAX argument.
70899         (getnline): Invoke getndelim, to avoid code duplication.
70900         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
70901         of (size_t) -1 by callers of the getnline family.
70902
70903 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70904
70905         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
70906         Check for gettimeofday.
70907         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
70908         Check for settimeofday, stime.
70909
70910 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70911
70912         * lib/nanosleep.c (suspended): Change its type from int to
70913         sig_atomic_t volatile.
70914         (first_call): Make it private to rpl_nanosleep, and have it
70915         be zero initially as that's a bit faster.
70916         (my_usleep): Round up fractional times instead of truncating them,
70917         as this is the usual meaning for 'sleep'.
70918
70919         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
70920         doesn't work.
70921         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
70922         (ENOSYS): Define if not defined.
70923         (settime): Fall back on stime if it exists and settimeofday fails.
70924         But don't bother with fallbacks if a method fails with errno == EPERM.
70925
70926 2004-05-11  Jim Meyering  <jim@meyering.net>
70927
70928         Prior to this change, the save_cwd caller required read access to the
70929         current directory on most systems (ones with the fchdir function).
70930
70931         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
70932         fails, try write-only, and finally, resort to using xgetcwd.
70933
70934 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
70935
70936         * lib/obstack.c, obstack.h: Import changes from libc.
70937
70938 2004-04-28  Bruno Haible  <bruno@clisp.org>
70939
70940         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
70941         also implicitly appends .exe to executables.
70942         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
70943         accepts Windows pathnames.
70944         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
70945         Treat Cygwin like Windows, since it now accepts Windows pathnames.
70946         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
70947         Treat Cygwin like Windows, since it now accepts Windows pathnames.
70948         Reported by Derek Robert Price <derek@ximbiot.com>.
70949
70950 2004-04-21  Karl Berry  <karl@gnu.org>
70951
70952         * config/srclist.txt (localcharset.c): break sync.
70953
70954 2004-04-20  Paul Eggert  <eggert@twinsun.com>
70955
70956         * m4/host-os.m4: Add a copyright notice.
70957
70958 2004-04-20  Jim Meyering  <jim@meyering.net>
70959
70960         Change UTILS_ to gl_ in AC_DEFINE'd names.
70961         Change utils_- and jm_-prefixed variables, too.
70962         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
70963         UTILS_FUNC_MKDIR_TRAILING_SLASH.
70964         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
70965
70966         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
70967         Don't emit trailing blanks.
70968         Also rename jm_-prefixed variables to have gl_ prefix.
70969
70970         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
70971         Also rename jm_-prefixed variables to have gl_ prefix.
70972
70973         * m4/jm-macros.m4: Reflect the renamings.
70974         * m4/prereq.m4: Likewise.
70975
70976 2004-04-20  Jim Meyering  <jim@meyering.net>
70977
70978         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
70979         memory.
70980
70981 2004-04-20  Jim Meyering  <jim@meyering.net>
70982             Bruno Haible  <bruno@clisp.org>
70983
70984         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
70985         memory when realloc fails.
70986
70987 2004-04-19  Jim Meyering  <jim@meyering.net>
70988
70989         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
70990         now that readutmp.c may call `free (0)'.
70991
70992 2004-04-19  Bruno Haible  <bruno@clisp.org>
70993
70994         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
70995         * m4/inttypes_h.m4: Likewise.
70996         * m4/stdint_h.m4: Likewise.
70997         * m4/intmax_t.m4: Likewise.
70998         * m4/uintmax_t.m4: Likewise.
70999
71000 2004-04-18  Jim Meyering  <jim@meyering.net>
71001
71002         * m4/prereq.m4: Don't forbid jm_ prefix.
71003
71004         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
71005         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
71006         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
71007         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
71008         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
71009         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
71010         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
71011         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
71012         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
71013         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
71014         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
71015         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
71016         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
71017         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
71018         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
71019         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
71020         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
71021         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
71022         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
71023
71024 2004-04-18  Jim Meyering  <jim@meyering.net>
71025
71026         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
71027         failure, don't leak memory and do call END_UTMP_ENT.
71028
71029 2004-04-16  Jim Meyering  <jim@meyering.net>
71030
71031         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
71032         coreutils' stat program.
71033         (gl_PREREQ): Don't require jm_PREREQ_STAT.
71034
71035 2004-04-11  Paul Eggert  <eggert@twinsun.com>
71036
71037         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
71038         C89.
71039         (CHAR_BIT): Remove, since we assume C89.
71040         Include <stdint.h> if available, as per current Autoconf CVS advice.
71041
71042 2004-03-31  Jim Meyering  <jim@meyering.net>
71043
71044         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
71045         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
71046         * m4/xalloc.m4: Likewise.
71047
71048 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71049
71050         Merge from coreutils.
71051
71052         * m4/inttostr.m4: New file.
71053         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
71054         Require AM_STDBOOL_H and gl_TIMESPEC instead.
71055         Require gl_CLOCK_TIME.
71056         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
71057
71058 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71059
71060         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
71061         not bool, to be more consistent with Unix conventions.
71062         Suggested by Bruno Haible.
71063
71064         Merge from coreutils.
71065
71066         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
71067         * lib/umaxtostr.c: New files.
71068
71069         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
71070         the usual <time.h> dance.
71071         (get_date): Change signature to support fractional time stamps.
71072         All callers changed.
71073         * lib/getdate.y: Include "getdate.h" first, as we can now
71074         assume C89 and don't need to worry about 'const'.
71075         Similarly, include "unlocked-io.h" near start, not in middle.
71076         Include <limits.h>.
71077         (textint.value): Use long int rather than int.
71078         (textint.digits): Use size_t rather than int.
71079         (BILLION, LOG10_BILLION): New constants.
71080         (parser_control): New member rel_ns.  Members day_ordinal,
71081         time_zone, month, day, hour, minutes, rel_year, rel_month,
71082         rel_day, rel_hour, rel_minutes, rel_seconds
71083         are now long int, not int.  Member seconds is now struct timespec,
71084         not int.  New member timespec_seen.  Members dates_seen, days_seen,
71085         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
71086         not int.
71087         (%union.intval): Now long int, not int.
71088         New member timespec.
71089         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
71090         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
71091         (spec): Now is a timespec or an item list.
71092         (timespec, items): New nonterminals.
71093         (time, rel, relunit, number, get_date):
71094         Add support for fractional seconds.
71095         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
71096         (gmtime, localtime, mktime): Remove decls; not needed with C89.
71097         (to_hour): First arg is now long int, not int.
71098         (to_year): Returns long int, not int.
71099         Don't treat year -70 like 70.
71100         (tm_diff): Returns long int, not int.
71101         (lookup_word): Use bool instead of int when appropriate.
71102         (yylex): Use size_t for count, not int.
71103         Detect overflow when parsing large integer constants.
71104         Add support for fractions.
71105         (get_date): Make pointers 'const' if possible.
71106         Use more-portable code to detect integer overflow.
71107         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
71108         Don't use ctime; it's not reliable if the year has >4 digits.
71109
71110         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
71111         This is for compatibility with BSD.
71112
71113         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
71114         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
71115         From coreutils' system.h.
71116
71117         * lib/userspec.c: Don't include "posixver.h".
71118         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
71119         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
71120         compatible extension.  Simplify code by removing a boolean int
71121         that was always nonzero if a string was nonnull.
71122
71123 2004-03-30  Jim Meyering  <jim@meyering.net>
71124
71125         Merge from coreutils.
71126
71127         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
71128         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
71129         on some systems one must include <grp.h> before it.
71130         Reported by Christian Krackowizer.
71131
71132 2004-03-30  Jim Meyering  <jim@meyering.net>
71133
71134         Merge from coreutils.
71135
71136         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
71137
71138         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
71139         an empty input stream.
71140
71141         * lib/readtokens.c: Include <stdbool.h>.
71142         (readtoken): Use `size_t' rather than int/long.
71143         All callers adjusted.
71144         Use `bool' rather than `int' where appropriate.
71145         Use memset rather than an explicit loop.
71146         Use x2nrealloc rather than xrealloc.
71147         Allow the use of `\0' as a delimiter.
71148         (readtokens): Likewise.
71149         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
71150
71151 2004-03-30  Jim Meyering  <jim@meyering.net>
71152
71153         * m4/realloc.m4: Remove file, since now it does no more than
71154         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
71155         the `configure.ac' section of module/realloc.
71156         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
71157
71158 2004-03-30  Bruno Haible  <bruno@clisp.org>
71159
71160         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
71161         nonnull.
71162
71163 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71164
71165         Merge changes to getloadavg.c from coreutils and Emacs.
71166
71167         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
71168         Define to an expression, not to the empty string.
71169         Include cloexec.h and xalloc.h.
71170         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
71171         Use set_cloexec_flag rather than rolling our own.
71172         * lib/cloexec.c, lib/cloexec.h: New files.
71173
71174 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71175
71176         * m4/cloexec.m4: New file.
71177
71178 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71179
71180         * lib/getopt.h: Sync with libc CVS.
71181
71182 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71183             Bruno Haible  <bruno@clisp.org>
71184
71185         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
71186         mbswidth.
71187
71188 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71189             Bruno Haible  <bruno@clisp.org>
71190
71191         * lib/mbswidth.h: Include <wchar.h> only if
71192         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
71193         <wchar.h>.
71194         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
71195
71196 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71197
71198         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
71199         Sync with libc CVS.
71200         * lib/getopt_int.h: New file, also synced from libc.
71201
71202 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71203
71204         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
71205         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
71206         Bring back getopt.c, getopt.h, getopt1.c.
71207
71208 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71209
71210         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
71211         All uses changed.  Check for sa_sigaction member; this fixes
71212         a bug first reported by Jason Andrade in
71213         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71214
71215 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71216
71217         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
71218         '#if' expressions.  Unlike the code it replaces, it does not
71219         depend on (defined _SC_PAGESIZE).  However, it does depend on
71220         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
71221         first reported by Jason Andrade in
71222         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71223
71224 2004-02-25  Simon Josefsson  <jas@extundo.com>
71225
71226         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
71227
71228 2004-02-25  Simon Josefsson  <jas@extundo.com>
71229
71230         * lib/strdup.h: New file.
71231         * lib/strdup.c: Include it.
71232         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
71233         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
71234
71235 2004-02-23  Karl Berry  <karl@gnu.org>
71236
71237         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
71238         (from fencepost.gnu.org:/gd/gnuorg).
71239
71240 2004-02-23  Karl Berry  <karl@gnu.org>
71241
71242         * config/srclistvars.sh (GNUORG) [karl]: redefine.
71243         * config/srclist.txt: add maintain/standards documents.
71244
71245 2004-02-18  Bruno Haible  <bruno@clisp.org>
71246
71247         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
71248         Reported by Derek Robert Price <derek@ximbiot.com>.
71249
71250 2004-02-16  Karl Berry  <karl@gnu.org>
71251
71252         * config/mkinstalldirs, install-sh: update from automake.
71253
71254 2004-02-06  Karl Berry  <karl@gnu.org>
71255
71256         * m4/po.m4: update from gettext 0.14.1.
71257
71258 2004-02-06  Karl Berry  <karl@gnu.org>
71259
71260         * lib/config.charset: update from gettext 0.14.1.
71261
71262 2004-02-05  Paul Eggert  <eggert@twinsun.com>
71263
71264         Add comments and code, prompted by suggestions from Bruno Haible
71265         for sh-quote.
71266         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
71267         describing the enum quoting_style values.
71268         * lib/quotearg.c (quotearg_alloc): New function.
71269         (quotearg_buffer_restyled): Treat lone { and } as special.
71270         Treat = as special.  Work around bug with older shells
71271         that "see" a '\' that is really the 2nd byte of a multibyte char.
71272         Quote empty string with shell_quoting_style.
71273
71274 2004-02-03  Bruno Haible  <bruno@clisp.org>
71275
71276         * m4/pipe.m4: New file, from GNU gettext.
71277
71278 2004-02-03  Bruno Haible  <bruno@clisp.org>
71279
71280         * lib/pipe.h: New file, from GNU gettext.
71281         * lib/pipe.c: New file, from GNU gettext.
71282
71283 2004-01-27  Bruno Haible  <bruno@clisp.org>
71284
71285         * m4/execute.m4: New file, from GNU gettext.
71286
71287 2004-01-27  Bruno Haible  <bruno@clisp.org>
71288
71289         * lib/execute.h: New file, from GNU gettext.
71290         * lib/execute.c: New file, from GNU gettext.
71291         * lib/w32spawn.h: New file, from GNU gettext.
71292
71293 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71294
71295         Merge from diffutils.
71296
71297         * lib/file-type.c (file_type): Add typed memory objects.
71298         * lib/file-type.h (S_TYPEISTMO): New macro.
71299
71300         * lib/c-stack.h (c_stack_action): Remove argv argument.
71301         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
71302         (die): Don't calculate message unless segv_action returns.
71303         (get_stack_location, min_address_from_argv, max_address_from_argv,
71304         volatile stack_base, volatile_stack_size): Remove.
71305         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
71306         that every segmentation violation is a stack overflow.  (Ouch!)
71307         See Debian bug 136249 (still outstanding) for more info about why
71308         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
71309
71310 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71311
71312         Exit-status fix from coreutils.
71313
71314         Use exit_failure consistently in place of EXIT_FAILURE,
71315         so that program exit statuses are consistent on failure.
71316
71317         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
71318         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
71319         * lib/argmatch.h: Comment fix to match the above.
71320         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
71321         Now a macro referring to exit_failure, instead of a separate
71322         variable.  Include "exitfail.h" to get it.
71323         * lib/xstrtol.h: Include "exitfail.h".
71324         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
71325
71326         * lib/long-options.c (parse_long_options): Use prototype
71327         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
71328         for clarity.
71329
71330 2004-01-21  Jim Meyering  <jim@meyering.net>
71331
71332         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
71333         so as not to conflict with a different-sized __mktime_internal
71334         function in GNU libc.
71335         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
71336         Problem building statically-linked `ls' reported by Michael Brunnbauer.
71337
71338 2004-01-20  Karl Berry  <karl@gnu.org>
71339
71340         * config/config.guess: update from config.
71341
71342         * config/srclistvars.sh: GNUWWWLICENSES for karl.
71343
71344 2004-01-20  Bruno Haible  <bruno@clisp.org>
71345
71346         Safer stack allocation.
71347         * lib/setenv.c: Include allocsa.h.
71348         (alloca): Remove fallback definition.
71349         (freea): Remove macro.
71350         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
71351         instead of freea.
71352
71353 2004-01-20  Bruno Haible  <bruno@clisp.org>
71354
71355         * m4/eealloc.m4: New file, from GNU gettext.
71356
71357 2004-01-20  Bruno Haible  <bruno@clisp.org>
71358
71359         * m4/allocsa.m4: New file, from GNU gettext.
71360
71361 2004-01-20  Bruno Haible  <bruno@clisp.org>
71362
71363         * lib/xallocsa.h: New file, from GNU gettext.
71364         * lib/xallocsa.c: New file, from GNU gettext.
71365
71366 2004-01-20  Bruno Haible  <bruno@clisp.org>
71367
71368         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
71369
71370 2004-01-20  Bruno Haible  <bruno@clisp.org>
71371
71372         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
71373         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
71374         specially.
71375
71376 2004-01-20  Bruno Haible  <bruno@clisp.org>
71377
71378         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
71379         patch.
71380
71381 2004-01-20  Bruno Haible  <bruno@clisp.org>
71382
71383         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
71384
71385 2004-01-20  Bruno Haible  <bruno@clisp.org>
71386
71387         * lib/eealloc.h: New file.
71388
71389 2004-01-20  Bruno Haible  <bruno@clisp.org>
71390
71391         * lib/binary-io.h: Avoid warnings on Cygwin.
71392
71393 2004-01-20  Bruno Haible  <bruno@clisp.org>
71394
71395         * lib/allocsa.h: New file, from GNU gettext.
71396         * lib/allocsa.c: New file, from GNU gettext.
71397
71398 2004-01-18  Karl Berry  <karl@gnu.org>
71399
71400         * doc/gpl.texi, doc/lgpl.texi: new files.
71401
71402 2004-01-18  Karl Berry  <karl@gnu.org>
71403
71404         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
71405         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
71406
71407 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71408
71409         Merge from coreutils.
71410
71411         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
71412         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
71413         (gl_DEFAULT_POSIX2_VERSION): Move
71414         the documentation from 'configure' into 'config.hin',
71415         so that 'configure --help' isn't burdened by it and
71416         we don't have to worry about its formatting there.
71417         Reword the documentation so that it's more succinct
71418         and can be run together into a single paragraph.
71419         * m4/same.m4 (gl_SAME): Check for pathconf.
71420
71421 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71422
71423         Merge from coreutils.
71424
71425         * lib/posixver.c: Include posixver.h.
71426
71427         * lib/same.c: Include <stdbool.h>, <limits.h>.
71428         (_POSIX_NAME_MAX): Define if not defined.
71429         (MIN): New macro.
71430         (same_name): If file names are silently truncated, report
71431         that the file names are the same if they are the same after
71432         the silent truncation.
71433
71434         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
71435         conversion function.
71436         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
71437         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
71438         longer needed.
71439
71440 2004-01-15  Jim Meyering  <jim@meyering.net>
71441
71442         Merge from coreutils.
71443
71444         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
71445         if no library is required.
71446         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
71447         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
71448         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
71449         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
71450         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
71451         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
71452         value, $ac_cv_search_crypt, if it's "none required".
71453         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
71454         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
71455         not gl_FUNC_GETLOADAVG.
71456         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
71457         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
71458
71459 2004-01-15  Jim Meyering  <jim@meyering.net>
71460
71461         Merge from coreutils.
71462
71463         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
71464         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
71465         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
71466
71467         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
71468         optional configure-time default.
71469
71470         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71471
71472         * lib/xreadlink.c (xreadlink): Correct outdated comment.
71473
71474 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
71475
71476         Merge from coreutils.
71477
71478         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
71479         value, $ac_cv_search_nanosleep, if it's "none required".
71480
71481 2004-01-14  Paul Eggert  <eggert@twinsun.com>
71482
71483         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
71484         with like-named macro in fnmatch.c.
71485         (EXT): Use an internal constant instead.
71486
71487         Merge fnmatch patches from glibc.
71488         * lib/fnmatch.c (mbsinit): Remove define.
71489         Add libc_hidden_ver (__fnmatch, fnmatch).
71490         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
71491         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
71492
71493 2004-01-14  Karl Berry  <karl@gnu.org>
71494
71495         * config/install-sh: update from automake.
71496
71497 2004-01-13  Karl Berry  <karl@gnu.org>
71498
71499         * config/install-sh: update from automake.
71500
71501 2004-01-09  Karl Berry  <karl@gnu.org>
71502
71503         * config/install-sh: update from automake.
71504
71505 2004-01-05  Karl Berry  <karl@gnu.org>
71506
71507         * config/config.{sub,guess}: update from config.
71508
71509 2003-12-31  Karl Berry  <karl@gnu.org>
71510
71511         * config/depcomp: update from automake.
71512
71513 2003-12-14  Karl Berry  <karl@gnu.org>
71514
71515         * lib/config.charset: update from gettext-runtime.
71516
71517 2003-12-03  Paul Eggert  <eggert@twinsun.com>
71518
71519         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
71520         Bug reported by Alfred M. Szmidt.
71521
71522 2003-12-03  Bruno Haible  <bruno@clisp.org>
71523
71524         * m4/gettext.m4: Upgrade from gettext-0.13.
71525         * m4/po.m4: Upgrade from gettext-0.13.
71526         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
71527         * m4/intmax.m4: New file, from gettext-0.13.
71528         * m4/printf-posix.m4: New file, from gettext-0.13.
71529
71530 2003-11-29  Karl Berry  <karl@gnu.org>
71531
71532         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
71533
71534 2003-11-25  Paul Eggert  <eggert@twinsun.com>
71535             Bruno Haible  <bruno@clisp.org>
71536
71537         * lib/printf-parse.h: Don't include sys/types.h.
71538         (ARG_NONE): New macro.
71539         (char_directive): Change type of *arg_index fields to size_t.
71540         * lib/printf-parse.c: Don't include sys/types.h.
71541         (SSIZE_MAX): Remove macro.
71542         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
71543         Remove unnecessary overflow check.
71544         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
71545         fields.
71546
71547 2003-11-25  Bruno Haible  <bruno@clisp.org>
71548
71549         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
71550
71551 2003-11-25  Bruno Haible  <bruno@clisp.org>
71552
71553         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
71554         gt_TYPE_SSIZE_T.
71555
71556 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71557
71558         * modules/alloca: Remove dependency on xalloc.
71559
71560 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71561
71562         * lib/alloca.c: Remove dependency on xalloc module.
71563         (xalloc_die): Remove.
71564         (memory_full) [!defined emacs]: New macro.
71565         [!defined emacs]: Don't include xalloc.h.
71566         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
71567         address arithmetic overflows.  Change datatypes a bit to avoid
71568         unnecessary casts.
71569
71570 2003-11-22  Jim Meyering  <jim@meyering.net>
71571
71572         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
71573         s/size/size_t/.
71574
71575 2003-11-21  Karl Berry  <karl@gnu.org>
71576
71577         * config/config.{sub,guess}: update from config.
71578
71579 2003-11-18  Karl Berry  <karl@gnu.org>
71580
71581         * config/config.{sub,guess}: update from config.
71582
71583         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
71584
71585 2003-11-17  Paul Eggert  <eggert@twinsun.com>
71586
71587         * README: Mention that S+T cannot overflow if S is the size of
71588         an existing object and T is sufficiently small.
71589
71590 2003-11-17  Jim Meyering  <jim@meyering.net>
71591
71592         On systems without utime and without a utimes function capable of
71593         dealing with a NULL struct utimbuf* argument, this utime replacement
71594         could -- in unusual circumstances -- leak a file descriptor.
71595         * lib/utime.c: Include <unistd.h> and <errno.h>.
71596         (utime_null): Be sure to close `fd' and to preserve errno.
71597         Reported by Geoff Collyer via Arnold Robbins.
71598
71599 2003-11-17  Bruno Haible  <bruno@clisp.org>
71600
71601         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
71602         (Depends-on): Add xsize.
71603
71604 2003-11-17  Bruno Haible  <bruno@clisp.org>
71605
71606         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
71607
71608 2003-11-17  Bruno Haible  <bruno@clisp.org>
71609
71610         * lib/vasnprintf.c (alloca): Remove fallback definition.
71611         (freea): Remove definition.
71612         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
71613         Reported by Paul Eggert.
71614
71615 2003-11-16  Paul Eggert  <eggert@twinsun.com>
71616             Bruno Haible  <bruno@clisp.org>
71617
71618         Protect against address arithmetic overflow.
71619         * lib/printf-args.h: Include stddef.h.
71620         (arguments): Change type of field 'count' to size_t.
71621         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
71622         'unsigned int' where appropriate.
71623         * lib/printf-parse.h: Include sys/types.h.
71624         (char_directive): Change type of *arg_index fields to ssize_t.
71625         (char_directives): Change type of fields 'count', max_*_length to
71626         size_t.
71627         * lib/printf-parse.c: Include sys/types.h and xsize.h.
71628         (SSIZE_MAX): Define fallback value.
71629         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
71630         instead of 'int' where appropriate. Check a_allocated, d_allocated
71631         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
71632         * lib/vasnprintf.c: Include xsize.h.
71633         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
71634         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
71635         overflow. Avoid wraparound when converting a width or precision from
71636         decimal to binary.
71637
71638 2003-11-16  Bruno Haible  <bruno@clisp.org>
71639
71640         Update from GNU gettext.
71641         * lib/printf-parse.c: Generalize to it can be compiled for wide
71642         strings.
71643         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
71644         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
71645         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
71646         SNPRINTF): New macros.
71647         Don't include <alloca.h> if the file is used inside libintl.
71648         (local_wcslen): New function, for Solaris 2.5.1.
71649         (VASNPRINTF): Use it instead of wcslen.
71650
71651 2003-11-16  Bruno Haible  <bruno@clisp.org>
71652
71653         * lib/xsize.h (xmax): New function.
71654         (xsum, xsum3, xsum4): Declare as "pure" functions.
71655
71656 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71657
71658         * modules/xalloc (Files): Undo latest change, since xalloc.h
71659         no longer needs SIZE_MAX or PTRDIFF_MAX.
71660
71661 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71662
71663         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
71664         gl_PTRDIFF_MAX.
71665
71666 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71667
71668         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
71669         "return", to pacify some unknown compiler.  Problem reported
71670         by Joerg Schilling.
71671
71672 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71673
71674         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
71675         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
71676         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
71677         heuristic is just as accurate as far as we know, and it removes a
71678         dependency on size_max.m4 and ptrdiff_max.m4.
71679
71680 2003-11-11  Bruno Haible  <bruno@clisp.org>
71681
71682         * modules/xsize (Files): Add m4/size_max.m4.
71683         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
71684
71685 2003-11-11  Bruno Haible  <bruno@clisp.org>
71686
71687         * m4/size_max.m4: New file.
71688         * m4/ptrdiff_max.m4: New file.
71689         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
71690         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
71691         (gl_XALLOC): Invoke it.
71692
71693 2003-11-11  Bruno Haible  <bruno@clisp.org>
71694
71695         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
71696         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
71697         defined.
71698
71699 2003-11-10  Paul Eggert  <eggert@twinsun.com>
71700
71701         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
71702         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
71703         rejected some allocations of exactly SIZE_MAX - 2 bytes.
71704         From Bruno Haible.
71705         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
71706         not (size_t) -1, since it's defined here.
71707
71708 2003-11-09  Karl Berry  <karl@gnu.org>
71709
71710         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
71711
71712 2003-11-06  Paul Eggert  <eggert@twinsun.com>
71713
71714         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
71715         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
71716         Reject sizes of exactly SIZE_MAX bytes.
71717         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
71718         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
71719
71720 2003-11-05  Bruno Haible  <bruno@clisp.org>
71721
71722         * lib/xsize.h: Include limits.h, to avoid a possible collision with
71723         SIZE_MAX defined in <limits.h> on Solaris.
71724
71725 2003-11-04  Jim Meyering  <jim@meyering.net>
71726
71727         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
71728         variable names, rather than @VAR@.
71729         * modules/poll: Likewise.
71730
71731 2003-11-04  Bruno Haible  <bruno@clisp.org>
71732
71733         * modules/xsize: New file.
71734         * modules/linebreak: Depend on xsize.
71735         * MODULES.html.sh (func_all_modules): Add xsize.
71736
71737 2003-11-04  Bruno Haible  <bruno@clisp.org>
71738
71739         * m4/xsize.m4: New file.
71740
71741 2003-11-04  Bruno Haible  <bruno@clisp.org>
71742
71743         * lib/xsize.h: New file.
71744         * lib/linebreak.c: Include xsize.h.
71745         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
71746         argument for overflow.
71747         Suggested by Paul Eggert.
71748
71749 2003-11-03  Karl Berry  <karl@gnu.org>
71750
71751         * config/config.{guess,sub}: update from config.
71752
71753 2003-11-03  Jim Meyering  <jim@meyering.net>
71754
71755         * modules/userspec (lib_SOURCES): Add userspec.h.
71756         (Include): Add "userspec.h".
71757         Improve description.
71758
71759 2003-11-03  Jim Meyering  <jim@meyering.net>
71760
71761         * lib/userspec.c: Include "userspec.h".
71762         * lib/userspec.h: New file.
71763
71764 2003-11-03  Bruno Haible  <bruno@clisp.org>
71765
71766         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
71767
71768 2003-11-03  Bruno Haible  <bruno@clisp.org>
71769
71770         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
71771         available, to avoid (extremely rare) race condition.
71772         Suggested by Paul Eggert.
71773
71774 2003-11-02  Karl Berry  <karl@gnu.org>
71775
71776         * config/srclist.txt (vasprintf.c): sync broken, sigh.
71777
71778 2003-10-31  Paul Eggert  <eggert@twinsun.com>
71779
71780         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
71781         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
71782         (read_filesystem_list): Set and use me_type_malloced.
71783         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
71784         whatever the type happens to be), for brevity and consistency.
71785         Check for size calculation overflow on Alphas running OSF/1.
71786
71787 2003-10-31  Jim Meyering  <jim@meyering.net>
71788
71789         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
71790
71791         * lib/linebuffer.c: Include <string.h> for declaration of memset.
71792
71793 2003-10-30  Paul Eggert  <eggert@twinsun.com>
71794             Bruno Haible  <bruno@clisp.org>
71795
71796         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
71797         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
71798
71799 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
71800
71801         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
71802         netbsd*-gnu*.  Suggested by Robert Millan.
71803
71804 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71805
71806         * modules/group-member: Depend on stdbool.
71807
71808 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71809
71810         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
71811
71812 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71813
71814         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
71815         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
71816         after the 'gnu' in these cases.  This fixes some bugs in the
71817         previous change, and is based on suggestions by Robert Millan.
71818
71819 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71820
71821         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
71822         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
71823         no longer needed.
71824         * lib/quotearg.c (quotearg_n_options): Use it.
71825         * lib/group-member.c: Include <stdbool.h>.
71826         (free_group_info): Arg is now const *; don't free arg.
71827         (get_group_info): Now returns bool and accepts struct group_info *,
71828         rather than returning a malloc'ed struct group_info *.
71829         All uses changed.  Check for overflow in internal size calculation.
71830
71831         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
71832         rather than xmalloc/xrealloc.
71833         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
71834         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
71835         conformance bug: the old code used a pointer after freeing the
71836         storage that it addressed.
71837         * lib/hash.c (hash_initialize): Simplify the code by using
71838         xalloc_oversized rather than doing it by hand.
71839         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
71840         the buffer preserved.  Use free and xmalloc instead.
71841         * lib/quotearg.c (quotearg_n_options): Likewise.
71842         Use a simpler test for size overflow.  Don't use xalloc_oversized
71843         because unsigned int might be wider than size_t (!); this suggests
71844         that we should switch from unsigned int to size_t for slot numbers.
71845
71846 2003-10-28  Paul Eggert  <eggert@twinsun.com>
71847
71848         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
71849         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
71850         NetBSD kernels.  Requested by Richard Stallman.
71851
71852 2003-10-27  Paul Eggert  <eggert@twinsun.com>
71853
71854         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
71855         to allocate the returned structure.  Do not allocate a subarray,
71856         as x2nrealloc will do that.
71857         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
71858         instead of xnrealloc.
71859         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
71860
71861 2003-10-27  Bruno Haible  <bruno@clisp.org>
71862
71863         * lib/stdbool_.h: Better support for BeOS.
71864
71865 2003-10-26  Paul Eggert  <eggert@twinsun.com>
71866
71867         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
71868         now uses inline.
71869
71870 2003-10-26  Paul Eggert  <eggert@twinsun.com>
71871
71872         * lib/xalloc.h (xalloc_oversized): New static inline function, for
71873         callers that want to do their own size-overflow checking.  Include
71874         <stdbool.h>, since xalloc_oversized returns bool.
71875         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
71876         to use xalloc_oversized.
71877
71878         Add two functions x2realloc, x2nrealloc, for programs that grow
71879         arrays dynamically by doubling their sizes.
71880         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
71881         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
71882         New functions.
71883
71884         Port to C99 semantics for 'inline' of external functions.
71885         Bug reported by Bruno Haible.
71886         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
71887         with the old contents of xnmalloc.
71888         (xnmalloc, xmalloc): Use it.
71889         (xnrealloc_inline): New static inline function,
71890         with the old contents of xnrealloc.
71891         (xnrealloc, xrealloc): Use it.
71892
71893         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
71894         that.
71895
71896 2003-10-26  Karl Berry  <karl@gnu.org>
71897
71898         * config/srclist.txt (COPYING.DOC): no longer available from
71899         /gd/gnuorg; don't know where the ultimate source is.
71900
71901 2003-10-25  Paul Eggert  <eggert@twinsun.com>
71902
71903         Fix several address-calculation bugs in the hash modules,
71904         plus some minor code cleanup.
71905
71906         * lib/hash.h: Include <stdbool.h>, for bool.
71907         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
71908         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
71909         hash_get_n_entries, hash_get_max_bucket_length,
71910         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
71911         hash_rehash): Use size_t rather than unsigned.
71912         * lib/hash.c (struct hash_table, hash_get_n_buckets,
71913         hash_get_n_buckets_used, hash_get_n_entries,
71914         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
71915         hash_get_entries, hash_do_for_each, hash_string, is_prime,
71916         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
71917         Likewise.
71918         (SIZE_MAX): Define if not defined.
71919         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
71920         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
71921         hash_print):
71922         Use const * when possible.
71923         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
71924         (check_tuning): Fix bug: if tuning parameters were very close to
71925         0 or 1, rounding errors could have caused subscript violations.
71926         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
71927         (hash_initialize): Add 'fail:' label
71928         to free table and return NULL, and use it to simplify code.
71929         Use calloc rather than clearing the storage ourself.
71930         (hash_initialize, hash_rehash): Check for arithmetic overflow in
71931         buffer size calculations.
71932         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
71933         Include <stddef.h>, for size_t.
71934         * lib/hash-pjw.c (hash_pjw): Likewise.
71935         Switch to method described by Bruno Haible.
71936         Include <limits.h>, for CHAR_BIT.
71937         (SIZE_BITS): New macro.
71938
71939 2003-10-23  Paul Eggert  <eggert@twinsun.com>
71940
71941         * m4/getline.m4 (AM_FUNC_GETLINE):
71942         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
71943         hosts.  Problem reported by Derek Robert Price in
71944         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
71945         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
71946         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
71947
71948 2003-10-21  Paul Eggert  <eggert@twinsun.com>
71949
71950         * lib/getndelim2.c (getndelim2): When size calculation overflows,
71951         ceiling the allocation at NMAX bytes rather than silently
71952         discarding input bytes before NMAX is reached.  This makes
71953         a difference only if NMAX exceeds SIZE_MAX / 2.
71954
71955         * lib/obstack.c: Merge from glibc.
71956         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
71957         Add libc_hidden_def (_obstack_newchunk).
71958         (_obstack_free) [! defined _LIBC]: Remove.
71959         [defined _LIBC]: Make a strong alias from obstack_free, rather than
71960         a clone of the function body.
71961         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
71962         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
71963
71964         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
71965         glibc.
71966         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
71967         arg to memcpy.
71968
71969         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
71970         (obstack_ptr_grow_fast, obstack_int_grow_fast):
71971         Don't use lvalue casts, as GCC plans to remove support for them
71972         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
71973         was also present in the non-GCC version, indicating that this
71974         code had always been buggy and had never been widely used.
71975         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
71976         Use the fast variant of each macro, rather than copying the
71977         definiens of the fast variant; that way, we'll be more likely to
71978         catch future bugs in the fast variants.
71979
71980 2003-10-20  Bruno Haible  <bruno@clisp.org>
71981
71982         * modules/wait-process: New file.
71983         * MODULES.html.sh (func_all_modules): Add wait-process.
71984
71985 2003-10-20  Bruno Haible  <bruno@clisp.org>
71986
71987         * m4/wait-process.m4: New file.
71988
71989 2003-10-20  Bruno Haible  <bruno@clisp.org>
71990
71991         * lib/wait-process.h: New file, from GNU gettext.
71992         * lib/wait-process.c: New file, from GNU gettext.
71993
71994 2003-10-19  Jim Meyering  <jim@meyering.net>
71995
71996         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
71997         HPUX 10.20.
71998
71999 2003-10-18  Karl Berry  <karl@gnu.org>
72000
72001         * config/config.guess: update from config.
72002
72003 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72004
72005         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
72006         (getgroups): First arg is int, not size_t.
72007         Don't let 'free' mangle errno.
72008
72009 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72010
72011         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
72012
72013 2003-10-16  Karl Berry  <karl@gnu.org>
72014
72015         * config/config.{guess,sub}: update from config.
72016
72017 2003-10-16  Jim Meyering  <jim@meyering.net>
72018
72019         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
72020         memcpy.
72021
72022 2003-10-15  Paul Eggert  <eggert@twinsun.com>
72023
72024         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
72025         (SIZE_MAX): Remove.
72026         (new_exclude, add_exclude_file): Initial size no longer needs to
72027         be a power of 2.
72028         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
72029         our own address arithmetic overflow checking.
72030
72031         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
72032         (fnmatch): Do not alloca more than 2000 wide characters;
72033         instead, use malloc for large buffers.
72034         Check for address arithmetic overflow, and return -1
72035         with errno set to ENOMEM in that case.
72036         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
72037         (NEW_PATTERN): Do not alloca more than 8000 bytes;
72038         instead, return -1.  Check for address arithmetic overflow.
72039
72040 2003-10-14  Paul Eggert  <eggert@twinsun.com>
72041
72042         Handle invalid suffixes and overflow independently, so that
72043         callers can treat them independently as needed.  Fix some bugs in
72044         suffix handling, e.g., "100k@" was not diagnosed as an invalid
72045         suffix for a human-readable blocksize.  The major caller-visible
72046         change is the addition of a new
72047         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
72048         that both overflow and suffix chars were found.
72049
72050         * lib/human.c (humblock): Don't check separately for invalid suffix
72051         char; that is xstrtoumax's job (now that its bug is fixed).
72052         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
72053         INTMAX_MAX]: New macros.
72054         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
72055         TYPE_MAXIMUM): New macros.
72056         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
72057         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
72058         if overflow occurs, as it's what __strtol does and it's more useful
72059         in practice.
72060         (__xstrtol): If __strtol reports some error other than ERANGE,
72061         reflect it to the caller as LONGINT_INVALID.  If it reports
72062         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
72063         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
72064         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
72065         value.
72066         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
72067         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
72068         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
72069         [defined UINTMAX_MAX]: New macros.
72070
72071 2003-10-14  Bruno Haible  <bruno@clisp.org>
72072
72073         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
72074
72075 2003-10-14  Bruno Haible  <bruno@clisp.org>
72076
72077         * m4/sig_atomic_t: New file, from GNU gettext.
72078         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
72079
72080 2003-10-14  Bruno Haible  <bruno@clisp.org>
72081
72082         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
72083         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
72084         Also use volatile where needed.
72085
72086 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72087
72088         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
72089         Change maintainer from Bruno Haible to 'all'.
72090
72091 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72092
72093         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
72094
72095 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72096
72097         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
72098         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
72099         and define in terms of the other primitives.
72100         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
72101         (SIZE_MAX): Define if not already defined.
72102         (array_size_overflow): New function.
72103         (xalloc_die): Abort instead of exiting if 'error' returns.
72104         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
72105         (xmalloc, xrealloc): Use them.
72106         (xcalloc): Check for address arithmetic overflow.
72107         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
72108         a bit faster than strcpy.
72109
72110 2003-10-10  Simon Josefsson  <jas@extundo.com>
72111
72112         * modules/argp (Depends-on): Add restrict and strcase.
72113
72114 2003-10-10  Simon Josefsson  <jas@extundo.com>
72115
72116         * m4/argp.m4: Add AC_C_INLINE.
72117
72118 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72119
72120         Merge getpass from libc, plus a few fixes.
72121
72122         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
72123         Include <stdbool.h>.
72124         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
72125         __fsetlocking to empty.
72126         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
72127         do include <bits/libc-lock.h>.
72128         Do not include <fcntl.h>; not needed.
72129         [_LIBC]: Include <wchar.h>.
72130         (NOTCANCEL_MODE): New macro.
72131         (flockfile, funlockfile) [_LIBC]: New macros.
72132         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
72133         [!_LIBC]: New macros.
72134         (call_fclose): New function.
72135         (getpass): Use it.  Save tty stream separately; this simplifies the
72136         code and makes it more reliable if stdin happens to equal stdout.
72137         Invoke __fsetlocking on tty.
72138         Handle thread cancellation if needed.
72139         Namespace cleanup (use __tcgetattr, __getline).
72140         Use bool for Booleans.
72141         [USE_IN_LIBIO]: Handle wide streams.
72142         [!_LIBC]: Unconditionally do the fseek, since we don't know what
72143         stream might go where.
72144
72145         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
72146         doesn't have to include <stdio.h> before us.
72147         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
72148         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
72149         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
72150         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
72151         if not declared, so that we can use getpass.c code from libc without
72152         rewriting it.
72153         (flockfile, ftrylockfile, funlockfile): New macros.
72154
72155 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72156
72157         * modules/getpass: Depend on stdbool.
72158
72159 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72160
72161         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
72162
72163 2003-10-07  Karl Berry  <karl@gnu.org>
72164
72165         * config/config.{guess,sub}: update from config.
72166
72167 2003-10-06  Jim Meyering  <jim@meyering.net>
72168             Bruno Haible  <bruno@clisp.org>
72169
72170         This lets translators provide better translations for the
72171         "Written by ..." part of --version output.
72172         * lib/version-etc.h: Include stdarg.h.
72173         (version_etc_copyright): Declare as readonly.
72174         (version_etc): Make this function variadic with a NULL-terminated list
72175         of author name strings.
72176         (version_etc_va): New declaration.
72177         * lib/version-etc.c: Include stdarg.h, stdlib.h.
72178         (version_etc_copyright): Declare as readonly.
72179         (version_etc_va): New function. Provide a different translatable string
72180         for each possible number of authors < 10. Abbreviate when there are 10
72181         authors or more.
72182         (version_etc): Make this function variadic. Call version_etc_va.
72183         Suggestion from Gary V. Vaughan.
72184
72185         * lib/long-options.h (parse_long_options): Change prototype: the
72186         authors string is moved to the end and becomes variadic.
72187         * lib/long-options.c: Include stdarg.h.
72188         (parse_long_options): Make this function variadic, too.
72189         Call version_etc_va, not version_etc.
72190
72191 2003-10-06  Bruno Haible  <bruno@clisp.org>
72192
72193         * modules/version-etc-2: Remove file.
72194         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
72195
72196 2003-10-06  Bruno Haible  <bruno@clisp.org>
72197
72198         * modules/fatal-signal: New file.
72199         * MODULES.html.sh (func_all_modules): Add fatal-signal.
72200
72201 2003-10-06  Bruno Haible  <bruno@clisp.org>
72202
72203         * m4/fatal-signal.m4: New file.
72204         * m4/signalblocking.m4: New file, from GNU gettext.
72205
72206 2003-10-06  Bruno Haible  <bruno@clisp.org>
72207
72208         * lib/version-etc-2.h: Remove file.
72209         * lib/version-etc-2.c: Remove file.
72210
72211 2003-10-06  Bruno Haible  <bruno@clisp.org>
72212
72213         * lib/fatal-signal.h: New file, from GNU gettext.
72214         * lib/fatal-signal.c: New file, from GNU gettext.
72215
72216 2003-10-05  Paul Eggert  <eggert@twinsun.com>
72217
72218         * README: Rework advice for preventing empty .o files.
72219         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
72220         not <sys/types.h>.
72221
72222 2003-10-04  Karl Berry  <karl@gnu.org>
72223
72224         * lib/argp*: update from libc.
72225
72226 2003-10-04  Karl Berry  <karl@gnu.org>
72227
72228         * config/config.{guess,sub}: update from config.
72229
72230 2003-10-02  Bruno Haible  <bruno@clisp.org>
72231
72232         * modules/lchown (Include): Add lchown.h.
72233         * modules/time_r (Include): Use "..." syntax.
72234         * modules/xgetdomainname (Include): Add xgetdomainname.h.
72235
72236 2003-10-01  Simon Josefsson  <jas@extundo.com>
72237
72238         * MODULES.html.sh (func_all_modules): Move gethostname from section
72239         'based on' to section 'lacking' POSIX:2001.
72240
72241 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
72242
72243         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
72244         to output mode on the same stream.
72245
72246 2003-09-29  Paul Eggert  <eggert@twinsun.com>
72247
72248         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
72249         Fix arg typo in previous patch.
72250
72251 2003-09-28  Jim Meyering  <jim@meyering.net>
72252
72253         * lib/error.c: Correct cpp indentation.
72254
72255 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72256
72257         * modules/free: New file.
72258
72259 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72260
72261         * m4/free.m4: New file.
72262
72263 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72264
72265         * lib/minmax.h (MIN, MAX)
72266         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
72267         Omit the special code that used __typeof__, since we worry that
72268         it could be more trouble than it's worth.  See:
72269         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
72270         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
72271
72272         * lib/free.c: New file.
72273
72274 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
72275
72276         Trivial fixes to Makefile.am parts of module listings.
72277         * modules/strstr: Append strstr.h to lib_SOURCES.
72278         * modules/strcase: Likewise, for strcase.h.
72279
72280 2003-09-27  Karl Berry  <karl@gnu.org>
72281
72282         * config/mkinstalldirs: update from automake.
72283
72284 2003-09-26  Paul Eggert  <eggert@twinsun.com>
72285
72286         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
72287         (error_tail): Do not loop, reallocating temporary buffer, since
72288         the output cannot contain more wide characters than the input
72289         contains bytes, the size must be big enough already.  This avoids
72290         one potential size overflow calculation.  Check for size overflow
72291         when calculating temporary buffer size.  Free temporary buffer
72292         when done, if it was allocated with malloc; this plugs a memory
72293         leak.  Remove casts from void * to pointers, that are no longer
72294         needed now that we're assuming C89 or better.
72295
72296         Merge error changes from glibc.
72297
72298         * lib/error.c, error.h: Update copyright notice header to match glibc.
72299         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
72300         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
72301         Disable cancellation while printing error.
72302         * lib/error.h: Prepend __ to parameter names.
72303
72304 2003-09-26  Jim Meyering  <jim@meyering.net>
72305
72306         * lib/error.c (error_tail): Move some declarations
72307         into inner scope where the local variables are used.
72308
72309 2003-09-26  Bruno Haible  <bruno@clisp.org>
72310
72311         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
72312         stpncpy().
72313         Don't define stpncpy through config.h; it's now done through stpncpy.h.
72314
72315 2003-09-26  Bruno Haible  <bruno@clisp.org>
72316
72317         * lib/stpncpy.h (gnu_stpncpy): New declaration.
72318         (stpncpy): Define as alias for gnu_stpncpy.
72319         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
72320
72321 2003-09-25  Simon Josefsson  <jas@extundo.com>
72322
72323         * lib/xgetdomainname.h: New file.
72324         * lib/xgetdomainname.c: New file.
72325
72326 2003-09-25  Simon Josefsson  <jas@extundo.com>
72327             Bruno Haible  <bruno@clisp.org>
72328
72329         * modules/getdomainname: New file.
72330         * modules/xgetdomainname: New file.
72331         * MODULES.html.sh (func_all_modules): Add getdomainname,
72332         xgetdomainname.
72333
72334 2003-09-25  Simon Josefsson  <jas@extundo.com>
72335             Bruno Haible  <bruno@clisp.org>
72336
72337         * m4/getdomainname.m4: New file.
72338
72339 2003-09-25  Simon Josefsson  <jas@extundo.com>
72340             Bruno Haible  <bruno@clisp.org>
72341
72342         * lib/getdomainname.h: New file.
72343         * lib/getdomainname.c: New file.
72344
72345 2003-09-25  Karl Berry  <karl@gnu.org>
72346
72347         * lib/argp-fmtstream.c, argp-help.c: update from libc.
72348
72349 2003-09-25  Karl Berry  <karl@gnu.org>
72350
72351         * config/install-sh: update from automake.
72352
72353 2003-09-25  Bruno Haible  <bruno@clisp.org>
72354
72355         * modules/version-etc-2: New file, from modules/version-etc with
72356         modifications.
72357         * MODULES.html.sh (func_all_modules): Add version-etc-2.
72358
72359 2003-09-25  Bruno Haible  <bruno@clisp.org>
72360
72361         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
72362         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
72363
72364 2003-09-24  Simon Josefsson  <jas@extundo.com>
72365
72366         * modules/xgethostname: Add xgethostname.h.
72367
72368 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72369
72370         * lib/linebuffer.c (freebuffer): Don't free the argument, just
72371         the buffer associated with the argument.  Bug reported by
72372         Simon Josefsson.
72373
72374 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72375
72376         * README: Document assumptions that 'int' is at least 32 bits
72377         wide, that integer arithmetic is 2's complement without overflow,
72378         that there are no holes in integer values, that adding sizes of
72379         two nonoverlapping objects can't overflow, and that all-bits-zero
72380         yields scalar zero.  Fix spelling and capitalization typos.
72381
72382 2003-09-19  Karl Berry  <karl@gnu.org>
72383
72384         * lib/argp.h: update from libc.
72385
72386 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72387
72388         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
72389         to avoid spurious warnings like "AC_RUN_IFELSE was called before
72390         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
72391
72392 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72393
72394         * gnulib-tool: Use "test -h", not "test -L", for portability
72395         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
72396         (tags_regexp): Remove, since \| doesn't conform to POSIX.
72397         (sed_extract_prog): Issue s commands one-by-one, rather than
72398         using \| in one s command.
72399
72400 2003-09-16  Paul Eggert  <eggert@twinsun.com>
72401
72402         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
72403         input error, instead of returning NULL the next time we are called
72404         (and therefore losing track of errno).
72405
72406 2003-09-16  Bruno Haible  <bruno@clisp.org>
72407
72408         * gnulib-tool (func_create_testdir): Warn about duplicated
72409         dependencies.
72410
72411 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72412
72413         * modules/argmatch, modules/fatal, modules/obstack,
72414         modules/xalloc, modules/xgethostname: Sort dependencies by
72415         importance, not alphabetically.
72416
72417 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72418
72419         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
72420         fails, so that the caller gets the proper errno.
72421
72422         * lib/readutmp.c (read_utmp): Likewise.
72423         Check for fstat error.  Close stream and free storage
72424         when failing.
72425
72426 2003-09-14  Karl Berry  <karl@gnu.org>
72427
72428         * config/srclist.txt (strdup.c): disable for c89 changes.
72429
72430 2003-09-14  Jim Meyering  <jim@meyering.net>
72431
72432         * lib/getloadavg.c: Correct cpp indentation.
72433         * lib/strdup.c: Likewise.
72434         * lib/vasnprintf.c: Likewise.
72435
72436 2003-09-14  Bruno Haible  <bruno@clisp.org>
72437
72438         * modules/fwriteerror: New file.
72439         * MODULES.html.sh (func_all_modules): Add fwriteerror.
72440
72441 2003-09-14  Bruno Haible  <bruno@clisp.org>
72442
72443         * lib/fwriteerror.h: New file.
72444         * lib/fwriteerror.c: New file.
72445
72446 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72447
72448         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
72449         modules/xgethostname, modules/xalloc: Depend on exit.
72450
72451 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72452
72453         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
72454
72455         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
72456         and AC_MINIX, too, so that their extensions are available.
72457
72458         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
72459         This macro has been superseded by gl_BACKUPFILE.
72460
72461         More patches to assume C89 or better.
72462
72463         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
72464
72465         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
72466         unconditionally.
72467         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
72468         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
72469         Include <string.h>, <stdlib.h> unconditionally.
72470         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
72471         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
72472         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
72473         headers or for string.h.
72474         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
72475         or strtoul.
72476
72477         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
72478         headers.
72479         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
72480         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72481         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
72482         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
72483         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72484         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
72485         memcpy, memset.
72486         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
72487         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
72488         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
72489         strtol.
72490         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
72491         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
72492         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
72493         strtoul.
72494
72495 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72496
72497         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
72498         * lib/obstack.c [!defined _LIBC]: Likewise.
72499         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
72500         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
72501         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
72502
72503         More changes to assume C89 or better.
72504
72505         * lib/error.c (error_tail): Assume vprintf.
72506
72507         * lib/argmatch.c (getenv): Remove decl.
72508         * lib/progreloc.c (get_full_program_name): Define via prototype.
72509         * lib/setenv.c (clearenv): Likewise.
72510         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
72511         needed.
72512         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
72513         (malloc, memcpy): Remove decls.
72514         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
72515         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
72516         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72517         (memcpy): Remove macro.
72518         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
72519         (__P): Remove.  All uses removed.
72520         (PTR): Remove.  All uses changed to void *.
72521         (CHAR_BIT, NULL): Remove.
72522         (spaces, zeros, memset_space, memset_zero)
72523         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
72524         Remove.
72525         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
72526         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
72527         Define with prototype.
72528         Remove now-unnecessary prototype decl.
72529         (extra_args_spec): Assume ANSI C.  All uses changed.
72530         (extra_args_spec_iso): Remove.
72531         (my_strftime, emacs_strftimeu): Define via prototype.
72532         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
72533         unconditionally.
72534         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
72535         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
72536         (strtoul, strtol): Remove decls.
72537         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
72538         LONG_MAX): Remove.
72539         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72540         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
72541         (LOCALE_PARAM_PROTO): New macro.
72542         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
72543         (INTERNAL (strtol), strtol): Define with a prototype.
72544         (PARAMS): Remove.  All uses removed.
72545         * lib/tempname.c: Include <string.h> unconditionally.
72546         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
72547         * lib/xgethostname.c (main): Define with a prototype.
72548         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
72549         Include <stdlib.h> unconditionally.
72550         (calloc, malloc, realloc, free): Remove decls.
72551         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
72552         Include <stdlib.h> unconditionally.  Sort include file names.
72553         (strtod): Remove.
72554         (xstrtod): Define with a prototype.
72555         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
72556         (strtol, strtoul): Remove decls.
72557
72558 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72559
72560         More patches to assume C89 or better.
72561         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
72562         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
72563         string.h, memchr, STDC_HEADERS.
72564
72565 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72566
72567         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
72568         Include <stdlib.h>, <string.h> unconditionally.
72569         Remove now-unnecessary cast to char *.
72570         * lib/strnlen.c: Include <string.h> unconditionally.
72571         * lib/yesno.c (yesno): Define with a prototype.
72572
72573 2003-09-11  Bruno Haible  <bruno@clisp.org>
72574
72575         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
72576
72577 2003-09-10  Jim Meyering  <jim@meyering.net>
72578
72579         * lib/error.c: Correct indentation of cpp directives.
72580
72581 2003-09-10  Bruno Haible  <bruno@clisp.org>
72582
72583         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
72584         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
72585         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
72586         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
72587         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
72588         <stdlib.h> and <string.h> checks.
72589         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
72590         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
72591
72592 2003-09-10  Bruno Haible  <bruno@clisp.org>
72593
72594         * lib/strcspn.c: Include <string.h> unconditionally.
72595         * lib/strpbrk.c: Include <string.h> unconditionally.
72596         * lib/strstr.c: Include <string.h> unconditionally.
72597         * lib/unicodeio.c: Include <string.h> unconditionally.
72598         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
72599         * lib/unsetenv.c: Likewise.
72600         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
72601         * lib/yesno.c: Include <stdlib.h> unconditionally.
72602         (rpmatch): Add prototype.
72603
72604 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72605
72606         More patches to assume C89 or better.
72607         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
72608         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
72609         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
72610         or for string.h.
72611         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
72612         stdlib.h.
72613         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
72614         C headers.
72615         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
72616         string.h.
72617         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
72618         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
72619         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
72620         or for string.h.
72621         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
72622         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
72623         C headers.
72624         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
72625         memcpy.
72626         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
72627         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
72628         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
72629         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
72630         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
72631         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
72632         string.h, free.
72633         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
72634         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
72635         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
72636         C headers, or for string.h.
72637         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
72638         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
72639         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
72640         headers, memory.h, stdlib.h, string.h, strings.h.
72641         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
72642         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
72643         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
72644         strchr.
72645         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
72646         headers, memory.h, string.h.
72647         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
72648         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
72649         free.
72650         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
72651         headers.
72652         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
72653         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
72654         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
72655         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
72656         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
72657
72658 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72659
72660         More K&R removal.
72661
72662         * lib/acosl.c (main): Use a prototype.
72663         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
72664         tanl.c: Likewise.
72665
72666         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
72667
72668         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
72669         (getopt, etopt_long, getopt_long_only, _getopt_internal)
72670         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
72671         with a prototype.
72672         * lib/getopt.c (const): Remove macro.
72673         Include <string.h> unconditionally.
72674         (my_index): Remove; all uses changed to strchr.
72675         (strlen): Remove decl.
72676         (exchange): Remove forward decl; no longer needed.
72677         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
72678         Define with prototype.
72679         * lib/getopt1.c (const): Remove macro.
72680         (getopt_long, getopt_long_only, main): Define with prototype.
72681
72682         * lib/getugroups.c: Include <string.h> unconditionally.
72683
72684         * lib/getusershell.c: Include <stdlib.h> unconditionally.
72685         (getusershell, setusershell, endusershell, readname, main):
72686         Define with prototypes.
72687
72688         * lib/group-member.c: Include group-member.h first.
72689         Include <stdlib.h> unconditionally.
72690
72691         * lib/hard-locale.c: Include hard-locale.h first.
72692         Include <stdlib.h>, <string.h> unconditionally.
72693
72694         * lib/hash.c (free, malloc): Remove decls.
72695         Include <stdlib.h> unconditionally.
72696
72697         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
72698         (getenv): Do not declare.
72699
72700         * lib/idcache.c: Include <string.h> unconditionally.
72701
72702         * lib/long-options.c: Include long-options.h first, to test interface.
72703         Include <stdlib.h> unconditionally.
72704
72705         * lib/makepath.c: Include makepath.h first, to test interface.
72706         Include <stdlib.h> and <string.h> unconditionally.
72707
72708         * lib/linebuffer.c: Include <stdlib.h>.
72709         (free): Remove decl.
72710
72711         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
72712         stddef.h. rpl_malloc returns void *, not char *.
72713         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
72714         prototype.
72715
72716         * lib/md5.h: Include <limits.h> unconditionally.
72717         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
72718         (__P): Remove; all uses removed.
72719         * lib/md5.c: Include "md5.h" first.
72720         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
72721         md5_buffer, md5_process_bytes, md5_process_block):
72722         Define with prototypes.
72723         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
72724         * lib/sha.c: Include "sha.h" first.
72725         Include <stdlib.h>, <string.h> unconditionally.
72726
72727         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
72728         * lib/memcmp.c (__ptr_t): Likewise.
72729         * lib/memrchr.c (__ptr_t): Likewise.
72730         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
72731         Include <string.h> unconditionally.
72732         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
72733         * lib/memchr.c: Include <stdlib.h> unconditionally.
72734         * lib/memchr.c (LONG_MAX): Remove.
72735         * lib/memrchr.c (LONG_MAX): Likewise.
72736         * lib/memchr.c (__memchr): Define via a prototype.
72737         * lib/memrchr.c (__memrchr): Likewise.
72738         * lib/memcmp.c (__P): Remove, and remove all uses.
72739         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
72740         Remove forward decls; no longer needed.
72741         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
72742         Use types required by C89 in prototype.
72743
72744         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
72745         * lib/savedir.c: Likewise.
72746         * lib/mkdir.c (free): Remove decl.
72747         * lib/rmdir.c (rmdir): Define with a prototype.
72748         * lib/savedir.c: Include savedir.h first, to test interface.
72749
72750         * lib/mktime.c (STDC_HEADERS): Remove.
72751         Include <stdlib.h>, <string.h> unconditionally.
72752
72753         * lib/modechange.c: Include <stdlib.h> unconditionally.
72754         (malloc): Remove decl.
72755
72756         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
72757         (free): Remove decl.
72758
72759         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
72760         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
72761         (This type really should be intptr_t, but that's a C99ism.)
72762         (_obstack_memcpy): Remove: all uses changed to memcpy.
72763         Include <string.h> unconditionally.
72764         (struct obstack): Assume __STDC__ for types of members
72765         chunkfun, freefun, extra_arg.
72766         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
72767         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
72768         obstack_begin, obstack_specify_allocation,
72769         obstack_specify_allocation_with_arg, obstack_chunkfun,
72770         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
72771         Remove unprototyped decls and the macros that use them.
72772         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
72773         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
72774         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
72775         (defined __STDC__ && __STDC__)]:
72776         Remove nonprototyped code.
72777         Include <stdlib.h> unconditionally.
72778         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
72779         _obstack_allocated_p, _obstack_free, obstack_free,
72780         _obstack_memory_used, print_and_abort):
72781         Define using prototypes.
72782         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
72783         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
72784         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
72785         obstack_next_free, obstack_object_size, obstack_room) [0]:
72786         Remove unused, unprototyped code.
72787
72788         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
72789
72790         * lib/physmem.c (physmem_total, physmem_available, main): Define
72791         with prototypes.
72792
72793         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
72794         (main): Define with a prototype.
72795
72796         * lib/posixver.c (getenv): Remove decl.
72797
72798         * lib/putenv.c (malloc): Returns void *, not char *.
72799         Include <string.h> unconditionally.
72800         (strchr, memcpy, NULL): Do not define.
72801
72802         * lib/readtokens.c: Include readtokens.h first, to test interface.
72803         Include <stdlib.h>, <string.h> unconditionally.
72804         (init_tokenbuffer): Define with a prototype.
72805
72806         * lib/regex.c (PARAMS): Remove.  All uses removed.
72807         All uses of _RE_ARGS removed, too.
72808         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
72809         unconditionally.
72810         (bzero): Assume memset exists.
72811         (memcmp, memcpy, NULL): Remove.
72812         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
72813         char, or assignments to local vars of type signed char.
72814         (init_syntax_once, PREFIX(extract_number_and_incr),
72815         PREFIX(print_partial_compiled_pattern),
72816         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
72817         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
72818         PREFIX(regex_grow_registers), PREFIX(regex_compile),
72819         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
72820         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
72821         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
72822         wcs_compile_range, byte_compile_range, truncate_wchar,
72823         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
72824         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
72825         count_mbs_length, wcs_re_match_2_internal,
72826         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
72827         PREFIX(alt_match_null_string_p),
72828         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
72829         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
72830         regfree, PREFIX(extract_number)): Define with prototype.  Remove
72831         now-unnecessary declaration, if any.
72832         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
72833         regcomp, regexec):
72834         Remove now-unnecessary casts among pointer types.
72835         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
72836
72837         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
72838         (free): Remove decl.
72839
72840         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
72841
72842         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
72843         (free): Remove decl.
72844
72845         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
72846         * lib/xgetcwd.c: Likewise.
72847
72848         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
72849         (free): Remove decl.
72850
72851         * lib/strchrnul.c (strchrnul): Define with a prototype.
72852         Fix bug: c_in was not converted to char before searching.
72853
72854         The following changes are not K&R related:
72855
72856         * lib/group-member.h: Include <sys/types.h>, so that this file is
72857         self-contained.
72858         * lib/makepath.h: Likewise.
72859
72860         * lib/getusershell.c (readname, default_index, line_size, readname):
72861         Use size_t, not int, for sizes.
72862         (readname): If the size overflows, report an error instead of
72863         looping forever.
72864
72865 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72866
72867         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
72868         libc.
72869
72870 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72871
72872         * README: New section: portability guidelines.
72873
72874 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
72875
72876         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
72877         C89 spec.
72878
72879 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
72880
72881         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
72882
72883 2003-09-08  Paul Eggert  <eggert@twinsun.com>
72884
72885         Assume C89 or better; remove K&R cruft.
72886         A few of these changes were first proposed by Derek Robert Price
72887         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
72888
72889         * lib/addext.c: Include <string.h> unconditionally.
72890         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
72891         Don't declare getenv or malloc.
72892
72893         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
72894         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
72895         (NULL): Remove.
72896         (find_stack_direction, alloca): Use prototypes.
72897
72898         * lib/atexit.c (atexit): Define using a prototype.
72899
72900         * lib/basename.c, dirname.c, stripslash.c:
72901         Include <string.h> unconditionally.
72902
72903         * lib/bcopy.c: Include <stddef.h>.
72904         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
72905
72906         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
72907
72908         * lib/error.h (error, error_at_line, error_print_progname)
72909         [! (defined (__STDC__) && __STDC__)]: Remove decls.
72910         * lib/error.c: Include error.h first, to check interface.
72911         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
72912         (VA_START): Remove; all uses changeed to va_start.
72913         (exit, strerror): Remove decls.
72914         (error_print_progname): Prototype uncondionally.
72915         Don't include <errno.h>; no longer needed.
72916         (private_strerror): Remove.
72917         (error_tail): Always define.
72918         (error, error_at_line): Assume C89 or better; always use prototypes.
72919         * lib/fatal.c: Include "fatal.h" first, to test interface.
72920         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
72921         (VA_START): Remove; all uses changed to va_start.
72922         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
72923         this case.
72924         (exit): Remove decl.
72925         (fatal): Prototype unconditionally.  Assume va_start works.
72926         Abort at end, to pacify gcc.
72927
72928         * lib/euidaccess.c (main): Define with a prototype.
72929
72930         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
72931
72932         * lib/exitfail.c: Include <stdlib.h> unconditionally.
72933
72934         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
72935         prototypes.
72936         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
72937         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
72938         (getenv): Remove decl.
72939         (fnmatch): Define using a prototype.
72940         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
72941         (FCT): Define using a prototype.
72942
72943         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
72944
72945         * lib/gethostname.c: Include <stddef.h>.
72946         (gethostname): Define with prototype.  Length is size_t, not int.
72947
72948 2003-09-08  Paul Eggert  <eggert@twinsun.com>
72949
72950         Assume C89 or better; remove K&R cruft.
72951         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
72952         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
72953         string.h, getenv, malloc.
72954         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
72955         headers.
72956         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
72957         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
72958         do not check for strerror.
72959         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
72960         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
72961         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
72962         do not check for doprnt or vprintf.
72963         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
72964         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
72965
72966 2003-09-08  Paul Eggert  <eggert@twinsun.com>
72967
72968         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
72969         getversion.c should have been removed then, but was accidentally
72970         preserved.
72971
72972         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
72973         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
72974
72975 2003-09-08  Karl Berry  <karl@gnu.org>
72976
72977         * config/config.sub, config.guess, srclistvars.sh: update from savannah
72978                 config, forget about prep.
72979
72980         * config/depcomp, missing: update from automake.
72981
72982 2003-09-07  Paul Eggert  <eggert@twinsun.com>
72983
72984         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
72985         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
72986
72987 2003-09-07  Paul Eggert  <eggert@twinsun.com>
72988
72989         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
72990         copy_tm_result.  Bug reported by Simon Josefsson in
72991         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
72992
72993 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72994
72995         * m4/time_r.m4: New file.
72996         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
72997         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
72998         is. Check for timegm declaration.
72999         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
73000         Do not check for gmtime_r.
73001         Replace mktime if __mktime_internal does not exist and if mktime
73002         hasn't been replaced already.
73003
73004 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73005
73006         * lib/time_r.c, lib/time_r.h: New files.
73007
73008         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
73009         __localtime_r.
73010         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
73011         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
73012
73013         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
73014         __gmtime_r.
73015         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
73016         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
73017         Include <time_r.h>.
73018
73019         * lib/timegm.c: Switch to glibc implementation, with the following
73020         changes:
73021         [defined HAVE_CONFIG_H]: Include <config.h>.
73022         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
73023         (__mktime_internal) [!defined _LIBC]: New decl.
73024         (__gmtime_r) [!defined _LIBC]: New macro and function.
73025         (timegm): Use a prototype, since gnulib assumes C89.
73026         Do not bother declaring tmp to be const, as it's not really usefu.
73027         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
73028         (timegm): Declare only if HAVE_DECL_TIMEGM.
73029
73030 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73031
73032         * MODULES.html.sh (func_all_modules): Add time_r.
73033         * modules/time_r: New file.
73034         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
73035         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
73036
73037 2003-09-03  Paul Eggert  <eggert@twinsun.com>
73038
73039         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
73040         Bug reported by Lute Kamstra in
73041         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
73042
73043         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
73044         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
73045         course with correspondingly smaller numbers for tomorrow and
73046         yesterday.  From Tadayoshi Funaba.  Originally installed into
73047         sh-utils on 1999-08-07, but the patch got lost (I guess during the
73048         coreutils merge?).
73049
73050 2003-08-31  Simon Josefsson  <jas@extundo.com>
73051
73052         * modules/timegm: New file.
73053         * MODULES.html.sh (func_all_modules): Add timegm.
73054
73055 2003-08-31  Simon Josefsson  <jas@extundo.com>
73056
73057         * m4/timegm.m4: New file.
73058
73059 2003-08-31  Simon Josefsson  <jas@extundo.com>
73060
73061         * lib/timegm.h: New file.
73062         * lib/timegm.c: New file.  Based on
73063         wget-1.8.2/src/http.c:mktime_from_utc.
73064
73065 2003-08-31  Karl Berry  <karl@gnu.org>
73066
73067         * lib/argp.h: update from libc.
73068
73069 2003-08-28  Bruno Haible  <bruno@clisp.org>
73070
73071         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
73072         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
73073         followed by '#define fnmatch fnmatch_posix' gives an error.
73074
73075 2003-08-28  Bruno Haible  <bruno@clisp.org>
73076
73077         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
73078         warning on QNX, which defines O_BINARY to 000000.
73079
73080 2003-08-27  Jim Meyering  <jim@meyering.net>
73081
73082         * m4/mkstemp.m4: Require that the system mkstemp be able to create
73083         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
73084         would fail after 32.  Reported by Danny Levinson.  Details here:
73085         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
73086
73087 2003-08-24  Bruno Haible  <bruno@clisp.org>
73088
73089         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
73090         MSVC7 <stdio.h> is included later.
73091
73092 2003-08-22  Simon Josefsson  <jas@extundo.com>
73093
73094         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
73095
73096 2003-08-20  Karl Berry  <karl@gnu.org>
73097
73098         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
73099
73100 2003-08-20  Bruno Haible  <bruno@clisp.org>
73101
73102         * modules/progname: New file.
73103         * MODULES.html.sh (func_all_modules): Add progname.
73104
73105 2003-08-20  Bruno Haible  <bruno@clisp.org>
73106
73107         * lib/progname.h: New file, from GNU gettext.
73108         * lib/progname.c: New file, from GNU gettext.
73109         * lib/progreloc.c: New file, from GNU gettext.
73110
73111 2003-08-19  Jim Meyering  <jim@meyering.net>
73112
73113         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
73114         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
73115
73116 2003-08-19  Bruno Haible  <bruno@clisp.org>
73117
73118         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
73119         more.
73120
73121 2003-08-19  Bruno Haible  <bruno@clisp.org>
73122
73123         * lib/xstrdup.c: Assume <string.h> exists.
73124
73125 2003-08-18  Paul Eggert  <eggert@twinsun.com>
73126
73127         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
73128         in makefile rules.
73129
73130 2003-08-18  Jim Meyering  <jim@meyering.net>
73131
73132         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
73133         * m4/lib-ld.m4: Likewise.
73134
73135 2003-08-18  Jim Meyering  <jim@meyering.net>
73136
73137         * lib/setenv.h: Indent nested cpp directive.
73138         * lib/vasnprintf.c: Remove trailing blanks.
73139
73140 2003-08-17  Simon Josefsson  <jas@extundo.com>
73141
73142         * modules/xstrndup: New file.
73143         * MODULES.html.sh (func_all_modules): Add xstrndup.
73144
73145 2003-08-17  Simon Josefsson  <jas@extundo.com>
73146
73147         * modules/argp: Fix autoconf macro name. Add more dependencies.
73148
73149 2003-08-17  Simon Josefsson  <jas@extundo.com>
73150
73151         * m4/xstrndup.m4: New file.
73152
73153 2003-08-17  Simon Josefsson  <jas@extundo.com>
73154
73155         * m4/argp.m4: New file.
73156
73157 2003-08-17  Simon Josefsson  <jas@extundo.com>
73158             Bruno Haible  <bruno@clisp.org>
73159
73160         * lib/xstrndup.h: New file.
73161         * lib/xstrndup.c: New file.
73162
73163 2003-08-17  Bruno Haible  <bruno@clisp.org>
73164
73165         * modules/strndup (Files, Include): Add lib/strndup.h.
73166
73167 2003-08-17  Bruno Haible  <bruno@clisp.org>
73168
73169         * modules/euidaccess (Files): Add lib/euidaccess.h.
73170
73171 2003-08-17  Bruno Haible  <bruno@clisp.org>
73172
73173         * lib/strndup.h: New file.
73174
73175 2003-08-17  Bruno Haible  <bruno@clisp.org>
73176
73177         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
73178         like AC_GNU_SOURCE.
73179         * modules/extensions (configure.ac): Comment out the invocation of
73180         gl_USE_SYSTEM_EXTENSIONS.
73181
73182 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73183
73184         Merges from coreutils, etc.
73185         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
73186         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
73187         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
73188         fixing a typo.
73189         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
73190         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
73191
73192 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73193
73194         Document merge from coreutils.
73195         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
73196         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
73197         * modules/utime: Add m4/utimes-null.m4.
73198
73199 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73200
73201         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
73202         space, undoing this 2003-08-12 change:
73203         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73204
73205 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73206
73207         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
73208         strtoul.c from libc, undoing this 2003-08-12 change:
73209         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73210
73211 2003-08-16  Jim Meyering  <jim@meyering.net>
73212
73213         Merges from coreutils.
73214         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
73215         prefix.  Adjust cache variables similarly.  Create 500 rather than
73216         just 300 files, to exercise bug on Darwin6.5, too.
73217         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
73218         $missing_dir.
73219         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
73220         AM_SYS_POSIX_TERMIOS.
73221         Reported by mkc@mathdogs.com.
73222         Also change use of $am_cv_sys_posix_termios
73223         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
73224         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
73225         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
73226         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
73227         in /proc/mounts until it finds one with matching device number.  This
73228         is unnecessary when the FILE argument *is* a mount point.  No stat call
73229         is necessary in that case.  So, disable the statvfs-testing code on
73230         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
73231         as RedHat bug# 84846.
73232         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73233         to 1MB, so as not to render systems with no stack size limit (e.g.,
73234         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73235         Include <unistd.h>.  On some systems,
73236         it is required for the definition of _SC_PAGESIZE.
73237
73238 2003-08-16  Jim Meyering  <jim@meyering.net>
73239
73240         Merge from coreutils.
73241         * lib/xstrtoimax.c: #else #if -> #elif.
73242         * lib/xstrtoumax.c: Likewise.
73243
73244 2003-08-16  Jim Meyering  <jim@meyering.net>
73245
73246         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
73247         * m4/utimes.m4: Removed.
73248         * m4/utimes-null.m4: Renamed from utimes.m4.
73249
73250         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73251         to 1MB, so as not to render systems with no stack size limit (e.g.,
73252         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73253         Include <unistd.h>.  On some systems,
73254         it is required for the definition of _SC_PAGESIZE.
73255
73256 2003-08-16  Jim Meyering  <jim@meyering.net>
73257         and Paul Eggert  <eggert@cs.ucla.edu>
73258
73259         Merges from coreutils, etc.
73260
73261         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
73262         using the latest version from cvs.  This avoids problems with #line
73263         directives using a vendor (Sun) compiler.
73264         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
73265         Don't set GETGROUPS_LIB here; now it's
73266         done via getgroups.m4's wrapper function.
73267         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
73268         rather than just in sh-util/configure.in, so that the
73269         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
73270         same.
73271         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
73272         AC_FUNC_GETLOADAVG where to find getloadavg.c.
73273         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
73274         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
73275         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
73276         Remove code that is now done by the newly-required macros.
73277         Append $(EXEEXT) to DF_PROG.
73278         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
73279         Do not invoke or require the following here,
73280         since prereq.m4 or some gnulib .m4 now does this for us:
73281         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
73282         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
73283         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
73284         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
73285         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
73286         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
73287         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
73288         AC_FUNC_OBSTACK.
73289         Do not replace the following functions, as this is now the job
73290         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
73291         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
73292         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
73293         atexit getpass, strdup, getpagesize.
73294         Replace 'raise'.
73295         Do not check for the following functions, as this is now the job
73296         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
73297         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
73298         setregid.
73299         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
73300         Check for sys/sysctl.h.
73301         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
73302         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
73303         of checking for ssize_t ourselves.
73304
73305         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
73306         Require every macro that gnulib/modules/* suggests for us.
73307         (jm_PREREQ_ADDEXT): New macro.
73308         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
73309         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
73310
73311         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
73312         (gl_PHYSMEM): Use it.
73313         Also check for `table' function.
73314         Check for new headers and functions.
73315         Add check for sys/sysmp.h.
73316         With suggestions from Kaveh Ghazi.
73317         Ignore headers that are present but cannot be compiled.  This
73318         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
73319         C 5.4.
73320
73321 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73322
73323         Document merge from coreutils.
73324         * modules/userspec: Depend on posixver.
73325         * modules/strftime: Depend on tzset.
73326
73327 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73328
73329         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
73330         rather than tab, after '#' in shell-script copyright notices.
73331         Suggested by Bruno Haible.
73332
73333 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73334
73335         * config/srclist-update: Use three spaces, rather than tab, after '#'
73336         in shell-script copyright notices.  Suggested by Bruno Haible.
73337         Remove unnecessary parenthesization in regular expression.
73338
73339 2003-08-15  Jim Meyering  <jim@meyering.net>
73340
73341         Merge from coreutils.
73342         * lib/xgethostname.c: Include <stdlib.h>.
73343         (xghostname): Don't exit for anything other than memory-related
73344         failure; just return NULL.
73345         * lib/userspec.c: Include "posixver.h".
73346         (parse_user_spec): Accept `.' as a separator only
73347         in pre-POSIX-200112 mode.
73348         * lib/strtoimax.c: Use #elif rather than #else #if.
73349         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
73350         Remove function, now that we can rely on a working tzset function.
73351         [!_LIBC]: Ensure that the required autoconf test has been run.
73352         [!defined _NL_CURRENT && HAVE_STRFTIME]:
73353         Use underlying_strftime for %r.
73354         * lib/sha.c: Merge in some clean-up and optimization changes from
73355         glibc.
73356         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
73357         Ensure that it is a multiple of 64.
73358         Rearrange loop exit tests so as to avoid performing an
73359         additional fread after encountering an error or EOF.
73360         * lib/realloc.c: Update copyright date.
73361
73362 2003-08-15  Jim Meyering  <jim@meyering.net>
73363         and Paul Eggert  <eggert@twinsun.com>
73364
73365         Merge from coreutils.
73366         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
73367         member but strut utmpx does not.  Needed for AIX 4.3.3.
73368         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
73369
73370 2003-08-15  Jim Meyering  <jim@meyering.net>
73371         and Paul Eggert  <eggert@cs.ucla.edu>
73372
73373         Merges from coreutils, etc.
73374         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
73375         Require gl_FUNC_TZSET_CLOBBER.
73376         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
73377         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
73378         members.
73379
73380 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73381
73382         Help the merge from coreutils.
73383         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
73384         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
73385         * m4/tzset.m4: Use it too.
73386
73387 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73388
73389         * modules/tzset: New file.
73390
73391 2003-08-14  Jim Meyering  <jim@meyering.net>
73392
73393         Merges from coreutils.
73394         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
73395         variable names, rather than @FNMATCH_H@.
73396         * modules/alloca: Likewise for $(ALLOCA_H).
73397
73398         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
73399         the three copies of the literal target, `fnmatch.h'.
73400         * modules/alloca (alloca.h): Likewise.
73401
73402 2003-08-14  Jim Meyering  <jim@meyering.net>
73403
73404         Merge from coreutils.
73405         * m4/tzset.m4: New file.
73406         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
73407         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
73408         otherwise, AIX 5.1 systems would end up using the latter.
73409         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
73410         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
73411         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
73412         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
73413
73414 2003-08-14  Jim Meyering  <jim@meyering.net>
73415
73416         Merge from coreutils.
73417         * lib/obstack.h: Whitespace changes.
73418         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
73419         and xcalloc return values.
73420         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
73421         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
73422         hang on OSF/1 5.1 for DIR on both local and remote file systems.
73423         Reported by (and fix confirmed by) Nelson H. F. Beebe.
73424         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73425         error from mntctl.
73426         Use mntctl's return value to drive the entry-processing loop, since
73427         we can't rely on the value of the vmt_length member in the last
73428         entry.  On some systems doing so could result in exhausting
73429         virtual memory.  Based in part on a patch from Mike Jetzer.
73430
73431 2003-08-14  Jim Meyering  <jim@meyering.net>
73432         and Paul Eggert  <eggert@twinsun.com>
73433
73434         Merges from coreutils, plus other fixes.
73435         * lib/physmem.c: Merge in portability changes from gcc/libiberty
73436         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
73437         for credits and details.  Thanks to Kaveh Ghazi for helping
73438         to keep these files in sync.
73439         (ARRAY_SIZE): Define it.
73440         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
73441         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
73442         (memcasecmp): Don't assume size_t fits in unsigned int.
73443         Remove casts and duplicate code.
73444         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
73445         (memcpy): Remove definition.
73446         Merge in some clean-up and optimization changes from glibc.
73447         [BLOCKSIZE]: Move definition to top of file.
73448         Ensure that it is a multiple of 64.
73449         Rearrange loop exit tests so as to avoid performing an
73450         additional fread after encountering an error or EOF.
73451         * lib/md5.h (md5_uintptr): Define.
73452         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
73453         return to the initial working directory.  Preserve errno
73454         for caller.
73455         * lib/idcache.c: Include "xalloc.h".
73456         (xmalloc, xrealloc): Remove decls.
73457         (getuser): Remove casts no longer required in C89.
73458         * lib/human.c: Include stdio.h, for sprintf.
73459         * lib/group-member.c: Include "xalloc.h".
73460         (xmalloc, xrealloc): Remove decls.
73461         (get_group_info): Remove casts no longer required in C89.
73462         * lib/getusershell.c (readname): Remove casts no longer required in
73463         C89.
73464         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
73465         * lib/getline.c: Whitespace fix, from coreutils.
73466
73467 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73468
73469         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
73470         Check for isascii.
73471
73472         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73473         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73474         Undo previous (whitespace-only) change.
73475
73476 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73477
73478         * lib/exclude.c: Include <ctype.h>
73479         (IN_CTYPE_DOMAIN): New macro.
73480         (is_space): New fn.
73481         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
73482         and empty lines.
73483
73484         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73485         Undo previous (whitespace-only) change.
73486
73487 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73488
73489         * config/srclist-update: Change update back to the old behavior,
73490         leaving whitespace alone.  Use one 'sed' command rather than a
73491         pipeline.
73492         (fixlicense): Now a variable, not a function.
73493         (remove_trailing_blanks): Remove.
73494         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
73495         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73496         Undo previous (whitespace-only) change.
73497
73498 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73499
73500         Merge from coreutils.
73501         * modules/euidaccess: Add lib_SOURCES, include for new
73502         file euidaccess.h
73503
73504 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73505
73506         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73507         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73508         Normalize leading white space and remove trailing white space.
73509
73510         Merge from coreutils
73511         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
73512
73513         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
73514         0.12.1.  These files are now being upgraded automatically by
73515         ../config/srclist-update.
73516
73517 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73518
73519         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73520         Normalize leading white space and remove trailing white space.
73521         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
73522         notice, as per ../config/srclist-update.
73523
73524         Merge from coreutils.
73525         * lib/euidaccess.h: New file.
73526         * lib/euidaccess.c: Include it.
73527         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
73528         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
73529         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
73530
73531 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73532
73533         * config/srclist-update: Add copyright notice.
73534         (remove_id_lines, remove_trailing_blanks): New constants.
73535         (fixfile): Use them to normalize spacing a bit in copied files.
73536         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73537         Normalize leading white space and remove trailing white space.
73538
73539         * config/texinfo.tex: Sync with texinfo.
73540
73541         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
73542         strtoul.c from libc, to merge coreutils whitespace changes.
73543
73544         * config/srclist.txt: Get the following m4 files from gettext:
73545         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
73546         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
73547         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
73548         wint_t.m4.
73549
73550 2003-08-12  Karl Berry  <karl@gnu.org>
73551
73552         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
73553         been made.
73554
73555 2003-08-11  Paul Eggert  <eggert@twinsun.com>
73556
73557         * modules/gnu-source, m4/gnu-source.m4:
73558         Remove; we're assuming Autoconf 2.54 or later now.
73559         Suggested by Bruno Haible.
73560         * MODULES.html.sh (func_all_modules): Remove gnu-source.
73561
73562 2003-08-11  Bruno Haible  <bruno@clisp.org>
73563
73564         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
73565
73566 2003-08-11  Bruno Haible  <bruno@clisp.org>
73567
73568         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
73569         (vasnprintf): Use it instead of wcslen.
73570
73571 2003-08-11  Bruno Haible  <bruno@clisp.org>
73572
73573         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
73574         value to ensure that _Bool promotes to int. Use #define for _Bool when
73575         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
73576
73577 2003-08-10  Karl Berry  <karl@gnu.org>
73578
73579         * lib/regex.h: update from libc (whitespace fix).
73580
73581 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73582
73583         Merge some files from coreutils.  These changes were
73584         originally made by Jim Meyering.
73585         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
73586         many older Unixes require this.
73587         * lib/alloca.c (alloca): Remove cast to argument of free;
73588         no longer needed in C89.
73589         * lib/alloca_.h, regex.h: Fix white space to match
73590         what GNU indent does.
73591
73592 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73593
73594         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
73595         apparently Emacs's Unicode mode got confused before my 2003-08-05
73596         checkin.
73597
73598 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73599
73600         * m4/extensions.m4: New file.
73601         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
73602         Require gl_USE_SYSTEM_EXTENSIONS.
73603         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
73604         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
73605
73606 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73607
73608         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
73609         * modules/extensions, modules/gnu-source: New files.
73610         * modules/timespec, modules/unlocked-io: Depend on extensions.
73611
73612 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73613
73614         * modules/restrict: New file.
73615         * MODULES.html.sh (func_all_modules): Add restrict.
73616         * modules/regex: Depend on restrict.
73617
73618 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73619
73620         * m4/restrict.m4: New file.
73621         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
73622
73623 2003-08-07  Bruno Haible  <bruno@clisp.org>
73624
73625         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
73626         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
73627
73628 2003-08-07  Bruno Haible  <bruno@clisp.org>
73629
73630         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
73631         makes the module 'getndelim2' compatible with the module 'getline'.
73632
73633 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73634
73635         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
73636         byte with "\201" to avoid glitches when editing that source file
73637         with multi-gnome-terminal.
73638
73639 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73640
73641         * lib/bumpalloc.h: Remove.
73642
73643 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73644
73645         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
73646         * modules/bumpalloc: Remove.
73647
73648 2003-08-04  Paul Eggert  <eggert@twinsun.com>
73649
73650         * lib/getloadavg.c: Change copyright notice and spacing to conform to
73651         GNU coding style.
73652
73653         Merge from coreutils.
73654         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
73655         1. From glibc.
73656         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
73657         from Karl Berry, implemented by Jim Meyering.
73658         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
73659         from Dmitry V. Levin.
73660         Remove anachronistic cast of xrealloc.
73661         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
73662         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
73663         type. Otherwise, it wouldn't compile with at least /bin/cc on
73664         ymp-cray-unicos9.0.2.X.
73665         Combine two mostly-identical uses of alloca into one.
73666         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
73667
73668 2003-08-04  Dave Love  <d.love@dl.ac.uk>
73669
73670         [From Emacs.]
73671
73672         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
73673         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
73674         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
73675         obsolete NLIST_NAME_UNION.
73676         [__GNU__]: Undef BSD and FSCALE.
73677         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
73678
73679 2003-08-03  Paul Eggert  <eggert@twinsun.com>
73680
73681         * lib/stdbool_.h (_Bool): Make it signed char, instead of
73682         an enum type, so that it's guaranteed to promote to int.  See:
73683         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
73684
73685 2003-08-03  Karl Berry  <karl@gnu.org>
73686
73687         * config/depcomp: update from automake.
73688
73689 2003-07-31  Paul Eggert  <eggert@twinsun.com>
73690
73691         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
73692         (strerror): Don't assume that a printable int fits in 14 bytes.
73693
73694 2003-07-31  Bruno Haible  <bruno@clisp.org>
73695
73696         * modules/getpass-gnu: New file.
73697         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
73698
73699 2003-07-31  Bruno Haible  <bruno@clisp.org>
73700
73701         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
73702
73703 2003-07-24  Karl Berry  <karl@gnu.org>
73704
73705         * config/missing: update from automake.
73706
73707 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
73708             Bruno Haible  <bruno@clisp.org>
73709
73710         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
73711         * lib/getline.c (getline, getdelim): Likewise.
73712         Remove _GNU_SOURCE define; now it's defined in config.h through
73713         m4/getline.m4.
73714
73715 2003-07-23  Karl Berry  <karl@gnu.org>
73716
73717         * config/config.sub: update from prep.
73718
73719 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73720
73721         * modules/xalloc (Depends-on): Add exitfail.
73722         * modules/xmemcoll: Likewise.
73723
73724 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73725
73726         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
73727         over-parenthesization in macros.
73728
73729         Sync with coreutils.
73730
73731         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
73732         required by C99.
73733
73734         Use `exit_failure' for xalloc and xmemcoll instead of their own
73735         private exit-failure variables.
73736         * lib/xalloc.h (xalloc_exit_failure): Remove.
73737         * lib/xmalloc.c: Likewise.  Include exitfail.h.
73738         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
73739         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
73740         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
73741         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
73742
73743 2003-07-20  Jim Meyering  <jim@meyering.net>
73744
73745         * modules/closeout (Depends-on): Add exitfail.
73746         Suggestion from Bruno Haible.
73747
73748 2003-07-19  Karl Berry  <karl@gnu.org>
73749
73750         * config/config.sub: update from prep.
73751
73752 2003-07-18  Paul Eggert  <eggert@twinsun.com>
73753
73754         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
73755         Remove.
73756         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
73757         to test that it can stand by itself.  Include "exitfail.h".
73758         Clients should set exit_failure instead.
73759         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
73760
73761 2003-07-18  Bruno Haible  <bruno@clisp.org>
73762
73763         * modules/getndelim2: New file.
73764         * modules/getline: Share files with module getndelim2.
73765         * modules/getnline: Depend on getndelim2 instead of sharing files with
73766         it. Add getnline.c to lib_SOURCES.
73767         * MODULES.html.sh (func_all_modules): Add getndelim2.
73768
73769 2003-07-18  Bruno Haible  <bruno@clisp.org>
73770
73771         * m4/getndelim2.m4: New file.
73772         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
73773         invoke gl_PREREQ_GETNDELIM2.
73774         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
73775         gl_PREREQ_GETNDELIM2.
73776         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
73777         gl_GETNDELIM2.
73778
73779 2003-07-18  Bruno Haible  <bruno@clisp.org>
73780
73781         * lib/getndelim2.h: New file.
73782         * lib/getndelim2.c: Make into a module of its own. Include config.h,
73783         getndelim2.h.
73784         (getndelim2): Make non-static. Change return type to ssize_t.
73785         * lib/getline.h: Change argument names.
73786         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
73787         * lib/getnline.c: Include getndelim2.h.
73788
73789 2003-07-18  Andreas Schwab  <schwab@suse.de>
73790
73791         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
73792
73793 2003-07-17  Karl Berry  <karl@gnu.org>
73794
73795         * config/config.sub: update from prep.
73796
73797 2003-07-17  Bruno Haible  <bruno@clisp.org>
73798
73799         * modules/getnline: New file.
73800         * modules/getline: Add lib/getndelim2.c to source file list.
73801         * MODULES.html.sh (func_all_modules): Add getnline.
73802
73803 2003-07-17  Bruno Haible  <bruno@clisp.org>
73804
73805         * m4/getnline.m4: New file.
73806
73807 2003-07-17  Bruno Haible  <bruno@clisp.org>
73808
73809         * m4/Makefile.am.in: Remove file.
73810         * m4/Makefile.am: Remove file.
73811         * m4/Makefile.in: Remove file.
73812
73813 2003-07-17  Bruno Haible  <bruno@clisp.org>
73814
73815         * lib/getnline.h: New file.
73816         * lib/getnline.c: New file.
73817         * lib/getndelim2.c: New file, extracted from getline.c.
73818         (getndelim2): Renamed from getdelim2, with added nmax argument.
73819         * lib/getline.c: Include getndelim2.c.
73820         (getdelim2): Moved out to getndelim2.c.
73821         (getline, getdelim): Update.
73822
73823 2003-07-17  Bruno Haible  <bruno@clisp.org>
73824
73825         * lib/Makefile.am: Remove file.
73826         * lib/Makefile.in: Remove file.
73827
73828 2003-07-17  Bruno Haible  <bruno@clisp.org>
73829
73830         * configure.in: Remove file.
73831         * Makefile.in: Remove file.
73832
73833 2003-07-17  Bruno Haible  <bruno@clisp.org>
73834
73835         * MODULES.html.sh: Put the </BODY> right before </HTML>.
73836
73837 2003-07-16  Karl Berry  <karl@gnu.org>
73838
73839         * config/srclist-update: was running fixlicense twice, which caused
73840                 texinfo.tex to be nullified for some reason.  Simplify,
73841                 $gplsrc is no longer needed as far as I can see?
73842
73843 2003-07-16  Jim Meyering  <jim@meyering.net>
73844
73845         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
73846
73847 2003-07-15  Paul Eggert  <eggert@twinsun.com>
73848
73849         * config/srclist.txt: Get the following files from gettext-runtime/intl
73850         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
73851         ref-del.sin.  From Bruno Haible.
73852         * config/srclist-update (fixfile): Change grep pattern again, since the
73853         previous fix didn't work (there was another trailing $).  Use
73854         '[$]' to escape the $s.
73855
73856 2003-07-15  Karl Berry  <karl@gnu.org>
73857
73858         * lib/vasnprintf.c: update from gettext.
73859
73860 2003-07-15  Karl Berry  <karl@gnu.org>
73861
73862         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
73863         gets expanded when surrounded by '$'.
73864
73865 2003-07-15  Jim Meyering  <jim@meyering.net>
73866
73867         * modules/save-cwd: Don't depend on error.  From Derek Price.
73868
73869 2003-07-15  Jim Meyering  <jim@meyering.net>
73870
73871         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
73872
73873 2003-07-14  Simon Josefsson  <jas@extundo.com>
73874
73875         * modules/mempcpy: New file.
73876         * MODULES.html.sh (func_all_modules): Add mempcpy.
73877
73878 2003-07-14  Simon Josefsson  <jas@extundo.com>
73879
73880         * m4/mempcpy.m4: New file.
73881
73882 2003-07-14  Simon Josefsson  <jas@extundo.com>
73883
73884         * lib/mempcpy.h: New file.
73885         * lib/mempcpy.c: New file.
73886
73887 2003-07-14  Paul Eggert  <eggert@twinsun.com>
73888
73889         * modules/getdate, modules/posixtm: Depend on mktime.
73890
73891 2003-07-14  Paul Eggert  <eggert@twinsun.com>
73892
73893         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
73894         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
73895         unicodeio.c, unicodeio.h, unlocked-io.h:
73896         Switch from LGPL to GPL.
73897
73898 2003-07-14  Paul Eggert  <eggert@twinsun.com>
73899
73900         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
73901         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
73902         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
73903         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
73904         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
73905         updated automatically by ../config/srclist-update.  This changes
73906         their license from LPGL to GPL.
73907
73908 2003-07-14  Paul Eggert  <eggert@twinsun.com>
73909
73910         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
73911         assumed to refer to the root of the most recent stable gettext version.
73912         * config/srclistvars.sh: Add defaults for eggert.
73913         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
73914         Match "This program" as well as "The program".  This is needed
73915         for gettext.
73916
73917 2003-07-14  Jim Meyering  <jim@meyering.net>
73918
73919         Don't emit diagnostics.  Let callers do that.
73920         * lib/save-cwd.c: Don't include "error.h".
73921         (save_cwd): Don't call error.  Ensure that errno is valid
73922         when returning nonzero.
73923
73924         * lib/save-cwd.h (restore_cwd): Update prototype.
73925         * lib/save-cwd.c (restore_cwd): Remove two parameters.
73926         Simplify.  Don't call error upon failure.  Let callers do that.
73927         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
73928         when auditing is enabled.  But don't bother updating the #if.
73929
73930 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
73931
73932         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
73933         it breaks C++ compilation.
73934         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
73935
73936 2003-07-10  Simon Josefsson  <jas@extundo.com>
73937
73938         * modules/strchrnul (Makefile.am): Add strchrnul.h.
73939
73940 2003-07-10  Jim Meyering  <jim@meyering.net>
73941
73942         * m4/clock_time.m4: Remove trailing blank.
73943         * m4/intmax_t.m4: Likewise.
73944
73945 2003-07-10  Jim Meyering  <jim@meyering.net>
73946
73947         * lib/vasnprintf.c: Remove trailing blanks.
73948         Make cpp indentation consistent.
73949
73950 2003-07-09  Paul Eggert  <eggert@twinsun.com>
73951
73952         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
73953         posixver.c, strftime.c, strnlen.c, strverscmp.c:
73954         Switch from LGPL to GPL.
73955
73956 2003-07-09  Paul Eggert  <eggert@twinsun.com>
73957
73958         * config/srclist.txt: Sort sublists.  Add
73959         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
73960         that differ from gnulib for one reason or another; we'd like this list
73961         to be smaller but for now let's document what we have.
73962
73963 2003-07-08  Paul Eggert  <eggert@twinsun.com>
73964
73965         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
73966         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
73967         and sweeter "eval x=$x".
73968         * config/srclist.txt: Get lib/argp* from glibc.
73969
73970 2003-07-07  Paul Eggert  <eggert@twinsun.com>
73971
73972         * lib/mktime.c: Fix some boundary cases and remove need for floating
73973         point.
73974
73975         Issue a compile-time diagnostic if time_t is floating point, or if
73976         two's complement arithmetic is not in effect, or if arithmetic
73977         right shift does not propagate the sign.  These assumptions were
73978         all in the original code but they weren't checked.
73979
73980         (TIME_T_MIDPOINT, verify): New macros.
73981         (__isleap): Remove; it has integer overflow problems.
73982         (leapyear): New function, without those problems.
73983         (ydhms_tm_diff): Remove; splitting into two parts.
73984         (ydhms_diff): New function, containing the arithmetic part of
73985         the old ydhms_tm_diff function.  Issue a compile-time
73986         diagnostic if we are not using C99 integer division.
73987         Avoid casts when possible.
73988         (guess_time_tm): New function, containing the checking part of
73989         the old ydhms_tm_diff function.  Return the new value, rather than
73990         the difference between it and the old.  Accept a new argument T
73991         so that *T specifies the old value.  Check for overflow in the result.
73992
73993         (__mktime_internal): Use a time_t offset, not a long int offset.
73994         This undoes the 2003-06-04 change, which is no longer needed now
73995         that we have better overflow checking.
73996         (localtime_offset): Likewise.
73997
73998         (__mktime_internal): Avoid harmful overflow on hosts where time_t
73999         and long are 64-bit but int is only 32-bit.
74000         (ydhms_diff): Use long int to store year1 and yday1.
74001         Issue a compile-time diagnostic if long int is not wide enough.
74002
74003         (__mktime_internal): Use long int to store adjusted year and yday.
74004         Use plain C rather than preprocessor commands, if that doesn't
74005         affect efficiency.
74006         Check for overflow (and try to repair) after each probe
74007         rather than checking only at the very end.  This avoids some bugs
74008         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
74009         does not equal GMT offset at maximum time).
74010         Use integer to check for overflow rather than floating point; this
74011         is more portable to non-IEEE hosts, and is a tad faster.
74012         When we detect that we are oscillating between two values,
74013         don't check whether tm_isdst has the requested value, since
74014         we already know the answer.  When tm_isdst has the wrong value,
74015         use a different heuristic to find the right one, based on the
74016         extreme values actually observed in practice in tz2003a,
74017         rather than the (overly optimistic) "previous 3 calendar quarters".
74018
74019         (not_equal_tm, print_tm, check_result): Use "const T" rather than
74020         "T const" to accommodate glibc style.
74021         (check_result): Use less-confusing report format.  "long" -> "long int.
74022         (main): Likewise.
74023         Don't loop if the iteration overflows time_t.
74024         Allow a negative step in the iteration.
74025
74026 2003-07-06  Karl Berry  <karl@gnu.org>
74027
74028         * config/depcomp: update from automake.
74029         * config/config.sub: update from prep.
74030
74031 2003-07-03  Karl Berry  <karl@gnu.org>
74032
74033         * config/config.guess: update from prep.
74034
74035 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74036
74037         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
74038         xreadlink.c now includes it unconditionally.
74039
74040 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74041
74042         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
74043         having it depend on HAVE_SYS_TYPES_H.
74044
74045 2003-07-01  Bruno Haible  <bruno@clisp.org>
74046
74047         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
74048         <sys/types.h> should be sufficient.
74049         Reported by Paul Eggert.
74050
74051 2003-06-26  Karl Berry  <karl@gnu.org>
74052
74053         * config/depcomp: update from automake.
74054
74055 2003-06-26  Bruno Haible  <bruno@clisp.org>
74056
74057         * modules/human: Depend on module stdbool.
74058
74059 2003-06-25  Bruno Haible  <bruno@clisp.org>
74060
74061         * modules/readlink: New file.
74062         * modules/xreadlink: Depend on it.
74063         * MODULES.html.sh (func_all_modules): Add readlink.
74064
74065 2003-06-25  Bruno Haible  <bruno@clisp.org>
74066
74067         * m4/readlink.m4: New file.
74068
74069 2003-06-25  Bruno Haible  <bruno@clisp.org>
74070
74071         * lib/readlink.c: New file.
74072
74073 2003-06-22  Karl Berry  <karl@gnu.org>
74074
74075         * config/srclist.txt: update mkinstalldirs from automake.
74076         * config/mkinstalldirs: update.
74077
74078 2003-06-22  Bruno Haible  <bruno@clisp.org>
74079
74080         Portability to mingw32.
74081         * m4/ssize_t.m4: New file, from GNU gettext.
74082         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
74083         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
74084
74085 2003-06-22  Bruno Haible  <bruno@clisp.org>
74086
74087         * modules/safe-read: Add m4/ssize_t.m4.
74088         * modules/xreadlink: Add m4/ssize_t.m4.
74089
74090 2003-06-20  Bruno Haible  <bruno@clisp.org>
74091
74092         Assume C89, so PARAMS isn't needed.
74093         * lib/unicodeio.h (PARAMS): Remove.
74094         * lib/unicodeio.c: Don't use PARAMS.
74095
74096 2003-06-18  Karl Berry  <karl@gnu.org>
74097
74098         * config/config.{guess,sub}: update from prep.
74099
74100 2003-06-18  Jim Meyering  <jim@meyering.net>
74101
74102         Merge changes from coreutils.
74103         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
74104         Remove explicit declarations of xmalloc and realloc.
74105         Include xalloc.h.
74106         (read_utmp): Remove anachronistic cast of xmalloc.
74107
74108 2003-06-17  Paul Eggert  <eggert@twinsun.com>
74109
74110         Assume C89, so PARAMS isn't needed.
74111         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
74112         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
74113         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
74114         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
74115         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
74116         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
74117         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
74118         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
74119         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
74120         lib/xstrtod.h, lib/xstrtol.h: Likewise.
74121         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
74122         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
74123         no longer needed. Anyway, config.h should always be included before any
74124         other file.
74125
74126 2003-06-11  Simon Josefsson  <jas@extundo.com>
74127
74128         * modules/sysexits: New file.
74129         * MODULES.html.sh (func_all_modules): Add sysexits.
74130
74131 2003-06-11  Simon Josefsson  <jas@extundo.com>
74132
74133         * lib/sysexit_.h: New file.
74134
74135 2003-06-11  Derek Price  <derek@ximbiot.com>
74136
74137         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
74138         necessary.
74139
74140 2003-06-11  Bruno Haible  <bruno@clisp.org>
74141
74142         * m4/sysexits.m4: New file.
74143
74144 2003-06-10  Simon Josefsson  <jas@extundo.com>
74145
74146         * lib/argp.h: New file, from glibc.
74147         * lib/argp-ba.c: New file, from glibc.
74148         * lib/argp-eexst.c: New file, from glibc.
74149         * lib/argp-fmtstream.c: New file, from glibc.
74150         * lib/argp-fmtstream.h: New file, from glibc.
74151         * lib/argp-fs-xinl.c: New file, from glibc.
74152         * lib/argp-help.c: New file, from glibc.
74153         * lib/argp-namefrob.h: New file, from glibc.
74154         * lib/argp-parse.c: New file, from glibc.
74155         * lib/argp-pv.c: New file, from glibc.
74156         * lib/argp-pvh.c: New file, from glibc.
74157         * lib/argp-xinl.c: New file, from glibc.
74158
74159 2003-06-10  Simon Josefsson  <jas@extundo.com>
74160
74161         * modules/strchrnul: New file.
74162
74163 2003-06-10  Simon Josefsson  <jas@extundo.com>
74164
74165         * modules/argp: New file.
74166
74167 2003-06-10  Simon Josefsson  <jas@extundo.com>
74168
74169         * m4/strchrnul.m4: New file.
74170
74171 2003-06-10  Simon Josefsson  <jas@extundo.com>
74172
74173         * lib/strchrnul.h: New file.
74174         * lib/strchrnul.c: New file.
74175
74176 2003-06-10  Bruno Haible  <bruno@clisp.org>
74177
74178         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
74179
74180 2003-06-07  Karl Berry  <karl@gnu.org>
74181
74182         * config/config.{guess,sub}: update from prep.
74183
74184 2003-06-07  Jim Meyering  <jim@meyering.net>
74185
74186         * modules/strtod: Use $(...) notation, not @...@ for
74187         AC_REPLACE'd variables.
74188         * modules/localcharset: Likewise.
74189
74190 2003-06-07  Jim Meyering  <jim@meyering.net>
74191
74192         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
74193         in place of my name in the copyright comment.
74194         Remove definition and uses of __P.
74195
74196         From coreutils.
74197         * lib/stat.c: Don't declare xmalloc explicitly.
74198         Instead, include "xalloc.h".
74199         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
74200         xrealloc, and xcalloc return values.
74201         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
74202         Improve comment.
74203         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
74204
74205 2003-06-07  Bruno Haible  <bruno@clisp.org>
74206
74207         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
74208         avoid AC_CONFIG_LINKS.
74209         * modules/fnmatch (Makefile.am): Use explicit creation rule for
74210         fnmatch.h, to avoid AC_CONFIG_LINKS.
74211         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
74212
74213 2003-06-07  Bruno Haible  <bruno@clisp.org>
74214
74215         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
74216         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
74217         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74218         directory.
74219         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
74220         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74221         directory.
74222
74223 2003-06-06  Jim Meyering  <jim@meyering.net>
74224
74225         Merge from coreutils.
74226         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
74227         Consolidate declarations and initializations of *_base* locals.
74228
74229         Merge from coreutils.
74230         This avoids a core dump on systems without GNU putenv,
74231         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
74232         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
74233         (unsetenv): New static function, from GNU libc.
74234         (rpl_putenv): Use it.
74235
74236         * lib/modechange.c: Remove trailing blanks.
74237
74238         Merge from coreutils.
74239         * lib/fsusage.c: Remove declaration of statfs.
74240         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
74241
74242         * lib/posixtm.c: Include <stdbool.h> unconditionally.
74243
74244 2003-06-06  Jim Meyering  <jim@meyering.net>
74245
74246         * lib/stdbool_.h: Renamed from stdbool.h.in.
74247
74248 2003-06-06  Jim Meyering  <jim@meyering.net>
74249             Bruno Haible  <bruno@clisp.org>
74250
74251         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
74252         Adjust Makefile.am snippet not to redirect directly to target.
74253         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
74254
74255 2003-06-05  Paul Eggert  <eggert@twinsun.com>
74256
74257         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
74258         mismatch, look in future quarters as well as past.  This fixes a
74259         bug when processing fall-backwards gaps immediately after a long
74260         period of daylight-saving time.
74261
74262         * lib/mktime.c: Assume freestanding C89 or better.
74263         (HAVE_LIMITS_H): Remove.  Assume it's 1.
74264         (__P): Remove; not used.
74265         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
74266         (mktime, not_equal_tm, print_tm, check_result,
74267         main): Use prototypes.  Use const * where appropriate.
74268         (main): Fix typo in testing code that uncovered by above changes.
74269         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
74270
74271 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74272
74273         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
74274         locale.h, localeconv.  This merges changes from coreutils.
74275
74276         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
74277         It can be removed after the next Autoconf is released.
74278         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
74279         needed.
74280
74281 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74282
74283         * lib/mktime.c: Fix Debian bug 177940
74284         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
74285         (localtime_offset): Now long int, not time_t, because we want it
74286         to be guaranteed to be signed.  All uses changed.
74287         (__mktime_internal): If overflow would occur when adding offset,
74288         don't add it.
74289
74290         Merge 'human' changes from coreutils.  Rewrite to support
74291         locale-specific notations like thousands separators.
74292         * lib/human.c: Simplify authorship notice.
74293         Include human.h immediately after config.h.
74294         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
74295         <limits.h>: Do not include, since human.h does.
74296         (SIZE_MAX, UINTMAX_MAX): New macros.
74297         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
74298         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
74299         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
74300         (power_letter): Renamed from suffixes.
74301         (generate_suffix_backwards): Remove.
74302         (adjust_value): Now takes int style (because of human.h changes)
74303         and long double value (for greater precision on some platforms).
74304         (group_number): New function.
74305         (human_readable): Use it.  Use integer options, not enum.
74306         Put the options before the sizes in the arg list.
74307         Support all the new options.
74308         The old human_readable function has been removed;
74309         use inttostr.h instead.
74310         (human_readable, default_block_size, humblock):
74311         Use uintmax_t, not int, for block sizes.
74312         (human_readable_inexact, block_size_types): Remove.
74313         (block_size_opts): New constant.
74314         (human_options): Renamed from human_block_size, with new signature
74315         that allows block sizes up to UINTMAX_MAX.  All callers changed.
74316         * lib/human.h: Add copyright and authorship notice.
74317         Include <limits.h> and <stdbool.h> unconditionally.
74318         (PARAMS): Remove.  All uses removed.
74319         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
74320         (enum human_inexact_style): Remove tag; now a nameless enum.
74321         (human_floor, human_ceiling, human_round_to_even): Now have
74322         values 2, 0, 1 rather than -1, 1, 0.
74323         (human_group_digits, human_suppress_point_zero, human_autoscale,
74324         human_base_1024, human_SI, human_B): New constants.
74325         (human_readable_inexact, human_block_size): Remove.
74326         (human_readable): Size args are now uintmax_t, not int.
74327         (human_options): New decl.
74328
74329         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
74330         unnecessary now that we assume C89 or better.  This change
74331         imported from coreutils.
74332
74333         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74334         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
74335         in the 2003-05-30 sync from glibc.
74336
74337         .h files should stand alone, but we shouldn't include <sys/types.h>
74338         if we can get away with just <stddef.h>.
74339
74340         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
74341         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
74342         rather than <sys/types.h>, as we merely need size_t.
74343         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
74344         to get size_t.
74345         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
74346         Include <stdio.h>, to get FILE.
74347         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
74348         memcasecmp.h has included <stddef.h> and all we need is size_t.
74349         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
74350         our interface, instead of including <sys/types.h>
74351
74352 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74353
74354         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
74355         now, as glibc mktime is buggy on non-glibc systems.
74356
74357 2003-06-03  Karl Berry  <karl@gnu.org>
74358
74359         * config/config.sub: update from prep.
74360
74361 2003-06-02  Paul Eggert  <eggert@twinsun.com>
74362
74363         [from coreutils]
74364         Fix some minor time-related bugs with POSIX time arguments.
74365         Some valid time stamps were being rejected (notably -1, and
74366         time stamps before 1900 on 64-bit hosts).  And some invalid
74367         time stamps were being accepted, e.g. September 31.
74368
74369         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
74370         that we can return (time_t) -1 successfully.
74371         * lib/posixtm.c: Likewise.
74372         [HAVE_STDBOOL_H]: Include <stdbool.h>.
74373         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
74374         (t): Remove static var.
74375         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
74376         of static var.  All uses changed.
74377         (year): Do not reject years before 1900; they can occur with
74378         64-bit time_t.
74379         (posix_time_parse): Do not check for out-of-range components;
74380         that is now the caller's responsibility, since our checks were
74381         only approximations.
74382         (posixtime): Use mktime to check for out-of-range components,
74383         since it knows them exactly.
74384         If mktime returns (time_t) -1, check whether an error actually occurred
74385         by invoking localtime on -1.
74386         (main) [TEST_POSIXTIME]: Check for input data errors, and report
74387         posixtime failures better.
74388         Improve the test data (in comments only).
74389
74390 2003-06-02  Karl Berry  <karl@gnu.org>
74391
74392         * config/mkinstalldirs (version): new variable.
74393         (--version): new option.
74394         (usage): improve message.
74395
74396 2003-05-30  Karl Berry  <karl@gnu.org>
74397
74398         * lib/mktime.c: update from libc.
74399
74400 2003-05-30  Bruno Haible  <bruno@clisp.org>
74401
74402         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
74403         * config/config.rpath: Upgrade to gettext-0.12.1.
74404
74405 2003-05-30  Bruno Haible  <bruno@clisp.org>
74406
74407         * m4/gettext.m4: Upgrade to gettext-0.12.1.
74408         * m4/nls.m4: New file, from gettext-0.12.1.
74409         * m4/po.m4: New file, from gettext-0.12.1.
74410         * m4/progtest.m4: Upgrade to gettext-0.12.1.
74411
74412 2003-05-30  Bruno Haible  <bruno@clisp.org>
74413
74414         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
74415         * lib/localcharset.h: Likewise.
74416         * lib/localcharset.c: Likewise.
74417
74418 2003-05-29  Karl Berry  <karl@gnu.org>
74419
74420         * config/config.rpath: update from gettext.
74421
74422 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74423
74424         Assume the headers required for C89 freestanding compilers.
74425         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
74426         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
74427         * m4/human.m4 (gl_HUMAN): Likewise.
74428         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
74429         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
74430         * m4/userspec.m4 (gl_USERSPEC): Likewise.
74431         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
74432         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74433         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
74434
74435 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74436
74437         Assume the headers required for C89 freestanding compilers.
74438         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
74439         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
74440         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
74441         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
74442         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
74443         define, since <limits.h> is guaranteed to do that.
74444         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
74445         * lib/exclude.c: Include <stdbool.h> unconditionally.
74446         * lib/tempname.c: Include <stddef.h> unconditionally.
74447         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
74448         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
74449         <stddef.h> does that.
74450         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
74451         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
74452         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
74453         needed.
74454         * lib/xstrtol.c: Likewise.
74455         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
74456         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
74457
74458         * lib/addext.c (addext): Use assignment rather than cast, to avoid
74459         warnings on some platforms.
74460
74461         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74462         arbitrarily.
74463
74464 2003-05-26  Jim Meyering  <jim@meyering.net>
74465
74466         Merge in a change from coreutils:
74467         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
74468         that is guaranteed to be `no'.  Use `no_such_member' to indicate
74469         that condition, rather than `-1' which is slightly misleading.
74470         Change the name of the cache variable to have the gl_ prefix.
74471         Prompted by a patch from Richard Dawe for DJGPP.
74472
74473 2003-05-24  Karl Berry  <karl@gnu.org>
74474
74475         * config/config.guess: update from prep.
74476
74477 2003-05-22  Karl Berry  <karl@gnu.org>
74478
74479         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
74480
74481 2003-05-20  Karl Berry  <karl@gnu.org>
74482
74483         * config/config.guess: update from prep.
74484
74485 2003-05-18  Karl Berry  <karl@gnu.org>
74486
74487         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
74488         might actually be set by the user.
74489
74490         * config/depcomp, install-sh, mdate-sh: update from automake.
74491
74492 2003-05-17  Bruno Haible  <bruno@clisp.org>
74493
74494         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
74495         invalid expansion for AC_EGREP_CPP.
74496         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
74497         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
74498         Suggested by Akim Demaille <akim@epita.fr> in
74499         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
74500
74501 2003-05-12  Jim Meyering  <jim@meyering.net>
74502
74503         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
74504         the space-padded-by-default conversion specifiers, %e, %k, %l.
74505
74506 2003-05-12  Bruno Haible  <bruno@clisp.org>
74507
74508         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
74509         the string is longer than 4 KB.
74510
74511 2003-05-11  Karl Berry  <karl@gnu.org>
74512
74513         * config/config.{guess,sub}: update from prep.
74514
74515 2003-05-09  Bruno Haible  <bruno@clisp.org>
74516
74517         * modules/error: Add m4/strerror_r.m4 to file list.
74518
74519 2003-05-03  Bruno Haible  <bruno@clisp.org>
74520
74521         Upgrade to Unicode-4.0.
74522         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
74523         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
74524         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
74525         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
74526         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
74527         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
74528         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
74529         Change width of U+E0100..U+E01EF from 1 to 0.
74530
74531 2003-04-25  Jim Meyering  <jim@meyering.net>
74532
74533         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
74534         of type size_t, not int.
74535
74536 2003-04-25  Bruno Haible  <bruno@clisp.org>
74537
74538         * lib/copy-file.c: Include <stddef.h>, for size_t.
74539
74540 2003-04-21  Paul Eggert  <eggert@twinsun.com>
74541
74542         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
74543         code which expansion is under static control.  Patch imported from
74544         Akim Demaille's patch to Bison; see
74545         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
74546
74547 2003-04-14  Bruno Haible  <bruno@clisp.org>
74548
74549         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
74550
74551 2003-04-11  Jim Meyering  <jim@meyering.net>
74552
74553         Merge changes from Coreutils.
74554
74555         2003-03-22  Jim Meyering  <jim@meyering.net>
74556
74557         * lib/strftime.c (widen): Cast alloca return value to proper type.
74558
74559         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
74560
74561         From GNU libc.
74562         * lib/strftime.c (my_strftime): Handle very large width
74563         specifications for numeric values correctly.  Improve checks for
74564         overflow.
74565
74566         2003-01-19  Jim Meyering  <jim@meyering.net>
74567
74568         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
74569         definitions.
74570         (nl_get_alt_digit) [! defined my_strftime]: Define.
74571         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
74572         _nl_get_alt_digit and _nl_get_walt_digit.
74573
74574         * lib/strftime.c (my_strftime): Merge in locale-related changes from
74575         libc. These changes have no effect outside of _LIBC.
74576
74577 2003-04-10  Bruno Haible  <bruno@clisp.org>
74578
74579         * modules/findprog: New file.
74580         * MODULES.html.sh (func_all_modules): Add it.
74581
74582 2003-04-10  Bruno Haible  <bruno@clisp.org>
74583
74584         * m4/findprog.m4: New file.
74585         * m4/eaccess.m4: New file.
74586
74587 2003-04-10  Bruno Haible  <bruno@clisp.org>
74588
74589         * lib/findprog.h: New file, from GNU gettext.
74590         * lib/findprog.c: New file, from GNU gettext.
74591
74592 2003-04-05  Jim Meyering  <jim@meyering.net>
74593
74594         Merge changes from Coreutils.
74595
74596         * lib/exclude.h (PARAMS): Remove definition and uses.
74597         * lib/exclude.c: Remove uses of `PARAMS'.
74598
74599         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
74600         Add test-cases for DOS filenames. Declare program_name.
74601         (main): Set up program_name.  Patch by Rich Dawe.
74602
74603         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
74604         error from mntctl.
74605         Use mntctl's return value to drive the entry-processing loop, since
74606         we can't rely on the value of the vmt_length member in the last
74607         entry.  On some systems doing so could result in exhausting
74608         virtual memory.  Based in part on a patch from Mike Jetzer.
74609
74610 2003-04-04  Bruno Haible  <bruno@clisp.org>
74611
74612         * modules/linebreak: New file.
74613         * MODULES.html.sh (func_all_modules): Add it.
74614
74615 2003-04-04  Bruno Haible  <bruno@clisp.org>
74616
74617         * m4/linebreak.m4: New file.
74618
74619 2003-04-04  Bruno Haible  <bruno@clisp.org>
74620
74621         * lib/linebreak.h: New file, from GNU gettext.
74622         * lib/linebreak.c: New file, from GNU gettext with slight
74623         modifications.
74624         * lib/lbrkprop.h: New file, from GNU gettext.
74625
74626 2003-04-03  Bruno Haible  <bruno@clisp.org>
74627
74628         * modules/utf8-ucs4: New file.
74629         * modules/utf16-ucs4: New file.
74630         * modules/ucs4-utf8: New file.
74631         * modules/ucs4-utf16: New file.
74632         * MODULES.html.sh (func_all_modules): Add them.
74633
74634 2003-04-03  Bruno Haible  <bruno@clisp.org>
74635
74636         * m4/utf-ucs4.m4: New file.
74637         * m4/ucs4-utf.m4: New file.
74638
74639 2003-04-03  Bruno Haible  <bruno@clisp.org>
74640
74641         * lib/utf8-ucs4.h: New file, from GNU gettext.
74642         * lib/utf16-ucs4.h: New file, from GNU gettext.
74643         * lib/ucs4-utf8.h: New file, from GNU gettext.
74644         * lib/ucs4-utf16.h: New file, from GNU gettext.
74645
74646 2003-04-02  Bruno Haible  <bruno@clisp.org>
74647
74648         * modules/binary-io: New file.
74649         * MODULES.html.sh (func_all_modules): Add it.
74650
74651 2003-04-02  Bruno Haible  <bruno@clisp.org>
74652
74653         * lib/binary-io.h: New file, from GNU gettext.
74654
74655 2003-04-01  Bruno Haible  <bruno@clisp.org>
74656
74657         * modules/pathname: New file.
74658         * MODULES.html.sh (func_all_modules): Add it.
74659
74660 2003-04-01  Bruno Haible  <bruno@clisp.org>
74661
74662         * lib/pathname.h: New file, from GNU gettext.
74663         * lib/concatpath.c: New file, from GNU gettext.
74664
74665 2003-03-30  Bruno Haible  <bruno@clisp.org>
74666
74667         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
74668
74669 2003-03-30  Bruno Haible  <bruno@clisp.org>
74670
74671         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
74672         function chown() doesn't exist.
74673
74674 2003-03-28  Bruno Haible  <bruno@clisp.org>
74675
74676         * modules/copy-file: New file.
74677         * MODULES.html.sh (func_all_modules): Add it.
74678
74679 2003-03-28  Bruno Haible  <bruno@clisp.org>
74680
74681         * m4/copy-file.m4: New file.
74682
74683 2003-03-28  Bruno Haible  <bruno@clisp.org>
74684
74685         * lib/copy-file.h: New file, from GNU gettext.
74686         * lib/copy-file.c: New file, from GNU gettext.
74687
74688 2003-03-18  Jim Meyering  <jim@meyering.net>
74689
74690         * lib/quote.c (quote_n): Fix typo in comment.
74691
74692 2003-03-18  Bruno Haible  <bruno@clisp.org>
74693
74694         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
74695         checking.
74696         * m4/onceonly_2_57.m4: Likewise.
74697
74698 2003-03-17  Bruno Haible  <bruno@clisp.org>
74699
74700         * m4/onceonly.m4: Require autoconf 2.54 or newer.
74701         (m4_quote): Remove macro.
74702         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
74703
74704 2003-03-14  Jim Meyering  <jim@meyering.net>
74705
74706         Merge changes from Coreutils.
74707         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
74708         to be const, in order to avoid warnings.
74709         (obstack_room): Likewise.
74710         (obstack_empty_p): Likewise.
74711
74712 2003-03-14  Bruno Haible  <bruno@clisp.org>
74713
74714         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
74715         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
74716
74717 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74718
74719         Merge changes from Bison.
74720         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
74721         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
74722         when compiling Bison 1.875's `bitset bset = obstack_alloc
74723         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
74724         * lib/hash.c: Include <stdbool.h> unconditionally.
74725
74726 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74727
74728         * m4/onceonly.m4 (m4_quote): New macro.
74729         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
74730         Quote AC_FOREACH variable-expansions properly.
74731
74732 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74733
74734         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
74735
74736 2003-03-09  Paul Eggert  <eggert@twinsun.com>
74737
74738         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
74739         Reported by Bruce Becker; see:
74740         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
74741
74742 2003-03-03  Paul Eggert  <eggert@twinsun.com>
74743             Bruno Haible  <bruno@clisp.org>
74744
74745         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
74746         Reported by John Hughes, see
74747         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
74748
74749 2003-02-20  Bruno Haible  <bruno@clisp.org>
74750
74751         * MODULES.html.sh (func_all_modules): Add poll.
74752
74753 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74754
74755         * modules/poll: New file.
74756
74757 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74758
74759         * lib/poll_.h: New file.
74760         * lib/poll.c: New file.
74761
74762 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74763
74764         * m4/poll.m4: New file.
74765
74766 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74767
74768         * modules/mathl: New file.
74769
74770 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74771
74772         * lib/mathl.h: New file.
74773         * lib/acosl.c: New file.
74774         * lib/asinl.c: New file.
74775         * lib/atanl.c: New file.
74776         * lib/ceill.c: New file.
74777         * lib/cosl.c: New file.
74778         * lib/expl.c: New file.
74779         * lib/floorl.c: New file.
74780         * lib/frexpl.c: New file.
74781         * lib/ldexpl.c: New file.
74782         * lib/logl.c: New file.
74783         * lib/sincosl.c: New file.
74784         * lib/sinl.c: New file.
74785         * lib/sqrtl.c: New file.
74786         * lib/tanl.c: New file.
74787         * lib/trigl.c: New file.
74788         * lib/trigl.h: New file.
74789
74790 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74791
74792         * m4/mathl.m4: New file.
74793
74794 2003-02-18  Bruno Haible  <bruno@clisp.org>
74795
74796         * MODULES.html.sh (func_all_modules): Add mathl.
74797
74798 2003-02-17  Bruno Haible  <bruno@clisp.org>
74799
74800         * modules/mkdtemp: New module.
74801         * MODULES.html.sh (func_all_modules): Add it.
74802
74803 2003-02-17  Bruno Haible  <bruno@clisp.org>
74804
74805         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
74806
74807 2003-02-17  Bruno Haible  <bruno@clisp.org>
74808
74809         * lib/mkdtemp.h: New file, from GNU gettext.
74810         * lib/mkdtemp.c: New file, from GNU gettext.
74811
74812 2003-02-02  Jim Meyering  <jim@meyering.net>
74813
74814         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
74815         e.g. glibc-2.2.93.
74816
74817 2003-01-31  Bruno Haible  <bruno@clisp.org>
74818
74819         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
74820         'rpl_rename'.
74821         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
74822         'rpl_strnlen'.
74823         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
74824         'rpl_strtod'.
74825         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
74826         'rpl_utime'.
74827
74828 2003-01-31  Bruno Haible  <bruno@clisp.org>
74829
74830         * lib/rename.c: #undef rename before defining rpl_rename.
74831         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
74832
74833 2003-01-30  Bruno Haible  <bruno@clisp.org>
74834
74835         * modules/vasnprintf, modules/vasprintf: New modules.
74836         * MODULES.html.sh (func_all_modules): Add them.
74837
74838 2003-01-30  Bruno Haible  <bruno@clisp.org>
74839
74840         * m4/signed.m4: New file, from GNU gettext.
74841         * m4/longdouble.m4: New file, from GNU gettext.
74842         * m4/wchar_t.m4: New file, from GNU gettext.
74843         * m4/wint_t.m4: New file, from GNU gettext.
74844         * m4/vasnprintf.m4: New file.
74845         * m4/vasprintf.m4: New file.
74846
74847 2003-01-30  Bruno Haible  <bruno@clisp.org>
74848
74849         * lib/printf-args.h: New file, from GNU gettext.
74850         * lib/printf-args.c: New file, from GNU gettext.
74851         * lib/printf-parse.h: New file, from GNU gettext.
74852         * lib/printf-parse.c: New file, from GNU gettext.
74853         * lib/vasnprintf.h: New file, from GNU gettext.
74854         * lib/vasnprintf.c: New file, from GNU gettext.
74855         * lib/asnprintf.c: New file, from GNU gettext.
74856         * lib/vasprintf.h: New file, from GNU gettext with modifications.
74857         * lib/vasprintf.c: New file, from GNU gettext.
74858         * lib/asprintf.c: New file, from GNU gettext.
74859
74860 2003-01-29  Bruno Haible  <bruno@clisp.org>
74861
74862         * modules/stpncpy: New module.
74863         * MODULES.html.sh (func_all_modules): Add it.
74864
74865 2003-01-29  Bruno Haible  <bruno@clisp.org>
74866
74867         * m4/stpncpy.m4: New file.
74868
74869 2003-01-29  Bruno Haible  <bruno@clisp.org>
74870
74871         * lib/stpncpy.h: New file, from GNU gettext with modifications.
74872         * lib/stpncpy.c: New file, from GNU gettext with modifications.
74873
74874 2003-01-28  Bruno Haible  <bruno@clisp.org>
74875
74876         * modules/c-ctype: New module.
74877         * MODULES.html.sh (func_all_modules): Add it.
74878
74879 2003-01-28  Bruno Haible  <bruno@clisp.org>
74880
74881         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
74882         Paul Eggert.
74883         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
74884         Paul Eggert.
74885
74886 2003-01-27  Bruno Haible  <bruno@clisp.org>
74887
74888         * modules/xsetenv: New module.
74889         * MODULES.html.sh (func_all_modules): Add it.
74890
74891 2003-01-27  Bruno Haible  <bruno@clisp.org>
74892
74893         * lib/xsetenv.h: New file, from GNU gettext.
74894         * lib/xsetenv.c: New file, from GNU gettext.
74895
74896 2003-01-23  Jim Meyering  <jim@meyering.net>
74897
74898         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
74899         from working on systems without dirfd (at least Irix and OSF1/Tru64).
74900
74901 2003-01-23  Bruno Haible  <bruno@clisp.org>
74902
74903         * modules/minmax: New module.
74904         * MODULES.html.sh (func_all_modules): Add it.
74905
74906 2003-01-23  Bruno Haible  <bruno@clisp.org>
74907
74908         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
74909         Eggert.
74910
74911 2003-01-22  Bruno Haible  <bruno@clisp.org>
74912
74913         * modules/exit: New module.
74914         * MODULES.html.sh (func_all_modules): Add it.
74915
74916 2003-01-22  Bruno Haible  <bruno@clisp.org>
74917
74918         * lib/exit.h: New file, from GNU gettext.
74919
74920 2003-01-19  Bruno Haible  <bruno@clisp.org>
74921
74922         * gnulib-tool: Recognize option --extract-maintainer.
74923         (func_get_maintainer): New function.
74924         * modules/*: Add Maintainer entry.
74925
74926 2003-01-16  Jim Meyering  <jim@meyering.net>
74927
74928         * m4/regex.m4: The `regex' struct is both input and output.
74929         Initialize it before each use.  Patch by Tim Waugh.
74930
74931 2003-01-16  Bruno Haible  <bruno@clisp.org>
74932
74933         * MODULES.html.sh: Add a table of contents. Add the module name as
74934         leftmost column. Add hyperlinks.
74935
74936 2003-01-15  Bruno Haible  <bruno@clisp.org>
74937
74938         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
74939
74940 2003-01-15  Bruno Haible  <bruno@clisp.org>
74941
74942         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
74943         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
74944         suffix.
74945
74946 2003-01-15  Bruno Haible  <bruno@clisp.org>
74947
74948         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
74949
74950 2003-01-15  Bruno Haible  <bruno@clisp.org>
74951
74952         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
74953         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
74954
74955 2003-01-14  Jim Meyering  <jim@meyering.net>
74956
74957         * lib/same.c (same_name): Tweak a comment.
74958
74959 2003-01-14  Bruno Haible  <bruno@clisp.org>
74960
74961         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
74962         when a string comparison is sufficient.
74963
74964 2003-01-14  Bruno Haible  <bruno@clisp.org>
74965
74966         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
74967         'unsigned int'.
74968
74969 2003-01-14  Bruno Haible  <bruno@clisp.org>
74970
74971         * lib/hash-pjw.c: Add comment about low quality of this function.
74972
74973 2003-01-13  Bruno Haible  <bruno@clisp.org>
74974
74975         * modules/stpcpy: Distribute lib/stpcpy.h.
74976         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
74977
74978 2003-01-13  Bruno Haible  <bruno@clisp.org>
74979
74980         * modules/*: Add a description.
74981         * modules/strpbrk: Fix Makefile.am snippet.
74982         * modules/strtoimax: Fix dependencies.
74983         * modules/strtoumax: Likewise.
74984
74985 2003-01-13  Bruno Haible  <bruno@clisp.org>
74986
74987         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
74988         * modules/alloca (Makefile.am): All object files depend on alloca.h.
74989         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
74990
74991 2003-01-13  Bruno Haible  <bruno@clisp.org>
74992
74993         * gnulib-tool (func_create_testdir): Store config/* files in the main
74994         directory.
74995         * config.rpath: Move to ...
74996         * config/config.rpath: ... here.
74997         * modules/gettext: Contains config/config.rpath, not config.rpath.
74998         * modules/iconv: Likewise.
74999
75000 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75001
75002         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75003         to avoid collisions with libcurses and libreadline.
75004
75005         * m4/getstr.m4: Remove.
75006         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
75007
75008 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75009
75010         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75011         to avoid collisions with libcurses and libreadline.
75012
75013         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
75014         * lib/getstr.h, getstr.c: Remove.
75015         * lib/getline.c: Include "getline.h", to check interface.
75016         Move body of old getstr.c here: this defines MIN_CHUNK and
75017         declares getdelim2, which is renamed from getstr.
75018         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
75019
75020         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
75021         All uses changed.
75022         * lib/linebuffer.h: Likewise.
75023         (readline): Remove backward-compatibility macro.
75024
75025 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75026
75027         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75028         to avoid collisions with libcurses and libreadline.
75029         * getstr: Remove.
75030         * MODULES.html.sh: Remove getstr.
75031         * modules/getline: Depend on unlocked-io, not getstr.
75032
75033 2003-01-12  Jim Meyering  <jim@meyering.net>
75034
75035         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
75036
75037 2003-01-10  Bruno Haible  <bruno@clisp.org>
75038
75039         * modules/alloca: Change Makefile.am requirements. Simplify Include
75040         requirements. Add lib/alloca_.h to file list.
75041
75042 2003-01-10  Bruno Haible  <bruno@clisp.org>
75043
75044         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
75045
75046 2003-01-10  Bruno Haible  <bruno@clisp.org>
75047
75048         * lib/alloca_.h: New file.
75049         * lib/getdate.y: Unconditionally include alloca.h.
75050         * lib/makepath.c: Likewise.
75051         * lib/setenv.c: Likewise.
75052         * lib/userspec.c: Likewise.
75053
75054 2003-01-09  Karl Berry  <karl@gnu.org>
75055
75056         * MODULES.html.sh: include `dirname $0` in PATH, to find
75057         gnulib-tool.
75058
75059 2003-01-09  Bruno Haible  <bruno@clisp.org>
75060
75061         * modules/stdbool: Change configure.ac, Makefile.am requirements.
75062         Simplify Include requirements. Add lib/stdbool.h.in to file list.
75063
75064 2003-01-09  Bruno Haible  <bruno@clisp.org>
75065
75066         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
75067
75068 2003-01-09  Bruno Haible  <bruno@clisp.org>
75069
75070         * lib/stdbool.h.in: New file.
75071
75072 2003-01-09  Bruno Haible  <bruno@clisp.org>
75073
75074         * gnulib-tool (func_all_modules): Ignore files ending in ~.
75075         * MODULES.html.sh: Likewise.
75076
75077 2003-01-08  Jim Meyering  <jim@meyering.net>
75078
75079         * lib/full-write.c: Undefine and define-away `const' after inclusion
75080         of errno.h, not before.  Suggestion from Bruno Haible.
75081
75082 2003-01-08  Bruno Haible  <bruno@clisp.org>
75083
75084         * modules/full-read: Depend on full-write.
75085
75086 2003-01-08  Bruno Haible  <bruno@clisp.org>
75087
75088         * lib/safe-read.c: Include specification header first, to ensure its
75089         selfcontainedness.
75090         * lib/full-write.c: Likewise.
75091
75092 2003-01-07  Jim Meyering  <jim@meyering.net>
75093
75094         * lib/full-write.c: Rework so that it may serve to define full_read,
75095         too.
75096         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
75097
75098 2003-01-07  Bruno Haible  <bruno@clisp.org>
75099
75100         * lib/strtoimax.c: Include <stdint.h> as an alternative to
75101         <inttypes.h>.
75102         * lib/xstrtol.h: Likewise.
75103         * lib/xstrtoimax.c: Likewise.
75104         * lib/xstrtoumax.c: Likewise.
75105         * lib/human.h: Likewise.
75106
75107         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
75108         on systems that have <inttypes.h> but not <stdint.h>.
75109
75110 2003-01-07  Bruno Haible  <bruno@clisp.org>
75111
75112         * MODULES.html.sh: Add copyright notice.
75113         (missed_files): Omit CVS directory entries.
75114         (func_module): Make it work with sed-3.02.
75115         * MODULES.txt: Remove file.
75116
75117 2003-01-06  Jim Meyering  <jim@meyering.net>
75118
75119         * lib/version-etc.c: Update year in translatable copyright string.
75120
75121 2003-01-03  Karl Berry  <karl@gnu.org>
75122
75123         * config/config.{guess,sub}: update from prep.
75124
75125 2003-01-02  Karl Berry  <karl@gnu.org>
75126
75127         * doc/COPYING.DOC: belatedly updated to 1.2.
75128
75129 2003-01-01  Karl Berry  <karl@gnu.org>
75130
75131         * gnulib-tool (func_verify_module): report module name $module in
75132         error message, not $1.
75133         * gnulib-tool (create-testdir): don't complain if destdir couldn't
75134         be created, only if it doesn't exist.
75135         * gnulib-tool (last_checkin_date): don't expand the $Date here.
75136
75137 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75138
75139         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
75140
75141 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75142
75143         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
75144         memcmp if strcoll doesn't work.
75145
75146 2002-12-31  Bruno Haible  <bruno@clisp.org>
75147
75148         * lib/utime.c (utime_null): No need to call ftruncate if the file was
75149         nonempty.
75150
75151 2002-12-31  Bruno Haible  <bruno@clisp.org>
75152
75153         * lib/memcoll.c (STRCOLL): New macro.
75154         (memcoll): Use it.
75155
75156 2002-12-31  Bruno Haible  <bruno@clisp.org>
75157
75158         * lib/localcharset.h: New file.
75159         * lib/localcharset.c: Include it.
75160         * lib/unicodeio.c: Likewise.
75161
75162 2002-12-31  Bruno Haible  <bruno@clisp.org>
75163
75164         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
75165         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
75166
75167 2002-12-31  Bruno Haible  <bruno@clisp.org>
75168
75169         * lib/getline.h: Include <stddef.h>, for size_t.
75170
75171         * lib/unicodeio.h: Include <stddef.h>, for size_t.
75172         * lib/unicodeio.c: Don't include <stddef.h>.
75173
75174 2002-12-31  Bruno Haible  <bruno@clisp.org>
75175
75176         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
75177         HAVE_TM_ZONE.
75178
75179 2002-12-24  Karl Berry  <karl@gnu.org>
75180
75181         * config/config.guess: update from prep.
75182
75183 2002-12-24  Bruno Haible  <bruno@clisp.org>
75184
75185         General infrasructure.
75186         * m4/README: Rewritten.
75187         * m4/onceonly.m4: New file.
75188         * m4/onceonly_2_57.m4: New file.
75189
75190         Module atexit.
75191         * m4/atexit.m4: New file.
75192
75193         Module strtod.
75194         * m4/strtod.m4: New file.
75195
75196         Module strtol.
75197         * m4/strtol.m4: New file.
75198
75199         Module strtoul.
75200         * m4/strtoul.m4: New file.
75201
75202         Module memchr.
75203         * m4/memchr.m4: New file.
75204
75205         Module memcmp.
75206         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
75207         (jm_FUNC_MEMCMP): Invoke it.
75208
75209         Module memcpy.
75210         * m4/memcpy.m4: New file.
75211
75212         Module memmove.
75213         * m4/memmove.m4: New file.
75214
75215         Module memset.
75216         * m4/memset.m4: New file.
75217
75218         Module strcspn.
75219         * m4/strcspn.m4: New file.
75220
75221         Module strpbrk.
75222         * m4/strpbrk.m4: New file.
75223
75224         Module strstr.
75225         * m4/strstr.m4: New file.
75226
75227         Module strerror.
75228         * m4/strerror.m4: New file.
75229
75230         Module mktime.
75231         * m4/mktime.m4: Renamed from jm-mktime.m4.
75232         (gl_PREREQ_MKTIME): New macro.
75233         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
75234
75235         Module malloc.
75236         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
75237         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
75238         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
75239
75240         Module realloc.
75241         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
75242         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
75243         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
75244
75245         Module strftime.
75246         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
75247         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
75248         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
75249         gl_TM_GMTOFF.
75250         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
75251
75252         Module xalloc.
75253         * m4/xalloc.m4: New file.
75254
75255         Module alloca.
75256         * m4/alloca.m4: New file.
75257
75258         Module putenv.
75259         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
75260         (jm_FUNC_PUTENV): Invoke it.
75261
75262         Module setenv.
75263         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
75264         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
75265         when invoked twice.
75266         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
75267         gt_FUNC_SETENV.
75268
75269         Module memrchr.
75270         * m4/memrchr.m4: New file.
75271
75272         Module stpcpy.
75273         * m4/stpcpy.m4: New file.
75274
75275         Module strcase.
75276         * m4/strcase.m4: New file.
75277
75278         Module strdup.
75279         * m4/strdup.m4: New file.
75280
75281         Module strnlen.
75282         * m4/strnlen.m4: New file.
75283
75284         Module strndup.
75285         * m4/strndup.m4: New file.
75286
75287         Module xstrtod.
75288         * m4/xstrtod.m4: New file.
75289
75290         Module xstrtol.
75291         * m4/xstrtol.m4: New file.
75292
75293         Module getdate.
75294         * m4/getdate.m4: New file.
75295
75296         Module unlocked-io.
75297         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
75298         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
75299         * m4/jm-glibc-io.m4n: Remove file.
75300
75301         Module long-options.
75302         * m4/long-options.m4: New file.
75303
75304         Module md5.
75305         * m4/md5.m4: New file.
75306
75307         Module sha.
75308         * m4/sha.m4: New file.
75309
75310         Module getstr.
75311         * m4/getstr.m4: New file.
75312
75313         Module getline.
75314         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
75315         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
75316         <sys/types.h>, for size_t. Use the function name gnu_getline, not
75317         simply getline. Infoke gl_PREREQ_GETLINE.
75318
75319         Module obstack.
75320         * m4/obstack.m4: New file.
75321
75322         Module hash.
75323         * m4/hash.m4: New file.
75324
75325         Module readtokens.
75326         * m4/readtokens.m4: New file.
75327
75328         Module strverscmp.
75329         * m4/strverscmp.m4: New file.
75330
75331         Module stdbool.
75332         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
75333         OSF/1.
75334
75335         Module strtoll.
75336         * m4/strtoll.m4: New file.
75337
75338         Module strtoull.
75339         * m4/strtoull.m4: New file.
75340
75341         Module strtoimax.
75342         * m4/strtoimax.m4: New file.
75343
75344         Module strtoumax.
75345         * m4/strtoumax.m4: New file.
75346
75347         Module xstrtoimax.
75348         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
75349         jm_AC_PREREQ_XSTRTOIMAX.
75350         Moved the strtol prerequisites to strtol.m4.
75351         Moved the strtoll prerequisites to strtoll.m4.
75352         Moved the strtoimax prerequisites to strtoimax.m4.
75353
75354         Module xstrtoumax.
75355         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
75356         jm_AC_PREREQ_XSTRTOUMAX.
75357         Moved the strtoul prerequisites to strtoul.m4.
75358         Moved the strtoull prerequisites to strtoull.m4.
75359         Moved the strtoumax prerequisites to strtoumax.m4.
75360
75361         Module chown.
75362         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
75363         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
75364
75365         Module dup2.
75366         * m4/dup2.m4: New file.
75367
75368         Module ftruncate.
75369         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
75370         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
75371
75372         Module getgroups.
75373         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
75374         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
75375
75376         Module gettimeofday.
75377         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
75378         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
75379         gl_PREREQ_GETTIMEOFDAY.
75380
75381         Module mkdir.
75382         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
75383         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
75384
75385         Module mkstemp.
75386         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
75387         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
75388         jm_AC_TYPE_UINTMAX_T.
75389         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
75390
75391         Module stat.
75392         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
75393         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
75394
75395         Module lstat.
75396         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
75397         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
75398
75399         Module timespec.
75400         * m4/timespec.m4 (gl_TIMESPEC): New macro.
75401         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
75402         * m4/st_mtim.m4: Indentation.
75403
75404         Module nanosleep.
75405         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
75406         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
75407         gl_PREREQ_NANOSLEEP.
75408
75409         Module regex.
75410         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
75411         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
75412         (gl_REGEX): New macro.
75413
75414         Module rename.
75415         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
75416         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
75417
75418         Module rmdir.
75419         * m4/rmdir.m4: New file.
75420
75421         Module utime.
75422         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
75423         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
75424         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
75425
75426         Module dirname.
75427         * m4/dirname.m4: New file.
75428
75429         Module getopt.
75430         * m4/getopt.m4: New file.
75431
75432         Module unistd-safer.
75433         * m4/unistd-safer.m4: New file.
75434
75435         Module fnmatch.
75436         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
75437         declaration.
75438         (gl_PREREQ_FNMATCH_EXTRA): New macro.
75439         (gl_FUNC_FNMATCH_POSIX): New macro.
75440         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
75441         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
75442         simply fnmatch.
75443
75444         Module exclude.
75445         * m4/exclude.m4: New file.
75446
75447         Module human.
75448         * m4/human.m4: New file.
75449
75450         Module acl.
75451         * m4/acl.m4: Nop.
75452
75453         Module backupfile.
75454         * m4/backupfile.m4: New file.
75455         * m4/d-ino.m4: Indentation.
75456
75457         Module fsusage.
75458         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
75459         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
75460         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
75461
75462         Module dirfd.
75463         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
75464         requirements.
75465
75466         Module euidaccess.
75467         * m4/euidaccess.m4: New file.
75468
75469         Module file-type.
75470         * m4/file-type.m4: New file.
75471
75472         Module fileblocks.
75473         * m4/fileblocks.m4: New file.
75474
75475         Module filemode.
75476         * m4/filemode.m4: New file.
75477
75478         Module isdir.
75479         * m4/isdir.m4: New file.
75480
75481         Module lchown.
75482         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
75483         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
75484
75485         Module makepath.
75486         * m4/makepath.m4: New file.
75487
75488         Module modechange.
75489         * m4/modechange.m4: New file.
75490
75491         Module mountlist.
75492         * m4/mountlist.m4: New file.
75493         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
75494         Indentation.
75495
75496         Module path-concat.
75497         * m4/path-concat.m4: New file.
75498
75499         Module pathmax.
75500         * m4/pathmax.m4: New file.
75501
75502         Module same.
75503         * m4/same.m4: New file.
75504
75505         Module save-cwd.
75506         * m4/save-cwd.m4: New file.
75507
75508         Module savedir.
75509         * m4/savedir.m4: New file.
75510
75511         Module xgetcwd.
75512         * m4/xgetcwd.m4: New file.
75513         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
75514
75515         Module xreadlink.
75516         * m4/xreadlink.m4: New file.
75517
75518         Module safe-read.
75519         * m4/safe-read.m4: New file.
75520
75521         Module safe-write.
75522         * m4/safe-write.m4: New file.
75523
75524         Module closeout.
75525         * m4/closeout.m4: New file.
75526
75527         Module stdio-safer.
75528         * m4/stdio-safer.m4: New file.
75529
75530         Module getpass.
75531         * m4/getpass.m4: New file.
75532
75533         Module getugroups.
75534         * m4/getugroups.m4: New file.
75535
75536         Module group-member.
75537         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
75538         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
75539
75540         Module idcache.
75541         * m4/idcache.m4: New file.
75542
75543         Module userspec.
75544         * m4/userspec.m4: New file.
75545
75546         Module gettime.
75547         * m4/clock_time.m4: New file.
75548         * m4/gettime.m4: New file.
75549
75550         Module settime.
75551         * m4/settime.m4: New file.
75552
75553         Module posixtm.
75554         * m4/posixtm.m4: New file.
75555
75556         Module gethostname.
75557         * m4/gethostname.m4: New file.
75558
75559         Module canon-host.
75560         * m4/canon-host.m4: New file.
75561
75562         Module gettext.
75563         * m4/codeset.m4: New file, from gettext-0.11.5.
75564         * m4/gettext.m4: New file, from gettext-0.11.5.
75565         * m4/glibc21.m4: New file, from gettext-0.11.5.
75566         * m4/iconv.m4: New file, from gettext-0.11.5.
75567         * m4/intdiv0.m4: New file, from gettext-0.11.5.
75568         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
75569         * m4/inttypes.m4: New file, from gettext-0.11.5.
75570         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
75571         * m4/isc-posix.m4: New file, from gettext-0.11.5.
75572         * m4/lcmessage.m4: New file, from gettext-0.11.5.
75573         * m4/lib-ld.m4: New file, from gettext-0.11.5.
75574         * m4/lib-link.m4: New file, from gettext-0.11.5.
75575         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
75576         * m4/progtest.m4: New file, from gettext-0.11.5.
75577         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
75578         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
75579         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
75580
75581         Module localcharset.
75582         * m4/localcharset.m4: New file.
75583
75584         Module hard-locale.
75585         * m4/hard-locale.m4: New file.
75586
75587         Module mbswidth.
75588         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
75589         onceonly macros.
75590         * m4/mbrtowc.m4: Add comment.
75591
75592         Module memcasecmp.
75593         * m4/memcasecmp.m4: New file.
75594
75595         Module memcoll.
75596         * m4/memcoll.m4: New file.
75597
75598         Module unicodeio.
75599         * m4/unicodeio.m4: New file.
75600
75601         Module rpmatch.
75602         * m4/rpmatch.m4: New file.
75603
75604         Module yesno.
75605         * m4/yesno.m4: New file.
75606
75607         Module exitfail.
75608         * m4/exitfail.m4: New file.
75609
75610         Module c-stack.
75611         * m4/c-stack.m4 (gl_C_STACK): New macro.
75612         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
75613
75614         Module error.
75615         * m4/error.m4 (gl_ERROR): New macro.
75616         (jm_PREREQ_ERROR): Use onceonly macros.
75617
75618         Module fatal.
75619         * m4/fatal.m4: New file.
75620
75621         Module getloadavg.
75622         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
75623         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
75624
75625         Module getpagesize.
75626         * m4/getpagesize.m4: New file.
75627
75628         Module getusershell.
75629         * m4/getusershell.m4: New file.
75630
75631         Module physmem.
75632         * m4/physmem.m4: New file.
75633
75634         Module posixver.
75635         * m4/posixver.m4: New file.
75636
75637         Module quotearg.
75638         * m4/quotearg.m4: New file.
75639
75640         Module quote.
75641         * m4/quote.m4: New file.
75642
75643         Module readutmp.
75644         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
75645
75646         Module sig2str.
75647         * m4/sig2str.m4: New file.
75648
75649         Other.
75650         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
75651         ulonglong.m4.
75652         * m4/intmax_t.m4: New file.
75653         * m4/d-type.m4: Indentation.
75654         * m4/jm-macros.m4: Update.
75655         * m4/prereq.m4 (jm_PREREQ): Update.
75656         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
75657         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
75658         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
75659         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
75660         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
75661         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
75662         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
75663         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
75664         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
75665         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
75666         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
75667         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
75668         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
75669         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
75670         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
75671         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
75672         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
75673         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
75674         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
75675
75676 2002-12-24  Bruno Haible  <bruno@clisp.org>
75677
75678         * MODULES.txt: Update according to m4/ changes.
75679
75680         Module gettext.
75681         * config.rpath: New file, from gettext-0.11.5.
75682
75683         * modules/*: New module descriptions.
75684         * gnulib-tool: New file.
75685         * MODULES.html.sh: New file.
75686
75687 2002-12-21  Karl Berry  <karl@gnu.org>
75688
75689         * doc/fdl.texi: update to version 1.2.
75690
75691 2002-12-19  Karl Berry  <karl@gnu.org>
75692
75693         * config/config.guess: update from prep.
75694
75695 2002-12-18  Bruno Haible  <bruno@clisp.org>
75696
75697         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
75698         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
75699
75700 2002-12-17  Bruno Haible  <bruno@clisp.org>
75701
75702         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
75703         stdlib.h, string.h.
75704
75705 2002-12-17  Bruno Haible  <bruno@clisp.org>
75706
75707         * lib/canon-host.c (strdup): Remove unused declaration.
75708
75709         * lib/fsusage.c: Include full_read.h.
75710         (get_fs_usage): Use full_read instead of safe_read.
75711
75712         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
75713
75714 2002-12-12  Karl Berry  <karl@gnu.org>
75715
75716         * config/config.guess: update from prep.
75717
75718 2002-12-11  Bruno Haible  <bruno@clisp.org>
75719
75720         * m4/setenv.m4: New file, from gettext-0.11.5.
75721
75722 2002-12-11  Bruno Haible  <bruno@clisp.org>
75723
75724         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
75725         not unsetenv().
75726         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
75727         modifications:
75728
75729         2002-12-11  Bruno Haible  <bruno@clisp.org>
75730
75731                 * setenv.c (alloca): Fall back to malloc.
75732                 (freea): New macro.
75733                 (setenv): Use freea() to free memory allocated with alloca().
75734
75735         2002-11-13  Bruno Haible  <bruno@clisp.org>
75736
75737                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
75738                 function declarations.
75739                 * unsetenv.c (unsetenv): Likewise.
75740
75741         2002-03-04  Bruno Haible  <bruno@clisp.org>
75742
75743                 Portability to AIX 4.3.3.
75744                 * unsetenv.c: New file, extracted from setenv.c.
75745                 * setenv.c: Move the unsetenv() function to unsetenv.c.
75746
75747         2001-12-20  Bruno Haible  <bruno@clisp.org>
75748
75749                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
75750                 use malloc instead. For SunOS 4.
75751
75752         2001-12-11  Bruno Haible  <bruno@clisp.org>
75753
75754                 * setenv.c: Declare alloca.
75755                 (compar_fn_t): New typedef.
75756                 (KNOWN_VALUE, STORE_VALUE): Use it.
75757
75758         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
75759         setenv.h.
75760
75761 2002-12-10  Paul Eggert  <eggert@twinsun.com>
75762
75763         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
75764         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
75765         Choose values that are less likely to collide with system fnmatch
75766         options.
75767         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
75768         defined (e.g., a pure POSIX system).
75769         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
75770         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
75771
75772 2002-12-06  Paul Eggert  <eggert@twinsun.com>
75773
75774         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
75775         a pain in practice to deal with generated m4 files.  This change
75776         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
75777
75778         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
75779         and jm-glibc-io.m4, as they are no longer a special case.
75780         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
75781         kludge and the auto-generation stuff.  Check only whether the
75782         functions are declared, not whether they exist, since older hosts
75783         that don't declare the functions can't use the optimization anyway.
75784
75785 2002-12-06  Jim Meyering  <jim@meyering.net>
75786
75787         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
75788
75789         Merge in changes from libc's misc/error.c, in preparation
75790         for the merge of gnulib's changes back into libc.
75791
75792         * lib/error.c (_): Define only if not already defined.
75793         Move definition to follow all #include directives.
75794         Include unlocked-io.h only if !_LIBC.
75795         [_LIBC]: Include <libio/libioP.h>.
75796         [USE_IN_LIBIO]: Include <libio/iolibio.h>
75797         (fflush): Tweak definition to use INTUSE.
75798         (putc): Define.
75799
75800 2002-12-05  Paul Eggert  <eggert@twinsun.com>
75801
75802         * lib/alloca.c [defined emacs]: Include "lisp.h".
75803         (xalloc_die) [defined emacs]: New macro.
75804         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
75805         [! defined emacs]: Include <xalloc.h>.
75806         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
75807         (pointer): Typedef to POINTER_TYPE *.
75808         (malloc): Remove decl; we now always use xmalloc.
75809         (alloca): Use old-style definition, since Emacs needs this.
75810         Check for arithmetic overflow when computing combined size.
75811
75812 2002-12-04  Paul Eggert  <eggert@twinsun.com>
75813
75814         Do not generate unlocked-io.h automatically, since it's easier to
75815         maintain it by hand.
75816
75817         * lib/unlocked-io.h: New file, from GNU diffutils,
75818         but with proper copyright notice and attribution.
75819         * lib/gen-uio: Remove.
75820         * lib/Makefile.am: Add copyright notice.
75821         (libfetish_a_SOURCES): Add unlocked-io.h.
75822         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
75823         (DISTCLEANFILES, io_functions): Remove macros.
75824         (EXTRA_DIST): Remove gen_uio.
75825         (unlocked-io.h): Remove rule.
75826
75827 2002-12-04  Jim Meyering  <jim@meyering.net>
75828
75829         Reflect the fact that stat.c and lstat.c are no longer generated.
75830         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
75831         (DISTCLEANFILES): Likewise.
75832         (EXTRA_DIST): Likewise.
75833         (all_local): Don't depend on stat.c or lstat.c.
75834         (stat.c, lstat.c): Remove rules.
75835         (EXTRA_DIST): Remove xstat.in.
75836
75837         * lib/xstat.in: Remove file.  Contents moved into stat.c.
75838         * lib/stat.c: New file.  Contents mostly from xstat.in.
75839         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
75840         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
75841
75842         * lib/safe-read.c: Rework so that it may serve to define safe_write,
75843         too.
75844         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
75845
75846 2002-12-03  Jim Meyering  <jim@meyering.net>
75847
75848         * lib/safe-read.c, safe-write.c: Change variable names and comments,
75849         but not semantics, to minimize the differences between these two files.
75850         (safe_read): Change comment to mention SAFE_READ_ERROR.
75851
75852         * lib/safe-read.c (IS_EINTR): Define.
75853         (safe_read): Use IS_EINTR in place of in-function cpp directives.
75854
75855 2002-12-02  Jim Meyering  <jim@meyering.net>
75856
75857         * lib/safe-read.c (EINTR): Define.
75858         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
75859         (INT_MAX): Provide fallback.
75860         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
75861
75862         * lib/safe-read.h (SAFE_READ_ERROR): Define.
75863
75864 2002-12-02  Bruno Haible  <bruno@clisp.org>
75865
75866         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
75867         Define, taken from safe-read.c.
75868         (INT_MAX): Provide fallback.
75869         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
75870         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
75871
75872         * lib/safe-read.c (EINTR): Remove definition.
75873         (safe_read): Don't use EINTR if it is absent.
75874
75875 2002-12-01  Jim Meyering  <jim@meyering.net>
75876
75877         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
75878         zero.
75879         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
75880
75881 2002-11-27  Paul Eggert  <eggert@twinsun.com>
75882
75883         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
75884         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
75885         with `if (! (value < limit)) abort ();', for readability.
75886
75887 2002-11-26  Karl Berry  <karl@gnu.org>
75888
75889         * lib/strdup.c: copy from libc again, with jim's ok.
75890         * lib/.cppi-disable: re-add strdup.c
75891
75892 2002-11-25  Karl Berry  <karl@gnu.org>
75893
75894         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
75895         instead of "strtol.c".
75896
75897 2002-11-25  Karl Berry  <karl@gnu.org>
75898
75899         * config/install-sh: update from automake for variable quoting, $0 in
75900         error msgs, etc.
75901
75902         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
75903         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
75904         entry.
75905
75906 2002-11-25  Jim Meyering  <jim@meyering.net>
75907
75908         * lib/mktime.c: Sync from libc, now that it has the latest fix.
75909
75910 2002-11-24  Karl Berry  <karl@gnu.org>
75911
75912         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
75913         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
75914
75915 2002-11-24  Jim Meyering  <jim@meyering.net>
75916
75917         Update from coreutils:
75918
75919         * lib/mktime.c: Merge in changes from libc.
75920
75921         Avoid a link-time failure on some Linux systems.
75922         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
75923         (otherwise).
75924         (__mon_yday): Declare with the STATIC attribute.
75925         (__mktime_internal): Likewise.
75926         Based on a report from Greg Schafer.
75927
75928 2002-11-23  Jim Meyering  <jim@meyering.net>
75929
75930         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
75931         Use `unsigned', not `int', as type of index.
75932
75933         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
75934
75935         * lib/fsusage.c: Remove unneeded parentheses around operands of
75936         `defined'.
75937
75938 2002-11-22  Paul Eggert  <eggert@twinsun.com>
75939
75940         * lib/quotearg.h: Allow multiple inclusion by surrounding with
75941         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
75942         so that we can be included first.
75943         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
75944         * lib/quotearg.c: Include quotearg.h immediately after config.h.
75945         No need to include stddef.h or sys/types.h any more.
75946         Surround local include files with "", not "<>".
75947         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
75948         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
75949         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
75950         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
75951         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
75952         (ISPRINT): Remove; no longer needed now that we assume C89.
75953
75954         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
75955         Preserve errno.
75956
75957         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
75958         quotearg_char): Use SIZE_MAX rather than
75959         (size_t) -1 when we are talking about "infinity".
75960
75961         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
75962
75963 2002-11-22  Paul Eggert  <eggert@twinsun.com>
75964
75965         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
75966         hint that one should use `if (! x) abort ();' rather than `assert
75967         (x);', and anyway it's one less thing to worry about configuring.
75968         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
75969         hash_rehash, hash_insert): Use abort rather than assert.
75970
75971 2002-11-22  Bruno Haible  <bruno@clisp.org>
75972
75973         * lib/safe-read.h: Assume C89. Add comments.
75974         (safe_read): Change return type to size_t.
75975         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
75976         byte counts > SSIZE_MAX correctly.
75977         * lib/safe-write.h: New file.
75978         * lib/safe-write.c: New file.
75979         * lib/full-read.h: New file.
75980         * lib/full-read.c: New file.
75981         * lib/full-write.h: Assume C89. Add comments.
75982         * lib/full-write.c: Include safe-write.h.
75983         (full_write): Rewritten to use safe_write.
75984         Suggested by Jim Meyering and Paul Eggert.
75985
75986 2002-11-21  Jim Meyering  <jim@meyering.net>
75987
75988         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
75989
75990         Merge in changes from the coreutils.
75991
75992         2002-09-25  Paul Eggert  <eggert@twinsun.com>
75993         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
75994         <stdint.h>.
75995         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
75996         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
75997         int.  Work more efficiently if X is the same width as uintmax_t.
75998         Do not compare X to -1, to avoid bogus compiler warning.
75999         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
76000         Don't assume that f_frsize and f_bsize are the same type.
76001
76002         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
76003         warning on FreeBSD.
76004
76005         * lib/makepath.c (make_path): Restore umask *before* creating the final
76006         component.
76007         (make_path): Minor reformatting.
76008
76009         * lib/xmalloc.c: Adjust to work with new autoconf macros,
76010         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
76011         HAVE_MALLOC/HAVE_REALLOC.
76012
76013         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
76014         dummy ones.  At least on GNU/Linux systems, `auto' means something
76015         else.
76016         From Michael Stone.
76017
76018 2002-11-21  Bruno Haible  <bruno@clisp.org>
76019
76020         Remove case insensitive option matching.
76021         * lib/argmatch.h (argcasematch): Remove declaration.
76022         (ARGCASEMATCH): Remove macro.
76023         (__xargmatch_internal): Remove case_sensitive argument.
76024         (XARGMATCH): Update.
76025         (XARGCASEMATCH): Remove macro.
76026         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
76027         case_sensitive argument.
76028         (argcasematch): Remove function.
76029         (__xargmatch_internal): Remove case_sensitive argument.
76030         (main): Use XARGMATCH instead of XARGCASEMATCH.
76031
76032         * lib/xmalloc.c: Change compile-time error message. Add comment about
76033         required autoconf version.
76034
76035 2002-11-20  Paul Eggert  <eggert@twinsun.com>
76036
76037         Merge argmatch cleanups from Bison.  Assume C89.
76038
76039         * lib/argmatch.c: Include config.h here, not in argmatch.h.
76040         Include stdlib.h, for EXIT_FAILURE.
76041         Always include <string.h>, since we assume C89.
76042         (EXIT_FAILURE): Remove pre-C89 bug workaround.
76043         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
76044         Include <stddef.h> instead, since it's all we need for size_t.
76045         (PARAMS): Remove.  All uses removed.
76046         (ARRAY_CARDINALITY): Do not bother to #undef.
76047         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
76048         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76049         Remove unnecessary parentheses.
76050         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76051         Insert necessary parentheses.
76052         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
76053         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
76054
76055 2002-11-19  Bruno Haible  <bruno@clisp.org>
76056
76057         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
76058         * lib/mbswidth.h: Include <stddef.h>, for size_t.
76059
76060         * lib/mbswidth.h (PARAMS): Remove macro.
76061         (mbswidth, mbsnwidth): Use ANSI C function declarations.
76062         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
76063
76064         * lib/gcd.h (PARAMS): Remove macro.
76065         (gcd): Use ANSI C function declarations.
76066         * lib/gcd.c (gcd): Likewise.
76067
76068 2002-11-15  Bruno Haible  <bruno@clisp.org>
76069
76070         * lib/strcspn.c: Include <stddef.h>.
76071         (strcspn): Use ANSI C function declaration. Change return type to
76072         size_t. Use NULL.
76073         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
76074         (strpbrk): Use NULL.
76075         * lib/strpbrk.h (PARAMS): Remove macro.
76076         (strpbrk): Use ANSI C function declaration.
76077         * lib/strstr.c: Don't include <sys/types.h>.
76078         * lib/strstr.h (PARAMS): Remove macro.
76079         (strstr): Use ANSI C function declarations.
76080
76081 2002-11-14  Karl Berry  <karl@gnu.org>
76082
76083         * config/mkinstalldirs: `do' on separate line, instead of
76084         `for var; do'.
76085
76086 2002-11-06  Bruno Haible  <bruno@clisp.org>
76087
76088         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
76089         * lib/gcd.c (gcd): Likewise.
76090
76091 2002-11-05  Bruno Haible  <bruno@clisp.org>
76092
76093         * lib/gcd.h: New file, from gettext-0.11.5.
76094         * lib/gcd.c: New file, from gettext-0.11.5.
76095
76096 2002-11-05  Bruno Haible  <bruno@clisp.org>
76097
76098         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76099         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76100         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76101         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76102
76103         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
76104         <libintl.h>.
76105         * lib/makepath.c: Include gettext.h instead of <locale.h> and
76106         <libintl.h>.
76107
76108         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
76109         * lib/human.c: Include gettext.h instead of <libintl.h>.
76110         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
76111         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
76112         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
76113         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
76114         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
76115         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
76116         (textdomain): Remove definition.
76117         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
76118
76119         * lib/long-options.c: Remove include of <libintl.h> and definition of
76120         _.
76121         * lib/same.c: Remove include of <libintl.h> and definition of _.
76122
76123 2002-11-04  Owen Taylor  <otaylor@redhat.com>
76124
76125         * lib/config.charset: A few additions for Solaris.
76126
76127 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76128
76129         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
76130         * lib/localcharset.c (locale_charset): Declare as extern "C".
76131
76132 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76133
76134         * lib/config.charset: msdos in uk_UA uses CP1125.
76135
76136 2002-11-04  Bruno Haible  <bruno@clisp.org>
76137
76138         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
76139         * lib/strcase.h: New file, from GNU gettext-0.11.5.
76140         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
76141         * lib/strstr.h: New file, from GNU gettext-0.11.5.
76142         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
76143
76144 2002-11-04  Bruno Haible  <bruno@clisp.org>
76145
76146         * lib/localcharset.c (locale_charset): Don't return an empty string.
76147
76148 2002-11-04  Bruno Haible  <bruno@clisp.org>
76149
76150         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
76151         aliases.
76152
76153 2002-11-04  Bruno Haible  <bruno@clisp.org>
76154
76155         * lib/config.charset: Update for newest glibc. Add canonical names
76156         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
76157
76158 2002-11-04  Bruno Haible  <bruno@clisp.org>
76159
76160         * lib/config.charset: Add support for NetBSD.
76161
76162 2002-11-04  Bruno Haible  <bruno@clisp.org>
76163
76164         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
76165
76166 2002-11-01  Bruno Haible  <bruno@clisp.org>
76167
76168         * configure.in: Add AC_CONFIG_AUX_DIR call.
76169         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
76170         test/Makefile.
76171         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
76172
76173 2002-09-28  Karl Berry  <karl@gnu.org>
76174
76175         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
76176         installed automake until the next release, since changes have been
76177         made.
76178
76179 2002-09-25  Karl Berry  <karl@gnu.org>
76180
76181         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
76182         * lib/getopt*: copy from libc/posix.
76183         * lib/gettext.h: copy from gettext.
76184         * lib/.cppi-disable: add strdup.c, gettext.h.
76185
76186 2002-09-25  Karl Berry  <karl@gnu.org>
76187
76188         * config/srclist.txt: enable gettext.h check.
76189         * config/config.{guess,sub}: update from prep.
76190         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
76191                 from automake 1.6.3.
76192         See srclist*.
76193
76194 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
76195
76196         * regex.c (PATFETCH): Remove the translating fetch.
76197         (PATFETCH_RAW): Rename to PATFETCH.
76198         (set_image_of_range): New fun.
76199         (SET_RANGE_TABLE_WORK_AREA): Use it.
76200         (regex_compile): Don't translate the pattern chars so eagerly.
76201         Only do it when inserting an `exactn' bytecode or when handling
76202         a char-range.
76203         (mutually_exclusive_p): Avoid empty statement.
76204
76205 2002-07-06  Jim Meyering  <meyering@lucent.com>
76206
76207         * m4/README: Don't mention Makefile.am.in.
76208         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
76209
76210 2002-07-01  Jim Meyering  <meyering@lucent.com>
76211
76212         * lib/c-stack.c: Include sys/time.h.
76213         From Volker Borchert.
76214
76215 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76216
76217         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
76218
76219 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76220
76221         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
76222         New macro.  Use it uniformly instead of
76223         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
76224         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
76225         reported by Vin Shelton.
76226
76227 2002-06-22  Paul Eggert  <eggert@twinsun.com>
76228
76229         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
76230         Do not assume SA_SIGINFO behavior.
76231         Bug reported by Jim Meyering on NetBSD 1.5.2.
76232
76233 2002-06-22  Jim Meyering  <meyering@lucent.com>
76234
76235         * m4/c-stack.m4: New file, from diffutils-2.8.2.
76236         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
76237
76238         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
76239         now that configure.ac uses AC_GNU_SOURCE.
76240         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
76241         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
76242
76243         Update to latest tools.  Suggestions from Paul Eggert.
76244         * m4/stdbool.m4: New file, from diffutils-2.8.2.
76245         * m4/gnu-source.m4: Update from diffutils-2.8.2.
76246         * m4/fnmatch.m4: Likewise.
76247         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
76248         to AC_HEADER_STDBOOL
76249
76250 2002-06-22  Jim Meyering  <meyering@lucent.com>
76251
76252         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
76253         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
76254
76255 2002-06-22  Jim Meyering  <meyering@lucent.com>
76256
76257         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
76258
76259         * lib/exitfail.c, exitfail.h: Likewise.
76260         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
76261
76262         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
76263         of fnmatch.h.
76264         (EXTRA_DIST): Add fnmatch_loop.c.
76265         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
76266
76267         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
76268         * lib/fnmatch.c: Update from diffutils-2.8.2.
76269         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
76270         * lib/fnmatch.h: Remove file.
76271
76272 2002-06-21  Jim Meyering  <meyering@lucent.com>
76273
76274         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
76275         * m4/mbrtowc.m4: Likewise.
76276
76277         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
76278         * m4/mbswidth.m4: Reflect name change:
76279         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
76280         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76281
76282         * m4/lib-link.m4: Update from gettext-0.11.2.
76283         * m4/gettext.m4: Likewise.
76284
76285         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
76286         From Alfred M. Szmidt.
76287
76288 2002-06-18  Paul Eggert  <eggert@twinsun.com>
76289
76290         * lib/file-type.h: Report an error if neither S_ISREG nor
76291         S_IFREG is defined, instead of using a test specific to glibc
76292         2.2.  This should be safe, since POSIX requires S_ISREG and
76293         Unix Version 7 had S_IFREG.  We don't need to check for
76294         <sys/types.h> since we don't use any symbols that it defines.
76295
76296 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
76297
76298         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
76299         $@-t, so that each temporary file name is unique and valid in the first
76300         8 characters, for operation under DOS.
76301
76302 2002-06-15  Paul Eggert  <eggert@twinsun.com>
76303
76304         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
76305
76306 2002-06-15  Jim Meyering  <meyering@lucent.com>
76307
76308         Work even with DJGPP 2.03, which lacks support for symlinks.
76309         From Richard Dawe.
76310         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
76311         is defined.
76312         * lib/lchown.c (S_ISLNK): Likewise.
76313
76314 2002-06-15  Jim Meyering  <meyering@lucent.com>
76315
76316         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
76317         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
76318         have been included before this file.
76319
76320 2002-06-14  Jim Meyering  <meyering@lucent.com>
76321
76322         * lib/file-type.h: Use the version from diffutils-2.8.2.
76323         * lib/file-type.c: Likewise.
76324
76325 2002-06-07  Jim Meyering  <meyering@lucent.com>
76326
76327         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
76328         They're needed at least for NetBSD 1.5.2.
76329         ($statxfs_includes): Include those same headers.
76330         ($statxfs_includes): Include sys/vfs.h if available.
76331         ($statxfs_includes): Likewise for sys/statvfs.h.
76332         Check for the following members in both structs statfs and statvfs:
76333         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
76334
76335 2002-06-01  Jim Meyering  <meyering@lucent.com>
76336
76337         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
76338         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
76339
76340 2002-05-28  Jim Meyering  <meyering@lucent.com>
76341
76342         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
76343         Reported by Volker Borchert.
76344
76345 2002-05-27  Jim Meyering  <meyering@lucent.com>
76346
76347         Fix a problem seen only on nonconforming systems whereby ls.c's
76348         use of localtime, and then of gettimeofday would cause trouble:
76349         the localtime call used to initialize rpl_gettimeofday's save
76350         mechanism would clobber ls's current local time information so
76351         that in any long listing the first file would always be listed
76352         with date 1970-01-01.  Analysis by Volker Borchert.
76353
76354         * lib/gettimeofday.c (localtime): Undefine.
76355         (rpl_localtime): New function.
76356
76357 2002-05-27  Jim Meyering  <meyering@lucent.com>
76358
76359         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
76360         localtime.
76361
76362         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
76363         use the replacement function; it wouldn't resolve at link time.
76364         Reported by Volker Borchert.
76365
76366 2002-05-22  Jim Meyering  <meyering@lucent.com>
76367
76368         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
76369         file-type.h.
76370         * lib/file-type.h: New file.
76371         * lib/file-type.c (file_type): New file/function.  Extracted from
76372         diffutils.
76373
76374 2002-04-30  Jim Meyering  <meyering@lucent.com>
76375
76376         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
76377
76378 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76379
76380         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
76381
76382 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76383
76384         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
76385         Do not check for alloca.h (no longer used) or stdbool.h (was never
76386         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
76387
76388 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76389
76390         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
76391
76392 2002-04-29  Jim Meyering  <meyering@lucent.com>
76393
76394         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
76395         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
76396         Use AC_FUNC_STRNLEN here instead.
76397
76398         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
76399         With autoconf-2.53a, it's part of AC_PROG_CC.
76400
76401 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76402
76403         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
76404         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
76405
76406 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76407
76408         * lib/sig2str.h, lib/sig2str.c: New files.
76409         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
76410
76411 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76412
76413         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
76414         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
76415         of 127, since 64 is the largest conceivable number for ancient
76416         nonstandard hosts.
76417         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
76418
76419 2002-04-28  Jim Meyering  <meyering@lucent.com>
76420
76421         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
76422
76423 2002-04-24  Jim Meyering  <meyering@lucent.com>
76424
76425         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
76426         (jm_PREREQ): Use it.
76427
76428         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
76429         mach/mach.h fcntl.h.
76430         Check for this function: setlocale.
76431
76432 2002-04-24  Jim Meyering  <meyering@lucent.com>
76433
76434         * lib/gettext.h: New file, from Gettext.
76435         * lib/Makefile.am (INCLUDES): Remove -I../intl.
76436         (libfetish_a_SOURCES): Add gettext.h.
76437
76438 2002-04-16  Jim Meyering  <meyering@lucent.com>
76439
76440         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
76441         ut_pid, ut_id, ut_exit.
76442
76443 2002-04-16  Jim Meyering  <meyering@lucent.com>
76444
76445         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
76446         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
76447         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
76448
76449 2002-04-12  Jim Meyering  <meyering@lucent.com>
76450
76451         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
76452         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
76453         existence of the getmntinfo function.  Needed for Darwin 5.3.
76454
76455         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
76456         This is necessary at least on Darwin 5.3.
76457
76458         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
76459         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
76460         strnlen.o in the library, and that makes some versions of ranlib
76461         object.
76462
76463 2002-04-12  Jim Meyering  <meyering@lucent.com>
76464
76465         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
76466
76467 2002-04-09  Jim Meyering  <meyering@lucent.com>
76468
76469         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
76470         to be more precise.  Rather than saying we're checking whether the
76471         function `works', say what we're testing.
76472         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
76473         Reported by Bruno Haible.
76474
76475 2002-03-10  Jim Meyering  <meyering@lucent.com>
76476
76477         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
76478         Suggestion from Santiago Vila.
76479
76480 2002-03-08  Jim Meyering  <meyering@lucent.com>
76481
76482         * lib/rename.c: Mention that this wrapper is needed also on
76483         mips-dec-ultrix4.4 systems.
76484
76485 2002-03-02  Jim Meyering  <meyering@lucent.com>
76486
76487         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
76488         not HAVE_CLOCK_SETTIME.
76489
76490 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76491
76492         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
76493         Check for clock_settime.
76494
76495 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76496
76497         * lib/nanosleep.h: Rename to....
76498         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
76499
76500         * lib/gettime.c: New file.
76501         * lib/settime.c: New file.
76502         * lib/stime.c: Remove.
76503
76504         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
76505         timespec.h.  Remove nanosleep.h.
76506
76507 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76508
76509         * m4/acl.m4: New file.
76510         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
76511         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
76512
76513 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76514
76515         * lib/acl.c, lib/acl.h: New files.
76516         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
76517
76518 2002-02-24  Jim Meyering  <meyering@lucent.com>
76519
76520         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
76521         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
76522         cause trouble.  Reported by Nelson Beebe.
76523
76524 2002-02-23  Paul Eggert  <eggert@twinsun.com>
76525
76526         * lib/path-concat.c (xpath_concat): Reorder code to pacify
76527         compilers that don't know that xalloc_die never returns.
76528
76529 2002-02-20  Jim Meyering  <meyering@lucent.com>
76530
76531         * lib/getdate.c: Regenerate using bison-1.33.
76532
76533 2002-02-17  Jim Meyering  <meyering@lucent.com>
76534
76535         * config/config.guess (main): Don't use `head -1'; it's no longer
76536         portable. Use `sed 1q' instead.
76537
76538 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
76539
76540         * m4/codeset.m4: Upgrade to gettext-0.11.
76541         * m4/gettext.m4: Upgrade to gettext-0.11.
76542         * m4/glibc21.m4: Upgrade to gettext-0.11.
76543         * m4/iconv.m4: Upgrade to gettext-0.11.
76544         * m4/isc-posix.m4: Upgrade to gettext-0.11.
76545         * m4/lcmessage.m4: Upgrade to gettext-0.11.
76546         * m4/lib-ld.m4: New file, from gettext-0.11.
76547         * m4/lib-link.m4: New file, from gettext-0.11.
76548         * m4/lib-prefix.m4: New file, from gettext-0.11.
76549         * m4/progtest.m4: Upgrade to gettext-0.11.
76550
76551 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76552
76553         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
76554         (jm_PREREQ): Use it.
76555
76556 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76557
76558         * lib/posixver.c, lib/posixver.h: New files.
76559         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76560
76561 2002-02-02  Paul Eggert  <eggert@twinsun.com>
76562             Bruno Haible  <bruno@clisp.org>
76563
76564         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
76565         (fwrite_success_callback): New declaration.
76566         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
76567         print_unicode_char. Call failure callback instead of error.
76568         (fwrite_success_callback): New function.
76569         (exit_failure_callback): New function.
76570         (fallback_failure_callback): New function.
76571         (print_unicode_char): Call unicode_to_mb.
76572
76573 2002-01-26  Jim Meyering  <meyering@lucent.com>
76574
76575         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
76576         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
76577
76578 2002-01-26  Jim Meyering  <meyering@lucent.com>
76579
76580         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
76581
76582 2002-01-22  Paul Eggert  <eggert@twinsun.com>
76583
76584         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
76585
76586 2002-01-22  Jim Meyering  <meyering@lucent.com>
76587
76588         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
76589         Otherwise, some versions of automake would omit the rule that makes
76590         Makefile from Makefile.in.
76591
76592 2002-01-21  Paul Eggert  <eggert@twinsun.com>
76593
76594         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
76595         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76596         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
76597         (memcoll): Set errno to zero if there is no error.
76598
76599         * lib/quotearg.c (quotearg_buffer_restyled):
76600         Fix bug with quoting buffers containing NUL when backslashing escapes.
76601         This bug was exposed by the other changes in this patch.
76602         (quotearg_n_options): New arg ARGSIZE.
76603         All callers changed.
76604         (quoting_options_from_style): New function.
76605         (quotearg_n_style): Use it.
76606         (quotearg_n_style_mem): New function.
76607
76608         * lib/quotearg.h (quotearg_n_style_mem): New function.
76609
76610 2002-01-19  Jim Meyering  <meyering@lucent.com>
76611
76612         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
76613         Remove useless quotes: DF_PROG="df".
76614         * m4/strnlen.m4: New file.
76615
76616 2002-01-16  Paul Eggert  <eggert@twinsun.com>
76617
76618         * lib/backupfile.c (ISDIGIT): Comment fix.
76619         * lib/getdate.y (ISDIGIT): Likewise.
76620         * lib/posixtm.c (ISDIGIT, year): Likewise.
76621         * lib/strverscmp.c (ISDIGIT): Likewise.
76622         * lib/userspec.c (ISDIGIT): Likewise.
76623
76624 2002-01-16  Jim Meyering  <meyering@lucent.com>
76625
76626         * lib/getdate.y: Add three semicolons, each just before a closing
76627         brace. Bison (as of version 1.31) no longer papers over that mistake.
76628
76629 2002-01-05  Jim Meyering  <meyering@lucent.com>
76630
76631         * lib/version-etc.c (version_etc_copyright): Update copyright year.
76632
76633 2001-12-19  Paul Eggert  <eggert@twinsun.com>
76634
76635         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
76636         not silently exit merely because the output buffer happens to
76637         have nothing pending.
76638
76639 2001-12-18  Paul Eggert  <eggert@twinsun.com>
76640
76641         See the big note in ../ChangeLog.
76642         * lib/human.c (suffixes): Prefer K to k for 1024.
76643         (generate_suffix_backwards): New function.
76644         (human_readable_inexact): Use it.
76645         * lib/xstrtol.c (__xstrtol): If there is no number but there
76646         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
76647         Accept 'K' as well as 'k'.
76648
76649 2001-12-15  Jim Meyering  <meyering@lucent.com>
76650
76651         * lib/regex.h (__restrict_arr): Update from libc.
76652
76653         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
76654         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
76655         (STREQ): Define.
76656
76657 2001-12-14  Jim Meyering  <meyering@lucent.com>
76658
76659         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
76660         Suggestion from Bruno Haible.
76661
76662 2001-12-10  Jim Meyering  <meyering@lucent.com>
76663
76664         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
76665         xrealloc, Instead, include "xalloc.h".
76666         (initbuffer): Don't cast xmalloc return value to char*.
76667         (readline): Reword comment.
76668         Don't cast xrealloc return value to char*
76669         Return NULL, not 0.
76670
76671 2001-12-09  Jim Meyering  <meyering@lucent.com>
76672
76673         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
76674         about `signed and unsigned type in conditional expression'.
76675         * lib/posixtm.c (posix_time_parse): Likewise.
76676
76677         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
76678
76679         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
76680         to avoid a pedantic warning.
76681
76682         * lib/getstr.c: Don't include assert.h.
76683         (getstr): Remove warning-evoking assertions.
76684         Return -1 if offset parameter is out of bounds.
76685         Change the type of a local from int to size_t.
76686
76687         * lib/strftime.c (my_strftime_localtime_r): Include this function
76688         definition in the `#if ! HAVE_TM_GMTOFF' block.
76689
76690         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
76691         Include xalloc.h instead.
76692
76693 2001-12-02  Jim Meyering  <meyering@lucent.com>
76694
76695         * lib/tempname.c: Don't declare getenv, thus reverting the change of
76696         2001-11-18.  It's no longer necessary, now that stdlib.h is always
76697         included.
76698
76699         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
76700         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
76701
76702 2001-11-30  Akim Demaille  <akim@epita.fr>
76703
76704         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
76705         before being defined.
76706
76707 2001-11-27  Paul Eggert  <eggert@twinsun.com>
76708
76709         * lib/quotearg.h (quotearg_n, quotearg_n_style):
76710         First arg is int, not unsigned.
76711         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
76712         (SIZE_MAX, UINT_MAX): New macros.
76713         (quotearg_n_options): Abort if N is negative.
76714         Avoid overflow check on hosts where size_t is 64 bits and int
76715         is 32 bits, as overflow is impossible there.
76716         Fix off-by-one typo that caused unnecessary reallocation.
76717
76718 2001-11-27  Jim Meyering  <meyering@lucent.com>
76719
76720         * lib/tempname.c: Merge with version from libc.
76721         * lib/regex.c: Likewise.
76722
76723         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
76724         systems for which STDC_HEADERS is 0, it was not included, resulting in
76725         a warning about an integer-to-pointer conversion problem with getenv.
76726         Reported by Volker Borchert.
76727
76728 2001-11-26  Jim Meyering  <meyering@lucent.com>
76729
76730         * lib/gtod.h: Remove file.
76731         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
76732         * lib/gettimeofday.c: Don't include gtod.h.
76733         (GTOD_init): Remove function.
76734         (rpl_gettimeofday): Do its job here instead, rather than aborting.
76735         Suggestion from Volker Borchert.
76736
76737 2001-11-23  Jim Meyering  <meyering@lucent.com>
76738
76739         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
76740         it.
76741         * lib/hash.c (struct hash_table): Define it here instead.
76742
76743 2001-11-22  Jim Meyering  <meyering@lucent.com>
76744
76745         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
76746
76747 2001-11-20  Jim Meyering  <meyering@lucent.com>
76748
76749         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
76750         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
76751
76752 2001-11-19  Jim Meyering  <meyering@lucent.com>
76753
76754         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
76755         directory.  Use "conftestXXXXXX" as the template.
76756         Suggestion from Paul Eggert.
76757
76758         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
76759         immediately, so the test doesn't mistakenly hit the max-open-files
76760         limit.
76761
76762 2001-11-18  Paul Eggert  <eggert@twinsun.com>
76763
76764         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
76765         (TEMPORARIES): New macro.
76766         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
76767         removes an artificial limitation (e.g. HP-UX 10.20, where
76768         TMP_MAX is 17576).
76769
76770 2001-11-18  Jim Meyering  <meyering@lucent.com>
76771
76772         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
76773
76774 2001-11-18  Jim Meyering  <meyering@lucent.com>
76775
76776         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
76777         on SunOS 4.
76778
76779         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
76780         files will be created before anything else.
76781
76782 2001-11-17  Paul Eggert  <eggert@twinsun.com>
76783
76784         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
76785         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
76786
76787 2001-11-17  Jim Meyering  <meyering@lucent.com>
76788
76789         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
76790         Prompted by a report from Bob Proulx.
76791
76792         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
76793         Instead, require UTILS_FUNC_MKSTEMP.
76794
76795 2001-11-17  Jim Meyering  <meyering@lucent.com>
76796
76797         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
76798         Now, that's done as part of AC_FUNC_STRTOD.
76799
76800 2001-11-17  Jim Meyering  <meyering@lucent.com>
76801
76802         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
76803         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
76804         rather than group writable.  Patch by Juan F. Codagnone.
76805
76806         * lib/readtokens.c: Remove explicit declarations of xmalloc and
76807         xrealloc, Instead, include "xalloc.h".
76808
76809         * lib/mountlist.c: Include unlocked-io.h after all system headers.
76810         Remove explicit declarations of xmalloc, xrealloc,
76811         and xstrdup.  Instead, include "xalloc.h".
76812
76813         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
76814         unlocked-io.h.
76815         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
76816         Likewise.
76817         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
76818
76819         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
76820         Reported by Padraig Brady.
76821
76822         * lib/mkstemp.c: #undef mkstemp.
76823         Include config.h.
76824         (rpl_mkstemp): Rename from mkstemp.
76825         Protoize.
76826
76827 2001-11-16  Jim Meyering  <meyering@lucent.com>
76828
76829         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
76830         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
76831         determine the amount of total physical memory, use pstat_getstatic.
76832         HPUX-11 doesn't define _SC_PHYS_PAGES.
76833         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
76834         If sysconf couldn't be used to determine the amount of available
76835         physical memory, use both pstat_getstatic and pstat_getdynamic.
76836         Based on a patch from Bob Proulx.
76837
76838 2001-11-10  Jim Meyering  <meyering@lucent.com>
76839
76840         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
76841         (jm_PREREQ): Use it.
76842
76843 2001-11-09  Jim Meyering  <meyering@lucent.com>
76844
76845         * m4/jm-macros.m4: Require autoconf-2.52f.
76846         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
76847         Use these AC_-prefixed names, not the AM_-prefixed ones.
76848
76849         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
76850
76851 2001-11-05  Jim Meyering  <meyering@lucent.com>
76852
76853         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
76854
76855 2001-11-04  Jim Meyering  <meyering@lucent.com>
76856
76857         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
76858         $DEFS.
76859
76860 2001-11-03  Jim Meyering  <meyering@lucent.com>
76861
76862         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
76863         of AC_DEFUN.
76864
76865         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
76866         know the name of the variable in the macro definition.
76867
76868 2001-11-03  Jim Meyering  <meyering@lucent.com>
76869
76870         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
76871         in argmatch_to_argument call.
76872
76873         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
76874         argument.
76875
76876         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
76877         e.g., a fault due to an attempt to free a NULL pointer.
76878
76879 2001-11-01  Jim Meyering  <meyering@lucent.com>
76880
76881         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
76882         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
76883
76884 2001-11-01  Jim Meyering  <meyering@lucent.com>
76885
76886         * lib/dirfd.c, lib/dirfd.h: New files.
76887         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
76888
76889         * lib/hash.c (hash_print) [TESTING]: Clean up.
76890
76891 2001-10-22  Paul Eggert  <eggert@twinsun.com>
76892
76893         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
76894         to avoid a warning if -Wall.
76895
76896 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
76897
76898         * README: New file
76899         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
76900         (per RMS's instructions, this is now the canonical source)
76901         * lgpl/, gpl/: New directories.
76902
76903 2001-10-21  Paul Eggert  <eggert@twinsun.com>
76904
76905         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
76906
76907 2001-10-21  Jim Meyering  <meyering@lucent.com>
76908
76909         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
76910         this code would end up calling gettext even in packages built
76911         with --disable-nls.
76912         * lib/getopt.c (_): Likewise.
76913         * lib/regex.c (_): Likewise.
76914
76915 2001-10-20  Paul Eggert  <eggert@twinsun.com>
76916
76917         * m4/error.m4 (jm_PREREQ_ERROR):
76918         Do not invoke AC_CHECK_FUNCS with strerror_r, as
76919         AC_FUNC_STRERROR_R does that.
76920         Check for strerror declaration.
76921
76922         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
76923         are supposed to have them these days.
76924         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
76925         Merge changes from latest Autoconf CVS.
76926         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
76927         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
76928         POSIX decided to standardize on the int flavor of strerror_r.
76929
76930 2001-10-20  Paul Eggert  <eggert@twinsun.com>
76931
76932         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
76933         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
76934         Use strerror_r that is only a macro, even if it is not a function.
76935         (strerror): Check for HAVE_DECL_STRERROR before declaring.
76936         (private_strerror): Use prototypes, not old-style function definition.
76937         (print_errno_message): New function.
76938         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
76939         char*-flavored one.
76940         (error_tail, error, error_at_line): Use it.
76941
76942 2001-10-11  Jim Meyering  <meyering@lucent.com>
76943
76944         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
76945         and quote_n (1, ... to avoid clobbering a buffer.
76946
76947 2001-10-05  Jim Meyering  <meyering@lucent.com>
76948
76949         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
76950         hash-pjw.h.
76951         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
76952         * lib/hash-pjw.h: New file.
76953
76954 2001-09-30  Jim Meyering  <meyering@lucent.com>
76955
76956         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
76957         `struct fsstat' has the `f_fstypename' member.
76958         Use that to define FS_TYPE, which is now used to make
76959         the getfsstat link test tighter.
76960
76961 2001-09-30  Jim Meyering  <meyering@lucent.com>
76962
76963         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
76964         Include <sys/ucred.h>, for Apple Darwin.
76965         Include sys/mount.h and sys/fs_types.h only if available.
76966         (FS_TYPE): Define.
76967         (read_filesystem_list): Use FS_TYPE.
76968
76969 2001-09-29  Paul Eggert  <eggert@twinsun.com>
76970
76971         * lib/exclude.c (excluded_filename): 0 -> false, since it's
76972         a boolean context.
76973
76974 2001-09-29  Jim Meyering  <meyering@lucent.com>
76975
76976         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
76977         [one-argument getmntent function]): Include stdio.h before mntent.h.
76978         SunOS 4.1.x needs it for the declaration of `FILE'.
76979         Patch by Volker Borchert.
76980
76981         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
76982         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
76983         sys/fs_types.h, and make the link-test for getfsstat guard #include
76984         directives with appropriate #if HAVE_*_H tests so that we can
76985         detect getfsstat on Apple Darwin1.3.7 systems.
76986         Reported by Nelson Beebe.
76987         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
76988
76989 2001-09-28  Paul Eggert  <eggert@twinsun.com>
76990
76991         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
76992         #defines strtoimax.  Also treat the other strto* functions
76993         like strtoimax.
76994
76995         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
76996         Check for strtoul and strtoumax,
76997         as those declarations are made even in the signed case.
76998         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
76999         Likewise, for strtol and strtoimax.
77000
77001 2001-09-28  Paul Eggert  <eggert@twinsun.com>
77002
77003         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
77004         #defines strtoimax.  Also treat the other strto* functions
77005         like strtoimax.
77006
77007         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
77008         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
77009         (strtoimax, strtoumax): Do not declare if already defined as a macro.
77010
77011 2001-09-26  Jim Meyering  <meyering@lucent.com>
77012
77013         Most macros in unlocked-io.h had the wrong number of arguments.
77014         * lib/gen-uio: New script.
77015         (USE_UNLOCKED_IO): Define to 1 if not already defined.
77016         * lib/unlocked-io.hin: Remove file.
77017         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
77018         rather than trying to embed it here.
77019         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
77020         Reported by Padraig Brady.
77021
77022 2001-09-25  Volker Borchert  <bt@teknon.de>
77023
77024         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
77025         `result'.
77026
77027 2001-09-24  Jim Meyering  <meyering@lucent.com>
77028
77029         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
77030
77031 2001-09-23  Jim Meyering  <meyering@lucent.com>
77032
77033         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
77034         instead of the mere test for existence of mntent.h.  The latter
77035         would get a false-positive on AIX 3.4 systems.
77036         In the outer getmntent if-block, don't die if neither of the getmntent
77037         tests succeeds.  Instead, just fall through and continue with the
77038         remaining tests.
77039
77040 2001-09-23  Jim Meyering  <meyering@lucent.com>
77041
77042         * lib/mountlist.c: Remove useless parentheses in #if directives.
77043         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
77044         the deprecated MOUNTED symbol is no longer defined in mntent.h.
77045
77046 2001-09-22  Jim Meyering  <meyering@lucent.com>
77047
77048         * m4/gettext.m4: New file.  From gettext.
77049         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
77050         * m4/progtest.m4: Likewise
77051         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
77052         * m4/glibc21.m4: Likewise.
77053
77054         * m4/libintl.m4: Remove.  No longer used.
77055
77056 2001-09-22  Jim Meyering  <meyering@lucent.com>
77057
77058         * lib/localcharset.c: Update from latest gettext.
77059         * lib/config.charset: Likewise.
77060
77061 2001-09-20  Jim Meyering  <meyering@lucent.com>
77062
77063         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
77064         strtoimax.
77065         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
77066         strtoumax.
77067
77068 2001-09-20  Jim Meyering  <meyering@lucent.com>
77069
77070         * lib/xstrtol.c (strtoimax): Guard declaration with
77071         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
77072         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
77073         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
77074         (strtoumax): Likewise, for completeness (it wasn't necessary).
77075
77076 2001-09-17  Paul Eggert  <eggert@twinsun.com>
77077
77078         * lib/strtoimax.c (HAVE_LONG_LONG):
77079         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
77080         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
77081         to work around bug in IBM C compiler.
77082
77083 2001-09-17  Jim Meyering  <meyering@lucent.com>
77084
77085         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
77086         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
77087         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
77088         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
77089         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
77090         whenever the right hand side need not be expanded by the shell.
77091
77092 2001-09-16  Paul Eggert  <eggert@twinsun.com>
77093
77094         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
77095         library.  It's not correct, as some older glibcs are buggy.
77096         fnmatch wasn't fixed until glibc 2.2.
77097
77098         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
77099         special shell magic here.
77100
77101 2001-09-16  Jim Meyering  <meyering@lucent.com>
77102
77103         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
77104         * m4/jm-macros.m4: Require it.
77105
77106 2001-09-16  Jim Meyering  <meyering@lucent.com>
77107
77108         * lib/mkdir.c: New file.
77109
77110 2001-09-15  Jim Meyering  <meyering@lucent.com>
77111
77112         * m4/jm-macros.m4: Check for help2man.
77113
77114 2001-09-11  Jim Meyering  <meyering@lucent.com>
77115
77116         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
77117         The body, by Paul Eggert, was moved here from configure.in.
77118         * m4/jm-macros.m4: Require UTILS_HOST_OS.
77119
77120 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77121
77122         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
77123         (jm_PREREQ): Use it.
77124
77125 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77126
77127         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
77128         Use ssize_t, not int, to store result of readlink.
77129         Check for ssize_t overflow as well as size_t overflow,
77130         as POSIX says the result of readlink is implementation-defined
77131         when ssize_t overflows.
77132         Remove unnecessary cast to char*.
77133         Use free+malloc instead of realloc, as the storage doesn't need
77134         to be preserved and it's clearer and can be more efficient that way.
77135         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
77136         * lib/xreadlink.h (xreadlink): Update prototype.
77137
77138 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77139
77140         * lib/xgetcwd.c: Revert some of the previous change; intead,
77141         fix the HAVE_GETCWD_NULL code to behave more like the
77142         !HAVE_GETCWD_NULL code used to.
77143
77144         Include "xalloc.h".
77145         (xgetcwd): Do not return NULL when memory is exhausted; instead,
77146         invoke xalloc_die.
77147
77148 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77149
77150         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
77151         sys/param.h, as pathmax.h includes them.
77152
77153 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77154
77155         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
77156         (jm_PREREQ_XGETCWD): New macro.
77157
77158         * m4/getcwd.m4: New file.
77159
77160 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77161
77162         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
77163         like the HAVE_GETCWD_NULL code.
77164         Include pathmax.h if not HAVE_GETCWD.
77165         Do not include xalloc.h.
77166         (INITIAL_BUFFER_SIZE): New symbol.
77167         Do not use xmalloc / xrealloc, since the caller is responsible for
77168         handling errors.  Preserve errno around `free' during failure.
77169         Do not overrun buffer when using getwd.
77170
77171 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77172
77173         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
77174         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
77175         getcwd (NULL, 0).
77176
77177 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77178
77179         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
77180         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
77181         spotted by Jim Meyering.
77182
77183 2001-09-03  Jim Meyering  <meyering@lucent.com>
77184
77185         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
77186         failure.
77187
77188 2001-09-02  Jim Meyering  <meyering@lucent.com>
77189
77190         * lib/error.c: Update from GNU libc.
77191
77192 2001-09-01  Jim Meyering  <meyering@lucent.com>
77193
77194         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
77195         Used by df.
77196
77197 2001-09-01  Jim Meyering  <meyering@lucent.com>
77198
77199         * lib/xreadlink.c: New file.
77200         * lib/xreadlink.h: New file.
77201         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
77202         xreadlink.h.
77203
77204         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
77205         doesn't conflict with sparc Solaris 7's definition in
77206         /usr/include/sys/int_types.h.
77207
77208         * lib/exclude.c: Use `""', not `<>' to #include non-system header
77209         files.
77210         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
77211         and strncasecmp as r-values.  Unixware didn't have declarations.
77212
77213 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77214
77215         * lib/xstrtol.h: Add copyright notice.
77216         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
77217         LONGINT_INVALID_SUFFIX_CHAR.
77218
77219 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77220
77221         * lib/xstrtol.c (strtoimax): New decl.
77222
77223 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77224
77225         * lib/xgetcwd.c: Don't include pathmax.h.
77226         Include stdlib.h and unistd.h if available.
77227         Include xalloc.h.
77228         (xmalloc, xstrdup, free): Remove decls.
77229         (xgetcwd): Don't assume sizes fit in unsigned.
77230         Check for overflow when computing sizes.
77231         Simplify reallocation code.
77232
77233 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77234
77235         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
77236         a directory's st_size can have an arbitrary value, so the old
77237         usage could waste an arbitrary amount of memory.  All uses
77238         changed.
77239         * lib/savedir.h: Update prototype.
77240
77241 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77242
77243         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
77244
77245         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
77246         old strtoimax.c.
77247
77248         Also, make the following further changes to make this file's
77249         configuration more similar to that of strtol.c:
77250         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
77251         (strtoumax, uintmax_t, strtoull, strtol): Remove.
77252         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
77253         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
77254         changed to signed values.
77255
77256         And make the following changes as well:
77257         Fix copyright notice, as 1999 was missing.
77258         (verify): New macro.
77259         (strtoimax): Check sizes at compile-time, not run-time.
77260         Prefer strtol to strtoll if both work.
77261         (main): Remove; it was not that useful and was a pain to maintain.
77262
77263         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
77264
77265 2001-08-31  Jim Meyering  <meyering@lucent.com>
77266
77267         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
77268         Use an initial, malloc'd, buffer of length 128 rather than
77269         a statically allocated one of length 1024.
77270
77271 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77272
77273         Simplify code, partly by assuming autoconf 2.52 semantics.
77274
77275         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
77276
77277         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
77278         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
77279         All uses removed.
77280         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
77281         Move AC_REQUIRE to next-to-top level, to avoid confusion.
77282         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
77283         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
77284         jm_AC_HEADER_INTTYPES_H.
77285         * m4/jm-macros.m4 (jm_MACROS): Likewise.
77286
77287         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
77288
77289         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
77290         Quote first arg of AC_DEFUN.
77291         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
77292         since they are needed to parse the include file even if we need
77293         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
77294         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
77295         but with opposite signedness.
77296
77297 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77298
77299         Merge 'exclude' changes from tar 1.13.22.
77300         This fixes one or two unlikely storage allocation overflow bugs,
77301         but doesn't change user-visible behavior otherwise.
77302
77303 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77304
77305         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
77306         (jm_PREREQ_EXCLUDE): New macro.
77307
77308 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77309
77310         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
77311         tm to be declared.
77312
77313 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77314
77315         * lib/hash.c: Remove '2001' from copyright notice.
77316
77317 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77318
77319         * lib/full-write.h: New file.
77320         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
77321         * lib/full-write.c: Correct credits, as cccp.c no longer
77322         exists and anyway it was so heavily changed from the old cccp
77323         code as to be unrecognizable.  Include full-write.h.
77324         (full_write): Return size_t, with short writes meaning failure.
77325         All callers changed.  This fixes a bug with large buffers
77326         on 64-bit hosts.
77327         * lib/utime.c: Include full-write.h.
77328
77329 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77330
77331         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
77332         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
77333         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
77334         Include if available.
77335         (<xalloc.h>): Include
77336         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
77337         (verify): New macro.  Use it to verify that EXCLUDE macros do not
77338         collide with FNM macros.
77339         (struct patopts): New struct.
77340         (struct exclude): Use it, as exclude patterns now come with options.
77341         (new_exclude): Support above changes.
77342         (new_exclude, add_exclude_file):
77343         Initial size must now be a power of two to simplify overflow checking.
77344         (free_exclude, fnmatch_no_wildcards): New function.
77345         (excluded_filename): No longer requires options arg, as the options
77346         are determined by add_exclude.  Now returns bool, not int.
77347         (excluded_filename, add_exclude):
77348         Add support for the fancy new exclusion options.
77349         (add_exclude, add_exclude_file): Now takes int options arg.
77350         Check for arithmetic overflow when computing sizes.
77351         (add_exclude_file): xrealloc might modify errno, so don't
77352         realloc until after errno might be used.
77353
77354         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
77355         New macros.
77356         (free_exclude): New decl.
77357         (add_exclude, add_exclude_file): Now takes int options arg.
77358         (excluded_filename): No longer requires options arg, as the options
77359         are determined by add_exclude.  Now returns bool, not int.
77360
77361 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77362
77363         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
77364
77365 2001-08-27  Jim Meyering  <meyering@lucent.com>
77366
77367         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
77368
77369         * lib/version-etc.c (N_): Remove definition.
77370         Revert most of last change.
77371         Instead, simply don't mark the `Copyright...' string for translation.
77372         Based on advice from Paul Eggert.
77373
77374         * lib/strtoxmax.c: Tweak comment.
77375
77376 2001-08-26  Jim Meyering  <meyering@lucent.com>
77377
77378         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
77379
77380         * m4/xstrtoimax.m4: New file.
77381         * m4/xstrtoumax.m4: Add comments explaining why we
77382         AC_REPLACE_FUNCS(strtol).
77383
77384 2001-08-26  Jim Meyering  <meyering@lucent.com>
77385
77386         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
77387         of copyright with `%s' so translators don't get an untranslated
77388         message in 2002.
77389         (COPYRIGHT_YEAR): Define.
77390         (version_etc): Use fprintf rather than fputs.
77391         Suggestion from Ulrich Drepper.
77392
77393         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
77394
77395         * lib/strtoll.c: New file, from GNU libc.
77396         * lib/xstrtoimax.c: New file.
77397
77398         * lib/xstrtol.h: Add xstrtoimax.
77399         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
77400         * lib/strtoimax.c: New file.  Likewise, but first define
77401         STRTOUXMAX_SIGNED.
77402
77403         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
77404         ...
77405         * lib/strtoxmax.c: ... then renamed to this.
77406
77407 2001-08-18  Paul Eggert  <eggert@twinsun.com>
77408
77409         * m4/inttypes.m4: Add AC_PREREQ(2.13).
77410         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
77411         (jm_AC_TYPE_INTMAX_T): New macro.
77412         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
77413
77414         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
77415
77416         * m4/longlong.m4: Renamed from ulonglong.m4.
77417         * m4/inttypes.m4: Renamed from inttypes_h.m4.
77418         * m4/uintmax_t.m4: Removed.
77419
77420 2001-08-13  Paul Eggert  <eggert@twinsun.com>
77421
77422         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
77423         Port to Solaris 8, where 'sed' requires a space after the 'r'
77424         command, and where sh dislikes "$/".  Clean up the spacing a bit.
77425         Redirect output to $tmp just once.
77426
77427 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
77428
77429         * lib/addext.c (<errno.h>): Include.
77430         (errno): Declare if not defined.
77431         (addext): Work correctly when pathconf returns -1 and leaves
77432         errno alone because there is no limit.  Also, work even if
77433         pathconf returns a value greater than SIZE_MAX.
77434
77435 2001-08-12  Jim Meyering  <meyering@lucent.com>
77436
77437         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
77438         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
77439         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
77440         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
77441         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
77442         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
77443         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
77444         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
77445         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
77446         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
77447         utime.m4, utimes.m4, xstrtoumax.m4:
77448         Quote the first argument in each use of AC_DEFUN.
77449
77450 2001-08-12  Jim Meyering  <meyering@lucent.com>
77451
77452         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
77453         Simply `return getcwd (NULL, 0);'.
77454         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
77455         Use 1300 as initial value for length, not PATH_MAX.
77456
77457         * lib/pathmax.h: Clean up cpp syntax.
77458
77459 2001-08-12  Jim Meyering  <meyering@lucent.com>
77460
77461         * lib/gettimeofday.c: New file.
77462         * lib/gtod.h: New file.
77463         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
77464
77465 2001-08-05  Jim Meyering  <meyering@lucent.com>
77466
77467         * m4/jm-macros.m4: Require autoconf-2.52.
77468
77469 2001-08-04  Jim Meyering  <meyering@lucent.com>
77470
77471         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
77472         stmt, to get in sync with glibc.
77473
77474 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77475
77476         The following changes are from gettext 0.10.39 as maintained by
77477         Bruno Haible.
77478
77479         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
77480         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
77481         with inverted sense.  All uses changed.
77482
77483         * lib/mbswidth.c: Don't include <limits.h>.
77484         Include <stdlib.h> and <string.h> unconditionally.
77485         (iswcntrl, mbsinit, ISCNTRL): New macros.
77486         (mbsnwidth): Use K&R style function declarations.
77487         Don't bother checking for MB_LEN_MAX == 1, since the compiler
77488         can optimize it when MB_CUR_MAX == 1.
77489         The width of control characters is zero, not 1.
77490
77491 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77492
77493         The following changes are from gettext 0.10.39 as maintained by
77494         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
77495
77496         * m4/codeset.m4: Upgrade to serial AM1.
77497         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
77498         all uses changed.  Quote first arg of AC_DEFUN.
77499         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
77500
77501         * m4/iconv.m4: Upgrade to serial AM2.
77502         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
77503         Add --with-libconv-prefix.
77504         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
77505         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
77506         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
77507         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
77508         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
77509
77510         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
77511         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
77512         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
77513         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
77514         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
77515         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
77516         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
77517         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
77518         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77519
77520         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
77521         string.h any more.
77522
77523         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
77524         not the default value.
77525
77526         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
77527         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
77528         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
77529         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
77530         Also check for iswcntrl, used for wcwidth fallback.
77531         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
77532         to Autoconf 2.13.
77533
77534 2001-08-03  Jim Meyering  <meyering@lucent.com>
77535
77536         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
77537         as it was in the original.  Reported by Paul Eggert.
77538
77539 2001-07-16  Jim Meyering  <meyering@lucent.com>
77540
77541         * m4/gettimeofday.m4: New file.
77542         Prompted by a report from Bernhard Baehr.
77543
77544 2001-07-15  Jim Meyering  <meyering@lucent.com>
77545
77546         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
77547         stuff. Now it's in ../Makefile.cfg.
77548
77549 2001-07-15  Jim Meyering  <meyering@lucent.com>
77550
77551         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
77552         (BUILT_SOURCES): Add unlocked-io.h.
77553         (io_functions): Define.
77554         (unlocked-io.h): New rule.
77555         (DISTCLEANFILES): Add unlocked-io.h.
77556         (all-local): Depend on unlocked-io.h, to ensure it is created.
77557
77558         * lib/unlocked-io.hin: New file
77559
77560         * lib/regex.c: Update from glibc.
77561
77562 2001-07-05  Jim Meyering  <meyering@lucent.com>
77563
77564         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
77565         recommendation.
77566         (libfetish_a_SOURCES): Put all .h files here instead.
77567         Remove a thus-exposed (better checks in automake) duplicate and
77568         two unnecessary .h files.
77569
77570 2001-07-04  Jim Meyering  <meyering@lucent.com>
77571
77572         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
77573         that generates jm-glibc-io.m4 so that it doesn't trigger any make
77574         distcheck failure.
77575
77576 2001-07-02  Jim Meyering  <meyering@lucent.com>
77577
77578         The following changes were prompted by suggestions from Bruno Haible.
77579
77580         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
77581         is now generated.
77582         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
77583         definition of EXTRA_DIST.
77584         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
77585         ensure that the generated file is created/updated whenever the list
77586         of $(unlocked_functions) is changed.
77587         (jm-glibc-io.m4): New rule.
77588         (unlocked-io.h): New rule -- currently unused.
77589
77590 2001-06-24  Jim Meyering  <meyering@lucent.com>
77591
77592         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
77593         unmatched right bracket, rather than kludging it with an extra,
77594         falsely-matching quote in a comment.  Patch by Akim Demaille.
77595
77596 2001-06-11  Jim Meyering  <meyering@lucent.com>
77597
77598         * lib/regex.c: Update from GNU libc.
77599
77600 2001-05-27  Jim Meyering  <meyering@lucent.com>
77601
77602         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
77603         Check for ut_type in struct utmp.
77604
77605 2001-05-27  Jim Meyering  <meyering@lucent.com>
77606
77607         * lib/readutmp.h (UT_TYPE): Define.
77608
77609 2001-05-24  Jim Meyering  <meyering@lucent.com>
77610
77611         * lib/argmatch.c: Include "quote.h".
77612         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
77613         quote function.  Reported by Göran Uddeborg.
77614
77615 2001-05-22  Jim Meyering  <meyering@lucent.com>
77616
77617         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
77618         now that we use the package-supplied version unconditionally.
77619         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
77620
77621 2001-05-21  Jim Meyering  <meyering@lucent.com>
77622
77623         * m4/regex.m4: Change a couple backticks to single quotes to avoid
77624         shell syntax errors.
77625
77626 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77627
77628         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
77629
77630 2001-05-20  Paul Eggert  <eggert@twinsun.com>
77631
77632         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
77633         Don't bother to check library strftime, since
77634         we'll be using our own my_strftime function anyway.
77635         Define my_strftime instead of strftime.
77636
77637 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
77638
77639         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
77640         which is not yet declared.
77641
77642 2001-05-15  Jim Meyering  <meyering@lucent.com>
77643
77644         * m4/regex.m4: Use proper quoting so brackets appear in the test
77645         program.
77646         Reported by, and with help from, Bruno Haible.
77647
77648 2001-05-13  Jim Meyering  <meyering@lucent.com>
77649
77650         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
77651         undefined.
77652
77653 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77654
77655         dirname code cleanup.  base_name now behaves more compatibly
77656         with POSIX basename when given file names that have trailing
77657         slashes, and similarly for dir_name.  Add new primitives
77658         base_len and dir_len.  Put the directory-name-related decls
77659         into dirname.h.
77660
77661         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
77662         * lib/backupfile.c (base_name): Likewise.
77663         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
77664         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
77665         * lib/makepath.c (strip_trailing_slashes): Likewise.
77666         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
77667         ISSLASH): Likewise.
77668         * lib/rename.c (strip_trailing_slashes): Likewise.
77669         * lib/same.c (base_name): Likewise.
77670         * lib/stripslash.c (ISSLASH): Likewise.
77671
77672         * lib/addext.c: Include <dirname.h> after size_t is defined.
77673         * lib/backupfile.c: Likewise.
77674
77675         * lib/addext.c (addext): Use base_len to trim redundant
77676         trailing slashes instead of doing it ourselves.
77677         But do not trim the last slash if it is not redundant.
77678
77679         * lib/backupfile.c (find_backup_file_name,
77680         max_backup_version): Use base_len instead of rolling it ourselves.
77681         Handle the case of "" and (on DOS) "C:" correctly.
77682
77683         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
77684         needed. Include <string.h>, <dirname.h>.
77685         (base_name): Allow file names ending in slashes, other than names
77686         that are all slashes.  In this case, return the basename followed
77687         by the slashes.  This is more general, and can be used in places
77688         where the original base_name purposely had an assertion failure.
77689         (base_len): New function.
77690
77691         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
77692         Do not include <assert.h>; no longer needed.
77693         Include xalloc.h.
77694         (memrchr): Remove decl.
77695         (dir_name_r): Remove.
77696         (dir_len): Renamed from dirlen.  All callers changed.
77697         Rewrite in terms of base_name, for simplicity and consistency.
77698         (dir_name): Never return NULL.  All callers changed.
77699         Do not include <stdlib.h> in test program; no longer needed.
77700         return 0; is fine for test program.
77701
77702         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
77703         New macros.
77704         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
77705
77706         * lib/path-concat.c (path_concat): Use base_len to compute
77707         base length, not strlen; this means we cannot rely on memcpy
77708         to null-terminate.
77709
77710         * lib/same.c (STREQ): Remove.
77711         (same_name): Handle the case where the basename ends in trailing '/'.
77712
77713         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
77714         a slash was stripped.  Do not strip the last slash after a
77715         file system prefix.
77716
77717 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77718
77719         * lib/Makefile.am (libfetish_a_SOURCES):
77720         Add strftime.c, since we now compile it on all hosts.
77721
77722         * lib/strftime.c (my_strftime):
77723         Define to nstrftime if emacs, but only if my_strftime is not defined.
77724         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
77725         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
77726         Add one more extra argument: a nanoseconds value.
77727         All uses changed.
77728         (ns): New macro.
77729         (my_strftime function): Add %N format.
77730         (emacs_strftimeu): Renamed from emacs_strftime,
77731         with extra ut argument.
77732
77733 2001-05-09  Paul Eggert  <eggert@twinsun.com>
77734
77735         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
77736
77737 2001-04-21  Jim Meyering  <meyering@lucent.com>
77738
77739         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
77740         doesn't interfere.
77741
77742 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77743
77744         * m4/ftruncate.m4: Check for chsize.
77745         Link with ftruncate.o unconditionally if ftruncate is missing.
77746         This was required when cross-compiling to i586-mingw32msvc.
77747
77748 2001-04-08  Jim Meyering  <meyering@lucent.com>
77749
77750         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
77751         recomputed; that's necessary when the offset spans a DST transition.
77752         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
77753
77754 2001-04-02  Jim Meyering  <meyering@lucent.com>
77755
77756         * lib/regex.h, regex.c: Update from GNU libc.
77757
77758 2001-03-24  Jim Meyering  <meyering@lucent.com>
77759
77760         * m4/jm-macros.m4: Require autoconf-2.49d.
77761
77762 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
77763
77764         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
77765
77766 2001-03-19  Paul Eggert  <eggert@twinsun.com>
77767
77768         * lib/version-etc.c (version_etc_copyright): Update to 2001.
77769
77770 2001-03-17  Jim Meyering  <meyering@lucent.com>
77771
77772         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
77773         now that the version in autoconf is equivalent.
77774         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
77775
77776         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
77777         Suggestion from Akim Demaille.
77778
77779         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
77780         (jm_PREREQ_TEMPNAME): New function.
77781
77782 2001-03-16  Paul Eggert  <eggert@twinsun.com>
77783
77784         * lib/tempname.c (uint64_t): Define to uintmax_t if
77785         not defined, and if UINT64_MAX is not defined.
77786         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
77787         Reported by John David Anglin.
77788
77789 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
77790
77791         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
77792         resolve alias if codeset is empty.
77793         * lib/config.charset (BeOS): Use wildcard syntax.
77794
77795 2001-03-13  Jim Meyering  <meyering@lucent.com>
77796
77797         * lib/path-concat.c (path_concat)
77798         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
77799         concatenating e.g., `C:' and `foo'.
77800         From Bruno Haible.
77801
77802 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77803
77804         * lib/localcharset.c (locale_charset): Don't use
77805         setlocale(LC_CTYPE,NULL). Don't return NULL.
77806         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
77807
77808 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77809
77810         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
77811         support for DOS/DJGPP.
77812
77813 2001-03-01  Paul Eggert  <eggert@twinsun.com>
77814
77815         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
77816         lacks mkstemp.  Compile our own tempname.c if we compile our own
77817         mkstemp.c, as mkstemp relies on tempname.
77818
77819 2001-03-01  Jim Meyering  <meyering@lucent.com>
77820
77821         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
77822         AH_VERBATIM really does output its argument verbatim.
77823
77824 2001-02-28  Paul Eggert  <eggert@twinsun.com>
77825
77826         * lib/Makefile.am (libfetish_a_SOURCES):
77827         Add dup-safer.c, fopen-safer.c.
77828         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
77829
77830         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
77831         * lib/unistd-safer.h: New files.
77832
77833 2001-02-25  Paul Eggert  <eggert@twinsun.com>
77834
77835         The mkstemp replacement is taken from glibc 2.2.2, with some
77836         portability fixes for use outside glibc, as follows:
77837
77838         * lib/tempname.c (struct_stat64): New macro.
77839         (direxists, __gen_tempname): Use it.
77840         This avoids a portability problem with Solaris 8.
77841
77842         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
77843         (<stddef.h>, <stdint.h>, <string.h>):
77844         Include only if STDC_HEADERS || _LIBC.
77845         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
77846         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
77847         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
77848         (__set_errno): Define this macro if <errno.h> doesn't.
77849         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
77850         Define these macros if <stdio.h> doesn't.
77851         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
77852         Define these macros if <sys/stat.h>
77853         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
77854         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
77855         __xstat64): Define if not _LIBC.
77856         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
77857         (__gen_tempname): Invoke gettimeofday only if
77858         HAVE_GETTIMEOFDAY || _LIBC;
77859         otherwise, fall back on plain "time".
77860         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
77861
77862         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
77863
77864         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
77865
77866 2001-02-18  Paul Eggert  <eggert@twinsun.com>
77867
77868         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
77869
77870 2001-02-17  Paul Eggert  <eggert@twinsun.com>
77871
77872         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
77873         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
77874         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
77875         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
77876
77877 2001-02-17  Paul Eggert  <eggert@twinsun.com>
77878
77879         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
77880         Remove workaround macros for hosts that have mbrtowc but not
77881         mbstate_t, as we now insist on proper declarations for both
77882         before using mbrtowc.
77883
77884 2001-02-17  Jim Meyering  <meyering@lucent.com>
77885
77886         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
77887         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
77888         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
77889         UnixWare 7.1.1.
77890
77891         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
77892         rather than AC_CACHE_VAL.
77893
77894 2001-02-17  Jim Meyering  <meyering@lucent.com>
77895
77896         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
77897         around included file name.
77898
77899         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
77900
77901         * lib/strftime.c: Update from GNU libc (the only changes were to
77902         comments).
77903
77904 2001-02-17  Jim Meyering  <meyering@lucent.com>
77905
77906         * lib/regex.c: Update from libc.
77907
77908 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
77909
77910         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
77911         clash.
77912
77913 2001-02-16  Paul Eggert  <eggert@twinsun.com>
77914
77915         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
77916         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
77917         Reported by Mark Hounschell via Paul Eggert.
77918
77919 2001-02-07  Jim Meyering  <meyering@lucent.com>
77920
77921         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
77922
77923 2001-02-05  Jim Meyering  <meyering@lucent.com>
77924
77925         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
77926         it includes the patch required for `large file' support with at least
77927         HP-UX's 10.20 /bin/cc.
77928
77929 2001-02-03  Jim Meyering  <meyering@lucent.com>
77930
77931         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
77932         AS_IF, now that it works once again (mysteriously).
77933         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
77934
77935 2001-01-30  Jim Meyering  <meyering@lucent.com>
77936
77937         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
77938         * m4/chown.m4: Rename conftestchown to conftest.chown.
77939         * m4/rename.m4: s/conftestdir/conftest.d1/ and
77940         s/conftestdir2/conftest.d2/.
77941         * m4/utimes.m4: s/conftestdata/conftest.data/
77942         Inspired by Pavel Roskin's change in autoconf.
77943
77944 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
77945
77946         * lib/config.charset: Update for FreeBSD 4.2.
77947
77948 2001-01-27  Jim Meyering  <meyering@lucent.com>
77949
77950         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
77951         a use of AS_IF.
77952         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
77953
77954 2001-01-26  Jim Meyering  <meyering@lucent.com>
77955
77956         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
77957         quotearg.c includes it.
77958
77959 2001-01-26  Jim Meyering  <meyering@lucent.com>
77960
77961         * lib/quotearg.c: Include stddef.h.
77962         * lib/quote.c: Include stddef.h.
77963         Reported by Axel Kittenberger.
77964
77965         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
77966         line in double quotes so that it evokes a better diagnostic.
77967         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
77968         Reported by Axel Kittenberger.
77969
77970 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
77971
77972         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
77973         as if it was a `charset'.
77974
77975 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
77976
77977         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
77978         has const.
77979
77980 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
77981
77982         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
77983         to avoid a warning.  Add back 'const' to inptr.
77984
77985 2001-01-20  Jim Meyering  <meyering@lucent.com>
77986
77987         Be sure that headers are checked before used in code compiled
77988         for the type checks.
77989         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
77990         In place of that, invoke jm_CHECK_ALL_TYPES.
77991         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
77992         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
77993         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
77994         The check for ssize_t was mistakenly run before the test for unistd.h.
77995
77996         The configure-time check for stdbool.h was missing.
77997         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
77998         (jm_PREREQ_HASH): New function.
77999
78000 2001-01-17  Jim Meyering  <meyering@lucent.com>
78001
78002         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
78003         for autoconf-2.49c.
78004         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
78005
78006 2001-01-16  Jim Meyering  <meyering@lucent.com>
78007
78008         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
78009         From Bruno Haible.
78010
78011 2001-01-14  Jim Meyering  <meyering@lucent.com>
78012
78013         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
78014         foo and bar.  Create conftestdir/ in the script, not in the C code.
78015         Remove directories in the script, not in the C code.
78016         Remove conftestdir{,2} before trying to create the directory.
78017         Make the entire configure script fail if the mkdir fails.
78018
78019 2001-01-14  Jim Meyering  <meyering@lucent.com>
78020
78021         * lib/rename.c: New file.  From Volker Borchert.
78022         Include stdlib.h, string.h or strings.h, and xalloc.h.
78023         Use strip_trailing_slashes rather than open-coding it.
78024
78025 2001-01-03  Paul Eggert  <eggert@twinsun.com>
78026
78027         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
78028
78029 2001-01-03  Jim Meyering  <meyering@lucent.com>
78030
78031         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
78032         of local `inptr' to avoid warning with some system declarations of
78033         iconv.
78034
78035 2001-01-02  Volker Borchert  <bt@teknon.de>
78036
78037         * m4/rename.m4: New file.
78038         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
78039
78040 2001-01-01  Jim Meyering  <meyering@lucent.com>
78041
78042         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
78043         even on systems with utmpx.h.  It's necessary for the declaration of
78044         utmp's ut_user member.  Reported by Andreas Jaeger.
78045
78046         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
78047         available. They are required for the declarations of getgrgid and
78048         getpwuid resp.
78049         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
78050         Reported by Andreas Jaeger.
78051
78052 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
78053
78054         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
78055         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
78056         so `make install' also works in VPATH builds.
78057
78058 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
78059
78060         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
78061         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
78062         can be used in subdirectories.
78063
78064 2000-12-29  Paul Eggert  <eggert@twinsun.com>
78065
78066         * lib/modechange.c: Do not assume that mode_t uses the
78067         traditional octal encoding.  E.g. "chmod 1 FOO" should set
78068         the other-execute bit of FOO even if S_IXOTH != 1.
78069
78070         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
78071         WOTH, XOTH, ALLM): New macros.
78072         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
78073          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
78074         Use them.
78075         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
78076         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
78077         (mode_compile):
78078         No need to use uintmax_t; unsigned long is long enough.
78079         Don't bother to get suffix since we don't use it.
78080
78081 2000-12-26  Jim Meyering  <meyering@lucent.com>
78082
78083         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
78084         better with autoheader.
78085
78086 2000-12-24  Jim Meyering  <meyering@lucent.com>
78087
78088         * lib/hash.c (is_prime): Return explicit boolean values.
78089         (hash_get_first): Return NULL to appease Irix5.6's 89.
78090         Reported by Nelson Beebe.
78091
78092 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
78093
78094         * lib/localcharset.c (locale_charset): Add support for Win32.
78095
78096 2000-12-18  Paul Eggert  <eggert@twinsun.com>
78097
78098         * lib/physmem.h, lib/physmem.c: New files.
78099
78100         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
78101         (noinst_HEADERS): Add physmem.h.
78102
78103         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
78104         't' for compatibility with Solaris 8 sort.
78105
78106 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
78107
78108         * lib/config.charset: Add support for BeOS.
78109
78110 2000-12-17  Jim Meyering  <meyering@lucent.com>
78111
78112         * m4/dos.m4 (jm_AC_DOS): New file and macro.
78113         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
78114
78115 2000-12-16  Jim Meyering  <meyering@lucent.com>
78116
78117         This bug had a serious impact on chown: `chown N:M FILE' (for integer
78118         N and M) would have treated it like `chown N:N FILE'.
78119
78120         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
78121
78122 2000-12-16  Jim Meyering  <meyering@lucent.com>
78123
78124         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
78125         SHELLS_FILE to a file name that's useful on djgpp systems.
78126         Include stdlib.h.
78127         (ADDITIONAL_DEFAULT_SHELLS): Define.
78128         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
78129         Based mostly on a patch from Prashant TR.
78130
78131 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
78132
78133         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
78134         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
78135         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
78136
78137 2000-12-08  Andreas Schwab  <schwab@suse.de>
78138
78139         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
78140         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
78141
78142 2000-12-07  Jim Meyering  <meyering@lucent.com>
78143
78144         * lib/stripslash.c (ISSLASH): Define.
78145         (strip_trailing_slashes): Use ISSLASH rather than comparing against
78146         `/'.
78147         From Prashant TR.
78148
78149         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
78150         (dir_name_r): Declare this function as static.
78151         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
78152         manifest itself on a name containing a mix of slashes and
78153         backslashes.
78154         Make this function work with names starting with a DOS-style
78155         drive letter and colon prefix.
78156         (dir_name): Append `.' if necessary.
78157         Based mostly on patches from Prashant TR and Eli Zaretskii.
78158
78159         * lib/dirname.h (dir_name_r): Remove prototype.
78160
78161 2000-12-06  Paul Eggert  <eggert@twinsun.com>
78162
78163         * m4/off_t-format.m4: Remove this file.
78164         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
78165
78166 2000-12-06  Jim Meyering  <meyering@lucent.com>
78167
78168         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
78169         replacement strtoull, we may well need the replacement strtoul, too.
78170         Check for declarations of strtoul and strtoull.
78171         Check for strtol.  Mainly as a cue to cause automake to include
78172         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
78173         Check for limits.h -- strtol.c needs it.
78174
78175 2000-12-05  Jim Meyering  <meyering@lucent.com>
78176
78177         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
78178
78179 2000-12-04  Jim Meyering  <meyering@lucent.com>
78180
78181         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
78182         Also include memory.h, stdlib.h, unistd.h if appropriate.
78183         Reported by Andreas Jaeger (conflicting declaration of malloc).
78184
78185 2000-12-02  Jim Meyering  <meyering@lucent.com>
78186
78187         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
78188         * m4/jm-macros.m4 (jm_MACROS): require it.
78189
78190 2000-12-02  Jim Meyering  <meyering@lucent.com>
78191
78192         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
78193
78194 2000-12-01  Paul Eggert  <eggert@twinsun.com>
78195
78196         * lib/memrchr.c: Include <config.h> before any system include file.
78197
78198 2000-11-30  Jim Meyering  <meyering@lucent.com>
78199
78200         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
78201
78202 2000-11-30  Jim Meyering  <meyering@lucent.com>
78203
78204         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
78205
78206 2000-11-29  Paul Eggert  <eggert@twinsun.com>
78207
78208         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
78209
78210 2000-11-26  Jim Meyering  <meyering@lucent.com>
78211
78212         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
78213
78214 2000-11-22  Paul Eggert  <eggert@twinsun.com>
78215
78216         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
78217         size of (size_t) -1; it's not portable.
78218
78219 2000-11-17  Jim Meyering  <meyering@lucent.com>
78220
78221         * lib/strstr.c: Update from GNU libc.
78222
78223 2000-11-17  Akim Demaille  <akim@epita.fr>
78224
78225         * lib/obstack.h: Formatting changes.
78226         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
78227         prevent type checking.
78228         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
78229         cast the value to (void *): assigning a `foo *' to a `void *'
78230         variable is valid.
78231         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
78232
78233 2000-11-16  Jim Meyering  <meyering@lucent.com>
78234
78235         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
78236
78237 2000-11-11  Jim Meyering  <meyering@lucent.com>
78238
78239         * lib/error.c: Add a couple #includes, merging from GNU libc version.
78240
78241 2000-11-10  Jim Meyering  <meyering@lucent.com>
78242
78243         * lib/obstack.h: Update from GNU libc.
78244         * lib/obstack.c: Likewise.
78245
78246 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
78247
78248         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
78249
78250 2000-11-06  Paul Eggert  <eggert@twinsun.com>
78251
78252         * lib/getusershell.c (setusershell): Use rewind rather than
78253         fseek/fseeko, to avoid configuration hassles with fseeko.
78254         Don't bother opening SHELLS_FILE if shellstream is NULL;
78255         it's not necessary.
78256
78257 2000-11-05  Jim Meyering  <meyering@lucent.com>
78258
78259         * lib/makepath.h (make_dir): Declare.
78260         * lib/makepath.c (make_dir): Remove `static' attribute.
78261         Tweak a comment.
78262
78263 2000-11-04  Jim Meyering  <meyering@lucent.com>
78264
78265         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
78266
78267 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
78268
78269         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
78270         last one in a bucket, advance to the next bucket.
78271
78272 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
78273
78274         * lib/fnmatch.c: Do not comment out all the code if we are using
78275         the GNU C library, because in some cases we are replacing buggy
78276         code in the GNU C library itself.
78277
78278 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
78279
78280         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
78281         (regex_compile): Catch bogus \(\1\).
78282
78283 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78284
78285         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
78286         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
78287         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
78288
78289 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78290
78291         * lib/error.h, getline.h, modechange.h:
78292         Remove "2000" from Copyright line, as the file hasn't been
78293         changed this year other than in the copyright notice.
78294
78295         * lib/xalloc.h: Add "2000" to Copyright line, as this file
78296         was changed this year.
78297
78298 2000-10-29  Jim Meyering  <meyering@lucent.com>
78299
78300         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
78301         renaming.
78302         * m4/ls-mntd-fs.m4: Likewise
78303
78304 2000-10-29  Jim Meyering  <meyering@lucent.com>
78305
78306         * lib/xstat.in: Fix grammar in comment.
78307
78308 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
78309
78310         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
78311         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
78312         doesn't define __restrict_arr.
78313
78314 2000-10-28  Jim Meyering  <meyering@lucent.com>
78315
78316         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
78317         (jm_PREREQ_MEMCHR): New function.
78318
78319 2000-10-28  Jim Meyering  <meyering@lucent.com>
78320
78321         * lib/memchr.c: Update from libc.
78322         Adjust for portability:
78323         [HAVE_STDLIB_H]: Include stdlib.h.
78324         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
78325         Undef __memchr, too.
78326         [!weak_alias]: Define __memchr to memchr.
78327
78328         * lib/regex.c: Update from libc.
78329         * lib/regex.h: Likewise.
78330         * lib/getopt1.c: Likewise.
78331         * lib/memcmp.c: Likewise.
78332
78333         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
78334         Avoid using fseek, when possible -- it's broken by design.
78335         Patch by Ulrich Drepper.
78336
78337 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
78338
78339         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
78340         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
78341         Giving in to popular pressure to shut up the compiler with casts.
78342
78343 2000-10-26  Jim Meyering  <meyering@lucent.com>
78344
78345         * lib/strftime.c: Update from libc.
78346
78347 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
78348
78349         * regex.c: More `unsigned char' -> `re_char' changes.
78350         Also change several `int' into `re_wchar_t'.
78351         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
78352         (PUSH_FAILURE_POINTER): Don't cast any more.
78353         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
78354         We want GCC to complain, since this piece of code makes
78355         re_match non-reentrant, which *should* be fixed.
78356         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
78357         (EXTEND_BUFFER): Use RETALLOC.
78358         (SET_LIST_BIT): Don't cast.
78359         (re_wchar_t): New type.
78360         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
78361         that those two functions will always properly return.
78362         (IMMEDIATE_QUIT_CHECK): Cast to void.
78363         (analyse_first): Use recursion rather than an explicit stack.
78364         (re_compile_fastmap): Can't fail anymore.
78365         (re_search_2): Don't check re_compile_fastmap for failure.
78366         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
78367         Now also sets the new value (passed in a new argument).
78368         (re_match_2_internal): Use it.
78369         Also, use a new var `reg' of type size_t when looping through regs
78370         rather than reuse the inappropriate `mcnt'.
78371
78372 2000-10-25  Jim Meyering  <meyering@lucent.com>
78373
78374         * lib/obstack.c: Update from libc.
78375
78376 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
78377
78378         * regex.c (regex_compile): Change the way of handling a range from
78379         a char less than 256 to a char not less than 256.
78380
78381 2000-10-24  Andrew Innes  <andrewi@gnu.org>
78382
78383         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
78384         NT-Emacs only.
78385         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
78386         so that re_search functions only quit when callers expect them to.
78387
78388 2000-10-23  Jim Meyering  <meyering@lucent.com>
78389
78390         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
78391         wrong.  That set_locale call must not have any side effects.
78392         From Paul Eggert.
78393
78394 2000-10-22  Jim Meyering  <meyering@lucent.com>
78395
78396         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
78397         [CYCLIC]: Remove now-unused definition.
78398
78399         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
78400         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
78401         Suggestion from Ulrich Drepper.
78402
78403 2000-10-21  Jim Meyering  <meyering@lucent.com>
78404
78405         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
78406         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
78407         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
78408
78409 2000-10-21  Jim Meyering  <meyering@lucent.com>
78410
78411         * lib/dirname.c (memrchr): Declare if necessary.
78412         (dir_name): Remove the restriction that there be no
78413         trailing slashes.  Now, this code skips past them, effectively
78414         ignoring them.
78415         [TEST_DIRNAME] (main): New unit tests.
78416
78417         * lib/memrchr.c: New file from GNU libc.
78418         Undef __memrchr, too.
78419         [!weak_alias]: Define __memrchr to memrchr.
78420         Guard weak_alias use with `#ifdef weak_alias'.
78421
78422 2000-10-21  Jim Meyering  <meyering@lucent.com>
78423
78424         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
78425         (dir_name): Use dir_name_r.
78426         * lib/dirname.h (dir_name_r): Declare it.
78427
78428 2000-10-17  Jim Meyering  <meyering@lucent.com>
78429
78430         * lib/quote.h (PARAMS): Define and use.
78431         Reported by Akim Demaille.
78432
78433         * lib/getopt.c: Update from libc.
78434
78435 2000-10-16  Jim Meyering  <meyering@lucent.com>
78436
78437         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
78438         setlocale.
78439         From Jan Fedak.
78440
78441 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
78442
78443         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
78444
78445 2000-09-25  Jim Meyering  <meyering@lucent.com>
78446
78447         * lib/md5.h (rol): Define (from GnuPG).
78448
78449         * lib/sha.c: Give credit (GnuPG) where due.
78450         (M): Use rol rather than open-coding it.
78451         Add a FIXME comment.
78452
78453 2000-09-21  Jim Meyering  <meyering@lucent.com>
78454
78455         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
78456         Reported by Michael Stone.
78457
78458 2000-09-20  Jim Meyering  <meyering@lucent.com>
78459
78460         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
78461         (noinst_HEADERS): Add sha.h.
78462         Based on code from Scott G. Miller and from GnuPG.
78463
78464 2000-09-18  Jim Meyering  <meyering@lucent.com>
78465
78466         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
78467         LIBS. Otherwise, everyone ends up linking with -lelf for some
78468         configurations.
78469         Reported by Mike Stone.
78470
78471 2000-09-15  Jim Meyering  <meyering@lucent.com>
78472
78473         * lib/regex.c: Update from libc.
78474
78475 2000-09-10  Jim Meyering  <meyering@lucent.com>
78476
78477         * lib/getopt.c (_getopt_internal): Update from glibc.
78478
78479 2000-09-09  Jim Meyering  <meyering@lucent.com>
78480
78481         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
78482         think it should be used as a general replacement for isascii.
78483         * lib/fnmatch.c: Likewise.
78484         * lib/mbswidth.c: Likewise
78485         * lib/regex.c: Likewise.
78486
78487         Don't use atoi.
78488         * lib/userspec.c: Include sys/param.h and limits.h.
78489         Include xstrtol.h.
78490         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
78491         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
78492         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
78493         UID, GID.  Check range.
78494
78495 2000-09-06  Jim Meyering  <meyering@lucent.com>
78496
78497         * lib/getopt.c (_getopt_internal): Update from glibc.
78498
78499 2000-08-30  Jim Meyering  <meyering@lucent.com>
78500
78501         * lib/strftime.c: Merge in changes from GNU libc.
78502
78503 2000-08-26  Jim Meyering  <meyering@lucent.com>
78504
78505         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
78506         * m4/fpending.m4: New file.
78507
78508 2000-08-26  Jim Meyering  <meyering@lucent.com>
78509
78510         * lib/closeout.c: Include "__fpending.h".
78511         (close_stdout_status): Return right away if there's nothing to flush.
78512
78513         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
78514         * lib/__fpending.c: New file.
78515         * lib/__fpending.h: New file.
78516
78517 2000-08-20  Jim Meyering  <meyering@lucent.com>
78518
78519         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
78520         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
78521         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
78522
78523 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
78524
78525         Improve fileutils installation on systems where running
78526         programs (like install) can't be unlinked.
78527         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
78528         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
78529
78530 2000-08-07  Paul Eggert  <eggert@twinsun.com>
78531
78532         Standardize on "memory exhausted" instead of "Memory exhausted"
78533         or "virtual memory exhausted".
78534         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
78535         "virtual memory exhausted".
78536         * lib/same.c (same_name): Invoke xalloc_die instead of printing
78537         our own message.
78538         * lib/userspec.c (parse_user_spec): Likewise.
78539         * lib/bumpalloc.h: comment fix
78540         * lib/same.c, userspec.c: Include xalloc.h.
78541
78542         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
78543         not char *const and pointing to a constant array.
78544         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
78545         (xrealloc): Comment fix.
78546
78547         * lib/userspec.c (parse_user_spec):
78548         Don't translate a message until just before returning,
78549         to avoid unnecessary translation.
78550
78551 2000-08-07  Jim Meyering  <meyering@lucent.com>
78552
78553         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
78554         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
78555         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
78556         getgroups.c, gethostname.c, getopt.h, group-member.c,
78557         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
78558         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
78559         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
78560         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
78561         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
78562         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
78563         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
78564         yesno.c: Back out Copyright date changes for each file with no change
78565         this year.  This eases coordination with other programs using the same
78566         source code modules.  From Paul Eggert.
78567
78568 2000-08-06  Paul Eggert  <eggert@twinsun.com>
78569
78570         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
78571         not char, for compatibility with glibc 2.1.3 strftime.c.
78572
78573 2000-08-03  Greg McGary  <greg@mcgary.org>
78574
78575         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
78576         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
78577         (EXTEND_BUFFER): Use them.
78578
78579 2000-08-01  Jim Meyering  <meyering@lucent.com>
78580
78581         * lib/dirname.c (ISSLASH): Define.
78582         (BACKSLASH_IS_PATH_SEPARATOR): Define.
78583         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
78584         both `\' and `/' may be use as path separators.
78585         Based on a patch from Prashant TR.
78586
78587 2000-07-31  Paul Eggert  <eggert@twinsun.com>
78588
78589         * lib/quotearg.c (quotearg_n_options): Don't make the initial
78590         slot vector a constant, since it might get modified.
78591
78592 2000-07-31  Jim Meyering  <meyering@lucent.com>
78593
78594         * lib/xmalloc.c: Use `virtual memory exhausted', not
78595         `Memory exhausted'.
78596         * lib/obstack.c (print_and_abort): Likewise.
78597
78598 2000-07-30  Paul Eggert  <eggert@twinsun.com>
78599
78600         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
78601         buffer, so that the caller can always quote one small
78602         component of a "memory exhausted" message in slot 0.
78603         From a suggestion by Jim Meyering.
78604
78605 2000-07-30  Jim Meyering  <meyering@lucent.com>
78606
78607         * lib/makepath.c (make_path): Quote the other instance, too.
78608
78609         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
78610         (STATIC_BUF_SIZE): Define.
78611         (quotearg_n_options): Use only statically allocated storage when
78612         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
78613         than STATIC_BUF_SIZE.
78614
78615 2000-07-29  Jim Meyering  <meyering@lucent.com>
78616
78617         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
78618         * lib/dirname.c (dir_name): Likewise.
78619
78620         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
78621         `/'.
78622
78623         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
78624         (dir_name): Assert that there are no trailing slashes.
78625
78626 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
78627
78628         * lib/mbswidth.h (mbswidth): Add a flags argument.
78629         (mbswidth): New declaration.
78630         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
78631         * lib/mbswidth.c (mbswidth): Add a flags argument.
78632         (mbsnwidth): New function.
78633
78634 2000-07-24  Jim Meyering  <meyering@lucent.com>
78635
78636         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
78637
78638 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78639
78640         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
78641
78642 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78643
78644         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
78645         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
78646         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
78647         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
78648         invoke multibyte primitives.
78649
78650 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78651
78652         * lib/quotearg.c:
78653         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
78654         so that mbstate_t is always defined.
78655
78656         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
78657         be 1 in at least one GCC installation, and this configuration
78658         error is likely to be common.  Ignoring MB_LEN_MAX hurts
78659         performance on hosts that have mbrtowc but have only unibyte
78660         locales, but I assume these hosts are rare.
78661
78662 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78663
78664         * lib/mbswidth.c (_XOPEN_SOURCE):
78665         Don't define; this causes problems on Solaris 7.
78666         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
78667
78668 2000-07-23  Jim Meyering  <meyering@lucent.com>
78669
78670         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
78671         too: getgrgid, getpwuid, getuid.
78672
78673 2000-07-23  Jim Meyering  <meyering@lucent.com>
78674
78675         * lib/basename.c (base_name): Add an assertion.
78676
78677 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
78678
78679         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
78680         shadow its mbsinit function.
78681
78682 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78683
78684         * lib/mbswidth.h: New file.
78685         * lib/mbswidth.c: New file.
78686         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
78687         (noinst_HEADERS): Add mbswidth.h.
78688
78689 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78690
78691         * lib/config.charset: Add support for FreeBSD. Improve support for
78692         HP-UX and IRIX 6.
78693
78694 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
78695
78696         * m4/mbswidth.m4: New file.
78697         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
78698
78699 2000-07-15  Jim Meyering  <meyering@lucent.com>
78700
78701         * lib/makepath.c: Include quote.h.
78702         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
78703         corresponding argument in a `quote (...)' call.
78704         Give better diagnostics.
78705
78706         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
78707         (noinst_HEADERS): Add quote.h.
78708
78709         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
78710         from tar's src/misc.c.
78711         * lib/quote.h: New file.  Prototypes for same.
78712
78713 2000-07-14  Paul Eggert  <eggert@twinsun.com>
78714
78715         From a suggestion by Bruno Haible.
78716         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
78717         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
78718         to decide whether to define the BeOS workaround macro;
78719         this adjusts to the change to AC_MBSTATE_T.
78720
78721 2000-07-14  Jim Meyering  <meyering@lucent.com>
78722
78723         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
78724         jm_AC_TYPE_UINTMAX_T.
78725
78726 2000-07-13  Paul Eggert  <eggert@twinsun.com>
78727
78728         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
78729
78730         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
78731         quotearg_buffer_restyled): Add support for
78732         clocale_quoting_style.  Undo previous change to
78733         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
78734         and "{RIGHT QUOTATION MARK}" msgids.
78735
78736 2000-07-10  Paul Eggert  <eggert@twinsun.com>
78737
78738         From a suggestion by Bruno Haible.
78739         * m4/mbstate_t.m4 (AC_MBSTATE_T):
78740         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
78741         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
78742         and mbstate_t, to a single-part test that simply defines mbstate_t.
78743         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
78744         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
78745
78746 2000-07-10  Jim Meyering  <meyering@lucent.com>
78747
78748         * m4/strerror_r.m4: Mirror the correction made in autoconf.
78749
78750         * m4/gnu-source.m4: Output to confdefs.h directly.
78751         Suggestion from Akim Demaille.
78752
78753 2000-07-09  Paul Eggert  <eggert@twinsun.com>
78754
78755         The old behavior of quoting `like this' doesn't look good with
78756         newer, ISO-style fonts.  See:
78757         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
78758
78759         Instead, quote "like this" by default.  Let the translator
78760         tailor the locale-specific quoting behavior by providing
78761         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
78762
78763         * lib/quotearg.c (N_): New macro.
78764         (gettext_default): New function.
78765         (quotearg_buffer_restyled): Use
78766         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
78767         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
78768
78769 2000-07-09  Jim Meyering  <meyering@lucent.com>
78770
78771         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
78772         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
78773
78774         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
78775         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
78776
78777 2000-07-09  Jim Meyering  <meyering@lucent.com>
78778
78779         * lib/Most files: Update copyright dates to include 2000.
78780
78781 2000-07-08  Jim Meyering  <meyering@lucent.com>
78782
78783         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
78784         if not defined.
78785         (xgethostname): Remove now-unnecessary #ifdef.
78786         Move declaration of `err' into loop where it's used.
78787
78788 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78789         and Bruno Haible  <haible@clisp.cons.org>
78790
78791         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
78792         only if the test for an object-type mbstate_t fails.  This
78793         prevents us from mistakenly reporting that mbstate_t is a
78794         system object type after we "#define mbstate_t int" to work
78795         around its lack.
78796
78797 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78798         and Bruno Haible  <haible@clisp.cons.org>
78799
78800         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
78801
78802 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78803
78804         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
78805         to strerror_r.
78806         Include <ctype.h> for use of isalpha.
78807
78808 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78809
78810         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
78811         by allocating a larger buffer. Test the gethostname return value for
78812         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
78813         returns an error and ENAMETOOLONG isn't defined.
78814
78815 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78816
78817         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
78818         dimension.
78819
78820 2000-07-04  Jim Meyering  <meyering@lucent.com>
78821
78822         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
78823         of the deprecated AC_CHECKING.
78824
78825 2000-07-04  Jim Meyering  <meyering@lucent.com>
78826
78827         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
78828         Reported by Bruno Haible.
78829
78830 2000-07-04  Jim Meyering  <meyering@lucent.com>
78831
78832         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
78833         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
78834         lacks mbrtowc.
78835
78836 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78837
78838         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
78839         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
78840
78841 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78842         and Bruno Haible  <haible@clisp.cons.org>
78843
78844         * lib/quotearg.c (mbrtowc):
78845         Assign to *pwc, and return 1 only if result is nonzero.
78846         (iswprint): Use ISPRINT when substituting our own mbrtowc.
78847
78848 2000-07-03  Jim Meyering  <meyering@lucent.com>
78849
78850         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
78851
78852 2000-07-03  Jim Meyering  <meyering@lucent.com>
78853
78854         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
78855         This is necessary to get a definition of e.g., UTMP_FILE on
78856         HP-UX 10.20.
78857         From Bob Proulx.
78858
78859 2000-07-02  Jim Meyering  <meyering@lucent.com>
78860
78861         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
78862
78863         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
78864         AC_LIBOBJ(function_name).
78865         * m4/chown.m4: Likewise.
78866         * m4/fnmatch.m4: Likewise.
78867         * m4/ftruncate.m4: Likewise.
78868         * m4/getgroups.m4: Likewise.
78869         * m4/getline.m4: Likewise.
78870         * m4/group-member.m4: Likewise.
78871         * m4/jm-macros.m4: Likewise.
78872         * m4/lstat.m4: Likewise.
78873         * m4/malloc.m4: Likewise.
78874         * m4/memcmp.m4: Likewise.
78875         * m4/nanosleep.m4: Likewise.
78876         * m4/putenv.m4: Likewise.
78877         * m4/realloc.m4: Likewise.
78878         * m4/regex.m4: Likewise.
78879         * m4/stat.m4: Likewise.
78880         * m4/strftime.m4: Likewise.
78881
78882 2000-07-02  Jim Meyering  <meyering@lucent.com>
78883
78884         * lib/quotearg.c (mbstate_t): Don't define here.
78885
78886 2000-07-02  Jim Meyering  <meyering@lucent.com>
78887
78888         * lib/nanosleep.c (SIGCONT): Define if not already defined.
78889
78890 2000-07-01  Jim Meyering  <meyering@lucent.com>
78891
78892         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
78893
78894 2000-07-01  Jim Meyering  <meyering@lucent.com>
78895
78896         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
78897         problem.
78898
78899 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
78900
78901         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
78902         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
78903
78904 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
78905
78906         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
78907         per change in ../m4/ls-mntd-fs.m4.
78908         (read_filesystem_list): Ignore symbolic links.
78909
78910 2000-06-29  Jim Meyering  <meyering@lucent.com>
78911
78912         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
78913         for declaration of strcmp.
78914
78915         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
78916
78917         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
78918         Avoid warning by casting result to `char *' to remove `const'.
78919
78920 2000-06-28  Jim Meyering  <meyering@lucent.com>
78921
78922         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
78923         included by quotearg.c, for which we perform this test.  From
78924         Bruno Haible.
78925
78926 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
78927
78928         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
78929         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
78930         <utmpx.h> exists, put readutmp.o into LIBOBJS.
78931
78932 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
78933
78934         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
78935
78936 2000-06-26  Paul Eggert  <eggert@twinsun.com>
78937
78938         savedir now sets errno on failure and invokes xmalloc to get memory.
78939         Fix a couple of other minor bugs while we're at it.
78940
78941         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
78942         (NAMLEN): Remove macro.
78943         (malloc, realloc): Remove decls.
78944         (stpcpy): Likewise.
78945         ("xalloc.h"): Include.
78946         (NAME_SIZE_DEFAULT): New macro.
78947         (savedir): Use xmalloc / xrealloc to allocate memory.
78948         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
78949         Skip "" directory entries.
78950         Use strlen to calculate directory entry length, since the old method
78951         is rarely used these days and isn't worth supporting.
78952         Don't use a pointer after freeing it.
78953         Check for integer overflow when calculating allocation size.
78954         Use memcpy to copy entries, instead of stpcpy.
78955         Set errno properly when returning NULL.
78956         Check for readdir error.
78957
78958 2000-06-26  Jim Meyering  <meyering@lucent.com>
78959
78960         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
78961
78962 2000-06-25  Jim Meyering  <meyering@lucent.com>
78963
78964         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
78965         Linux header bug when _XOPEN_SOURCE is defined to 500.
78966
78967 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
78968
78969         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
78970         deficiency.
78971
78972 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
78973
78974         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
78975         Include xalloc.h.
78976         Don't include <stdlib.h>.  Don't declare malloc, realloc.
78977
78978 2000-06-24  Jim Meyering  <meyering@lucent.com>
78979
78980         * m4/strerror_r.m4: Revive this file -- to try out an experimental
78981         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
78982         for which strerror does return char*, but which lacks a conveniently
78983         accessible declaration of the function.  If the compile-test says
78984         strerror_r doesn't work, then resort to a `run'-test that works on
78985         BeOS and segfaults on DEC Unix.
78986
78987 2000-06-24  Jim Meyering  <meyering@lucent.com>
78988
78989         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
78990
78991 2000-06-23  Paul Eggert  <eggert@twinsun.com>
78992
78993         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
78994         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
78995
78996 2000-06-23  Paul Eggert  <eggert@twinsun.com>
78997
78998         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
78999         (mbrtowc, mbstate_t): Define substitutes if
79000         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
79001         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
79002         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
79003
79004 2000-06-23  Jim Meyering  <meyering@lucent.com>
79005
79006         * m4/afs.m4: Add missing AC_MSG_RESULT.
79007         Reported by Bruno Haible.
79008
79009         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
79010         Suggestion from Bruno Haible.
79011
79012 2000-06-23  Jim Meyering  <meyering@lucent.com>
79013
79014         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
79015
79016 2000-06-21  Jim Meyering  <meyering@lucent.com>
79017
79018         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
79019
79020 2000-06-21  Jim Meyering  <meyering@lucent.com>
79021
79022         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
79023         (noinst_HEADERS): Add getstr.h.
79024
79025         * lib/getline.c (getstr): Move into a separate file.
79026         * lib/getstr.c (getstr): New file, extracted from getline.c, with
79027         the following changes: new parameter, delim2; both delim[12]
79028         parameters have type `int', not `char'.  The latter would lose
79029         with 8-bit delimiters.
79030         * lib/getstr.h: New file.
79031
79032 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79033
79034         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
79035         than 1024, return a memory chunk of least possible size, instead
79036         of size PATH_MAX + 2. In the loop, increment the size proportionally.
79037         Use free/xmalloc instead of xrealloc to avoid copying for very long
79038         paths.
79039
79040 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79041
79042         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
79043         the empty string.
79044
79045 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79046
79047         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
79048         address, not strdup.  Include <stdlib.h> and don't declare free().
79049
79050 2000-06-19  Jim Meyering  <meyering@lucent.com>
79051
79052         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
79053
79054 2000-06-18  Jim Meyering  <meyering@lucent.com>
79055
79056         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
79057
79058         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
79059         `checking whether...' message to be consistent with that of the
79060         lstat test.
79061
79062 2000-06-18  Jim Meyering  <meyering@lucent.com>
79063
79064         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
79065         Besides, these days every porting target provides a mkdir function.
79066
79067         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
79068         needed. (this snippet comes from src/system.h).
79069
79070 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
79071
79072         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
79073
79074 2000-06-15  Paul Eggert  <eggert@twinsun.com>
79075
79076         * lib/human.c (adjust_value): New function.
79077         (human_readable_inexact): Apply rounding style even when
79078         printing approximate values.
79079
79080 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79081
79082         * lib/human.c (human_readable_inexact): Allow an input block
79083         size that is not a multiple of the output block size, and vice versa.
79084         Reported by Piergiorgio Sartor.
79085
79086 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79087
79088         * lib/getdate.y (get_date): Apply relative times after time
79089         zone indicator, not before.  Reported by Todd A. Jacobs.
79090
79091 2000-06-13  Jim Meyering  <meyering@lucent.com>
79092
79093         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
79094
79095         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
79096
79097 2000-06-12  Paul Eggert  <eggert@twinsun.com>
79098
79099         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
79100
79101 2000-06-12  Jim Meyering  <meyering@lucent.com>
79102
79103         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
79104         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
79105         optional argument.
79106         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
79107         the optional argument, `lib'.
79108
79109 2000-06-08  Jim Meyering  <meyering@lucent.com>
79110
79111         * m4/largefile.m4: Remove file (now that it's part of autoconf).
79112
79113 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79114
79115         Rewrite largefile configuration so that we don't need to run
79116         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
79117         AC_CANONICAL_HOST in configure.in -- jmm]
79118
79119         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
79120         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
79121         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
79122         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
79123         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
79124         All uses changed.
79125         Instead of inspecting the output of getconf, try to compile the
79126         test program without and with the macro definition.
79127         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
79128         for getconf.  Instead, check for the needed flags by compiling
79129         test programs.
79130
79131 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79132
79133         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
79134
79135 2000-06-04  Jim Meyering  <meyering@lucent.com>
79136
79137         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
79138         SunOS 4.1.4 for which gid_t is an unsigned type.
79139
79140 2000-06-03  Jim Meyering  <meyering@lucent.com>
79141
79142         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
79143         now that autoconf requires that.
79144
79145         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
79146         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
79147         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
79148
79149 2000-06-03  Jim Meyering  <meyering@lucent.com>
79150
79151         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
79152
79153 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79154
79155         * m4/glibc21.m4: New file.
79156         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
79157
79158 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79159
79160         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
79161         newer, don't install charset.alias.
79162         * lib/config.charset: Change the Linux/glibc rules so they become empty
79163         on glibc-2.1 or newer.
79164
79165 2000-06-02  Jim Meyering  <meyering@lucent.com>
79166
79167         * lib/mountlist.c: Back out last change.  Instead, do this...
79168         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
79169         me_dummy member using the same `ignore'-testing code.
79170         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
79171         fs_type strings.
79172         From Mark D. Roth.
79173
79174 2000-05-29  Jim Meyering  <meyering@lucent.com>
79175
79176         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
79177         mounts with the `ignore' attribute.  Based on a patch from
79178         Mark D. Roth.
79179
79180 2000-05-28  Jim Meyering  <meyering@lucent.com>
79181
79182         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
79183         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79184         * m4/stat.m4: Likewise.
79185         * m4/lstat.m4: Likewise.
79186         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
79187
79188         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
79189         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
79190
79191 2000-05-26  Jim Meyering  <meyering@lucent.com>
79192
79193         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
79194
79195 2000-05-24  Jim Meyering  <meyering@lucent.com>
79196
79197         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
79198         autoconf requires that.
79199         * m4/lib-check.m4: Likewise.
79200         * m4/jm-macros.m4: Likewise.
79201         * m4/strftime.m4: Likewise.
79202
79203         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
79204         AC_CHECK_DECLS, now that autoconf requires that.
79205
79206 2000-05-22  Jim Meyering  <meyering@lucent.com>
79207
79208         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79209         * m4/lstat.m4: Likewise.
79210
79211 2000-05-22  Jim Meyering  <meyering@lucent.com>
79212
79213         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
79214
79215 2000-05-20  Jim Meyering  <meyering@lucent.com>
79216
79217         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
79218         (jm_PREREQ): Use it.
79219
79220 2000-05-18  Jim Meyering  <meyering@lucent.com>
79221
79222         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
79223         back, too, since it may have been modified by allocate_entry.
79224         (hash_delete): Rewrite to use neither the assignment operator
79225         nor the comma operator in an if-expression.
79226
79227 2000-05-15  Paul Eggert  <eggert@twinsun.com>
79228
79229         * lib/closeout.c:
79230         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
79231         Remove; no longer needed.
79232         "quotearg.h": Add include.
79233         (file_name): Do not bother to explicitly initialize to NULL; it's less
79234         efficient on some hosts.
79235         (close_stdout_status): Remove test as to whether stdout was already
79236         closed; it breaks for the case "echo x | sort >&-".
79237         Quote file name colons.
79238         Do not assume that _("write error") lacks format strings.
79239
79240 2000-05-15  Jim Meyering  <meyering@lucent.com>
79241
79242         * lib/version-etc.c (version_etc_copyright): Update the copyright
79243         string used in all --version output.
79244
79245 2000-05-14  Jim Meyering  <meyering@lucent.com>
79246
79247         * lib/closeout.c (close_stdout_set_file_name): New function.
79248         (close_stdout_status): Use new file-scoped global.
79249         Return right away if fstat says the stdout file descriptor is invalid.
79250         * lib/closeout.h (close_stdout_set_file_name): Declare.
79251
79252 2000-05-10  Jim Meyering  <meyering@lucent.com>
79253
79254         * lib/closeout.c [default_exit_status]: New file-scoped variable.
79255         (close_stdout_set_status): New function.
79256         * lib/closeout.h (close_stdout_set_status): Declare.
79257
79258 2000-05-09  Jim Meyering  <meyering@lucent.com>
79259
79260         * m4/gettext.m4: Rename this...
79261         * m4/libintl.m4: ...to this.
79262
79263 2000-05-08  Jim Meyering  <meyering@lucent.com>
79264
79265         * lib/long-options.c: Don't include closeout.h.
79266         (parse_long_options): Don't call close_stdout for --version.
79267
79268 2000-05-06  Paul Eggert  <eggert@twinsun.com>
79269
79270         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
79271         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
79272         2.1.3 bug.  This avoids a clash when files like regex.c define
79273         _GNU_SOURCE.
79274
79275 2000-05-06  Jim Meyering  <meyering@lucent.com>
79276
79277         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
79278         (AC_REPLACE_FUNCS): Add strnlen.
79279
79280         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
79281         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
79282
79283         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
79284         AC_SEARCH_LIBS call for nanosleep.
79285         (LIB_NANOSLEEP): Set and AC_SUBST.
79286
79287 2000-05-06  Jim Meyering  <meyering@lucent.com>
79288
79289         * lib/strnlen.c: Undefine __strnlen and strnlen.
79290         [!weak_alias]: Define __strnlen to strnlen.
79291
79292         * lib/atexit.c: New file, from libiberty.
79293
79294 2000-05-06  Jim Meyering  <meyering@lucent.com>
79295
79296         * lib/closeout.c (close_stdout_status): Also check for errors on the
79297         stderr stream.
79298
79299 2000-05-05  Jim Meyering  <meyering@lucent.com>
79300
79301         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
79302         AC_SEARCH_LIBS call for clock_gettime.
79303         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
79304
79305         * m4/search-libs.m4: Update from autoconf.
79306
79307         su doesn't work on Solaris 2.6.
79308         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
79309         <shadow.h>.  Reported by Dragos Harabor.
79310
79311 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
79312
79313         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
79314         memcpy instead of xmalloc, xrealloc, path_concat.
79315         (locale_charset): Treat empty environment variables as absent.
79316         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
79317
79318 2000-05-04  Jim Meyering  <meyering@lucent.com>
79319
79320         * lib/getopt.c: Update from glibc.
79321         * lib/obstack.c: Likewise.
79322         * lib/obstack.h: Likewise.
79323         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
79324         file
79325
79326         * lib/regex.h: Likewise.
79327         * lib/strndup.c: Likewise.
79328         * lib/strnlen.c: New file, from glibc.
79329
79330 2000-05-03  Jim Meyering  <meyering@lucent.com>
79331
79332         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
79333
79334 2000-05-02  Paul Eggert  <eggert@twinsun.com>
79335
79336         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
79337         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
79338         compile-time test, rather than inspecting host and OS, to
79339         decide whether to define _LARGEFILE_SOURCE.
79340
79341 2000-05-01  Jim Meyering  <meyering@lucent.com>
79342
79343         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
79344
79345         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
79346         Based on a patch from Bruno Haible.
79347
79348 2000-05-01  Jim Meyering  <meyering@lucent.com>
79349
79350         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
79351
79352 2000-04-29  Jim Meyering  <meyering@lucent.com>
79353
79354         * lib/path-concat.c: Declare strdup only if it's not defined.
79355         * lib/canon-host.c: Likewise.
79356
79357 2000-04-28  Jim Meyering  <meyering@lucent.com>
79358
79359         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
79360         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
79361         is included first, then limits.h is included by locale.h by libintl.h.
79362         From John David Anglin.
79363
79364 2000-04-25  Jim Meyering  <meyering@lucent.com>
79365
79366         * lib/makepath.c (S_IRWXUGO): Define.
79367         (make_path): Always perform explicit chmod if MODE specifies any
79368         of the `special' permission bits.  Prompted by a bug report against
79369         install from Mate Wierdl and Joost van Baal.
79370
79371 2000-04-18  Jim Meyering  <meyering@lucent.com>
79372
79373         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
79374         (jm_PREREQ): Use it.
79375
79376 2000-04-18  Jim Meyering  <meyering@lucent.com>
79377
79378         * lib/README: New file.
79379
79380         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
79381         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
79382
79383 2000-04-17  Jim Meyering  <meyering@lucent.com>
79384
79385         Get it right :-)
79386         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
79387         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
79388         Suggestion from Akim Demaille.
79389
79390 2000-04-17  Jim Meyering  <meyering@lucent.com>
79391
79392         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
79393         the definition of it to rpl_strftime also defined-away the system's
79394         declaration.
79395
79396 2000-04-15  Jim Meyering  <meyering@lucent.com>
79397
79398         Use `C' to denote so-called `contiguous' files, the same way
79399         that tar does.
79400         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
79401         (ftypelet): Use S_ISCTG.
79402         From Michael Deutschmann.
79403
79404 2000-04-14  Jim Meyering  <meyering@lucent.com>
79405
79406         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
79407         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
79408         clobbered.
79409
79410 2000-04-14  Jim Meyering  <meyering@lucent.com>
79411
79412         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
79413
79414 2000-04-13  Jim Meyering  <meyering@lucent.com>
79415
79416         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
79417         AH_VERBATIM to insert required #ifndef into config.h.in.
79418         Suggestion from Akim Demaille.
79419
79420 2000-04-12  Jim Meyering  <meyering@lucent.com>
79421
79422         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
79423         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
79424         Christian Krackowizer.
79425
79426         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
79427         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
79428         (AC_SYS_LARGEFILE): Require.
79429         (AM_C_PROTOTYPES): Require.
79430
79431 2000-04-08  Jim Meyering  <meyering@lucent.com>
79432
79433         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
79434         names don't conflict.  Reported by Eli Zaretskii.
79435
79436 2000-04-07  Jim Meyering  <meyering@lucent.com>
79437
79438         * lib/putenv.c: Move inclusion of errno.h so it follows that of
79439         sys/types.h, to work around system header problems on AIX 3.2.5.
79440         From Bruno Haible.
79441
79442 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
79443
79444         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
79445         bug.  Deal with the different error behavior of Irix iconv.
79446
79447 2000-04-05  Paul Eggert  <eggert@twinsun.com>
79448
79449         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
79450         IRIX if the installer said otherwise.
79451
79452 2000-04-05  Jim Meyering  <meyering@lucent.com>
79453
79454         Portability tweaks required for ultrix4.3.
79455         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
79456         (jm_CHECK_DECLS): Add getutent to the list of functions.
79457         (_jm_DECL_HEADERS): Add utmpx.h.
79458         From John David Anglin.
79459
79460         * m4/strftime.m4: Back out the 2000-04-02 change.
79461         Instead of that change, simply undefine putenv in the test program.
79462
79463 2000-04-05  Jim Meyering  <meyering@lucent.com>
79464
79465         Portability tweaks required for ultrix4.3.
79466         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
79467         getutent.
79468         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
79469         * lib/canon-host.c: Declare strdup.
79470         * lib/path-concat.c: Likewise.
79471         From John David Anglin.
79472
79473 2000-04-04  Jim Meyering  <meyering@lucent.com>
79474
79475         Be more DOS 8.3-friendly.
79476         * lib/ref-add.sin: Renamed from ref-add.sed.in.
79477         * lib/ref-del.sin: Renamed from ref-del.sed.in.
79478         * lib/Makefile.am: Reflect renaming.
79479         Reported by Eli Zaretskii.
79480
79481         Use a temporary file name that won't clash with `charset.alias'
79482         in the DOS 8.3 name space.
79483         * lib/Makefile.am (charset_tmp): Define.
79484         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
79485         (uninstall-local): Likewise.
79486         Reported by Eli Zaretskii.
79487
79488 2000-04-03  Jim Meyering  <meyering@lucent.com>
79489
79490         * m4/gettext.m4: Fix typo in comment.
79491
79492         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
79493         textutils/configure.in).  Suggestion from Paul Eggert.
79494         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
79495
79496 2000-04-02  Paul Eggert  <eggert@twinsun.com>
79497
79498         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
79499         variable in the shell rather than using putenv, which isn't
79500         portable.  This avoids the configure-time inter-test dependency
79501         on the potentially-renamed putenv function.
79502
79503 2000-03-30  Paul Eggert  <eggert@twinsun.com>
79504
79505         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
79506         before checking struct stat.st_blksize, so that
79507         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
79508
79509 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79510
79511         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
79512         since strftime.c uses HAVE_STRFTIME to decide whether to use
79513         the underlying strftime.
79514
79515 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79516
79517         * lib/time/strftime.c (my_strftime): Make sure we call the system
79518         strftime, not ourselves, when invoking the underlying strftime.
79519
79520 2000-03-24  Jim Meyering  <meyering@lucent.com>
79521
79522         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
79523         (charset_alias): Define.
79524         (install-exec-local): Factor out common code.
79525         (uninstall-local): Split lines longer than 80.
79526         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
79527         (SUFFIXES): Define.
79528         (.sed.in.sed): New rule.  Don't redirect directly to $@.
79529         (CLEANFILES): Add ref-add.sed and ref-del.sed.
79530
79531 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
79532
79533         * lib/config.charset: Output a line containing "Packages using this
79534         file".
79535         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
79536         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
79537         ref-del.sed): New rules.
79538
79539 2000-03-17  Jim Meyering  <meyering@lucent.com>
79540
79541         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
79542         Otherwise, include <strings.h>
79543
79544 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
79545
79546         * lib/unicodeio.c (utf8_wctomb): New function.
79547         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
79548         format instead of in UCS-4 with platform dependent endianness.
79549
79550 2000-03-10  Jim Meyering  <meyering@lucent.com>
79551
79552         * m4/lib-check.m4: Look for getspnam in -lgen, too.
79553         From Marco Franzen.
79554
79555 2000-03-07  Paul Eggert  <eggert@twinsun.com>
79556
79557         * lib/savedir.c (savedir): Work even if directory size is
79558         negative; this can happen with some screwy NFS configurations.
79559
79560 2000-03-06  Jim Meyering  <meyering@lucent.com>
79561
79562         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
79563         if it's NULL (because we ran out of memory).  From Bruno Haible.
79564
79565 2000-03-05  Jim Meyering  <meyering@lucent.com>
79566
79567         * lib/localcharset.c ("path-concat.h"): Include.
79568         (get_charset_aliases): Use path_concat instead of ANSI string
79569         concatenation.
79570
79571         * lib/unicodeio.h (PARAMS): Define.
79572         Use it to guard prototype.
79573
79574 2000-03-04  Jim Meyering  <meyering@lucent.com>
79575
79576         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
79577         for lib/localcharset.c.
79578
79579 2000-03-04  Jim Meyering  <meyering@lucent.com>
79580
79581         * lib/Makefile.am (install-exec-local): Create $(libdir) before
79582         installing into it.
79583         (uninstall-local): Uncomment this rule so `make distcheck' works
79584         once again.
79585
79586         * lib/unicodeio.c (<errno.h>): Include it.
79587         (errno): Declare if not defined.
79588
79589         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
79590
79591         * lib/config.charset: New version, incorporating remarks from a linux
79592         i18n mailing list.  From Bruno Haible.
79593
79594 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
79595
79596         * m4/codeset.m4: New file.
79597         * m4/iconv.m4: New file.
79598         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
79599
79600 2000-03-03  Jim Meyering  <meyering@lucent.com>
79601
79602         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
79603
79604 2000-03-02  Jim Meyering  <meyering@lucent.com>
79605
79606         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
79607         the messages come out on separate lines.
79608
79609         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
79610         rather than jm_CHECK_DECLARATIONS.
79611         * m4/decl.m4: Remove now-unused file.
79612
79613         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
79614         geteuid.
79615
79616 2000-03-02  Jim Meyering  <meyering@lucent.com>
79617
79618         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
79619
79620 2000-03-01  Jim Meyering  <meyering@lucent.com>
79621
79622         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
79623         * lib/unicodeio.c: Likewise.
79624
79625 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
79626
79627         * lib/config.charset: New file.
79628         * lib/localcharset.c: New file.
79629         * lib/unicodeio.h, lib/unicodeio.c: New files.
79630         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
79631         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
79632         (noinst_HEADERS): Add unicodeio.h.
79633         (all-local, install-exec-local, charset.alias): New targets.
79634
79635 2000-02-28  Paul Eggert  <eggert@twinsun.com>
79636
79637         * lib/quotearg.c (ALERT_CHAR): New macro.
79638         (quotearg_buffer_restyled): Use it.
79639
79640 2000-02-27  Jim Meyering  <meyering@lucent.com>
79641
79642         * m4/check-decl.m4: Add getenv to the list.
79643
79644 2000-02-27  Jim Meyering  <meyering@lucent.com>
79645
79646         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
79647         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
79648
79649         * lib/backupfile.c: Guard inclusion of stdlib.h with
79650         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
79651         Declare malloc if needed.
79652
79653         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
79654         `#ifndef HAVE_DECL..'
79655         now that autoconf always defines the HAVE_DECL_ symbols.
79656         * lib/human.c: Likewise.
79657         * lib/same.c: Likewise.
79658         * lib/strtoumax.c: Likewise.
79659
79660         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
79661         declaration check was not run.
79662         * lib/hash.c: Likewise.
79663         * lib/human.c: Likewise.
79664         * lib/same.c: Likewise.
79665         * lib/strtoumax.c: Likewise.
79666
79667         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
79668         `.', then first look up the entire `.'-containing string as a login
79669         name.
79670
79671 2000-02-23  Jim Meyering  <meyering@lucent.com>
79672
79673         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
79674         in place of my hack.
79675
79676 2000-02-18  Paul Eggert  <eggert@twinsun.com>
79677
79678         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
79679         (textint): New typedef.
79680         (parser_control): Member year changed from int to textint.
79681         All uses changed.
79682         (YYSTYPE): Removed; replaced by %union with int and textint members.
79683         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
79684         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
79685         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
79686         (tSNUMBER, tUNUMBER): Now of type <textintval>.
79687         (date, number, to_year): Use width of number in digits, not its value,
79688         to determine whether it's a 2-digit year, or a 2-digit time.
79689         (yylex): Store number of digits of numeric tokens.
79690         Reported by John Kendall.
79691
79692         (parser_control): Changed from struct parser_control to typedef (for
79693         consistency).  All uses changed.
79694
79695         (tID): Removed; not used.
79696         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
79697
79698 2000-02-14  Paul Eggert  <eggert@twinsun.com>
79699
79700         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
79701         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
79702
79703 2000-02-12  Jim Meyering  <meyering@lucent.com>
79704
79705         * lib/userspec.c (ISDIGIT): Define it.
79706         (isdigit): Remove definition.
79707         (is_number): Use ISDIGIT, not isdigit.
79708         <libintl.h>: Include.
79709         (_ and N_): Define.
79710         (parse_user_spec): Mark translatable strings.
79711
79712 2000-02-10  Jim Meyering  <meyering@lucent.com>
79713
79714         With these changes, nanosleep.[ch] are finally enough like the other
79715         lib/* replacement files to compile on a few more losing systems.
79716
79717         * lib/nanosleep.h: Don't include config.h.
79718         Remove prototype from declaration of nanosleep.
79719         (PARAMS): Remove now-unneeded definition.
79720         * lib/nanosleep.c: #undef nanosleep.
79721         (rpl_nanosleep): Rename from nanosleep.
79722
79723 2000-02-10  Jim Meyering  <meyering@lucent.com>
79724
79725         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
79726         gnu_nanosleep to rpl_nanosleep.
79727
79728 2000-02-09  Jim Meyering  <meyering@lucent.com>
79729
79730         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
79731         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
79732
79733 2000-02-08  Akim Demaille  <akim@epita.fr>
79734
79735         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
79736         `[' and `]' and remove uses of `changequote'.
79737         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
79738         (AC_SYS_LARGEFILE): Likewise.
79739         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
79740         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
79741         of changequote.
79742         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
79743         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
79744         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
79745         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
79746
79747 2000-02-05  Jim Meyering  <meyering@lucent.com>
79748
79749         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
79750         Remove explicit use of AC_HEADER_TIME.  It is required by
79751         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
79752         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
79753         in autoconf whereby the expansion of the latter ended up preceding
79754         the expansion of its prerequisite, AC_HEADER_TIME.
79755         Reported by Volker Borchert.
79756
79757 2000-02-03  Jim Meyering  <meyering@lucent.com>
79758
79759         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
79760
79761 2000-02-03  Jim Meyering  <meyering@lucent.com>
79762
79763         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
79764         rather than with `#if HAVE_UTMPNAME'.
79765
79766 2000-02-02  Jim Meyering  <meyering@lucent.com>
79767
79768         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
79769         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
79770         Reported by Eli Zaretskii.
79771
79772 2000-02-01  Jim Meyering  <meyering@lucent.com>
79773
79774         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
79775
79776 2000-01-31  Jim Meyering  <meyering@lucent.com>
79777
79778         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
79779         functions.  Add the time.h and sys/time.h headers along with the
79780         AC_REQUIRE'ment of AC_HEADER_TIME.
79781
79782 2000-01-31  Jim Meyering  <meyering@lucent.com>
79783
79784         * lib/nanosleep.h (nanosleep): Guard declaration with
79785         `#if ! HAVE_DECL_NANOSLEEP'.
79786         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
79787         the declaration in that vendor's sys/timers.h.
79788         Reported by Christian Krackowizer.
79789
79790         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
79791         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
79792         (ISPRINT): Likewise.
79793         Reported by Tom Tromey.
79794
79795 2000-01-30  Jim Meyering  <meyering@lucent.com>
79796
79797         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
79798
79799         * m4/prereq.m4 (utmp_includes): Define.
79800         Check for ut_user and ut_name members in both struct utmpx
79801         and struct utmp.
79802
79803 2000-01-30  Jim Meyering  <meyering@lucent.com>
79804
79805         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
79806         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
79807         header files where only utmpx.ut_user is declared.
79808
79809         * lib/readutmp.h (UT_USER): Define.
79810
79811 2000-01-29  Jim Meyering  <meyering@lucent.com>
79812
79813         * m4/lib-check.m4: New file containing library-related checks from
79814         fileutils and sh-utils (textutils had none).
79815
79816 2000-01-28  Jim Meyering  <meyering@lucent.com>
79817
79818         * m4/perl.m4: Change format of warning message to look more like that
79819         from the missing script.  Suggestion from François Pinard.
79820
79821 2000-01-25  Jim Meyering  <meyering@lucent.com>
79822
79823         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
79824         well as time.h in the compile check.
79825         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
79826         Fix typo in cross-compiling case: s/yes/no/.
79827
79828 2000-01-23  Jim Meyering  <meyering@lucent.com>
79829
79830         * m4/jm-macros.m4: Move df-related tests here from
79831         fileutils/configure.in
79832
79833         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
79834         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
79835
79836         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
79837         s/space/ac_fsusage_space/.
79838         (jm_FILE_SYSTEM_USAGE): Take two parameters.
79839
79840         * m4/ftruncate.m4: New file (derived from part of
79841         fileutils/configure.in).
79842         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
79843         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
79844
79845         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
79846         AC_SUBST these here, rather than just in sh-util/configure.in, so
79847         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
79848         all the same.
79849         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
79850         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
79851         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
79852         (AC_SUBST(POW_LIBM)): Likewise.
79853         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
79854
79855 2000-01-23  Jim Meyering  <meyering@lucent.com>
79856
79857         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
79858         obstack.c.
79859
79860 2000-01-22  Jim Meyering  <meyering@lucent.com>
79861
79862         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
79863
79864         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
79865
79866         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
79867         configure.in
79868         (AC_CHECK_HEADERS): Likewise for sh-utils.
79869         (AC_CHECK_HEADERS): Likewise for textutils.
79870         Merge the three lists of headers.
79871
79872         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
79873         from fileutils' configure.in.
79874
79875         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
79876         code. Moved tests into their own function (_jm_DECL_HEADERS) in
79877         check-decl.m4.
79878
79879         * m4/check-decl.m4: Use #if rather than #ifdef.
79880         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
79881         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
79882         (_jm_DECL_HEADERS): Define new function.
79883         (jm_CHECK_DECLARATIONS): Require it.
79884
79885 2000-01-22  Jim Meyering  <meyering@lucent.com>
79886
79887         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
79888         [! HAVE_DECL_STRTOULL]: Declare strtoull.
79889         Required for some AIX systems.  Reported by Christian Krackowizer.
79890         [TESTING] (main): New function.
79891
79892         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
79893         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
79894         letters.
79895
79896         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
79897         iswprint.
79898
79899         * lib/strverscmp.c (ISDIGIT): Define.
79900         (strverscmp): Use ISDIGIT, not isdigit.
79901
79902 2000-01-19  Jim Meyering  <meyering@lucent.com>
79903
79904         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
79905         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
79906         defines `struct timespec' in <sys/time.h>
79907
79908         * m4/c-bs-a.m4: Remove uses of changequote altogether.
79909         Thanks to Akim for explaining.
79910
79911 2000-01-17  Paul Eggert  <eggert@twinsun.com>
79912
79913         * lib/nanosleep.c (nanosleep):
79914         Don't use SA_INTERRUPT to decide whether to call sigaction, as
79915         POSIX.1 doesn't require SA_INTERRUPT and some systems
79916         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
79917         it's been part of POSIX.1 since day 1 (in 1988).
79918
79919 2000-01-17  Jim Meyering  <meyering@lucent.com>
79920
79921         * lib/interlock: Remove unused file.  Reported by François Pinard.
79922
79923 2000-01-16  Paul Eggert  <eggert@twinsun.com>
79924
79925         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
79926         alert, backslash, formfeed, and vertical tab unnecessarily in
79927         shell quoting style.
79928
79929 2000-01-16  Jim Meyering  <meyering@lucent.com>
79930
79931         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
79932         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
79933         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
79934         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
79935
79936 2000-01-16  Jim Meyering  <meyering@lucent.com>
79937
79938         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
79939         because the latter didn't work.
79940
79941 2000-01-15  Jim Meyering  <meyering@lucent.com>
79942
79943         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
79944         (AC_REPLACE_FUNCS): Add memcpy and memset.
79945         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
79946         Add strpbrk.
79947         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
79948
79949 2000-01-12  Jim Meyering  <meyering@lucent.com>
79950
79951         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
79952         (jm_PREREQ): Use it.
79953         (jm_PREREQ_READUTMP): New macro.
79954         (jm_PREREQ): Use it.
79955
79956 2000-01-11  Paul Eggert  <eggert@twinsun.com>
79957
79958         Quote multibyte characters correctly.
79959         * m4/c-bs-a.m4: New file.
79960         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
79961         (jm_PREREQ): Use it.
79962
79963 2000-01-11  Paul Eggert  <eggert@twinsun.com>
79964
79965         * m4/uintmax_t.m4: Port to autoconf 2.13.
79966
79967 2000-01-08  Jim Meyering  <meyering@ascend.com>
79968
79969         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
79970         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
79971
79972 2000-01-04  Jim Meyering  <meyering@ascend.com>
79973
79974         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
79975         jm_STRUCT_DIRENT_D_TYPE.
79976         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
79977         jm_STRUCT_DIRENT_D_INO.
79978         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
79979         jm_STRUCT_UTIMBUF.
79980         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
79981         renamings.
79982         * m4/utime.m4: Likewise.
79983
79984         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
79985         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
79986
79987 2000-01-03  Paul Eggert  <eggert@twinsun.com>
79988
79989         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
79990         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
79991
79992 2000-01-02  Jim Meyering  <meyering@ascend.com>
79993
79994         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
79995         remember if this is necessary.
79996
79997 1999-12-26  Jim Meyering  <meyering@ascend.com>
79998
79999         * m4/jm-macros.m4: Use it here.
80000         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
80001
80002 1999-12-23  Jim Meyering  <meyering@ascend.com>
80003
80004         * m4/jm-macros.m4: Check for clock_gettime (moved from
80005         fileutils/configure.in)
80006         Check for gettimeofday.
80007
80008 1999-12-20  Jim Meyering  <meyering@ascend.com>
80009
80010         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
80011         autoconf-2.14a-1999-12-20.
80012
80013 1999-12-19  Jim Meyering  <meyering@ascend.com>
80014
80015         * m4/lstat-slash.m4: New file.
80016         * m4/jm-macros.m4: Use the new macro:
80017         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80018
80019 1999-12-07  Jim Meyering  <meyering@ascend.com>
80020
80021         * m4/perl.m4: Require that File::Compare be available, too.
80022         Too many systems seem to lack it.
80023
80024         * m4/strftime.m4: Add checks for most of the cpp macros tested in
80025         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
80026
80027 1999-11-18  Paul Eggert  <eggert@twinsun.com>
80028
80029         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
80030         problem with the QNX 4.25 shell, which doesn't propagate exit
80031         status of failed commands inside shell assignments.
80032
80033 1999-11-17  Jim Meyering  <meyering@ascend.com>
80034
80035         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
80036
80037 1999-11-07  Jim Meyering  <meyering@ascend.com>
80038
80039         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
80040
80041 1999-11-06  Jim Meyering  <meyering@ascend.com>
80042
80043         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
80044         * m4/jm-macros.m4 (jm_MACROS): Use it here.
80045
80046 1999-11-05  Jim Meyering  <meyering@ascend.com>
80047
80048         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
80049         configure.in of textutils, fileutils, and sh-utils into this one
80050         (shared between those packages) file.
80051         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
80052         AC_STRUCT_ST_BLKSIZE.
80053
80054 1999-11-03  Jim Meyering  <meyering@ascend.com>
80055
80056         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
80057         of AC_CHECK_TYPE checks includes unistd.h.
80058         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
80059         Suggestion from Akim Demaille.
80060
80061 1999-10-30  Jim Meyering  <meyering@ascend.com>
80062
80063         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
80064         m4-quoted string.
80065         * m4/ls-mntd-fs.m4: Likewise.
80066         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
80067         * m4/jm-winsz1.m4: Likewise.
80068
80069         * m4/const.m4: Remove file, since the fix made it into the experimental
80070         version of autoconf.
80071         * m4/mktime.m4: Likewise.
80072
80073         * m4/check-type.m4: Remove file, now that the latest version of
80074         AC_CHECK_TYPE takes a third arg to specify additional #includes.
80075
80076         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
80077         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
80078         AC_CHECK_TYPE.
80079
80080 1999-10-04  Jim Meyering  <meyering@ascend.com>
80081
80082         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
80083
80084 1999-09-22  Paul Eggert  <eggert@twinsun.com>
80085
80086         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
80087         2.95.1 bug with HP-UX 10.20.
80088
80089 1999-09-17  Jim Meyering  <meyering@ascend.com>
80090
80091         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
80092         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
80093         due to missing strdup (against sh-utils-2.0).
80094
80095 1999-08-29  Jim Meyering  <meyering@ascend.com>
80096
80097         * m4/jm-macros.m4: Require jm_BISON.
80098         * m4/bison.m4: New file.
80099
80100 1999-08-17  Paul Eggert  <eggert@twinsun.com>
80101
80102         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
80103         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
80104
80105 1999-08-05  Jim Meyering  <meyering@ascend.com>
80106
80107         * m4/getline.m4: Rename test file from conftestdata to conftest.data
80108         to avoid conflicts with `conftest' on 8+3 filesystems.
80109         Suggestion from Eli Zaretskii.
80110
80111 1999-08-04  Jim Meyering  <meyering@ascend.com>
80112
80113         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
80114         fileutils and sh-utils (textutils's getline test was inadequate).
80115         (AM_FUNC_GETLINE): Run this test.
80116         (AC_CHECK_FUNCS): Check for getdelim.
80117         Reported by Bob Proulx.
80118
80119 1999-08-02  Jim Meyering  <meyering@ascend.com>
80120
80121         * m4/jm-macros.m4: Add a comment.
80122
80123 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80124
80125         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
80126         <inttypes.h> defines strtoumax as a macro (and not as a
80127         function).
80128
80129 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80130
80131         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
80132         that we can shift, multiply and divide unsigned long long
80133         values; Ultrix cc can't do it.
80134
80135 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80136
80137         * m4/mktime.m4: New file, which is a preview of what should appear
80138         in the next public autoconf release.
80139
80140 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80141
80142         * m4/lfs.m4: Remove this file.
80143         * m4/largefile.m4: New file.  It contains the old contents of
80144         lfs.m4, except that all names with prefix AC_LFS have been
80145         changed to use the prefix AC_SYS_LARGEFILE instead, to be
80146         compatible with future autoconf versions.  Also, some minor m4
80147         quoting problems have been fixed.
80148
80149 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80150
80151         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
80152         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
80153         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
80154         and simplify the shell code.
80155
80156 1999-08-01  Jim Meyering  <meyering@ascend.com>
80157
80158         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
80159         m4.
80160
80161 1999-07-20  Jim Meyering  <meyering@ascend.com>
80162
80163         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
80164
80165 1999-07-15  Jim Meyering  <meyering@ascend.com>
80166
80167         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
80168
80169 1999-05-22  Jim Meyering  <meyering@ascend.com>
80170
80171         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
80172
80173 1999-05-20  Jim Meyering  <meyering@ascend.com>
80174
80175         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
80176         Add a colon after each `then' in case $4 is empty.
80177
80178 1999-05-16  Jim Meyering  <meyering@ascend.com>
80179
80180         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
80181
80182 1999-05-10  Jim Meyering  <meyering@ascend.com>
80183
80184         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
80185
80186         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
80187         AC_FUNC_MKTIME.
80188
80189 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
80190
80191         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
80192
80193 1999-05-04  Paul Eggert  <eggert@twinsun.com>
80194
80195         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
80196         not CPPFLAGS, so that linking works correctly in IRIX.
80197
80198 1999-04-30  Paul Eggert  <eggert@twinsun.com>
80199
80200         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
80201
80202 1999-04-20  Paul Eggert  <eggert@twinsun.com>
80203
80204         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
80205         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
80206         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
80207         jm_AC_TYPE_UNSIGNED_LONG_LONG.
80208         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
80209
80210         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
80211
80212 1999-04-20  Jim Meyering  <meyering@ascend.com>
80213
80214         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
80215         AC_REPLACE xstroull if necessary.  From Paul Eggert.
80216         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
80217
80218 1999-04-18  Jim Meyering  <meyering@ascend.com>
80219
80220         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
80221         * m4/jm-macros.m4: Use it.
80222
80223 1999-04-06  Jim Meyering  <meyering@ascend.com>
80224
80225         * m4/strftime.m4: Remove test for %f.
80226
80227 1999-03-29  Jim Meyering  <meyering@ascend.com>
80228
80229         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
80230         superset of the AC_TYPE_* checks in the textutils, fileutils,
80231         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
80232         AC_TYPE_PID_T.
80233
80234 1999-03-28  Jim Meyering  <meyering@ascend.com>
80235
80236         * m4/jm-macros.m4: Define GNU_PACKAGE here.
80237         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
80238         replaced e.g., in the *.sh files of the sh-utils.
80239
80240 1999-03-20  Jim Meyering  <meyering@ascend.com>
80241
80242         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
80243         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
80244         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
80245
80246 1999-03-19  Jim Meyering  <meyering@ascend.com>
80247
80248         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
80249
80250 1999-03-12  Jim Meyering  <meyering@ascend.com>
80251
80252         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
80253
80254 1999-03-07  Jim Meyering  <meyering@ascend.com>
80255
80256         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
80257         declared.
80258
80259 1999-02-17  Jim Meyering  <meyering@ascend.com>
80260
80261         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
80262         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
80263
80264 1999-02-07  Jim Meyering  <meyering@ascend.com>
80265
80266         * m4/group-member.m4: New file -- extracted from sh-utils'
80267         configure.in.
80268
80269         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
80270         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
80271
80272 1999-02-06  Jim Meyering  <meyering@ascend.com>
80273
80274         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
80275         * m4/fnmatch.m4: Likewise.
80276         * m4/getgroups.m4: Likewise.
80277         * m4/lstat.m4: Likewise.
80278         * m4/malloc.m4: Likewise.
80279         * m4/putenv.m4: Likewise.
80280         * m4/realloc.m4: Likewise.
80281         * m4/regex.m4: Likewise.
80282         * m4/stat.m4: Likewise.
80283         * m4/strftime.m4: Likewise.
80284         Suggestion from Alain Magloire.
80285
80286         * m4/chown.m4: Use `.$ac_objext', not `.o'.
80287         * m4/fnmatch.m4: Likewise.
80288         * m4/getgroups.m4: Likewise.
80289         * m4/getline.m4: Likewise.
80290         * m4/lstat.m4: Likewise.
80291         * m4/malloc.m4: Likewise.
80292         * m4/memcmp.m4: Likewise.
80293         * m4/putenv.m4: Likewise.
80294         * m4/realloc.m4: Likewise.
80295         * m4/regex.m4: Likewise.
80296         * m4/stat.m4: Likewise.
80297         * m4/strftime.m4: Likewise.
80298         Suggestion from Alain Magloire.
80299
80300         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
80301         an argument.
80302
80303         * m4/regex.m4: Add a run-time Test for proper operation of
80304         re_compile_pattern.
80305
80306 1999-01-31  Jim Meyering  <meyering@ascend.com>
80307
80308         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
80309
80310 1999-01-30  Jim Meyering  <meyering@ascend.com>
80311
80312         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
80313
80314         * m4/jm-mktime.m4: Make this a wrapper around the official
80315         AM_FUNC_MKTIME rather than my private copy, now that the official one
80316         is up to date.
80317         * m4/mktime.m4: Remove file.
80318
80319         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
80320         * m4/uptime.m4: Likewise.
80321         * m4/uintmax_t.m4: Likewise.
80322
80323 1999-01-28  Jim Meyering  <meyering@ascend.com>
80324
80325         * m4/jm-macros.m4: Use jm_AFS.
80326         * m4/afs.m4: New file (from fileutils' configure.in).
80327
80328         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
80329         * m4/chown.m4: Likewise.
80330         * m4/d-ino.m4: Likewise.
80331         * m4/d-type.m4: Likewise.
80332         * m4/fnmatch.m4: Likewise.
80333         * m4/getgroups.m4: Likewise.
80334         * m4/gettext.m4: Likewise.
80335         * m4/jm-mktime.m4: Likewise.
80336         * m4/jm-winsz2.m4: Likewise.
80337         * m4/lcmessage.m4: Likewise.
80338         * m4/ls-mntd-fs.m4: Likewise.
80339         * m4/malloc.m4: Likewise.
80340         * m4/memcmp.m4: Likewise.
80341         * m4/putenv.m4: Likewise.
80342         * m4/realloc.m4: Likewise.
80343         * m4/st_mtim.m4: Likewise.
80344         * m4/strftime.m4: Likewise.
80345
80346 1999-01-16  Jim Meyering  <meyering@ascend.com>
80347
80348         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
80349         (ARGMATCH_DIE_DECL): Define.
80350
80351 1999-01-12  Jim Meyering  <meyering@ascend.com>
80352
80353         * m4/Makefile.am.in: Rewrite to avoid using fmt.
80354         Reported by Lars Hecking.
80355
80356 1999-01-10  Jim Meyering  <meyering@ascend.com>
80357
80358         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
80359         gross kludge.
80360         * m4/inttypes_h.m4: Likewise.
80361         * m4/lstat.m4: Likewise.
80362         * m4/malloc.m4: Likewise.
80363         * m4/readdir.m4: Likewise.
80364         * m4/realloc.m4: Likewise.
80365         * m4/st_dm_mode.m4: Likewise.
80366         * m4/stat.m4: Likewise.
80367         * m4/utimbuf.m4: Likewise.
80368         * m4/utimes.m4: Likewise.
80369
80370         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
80371         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
80372         comments in config.h.in are meaningful.
80373
80374         * m4/jm-macros.m4: Require autoconf-2.13 here.
80375
80376         * m4/regex.m4: By default, don't use the included regex.c on systems
80377         with glibc 2.  Suggestion from Uli Drepper.
80378
80379 1999-01-02  Jim Meyering  <meyering@ascend.com>
80380
80381         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
80382
80383 1998-12-18  Jim Meyering  <meyering@ascend.com>
80384
80385         * m4/Makefile.am.in (Makefile.am): Simplify rule.
80386         Based on a suggestion from Lars Hecking.
80387
80388 1998-11-16  Paul Eggert  <eggert@twinsun.com>
80389
80390         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
80391
80392 1998-11-16  Jim Meyering  <meyering@ascend.com>
80393
80394         * m4/lfs.m4: Double-quote the `uname...` expression.
80395
80396 1998-11-14  Jim Meyering  <meyering@ascend.com>
80397
80398         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
80399         * m4/stat.m4: Likewise.
80400
80401 1998-11-03  Jim Meyering  <meyering@ascend.com>
80402
80403         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
80404         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
80405
80406 1998-10-18  Jim Meyering  <meyering@ascend.com>
80407
80408         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
80409
80410 1998-10-17  Jim Meyering  <meyering@ascend.com>
80411
80412         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
80413         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
80414         calls for those previously hard-coded headers.  Instead, take a new
80415         parameter.
80416         (jm_CHECK_DECLARATIONS): Reflect interface change.
80417         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
80418         (jm_CHECK_DECL_LOCALTIME_R): New macro.
80419
80420         * m4/mktime.m4: Test for spring-forward gap before long-running test.
80421
80422 1998-10-14  Jim Meyering  <meyering@ascend.com>
80423
80424         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
80425         instead of "TZ=America/Vancouver".  From Paul Eggert.
80426
80427 1998-10-11  Jim Meyering  <meyering@ascend.com>
80428
80429         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
80430         This adds a test for a recently added compatibility fix for mktime.c.
80431         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
80432
80433 1998-09-27  Jim Meyering  <meyering@ascend.com>
80434
80435         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
80436
80437         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
80438         ../configure.in, including a change from Gordon Matzigkeit to allow
80439         cross-compiling for the Hurd.
80440
80441         * m4/glibc.m4: New file/macro to test for the GNU C Library
80442         versions 1 and 2.  From Gordon Matzigkeit.
80443         Indent.
80444
80445 1998-09-21  Jim Meyering  <meyering@ascend.com>
80446
80447         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
80448
80449 1998-08-18  Paul Eggert  <eggert@twinsun.com>
80450
80451         Port nanosecond-resolution times to UnixWare 2.1.2 and
80452         pedantic Solaris 2.6.
80453
80454         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
80455         AC_STRUCT_ST_MTIM.
80456         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
80457         Generate name of ns member, instead of just 1 or undef.
80458         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
80459
80460 1998-08-15  Jim Meyering  <meyering@ascend.com>
80461
80462         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
80463         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
80464         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
80465         instead of jm_TYPE_SSIZE_T.
80466
80467 1998-08-12  Jim Meyering  <meyering@ascend.com>
80468
80469         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
80470
80471 1998-08-02  Jim Meyering  <meyering@ascend.com>
80472
80473         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
80474         in acconfig.h manually.
80475
80476 1998-07-31  Paul Eggert  <eggert@twinsun.com>
80477
80478         * m4/st_mtim.m4: New file.
80479
80480 1998-07-28  Jim Meyering  <meyering@ascend.com>
80481
80482         * m4/utimes.m4: Undef stat.
80483
80484 1998-07-25  Jim Meyering  <meyering@ascend.com>
80485
80486         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
80487         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
80488
80489 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
80490
80491         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
80492         uid and gid actually remain unchanged.
80493
80494 1998-07-07  Jim Meyering  <meyering@ascend.com>
80495
80496         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
80497
80498 1998-07-04  Jim Meyering  <meyering@ascend.com>
80499
80500         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
80501         to prove that this macro can be used in packages without regex.c.
80502
80503 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
80504
80505         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
80506         is to be used.
80507
80508 1998-07-03  Jim Meyering  <meyering@ascend.com>
80509
80510         * m4/gettext.m4: Add -lintl if it's found to be necessary.
80511
80512         * m4/gettext.m4: New file -- from gettext-0.10.35.
80513         * m4/lcmessage.m4: Likewise.
80514         * m4/progtest.m4: Likewise.
80515
80516         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
80517         * m4/jm-macros.m4: Require the new macro.
80518
80519 1998-06-29  Jim Meyering  <meyering@ascend.com>
80520
80521         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
80522         for the definition of NGROUPS (used in a system header included
80523         by sys/mount.h).
80524
80525 1998-06-28  Jim Meyering  <meyering@ascend.com>
80526
80527         * m4/ls-mntd-fs.m4: New file.
80528         * m4/fstypename.m4: New file.
80529
80530         * m4/jm-macros.m4: Require the new macro.
80531         * m4/jm-glibc-io.m4: New file.
80532
80533 1998-05-19  Jim Meyering  <meyering@ascend.com>
80534
80535         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
80536         * m4/lchown.m4: New file.
80537
80538         * m4/Makefile.am.in: New file.
80539         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
80540
80541 1998-05-14  Jim Meyering  <meyering@ascend.com>
80542
80543         * m4/Makefile.am (EXTRA_DIST): Add them.
80544         * m4/jm-macros.m4: New file.
80545         * m4/utimbuf.m4: New file.
80546
80547 1998-05-12  Jim Meyering  <meyering@ascend.com>
80548
80549         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
80550
80551 1998-05-11  Jim Meyering  <meyering@ascend.com>
80552
80553         * m4/isc-posix.m4: New file.
80554
80555 1998-05-10  Jim Meyering  <meyering@ascend.com>
80556
80557         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
80558
80559 1998-05-09  Jim Meyering  <meyering@ascend.com>
80560
80561         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
80562         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
80563         with automake.
80564
80565         * m4/ssize_t.m4: New file.
80566         * m4/mktime.m4: Remove file -- the new automake has this now.
80567
80568 1998-04-26  Jim Meyering  <meyering@ascend.com>
80569
80570         * m4/assert.m4: New file.
80571         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
80572
80573 1998-04-05  Jim Meyering  <meyering@ascend.com>
80574
80575         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
80576         (jm_PREREQ): Use it here.
80577
80578 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
80579
80580         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
80581         in acconfig.h.
80582
80583 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
80584
80585         * m4/prereq.m4: New file.
80586         * m4/error.m4: New file.
80587         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
80588
80589 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
80590
80591         * m4/getline.m4: Don't set am_cv_func_working_getline before the
80592         cache-check for the same variable -- that defeated the purpose of
80593         the test; the test program was never run.  This was a problem only
80594         on systems with losing getline functions -- HP-UX 10.20 is one.
80595         Reported by Bjorn Helgaas.
80596
80597 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
80598
80599         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
80600
80601 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
80602
80603         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
80604
80605         * m4/const.m4: New file.  Use an initializer in this declaration
80606         typedef int charset[2]; const charset x;
80607         Reported by Bob Glickstein.
80608
80609 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
80610
80611         * m4/chown.m4: Fix reversed types on -1 args to chown.
80612         From Kaveh Ghazi.
80613
80614 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
80615
80616         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
80617         Add lseek and memchr.
80618
80619         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
80620         T.E.Dickey <dickey@clark.net> said that some older preprocessors
80621         have a 20-character limit on names.
80622
80623 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
80624
80625         * m4/inttypes_h.m4: New file.
80626         * m4/uintmax_t.m4: New file.
80627         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
80628
80629
80630         -----
80631
80632         Local Variables:
80633         coding: utf-8
80634         End:
80635
80636         Copyright (C) 1997-2011 Free Software Foundation, Inc.
80637
80638         Copying and distribution of this file, with or without
80639         modification, are permitted provided the copyright notice
80640         and this notice are preserved.