e7fbe0b23d3109e6b5445bb2aa8ec62594592bdf
[gnulib.git] / ChangeLog
1 2010-05-16  Jim Meyering  <meyering@redhat.com>
2
3         init.sh: fix an error in the previous change; add more comments
4         * tests/init.sh: Compare exit code in loop against 9, not 2.
5         Patch by Bruno Haible.
6         Make the two tests more similar by adding an empty "then" clause.
7         Add comments.
8
9         init.sh: avoid unnecessary shell re-exec
10         * tests/init.sh: Improve the re-exec-required check to first test the
11         current shell.  If it passes the test, do not search for a shell that
12         does pass, and do not re-exec.  This test is particularly contorted to
13         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
14         of $(...) evokes a syntax error and causes immediate shell exit with
15         status 2.  Bruno Haible reported that the re-exec made it impossible
16         to single-step through any init.sh-using script.
17
18 2010-05-16  Bruno Haible  <bruno@clisp.org>
19
20         Fix collision between gnulib's and libintl's printf replacements.
21         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
23         (printf): When using GNU C, map the __printf__ function to rpl_printf
24         via __asm__. When not using GNU C, define rpl_printf instead of
25         __printf__.
26         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27         commit.
28         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29         commit.
30         * m4/asm-underscore.m4: New file.
31         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
32         * modules/stdio (Files): Add m4/asm-underscore.m4.
33         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
34         Reported by Ben Pfaff.
35
36 2010-05-16  Bruno Haible  <bruno@clisp.org>
37
38         verify: Avoid skipping the test on openSUSE 11.0.
39         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
40
41 2010-05-13  Bruno Haible  <bruno@clisp.org>
42
43         Avoid useless warnings from G++.
44         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
45         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
46         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
47
48 2010-05-11  Jim Meyering  <meyering@redhat.com>
49
50         maint.mk: tweak preceding change
51         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
52         regexps tighter by anchoring at EOL, and make the new group "shy"
53         for slightly decreased overhead.
54
55 2010-05-11  Eric Blake  <eblake@redhat.com>
56
57         maint.mk: gnulib doesn't guarantee NSIG
58         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
59
60 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
61
62         test-pwrite.c: Remove unused variable declaration.
63         * tests/test-pwrite.c (main): Remove read_buf declaration.
64
65         Remove useless test-pwrite.sh file.
66         * tests/test-pwrite.sh: Delete file.
67         * modules/pwrite-tests: Remove references.
68         Reported by Bruno Haible.
69
70 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
71
72         init.sh: fix a typo
73         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
74
75 2010-05-10  Jim Meyering  <meyering@redhat.com>
76
77         maint.mk: avoid using a temporary file in the always-defined-macros check
78         * top/maint.mk (.re-defmac): Remove rule.
79         (gl_trap_): Remove definition.
80         (sc_prohibit_always-defined_macros): Rewrite not to create and
81         depend on a temporary file.  Instead, depend on GNU grep's ability
82         to read a list of regular expressions from stdin when given "-f -".
83
84 2010-05-09  Bruno Haible  <bruno@clisp.org>
85
86         Update to GNU gettext 0.18.
87         * m4/gettext.m4: Update to GNU gettext 0.17.
88         * m4/intl.m4: Likewise.
89         * m4/po.m4: Likewise.
90         * modules/gettext (Files): Add m4/fcntl-o.m4.
91         (configure.ac): Require gettext infrastructure from version 0.18.
92
93 2010-05-09  Jim Meyering  <meyering@redhat.com>
94
95         init.sh: enable MALLOC_PERTURB_
96         * tests/init.sh: Enable glibc's malloc-perturbing option.
97
98         maint.mk: improve sc_cross_check_PATH_usage_in_tests
99         With my recent change in init.sh from the two-line form:
100             -#   : ${srcdir=.}
101             -#   . "$srcdir/init.sh"; path_prepend_ .
102             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
103         I noticed that using the one-line form would cause this test
104         to fail with a false-positive, or to stop working altogether,
105         depending on whether help-version changed or all the tests did.
106         * top/maint.mk (_hv_regex): Remove this definition.
107         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
108         (_hv_regex_strong): Use a stronger regex to check for conformance.
109         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
110         Give a separate diagnostic for lack of conforming use.
111
112         maint.mk: prohibit definition of symbols defined by gnulib
113         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
114         definition of symbols defined by gnulib.
115
116 2010-05-09  Bruno Haible  <bruno@clisp.org>
117
118         acl: Avoid test failure on Cygwin-hosted mingw.
119         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
120
121 2010-05-09  Bruno Haible  <bruno@clisp.org>
122
123         error: Use system's fcntl function.
124         * lib/error.c (fcntl): Undefine.
125
126 2010-05-09  Jim Meyering  <meyering@redhat.com>
127
128         verify: adjust formatting to be more consistent
129         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
130         argument-list '('s, and after one comma.
131
132 2010-05-09  Bruno Haible  <bruno@clisp.org>
133
134         error: More reliable output on mingw.
135         * lib/error.c: Include <windows.h>.
136         (is_open): New function.
137         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
138         defined.
139
140 2010-05-09  Bruno Haible  <bruno@clisp.org>
141
142         vasnprintf: Fix syntax errors in libintl build on mingw.
143         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
144         pad_ourselves and prec_ourselves after use.
145
146 2010-05-08  Bruno Haible  <bruno@clisp.org>
147
148         * lib/config.charset: Update comments for Cygwin 1.7.
149         * lib/localcharset.c: Likewise.
150
151 2010-05-07  Jim Meyering  <meyering@redhat.com>
152
153         init.sh: improve comments
154         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
155         . "${srcdir=.}/init.sh"; path_prepend_ .
156         Add a note about path_prepend_ and the alternative of using
157         TESTS_ENVIRONMENT.
158
159 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
160
161         exclude: Unescape hashed patterns in wildcard mode.
162         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
163         to the hash list.
164         * tests/test-exclude8.sh: New test case.
165         * modules/exclude-tests: Add new test.
166
167 2010-05-05  Eric Blake  <eblake@redhat.com>
168
169         verify: automate tests
170         * modules/verify-tests: New module.
171         * tests/test-verify.sh: New file.
172         * tests/test-verify.c: Guard each negative test with a unique id.
173         Also avoid warning about unused left hand of comma expressions.
174
175 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
176
177         Further improvements to verify.h, suggested by Eric Blake.
178         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
179         the GL_* versions, to avoid collision with OpenGL.
180         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
181         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
182         than testing merely whether it's defined.
183
184         Modify verify.h to pacify gcc -Wredundant_decls.
185         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
186         These use the prefix "GL_" since they're likely to be useful elsewhere.
187         We may need to break them out into a different .h file.
188         (__COUNTER__): Define to 0 if the compiler doesn't support it.
189         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
190         of verify_function__.
191
192 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
193
194         Tests for module pwrite.
195         * modules/pwrite-tests: New file.
196         * tests/test-pwrite.sh: New file.
197         * tests/test-pwrite.c: New file.
198
199         New module pwrite.
200         * lib/unistd.in.h (pwrite): New declaration.
201         * lib/pwrite.c: New file, from glibc with modifications.
202         * m4/pwrite.m4: New file.
203         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
204         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
205         REPLACE_PWRITE.
206         * modules/pwrite: New file.
207         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
208         REPLACE_PWRITE.
209         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
210         * doc/posix-functions/pwrite.texi: Mention the new module.
211
212 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
213
214         pread: Update documentation.
215         * doc/posix-functions/pread.texi: Mention the 'pread' module.
216
217 2010-05-04  Eric Blake  <eblake@redhat.com>
218
219         docs: update cygwin progress
220         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
221         this bug.
222         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
223         Added in cygwin 1.7.2.
224         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
225         Likewise.
226         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
227         Likewise.
228         * doc/glibc-functions/dup3.texi (dup3): Likewise.
229         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
230         * doc/glibc-functions/accept4.texi (accept4): Likewise.
231         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
232         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
233         Mention nproc module.
234         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
235         bug in cygwin 1.7.5 addition.
236         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
237         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
238         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
239         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
240         1.7.5.
241         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
242         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
243         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
244         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
245         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
246         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
247         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
248         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
249         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
250         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
251         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
252         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
253         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
254         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
255         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
256         Likewise.
257         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
258         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
259         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
260         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
261         Likewise.
262         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
263         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
264         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
265         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
266         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
267         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
268         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
269         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
270         Likewise.
271         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
272         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
273         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
274         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
275         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
276         Likewise.
277         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
278         Likewise.
279         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
280         Likewise.
281         * doc/glibc-functions/xdrrec_endofrecord.texi
282         (xdrrec_endofrecord): Likewise.
283         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
284         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
285         Likewise.
286         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
287         Likewise.
288
289 2010-05-04  Jim Meyering  <meyering@redhat.com>
290
291         gendocs.sh: make its "-s FILE" option more useful
292         * build-aux/gendocs.sh: When honoring the -s FILE option, update
293         $PACKAGE to reflect the probably-different basename of "FILE".
294
295 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
296
297         bootstrap: don't ignore download_po_files failure
298         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
299         failure.
300
301 2010-05-03  Jim Meyering  <meyering@redhat.com>
302
303         maint.mk: allow to pass options to gendocs.sh
304         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
305         (gendocs_options_): New overridable variable.
306
307         gnu-web-doc-update: don't ignore configure or build failure
308         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
309
310         announce-gen: backslash-escape '@'s in --help output
311         * build-aux/announce-gen: Fix syntax errors.
312
313         maint.mk, announce-gen: allow project-specific announcement mail headers
314         * top/maint.mk (translation_project_): Define default.
315         (announcement_Cc_, announcement_mail_headers_): Likewise.
316         (announcement): Invoke announce-gen with new --mail-headers option.
317         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
318
319         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
320         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
321         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
322         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
323         line in the "err2" output file when running "make check" in verbose
324         mode (i.e., with set -x enabled).
325
326 2010-05-03  Bruno Haible  <bruno@clisp.org>
327
328         wctob: Fix for weird platforms.
329         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
330         argument value.
331
332 2010-05-03  Jim Meyering  <meyering@redhat.com>
333
334         maint.mk: prohibit unwarranted use of <strings.h>
335         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
336         strings.h in a file that does not also use strcasecmp, strncasecmp,
337         ffs or ffsll.
338
339         maint.mk: remove obsolete comments
340         * top/maint.mk: Remove stale, commented-out rules.
341
342 2010-05-02  Bruno Haible  <bruno@clisp.org>
343
344         wcwidth: Declare also when it's aliased.
345         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
346         macro.
347
348 2010-05-02  Bruno Haible  <bruno@clisp.org>
349
350         Fix regression from 2010-04-25.
351         * gnulib-tool (func_modules_transitive_closure): Check the status of
352         all modules, not only of the tests that are of the form foo-tests where
353         foo is a module.
354
355 2010-05-02  Bruno Haible  <bruno@clisp.org>
356
357         wctob: Work around nasty Cygwin 1.7.2 bug.
358         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
359         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
360
361 2010-05-01  Bruno Haible  <bruno@clisp.org>
362
363         fpurge: Sharper test.
364         * tests/test-fpurge.c (main): Add one more ftell check.
365         * modules/fpurge-tests (Depends-on): Add ftell.
366         Suggested by Eric Blake.
367
368 2010-05-01  Bruno Haible  <bruno@clisp.org>
369
370         ftello: Another test.
371         * tests/test-ftello3.c: New file.
372         * modules/ftello-tests (Files): Add it.
373         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
374         MOSTLYCLEANFILES.
375
376         ftell: Another test.
377         * tests/test-ftell3.c: New file.
378         * modules/ftell-tests (Files): Add it.
379         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
380         MOSTLYCLEANFILES.
381
382 2010-05-01  Bruno Haible  <bruno@clisp.org>
383
384         ftell, ftello: Work around Solaris bug.
385         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
386         * lib/ftello.c: Include stdio-impl.h.
387         (ftello): On Solaris, when _IOWRT is set, compute the result without
388         looking at _IOREAD.
389         * modules/ftello (Files): Add lib/stdio-impl.h.
390         * doc/posix-functions/ftell.texi: Mention Solaris bug.
391         * doc/posix-functions/ftello.texi: Likewise.
392         Reported by Eric Blake.
393
394 2010-05-01  Bruno Haible  <bruno@clisp.org>
395
396         freading: Adapt to special meaning of _IOREAD flag on Solaris.
397         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
398         the _IOWRT flag is also set.
399
400 2010-05-01  Bruno Haible  <bruno@clisp.org>
401
402         Fix doc about a HP-UX stdio bug.
403         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
404         * doc/posix-functions/ftello.texi: Likewise.
405
406 2010-05-01  Bruno Haible  <bruno@clisp.org>
407
408         lseek test: Fix failure on Solaris.
409         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
410         output.
411
412 2010-04-30  Jim Meyering  <meyering@redhat.com>
413
414         bootstrap: don't ignore failure to generate po*/Makevars
415         * build-aux/bootstrap (with_gettext): Don't ignore failure
416         to create po/Makevars or runtime-po/Makevars.
417
418 2010-04-29  Eric Blake  <eblake@redhat.com>
419
420         headers: relax license to LGPLv2+
421         * modules/fcntl-h (License): Relax license.
422         * modules/getopt-posix (License): Likewise.
423         * modules/locale (License): Likewise.
424         * modules/math (License): Likewise.
425         * modules/pty (License): Likewise.
426         * modules/sched (License): Likewise.
427         * modules/search (License): Likewise.
428         * modules/spawn (License): Likewise.
429         * modules/stdarg (License): Likewise.
430         * modules/sysexits (License): Likewise.
431
432 2010-04-29  Jim Meyering  <meyering@redhat.com>
433
434         inttypes: relax license to LGPLv2+
435         * modules/inttypes (License): Relax license.
436
437 2010-04-29  Simon Josefsson  <simon@josefsson.org>
438
439         * top/maint.mk (indent): Run twice to produce idempotent results.
440
441 2010-04-28  Bruno Haible  <bruno@clisp.org>
442
443         getdate: Generate getdate.c in the source directory.
444         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
445         MOSTLYCLEANFILES.
446         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
447
448 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
449
450         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
451         is not declared as a const *; avoid warnings in that case.
452
453 2010-04-28  Eric Blake  <eblake@redhat.com>
454
455         canonicalize-lgpl: avoid compiler warning
456         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
457         declaration' / 'extraneous semicolon' warning with some compilers.
458         Reported by Andreas Gruenbacher.
459
460 2010-04-28  Jim Meyering  <meyering@redhat.com>
461
462         init.sh: ensure a more reliable exit status when exiting via trap
463         * tests/init.sh (setup_): Don't rely on $? in signal handler.
464         Inspired by patches from Dmitry V. Levin.
465         Also trap on signal 3 (SIGQUIT).
466
467 2010-04-27  Bruno Haible  <bruno@clisp.org>
468
469         Update doc about utimes().
470         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
471         'utimens' module.
472         Reported by Andreas Gruenbacher <agruen@suse.de>.
473
474 2010-04-27  Eric Blake  <eblake@redhat.com>
475
476         full-read, full-write: relax license
477         * modules/full-read (License): Drop to LGPLv2+.
478         * modules/full-write (License): Likewise.
479         * modules/safe-read (License): Likewise.
480         * modules/safe-write (License): Likewise.
481
482         pthread: mention library for linking
483         * modules/pthread (Link): Mention $(LIB_PTHREAD).
484
485 2010-04-27  Jim Meyering  <meyering@redhat.com>
486
487         maint.mk: fix a bug introduced in last change
488         * top/maint.mk (gl_assured_headers_): Now that all names are on
489         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
490         is not anchored to end of word, it should be adequate.
491
492         maint.mk: avoid side-effect in latest syntax-check
493         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
494         to run commands via $(shell...), and hence to incur cost only when
495         the new rule is actually run.
496
497         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
498         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
499         and use that to create a regexp used to detect all #if HAVE_..._H uses.
500         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
501         (gl_assured_headers_, az_, AZ_): Define.
502         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
503
504 2010-04-26  Jim Meyering  <jim@meyering.net>
505             Bruno Haible  <bruno@clisp.org>
506
507         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
508         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
509         Prompted by an exchange with Gilles Espinasse.
510
511 2010-04-26  Jim Meyering  <meyering@redhat.com>
512
513         git-version-gen: aesthetic tweak
514         * build-aux/git-version-gen: Use "$nl" rather than a literal,
515         so that the command remains on a single line.
516
517 2010-04-26  Eric Blake  <eblake@redhat.com>
518
519         git-version-gen: allow use on EBCDIC hosts
520         * build-aux/git-version-gen (dirty): Use literal rather than tying
521         ourselves to ascii.
522         Reported by Steve Goetze.
523
524 2010-04-25  Bruno Haible  <bruno@clisp.org>
525
526         netdb: Add support for GNULIB_POSIXCHECK.
527         * lib/netdb.in.h: Include warn-on-use.h.
528         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
529         functions are used when GNULIB_POSIXCHECK is defined and the
530         getaddrinfo module is not in use.
531         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
532         freeaddrinfo, gai_strerror, getnameinfo are declared.
533         * modules/netdb (Depends-on): Add warn-on-use.
534         (Makefile.am): Include warn-on-use.h in netdb.h.
535
536 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
537
538         build: avoid "make check" failure without .git/ directory
539         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
540         there is no .git/ directory.
541
542 2010-04-25  Bruno Haible  <bruno@clisp.org>
543
544         ptsname: Fix misuse of ttyname_r.
545         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
546         of errno.
547
548 2010-04-25  Bruno Haible  <bruno@clisp.org>
549
550         ttyname_r: Make it work on Solaris 10.
551         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
552         if the system function has the POSIX declaration. Test whether the
553         function fails if the buffer is less than 128 bytes large.
554         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
555         system's ttyname_r function. Provide a reasonably large buffer.
556         * modules/ttyname_r (Depends-on): Add extensions.
557         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
558
559 2010-04-25  Bruno Haible  <bruno@clisp.org>
560
561         Use the 'extensions' module for some more functions on Solaris.
562         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
563         module.
564         * doc/posix-functions/ctime_r.texi: Likewise.
565         * doc/posix-functions/getgrgid_r.texi: Likewise.
566         * doc/posix-functions/getgrnam_r.texi: Likewise.
567         * doc/posix-functions/getpwnam_r.texi: Likewise.
568         * doc/posix-functions/getpwuid_r.texi: Likewise.
569         * doc/posix-functions/readdir_r.texi: Likewise.
570         * doc/posix-functions/sigwait.texi: Likewise.
571         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
572         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
573
574 2010-04-25  Bruno Haible  <bruno@clisp.org>
575
576         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
577         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
578         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
579         * lib/ttyname_r.c: Include <limits.h>.
580         (ttyname_r): Define using the system's ttyname_r function, if it exists
581         and not on Solaris.
582         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
583         set.
584         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
585         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
586         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
587         Reported by Simon Josefsson.
588
589 2010-04-25  Bruno Haible  <bruno@clisp.org>
590
591         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
592         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
593         * doc/posix-functions/ctime_r.texi: Likewise.
594         * doc/posix-functions/getgrgid_r.texi: Likewise.
595         * doc/posix-functions/getgrnam_r.texi: Likewise.
596         * doc/posix-functions/getlogin_r.texi: Likewise.
597         * doc/posix-functions/getpwnam_r.texi: Likewise.
598         * doc/posix-functions/getpwuid_r.texi: Likewise.
599         * doc/posix-functions/readdir_r.texi: Likewise.
600         * doc/posix-functions/sigwait.texi: Likewise.
601         * doc/posix-functions/ttyname_r.texi: Likewise.
602         Reported by Simon Josefsson.
603
604 2010-04-25  Bruno Haible  <bruno@clisp.org>
605
606         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
607         * gnulib-tool (func_usage): Document that --with-*-tests options apply
608         also to --create-testdir.
609         (func_acceptable): Don't consider the status of *-tests modules here.
610         (func_modules_transitive_closure): Consider it here, before including a
611         test module.
612         (func_import, func_create_testdir): Set inc_all_direct_tests,
613         inc_all_indirect_tests.
614         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
615         --create-testdir and --create-megatestdir.
616
617 2010-04-25  Bruno Haible  <bruno@clisp.org>
618
619         gnulib-tool: Add --without-*-tests options.
620         * gnulib-tool (func_usage): Document the --without-*-tests options.
621         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
622         excl_unportable_tests): New variables.
623         Fail if they are specified with --import or --update.
624         (func_acceptable): Respect the excl_*_tests variables.
625         (func_import): Set the excl_*_tests variables to empty.
626
627 2010-04-25  Simon Josefsson  <simon@josefsson.org>
628             Bruno Haible  <bruno@clisp.org>
629
630         Work around a MacOS X 10.4 bug with openpty.
631         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
632         * tests/test-openpty.c (main): Close the master side explicitly.
633
634 2010-04-25  Bruno Haible  <bruno@clisp.org>
635
636         strnlen: Fix a C++ test error on MacOS X and Solaris.
637         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
638         the function is not declared.
639         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
640         Simon Josefsson.
641
642 2010-04-24  Bruno Haible  <bruno@clisp.org>
643
644         Avoid a gcc warning.
645         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
646         of correct type for %08lx directive.
647         Reported by Eric Blake.
648
649 2010-04-24  Bruno Haible  <bruno@clisp.org>
650
651         vasnprintf: Correct errno value in case of out-of-memory.
652         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
653         or sprintf. Use the errno value from SNPRINTF or sprintf.
654         Reported by Ian Beckwith <ianb@erislabs.net>.
655
656 2010-04-24  Bruno Haible  <bruno@clisp.org>
657
658         ansi-c++-opt: Find correct compiler when cross-compiling.
659         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
660         AC_CHECK_PROGS.
661         Reported by Simon Josefsson.
662
663 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
664
665         vc-list-files: Add support for subversion
666         * build-aux/vc-list-files: Use "svn list" to generate the list of
667         files controlled by subversion.
668
669 2010-04-23  Jim Meyering  <meyering@redhat.com>
670
671         vc-list-files tests: convert to use init.sh
672         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
673         path_prepend_.
674         Use Exit, not exit.
675         Use skip_ rather than open coding it.
676         Remove trap set-up and compare definitions.
677         * tests/test-vc-list-files-git.sh: Likewise.
678         * modules/vc-list-files-tests (Files): Add tests/init.sh.
679
680 2010-04-22  Simon Josefsson  <simon@josefsson.org>
681
682         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
683         backup files.
684
685 2010-04-21  Simon Josefsson  <simon@josefsson.org>
686
687         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
688
689 2010-04-20  Eric Blake  <eblake@redhat.com>
690
691         tests: be robust to ignored SIGPIPE
692         * tests/test-select-in.sh: Consume all output.
693         * tests/test-lseek.sh: Check correct exit status, while avoiding
694         EPIPE.
695
696 2010-04-20  Simon Josefsson  <simon@josefsson.org>
697             Bruno Haible  <bruno@clisp.org>
698
699         visibility: Don't use -fvisibility if it leads to a warning.
700         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
701         yes, don't pretend that visibility works if it leads to a warning.
702         Reported by Mike Gran <spk121@yahoo.com>.
703
704 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
705
706         * build-aux/bootstrap: Use "git -h" for testing for supported options
707         instead of "git --help".  The short-form option only shows a summary,
708         and doesn't layout the full man page.  Grep for the full option name
709         in the summary, too.
710
711 2010-04-19  Bruno Haible  <bruno@clisp.org>
712
713         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
714         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
715         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
716         mention of RELOCATABLE_STRIP.
717         Reported by Sylvain Beucler <beuc@beuc.net>.
718
719 2010-04-19  Bruno Haible  <bruno@clisp.org>
720
721         * lib/diffseq.h: Fix typo in comment.
722         Reported by Eric Blake.
723
724 2010-04-19  Bruno Haible  <bruno@clisp.org>
725
726         ioctl: Move autoconf macro to a .m4 file.
727         * m4/ioctl.m4: New file, extracted from modules/ioctl.
728         * modules/ioctl (Files): Add it.
729         (configure.ac): Simply invoke gl_FUNC_IOCTL.
730         Reported by Ian Beckwith <ianb@erislabs.net>.
731
732 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
733             Bruno Haible  <bruno@clisp.org>
734
735         diffseq: Accommodate use-case with abstract arrays.
736         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
737         is not defined.
738         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
739         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
740
741 2010-04-18  Bruno Haible  <bruno@clisp.org>
742
743         * doc/posix-headers/stdbool.texi: More precise wording.
744
745 2010-04-17  Jim Meyering  <meyering@redhat.com>
746
747         maint.mk: use gnu-style indentation in an embedded perl script
748         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
749         Rename variable: s/two/last_two_bytes/
750
751 2010-04-16  Eric Blake  <eblake@redhat.com>
752
753         test-stdbool: skip test that fails with Solaris CC
754         * tests/test-stdbool.c (f): Skip test that causes compilation
755         error under buggy C++ compiler.
756         * lib/stdbool.in.h: Document the limitation.
757         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
758
759         setenv: allow compilation with C++
760         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
761         register keyword.
762
763         stdint: allow test to pass with C++
764         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
765
766         getopt: allow compilation with C++
767         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
768         struct.
769         * lib/getopt.c (_getopt_internal_r): Use correct type.
770         Reported by Dagobert Michelson, via Joel E. Denny.
771
772 2010-04-16  Bruno Haible  <bruno@clisp.org>
773
774         Override netdb.h always.
775         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
776         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
777         Reported by Ludovic Courtès <ludo@gnu.org>.
778
779 2010-04-15  Bruno Haible  <bruno@clisp.org>
780
781         openpty: Fix mistake from 2010-03-21.
782         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
783         Reported by Simon Josefsson.
784
785 2010-04-15  Eric Blake  <eblake@redhat.com>
786
787         test-forkpty: fix expected signature
788         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
789         Reported by Simon Josefsson.
790
791 2010-04-15  Jim Meyering  <meyering@redhat.com>
792
793         maint.mk: texinfo_suffix_re_: correct the default regexp
794         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
795
796         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
797         make it configurable via texinfo_suffix_re_.
798
799 2010-04-14  Eric Blake  <eblake@redhat.com>
800
801         strtok_r: relax license to LGPLv2+
802         * modules/strtok_r (License): Relax license.
803         Reported by Matthias Bolte.
804
805 2010-04-14  Simon Josefsson  <simon@josefsson.org>
806
807         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
808         version 1.4.4 by default instead of requiring the libgcrypt
809         version used during build.  This makes it possible to use the
810         application with older but still binary compatible libgcrypt
811         versions.
812
813 2010-04-13  Eric Blake  <eblake@redhat.com>
814
815         getopt-gnu: match recent glibc fixes and posix ruling
816         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
817         '+' handling, when requesting extensions.
818         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
819         'W;' handling.
820         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
821         * doc/posix-functions/getopt.texi (getopt): Document this.
822         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
823         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
824         Likewise.
825
826         getopt: merge bug fixes from glibc
827         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
828         diagnostics.  Honor '+:' correctly.  Reject ';'.
829
830         getopt-posix: detect MacOS bug
831         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
832         optind when missing a required argument.
833         * doc/posix-functions/getopt.texi (getopt): Document the bug.
834         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
835         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
836         Likewise.
837
838         getopt-posix: avoid spurious failure on Solaris
839         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
840         an indicator that setting optind=1 is sufficient for reset.
841
842         getopt-posix: avoid spurious failure on FreeBSD
843         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
844         in POSIX mode, since the m4 test uses it.
845
846         gnulib-tool: silence warning on BSD sh
847         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
848
849 2010-04-13  Jim Meyering  <meyering@redhat.com>
850
851         doc: users.txt: GNU patch now uses gnulib
852         * users.txt: Add patch.
853
854 2010-04-12  Jim Meyering  <meyering@redhat.com>
855
856         maint.mk: generate more concise timing data for syntax-check rules
857         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
858         " done" from each line that reports a syntax-check test duration.
859
860 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
861
862         git-version-gen: use "git update-index..." rather than "git status"
863         * build-aux/git-version-gen: Use git update-index --refresh, not
864         "git status".  With some versions of git, "git status" would fail
865         to update the index and result in an unwarranted "-dirty" suffix.
866
867 2010-04-11  Jim Meyering  <meyering@redhat.com>
868
869         openat: correct formatting (no semantic change)
870         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
871         Suggested by Bruno Haible.
872
873 2010-04-11  Bruno Haible  <bruno@clisp.org>
874
875         Stricter declaration checking in testdirs.
876         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
877         If for_tests is true, augment AM_CPPFLAGS to define
878         GNULIB_STRICT_CHECKING.
879         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
880         GNULIB_STRICT_CHECKING is defined, verify that the function is
881         declared.
882
883 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
884             Bruno Haible  <bruno@clisp.org>
885
886         libunistring: Improve configure output.
887         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
888         Don't say "consider installing GNU libunistring" when checking again
889         with libiconv.
890
891 2010-04-11  Bruno Haible  <bruno@clisp.org>
892
893         libunistring: Correct value of $LTLIBUNISTRING.
894         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
895         correct the value of $LTLIBUNISTRING.
896
897 2010-04-11  Bruno Haible  <bruno@clisp.org>
898
899         havelib: Add static libraries to LIBS in the right order.
900         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
901         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
902
903 2010-04-11  Bruno Haible  <bruno@clisp.org>
904
905         libunistring: Detect libunistring also when it depends on libiconv.
906         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
907         the second AC_LIB_HAVE_LINKFLAGS invocation.
908
909 2010-04-11  James Youngman  <jay@gnu.org>
910
911         close-stream: declare local scalars to be "const"
912         * lib/close-stream.c (close_stream): Make boolean variables const
913         to document the fact that we set but do not change them.
914
915 2010-04-11  Bruno Haible  <bruno@clisp.org>
916
917         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
918
919 2010-04-11  Jim Meyering  <meyering@redhat.com>
920
921         maint.mk: don't include dist-check.mk
922         * top/maint.mk: Remove bogus include directive.
923
924         maint.mk: improve empty-line-at-EOF check
925         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
926         solution, rather than tail+Perl-based one.  The latter would read
927         a few kilobytes from the end of each file, and did not handle empty
928         files properly.
929
930         maint.mk: print the elapsed time for each syntax-check rule
931         * top/maint.mk (sc_m_rules_): Save start time in a file.
932         (sc_z_rules_): New rules: remove temp file and print elapsed time.
933         (local-check): Interpose the .z rules
934
935 2010-04-11  Jim Meyering  <meyering@redhat.com>
936
937         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
938         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
939         empty file with one that ends in an empty line.
940
941 2010-04-10  Bruno Haible  <bruno@clisp.org>
942
943         mkdir: Make it work on mingw64.
944         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
945         * lib/mkdir.c: Update comment.
946         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
947
948 2010-04-10  Bruno Haible  <bruno@clisp.org>
949
950         Don't override improved macro from newer autoconf.
951         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
952         autoconf >= 2.62.
953         Reported by Joel E. Denny <jdenny@clemson.edu>.
954
955 2010-04-10  Jim Meyering  <meyering@redhat.com>
956
957         maint.mk: new syntax-check rule: prohibit empty lines at end of file
958         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
959
960         maint.mk: correct a diagnostic
961         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
962         in diagnostic; now use $prohibit.
963
964 2010-04-10  Bruno Haible  <address@hidden>
965
966         fchownat: Fix a C++ test error on Solaris 8.
967         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
968         the function does not exist.
969
970 2010-04-10  Bruno Haible  <bruno@clisp.org>
971
972         vasnprintf: Add more tests.
973         * tests/test-vasnprintf-posix.c: Include <errno.h>.
974         (test_function): Test converting an invalid wide string.
975
976         vasnprintf: Correct handling of unconvertible wide string arguments.
977         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
978         VASNPRINTF.
979         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
980         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
981         smaller than the expected maximum need for the directive. Set errno to
982         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
983         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
984         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
985         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
986         * modules/vasnprintf (Files): Add m4/printf.m4.
987         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
988
989 2010-04-10  Bruno Haible  <bruno@clisp.org>
990
991         vasnprintf: Fix crash in %ls directive.
992         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
993         string is passed as argument to %ls, with no precision and no width.
994         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
995
996 2010-04-10  Bruno Haible  <bruno@clisp.org>
997
998         vasnprintf: Fix multiple test failures on mingw.
999         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
1000         _snprintf, or snwprintf, not _snwprintf.
1001
1002 2010-04-10  Bruno Haible  <bruno@clisp.org>
1003
1004         write: Fix a C++ test error on mingw.
1005         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
1006
1007 2010-04-10  Bruno Haible  <bruno@clisp.org>
1008
1009         vasnprintf test: Reduce code duplication.
1010         * tests/test-vasnprintf.c (test_function): New function, extracted from
1011         test_vasnprintf.
1012         (test_vasnprintf, test_asnprintf): Invoke it.
1013
1014 2010-04-10  Bruno Haible  <bruno@clisp.org>
1015
1016         strnlen: Fix warning in C++ mode on MacOS X.
1017         * lib/string.in.h (strnlen): Use the modern idiom.
1018         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
1019         defining strnlen as a macro already in <config.h>.
1020         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1021         REPLACE_STRNLEN.
1022         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
1023         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1024
1025 2010-04-08  James Youngman  <jay@gnu.org>
1026
1027         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
1028         the example.
1029
1030 2010-04-09  Jim Meyering  <meyering@redhat.com>
1031
1032         maint.mk: print better diagnostic when there is no $(_hv_file)
1033         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
1034         announce that when $(_hv_file) (aka help-version) does not exist.
1035
1036         init.sh: run tr in the "C" locale to avoid multibyte interpretation
1037         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
1038         not try to interpret its random input bytes.  Jarno Rajahalme reported
1039         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
1040         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
1041         (mktempd_): Likewise, just in case.
1042
1043         ftruncate: add two years to projected module removal date: 2012
1044         * m4/ftruncate.m4: Adjust comments.
1045
1046         ftruncate: mark module as obsolete; even MinGW provides it, now
1047         * modules/ftruncate (Status): Obsolete.
1048         (Notice): Say that.
1049         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
1050         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
1051
1052 2010-04-08  Bruno Haible  <bruno@clisp.org>
1053
1054         Fix side effects from tests-related modules.
1055         * modules/dprintf-posix (Comment): New section.
1056         * modules/fprintf-posix (Comment): Likewise.
1057         * modules/obstack-printf-posix (Comment): Likewise.
1058         * modules/printf-posix (Comment): Likewise.
1059         * modules/snprintf-posix (Comment): Likewise.
1060         * modules/sprintf-posix (Comment): Likewise.
1061         * modules/vasnprintf-posix (Comment): Likewise.
1062         * modules/vasprintf-posix (Comment): Likewise.
1063         * modules/vdprintf-posix (Comment): Likewise.
1064         * modules/vfprintf-posix (Comment): Likewise.
1065         * modules/vprintf-posix (Comment): Likewise.
1066         * modules/vsnprintf-posix (Comment): Likewise.
1067         * modules/vsprintf-posix (Comment): Likewise.
1068         * modules/xprintf-posix (Comment): Likewise.
1069         * modules/xvasprintf-posix (Comment): Likewise.
1070         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
1071         * modules/floorf-tests (Depends-on): Likewise.
1072         * modules/round-tests (Depends-on): Likewise.
1073         * modules/roundf-tests (Depends-on): Likewise.
1074         * modules/trunc-tests (Depends-on): Likewise.
1075         * modules/truncf-tests (Depends-on): Likewise.
1076         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
1077         'fprintf-posix' module is not present.
1078         * tests/test-floorf2.c (check): Likewise.
1079         * tests/test-trunc2.c (check): Likewise.
1080         * tests/test-truncf2.c (check): Likewise.
1081         * tests/test-round2.c (equal): Likewise.
1082         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1083
1084 2010-04-07  Karl Berry  <karl@gnu.org>
1085
1086         * config/srclist.txt,
1087         * config/srclistvars.sh,
1088         * config/srclist-update: doc fixes.
1089
1090 2010-04-07  Jim Meyering  <meyering@redhat.com>
1091
1092         maint.mk: add a PATH crosschecking syntax-check rule
1093         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
1094         Useful if you use a test like the one in help-version (coreutils,
1095         diffutils, grep, gzip) that ensures $(VERSION) matches what is
1096         printed by prog --version.
1097
1098 2010-04-06  Bruno Haible  <bruno@clisp.org>
1099
1100         Fix link error on mingw.
1101         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
1102         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
1103
1104 2010-04-06  Bruno Haible  <bruno@clisp.org>
1105
1106         Assume rmdir exists.
1107         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
1108
1109 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
1110
1111         doc: update users.txt
1112         * users.txt: Add gcal.
1113
1114 2010-04-06  Jim Meyering  <meyering@redhat.com>
1115
1116         init.sh: simply unset TMPDIR rather than risking env -i
1117         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
1118         although it probably works fine on all Unix-based systems, some
1119         systems (Cygwin?) cannot tolerate a totally cleared environment.
1120         Suggestion from Eric Blake.
1121
1122 2010-04-06  Jim Meyering  <meyering@redhat.com>
1123
1124         init.sh: portability fix: use env's POSIX-specified -i option not -u
1125         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
1126         than unportable env -u.  Solaris 5.11's env lacks support for -u.
1127
1128 2010-04-05  Bruno Haible  <bruno@clisp.org>
1129
1130         btowc: Work around Cygwin 1.7.2 bug.
1131         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
1132         does not map NUL to 0.
1133         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
1134
1135 2010-04-05  Bruno Haible  <bruno@clisp.org>
1136
1137         Make the multithread modules work on Cygwin 1.7.2.
1138         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
1139         imported symbols can be declared weak, so that it returns "no" on
1140         Cygwin 1.7.2.
1141
1142 2010-04-05  Bruno Haible  <bruno@clisp.org>
1143
1144         Use the module 'strncat'.
1145         * modules/unistr/u8-strncat (Depends-on): Add strncat.
1146
1147         Tests for module 'strncat'.
1148         * modules/strncat-tests: New file.
1149         * tests/test-strncat.c: New file.
1150
1151         New module 'strncat'.
1152         * lib/string.in.h (strncat): New declaration.
1153         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
1154         * m4/strncat.m4: New file, based on m4/memchr.m4.
1155         * modules/strncat: New file.
1156         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
1157         is declared.
1158         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
1159         REPLACE_STRNCAT.
1160         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
1161         REPLACE_STRNCAT.
1162         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
1163         module.
1164         * tests/test-string-c++.cc: Check signature of strncat.
1165
1166 2010-04-05  Jim Meyering  <meyering@redhat.com>
1167
1168         xstrtoumax-tests: convert to use init.sh
1169         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
1170         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
1171         Use Exit, not exit.
1172         Remove uses of $EXEEXT and "./" to run a program in the current dir.
1173
1174         xstrtoimax-tests: convert to use init.sh
1175         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
1176         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
1177         Use Exit, not exit.
1178         Remove uses of $EXEEXT and "./" to run a program in the current dir.
1179
1180 2010-04-05  Bruno Haible  <bruno@clisp.org>
1181
1182         sys_socket: Avoid #define replacements in C++ mode.
1183         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
1184         warning to the function if possible, rather than #defining the symbol
1185         to a dysfunctional alias.
1186
1187 2010-04-05  Bruno Haible  <bruno@clisp.org>
1188
1189         fseeko: Fix C++ test error on mingw.
1190         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
1191         gl_FUNC_FSEEKO.
1192         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
1193         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
1194         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
1195         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
1196
1197 2010-04-05  Bruno Haible  <bruno@clisp.org>
1198
1199         duplocale: Improve test output.
1200         * tests/test-duplocale.c (main): Print reason for skipped test.
1201
1202 2010-04-05  Bruno Haible  <bruno@clisp.org>
1203
1204         Assume rmdir exists.
1205         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
1206         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
1207
1208 2010-04-05  Bruno Haible  <bruno@clisp.org>
1209
1210         Fix link error on Solaris 8 with cc.
1211         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
1212
1213 2010-04-05  Bruno Haible  <bruno@clisp.org>
1214
1215         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
1216         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
1217
1218 2010-04-05  Bruno Haible  <bruno@clisp.org>
1219
1220         vasprintf: Update documentation.
1221         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
1222
1223 2010-04-05  Bruno Haible  <bruno@clisp.org>
1224
1225         ptsname: Improve test.
1226         * tests/test-ptsname.c (main): Also try the various master names of BSD
1227         systems.
1228
1229 2010-04-05  Bruno Haible  <bruno@clisp.org>
1230
1231         memchr: Avoid a possible C++ test error.
1232         * lib/string.in.h (memchr): Provide declaration if function is missing.
1233         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
1234         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
1235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
1236         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
1237
1238 2010-04-05  Bruno Haible  <bruno@clisp.org>
1239
1240         strtok_r: Improve idiom.
1241         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
1242         AC_LIBOBJ is used.
1243
1244 2010-04-05  Bruno Haible  <bruno@clisp.org>
1245
1246         strdup: Improve idiom.
1247         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
1248         AC_LIBOBJ is used.
1249         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
1250         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
1251         when AC_LIBOBJ is used.
1252
1253 2010-04-05  Bruno Haible  <bruno@clisp.org>
1254
1255         mbsinit, mbrtowc, wcrtomb: Improve idioms.
1256         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
1257         don't set REPLACE_MBSINIT to 1.
1258         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
1259         don't set REPLACE_MBRTOWC to 1.
1260         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
1261         exist, don't set REPLACE_MBSRTOWCS to 1.
1262         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
1263         exist, don't set REPLACE_MBSNRTOWCS to 1.
1264         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
1265         don't set REPLACE_WCRTOMB to 1.
1266         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
1267         exist, don't set REPLACE_WCSRTOMBS to 1.
1268         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
1269         exist, don't set REPLACE_WCSNRTOMBS to 1.
1270
1271 2010-04-05  Bruno Haible  <bruno@clisp.org>
1272
1273         ldexpl: Improve idiom.
1274         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
1275         make sure to set HAVE_DECL_LDEXPL to 0.
1276
1277 2010-04-05  Jim Meyering  <meyering@redhat.com>
1278
1279         xstrtol-tests: convert to use init.sh
1280         * modules/xstrtol-tests (Files): Add tests/init.sh.
1281         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
1282         Use Exit, not exit.
1283         Remove uses of $EXEEXT and "./" to run a program in the current dir.
1284
1285         atexit-tests: convert to use init.sh
1286         * modules/atexit-tests (Files): Add tests/init.sh.
1287         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
1288         Use Exit, not exit.
1289         Remove uses of $EXEEXT and "./" to run a program in the current dir.
1290
1291         init.sh: fix typo
1292         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
1293
1294         init.sh: make it easier for a test script to write to the tty, ...
1295         when using automake's parallel-tests mode.
1296         * tests/init.sh (stderr_fileno_): Define overridable variable.
1297         (warn_): New function, to use it.
1298         (fail_, skip_, framework_failure_): Use warn_.
1299
1300 2010-04-04  Bruno Haible  <bruno@clisp.org>
1301
1302         btowc: Avoid warning.
1303         * lib/btowc.c: Include <stdlib.h>.
1304         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
1305
1306 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
1307             Bruno Haible  <bruno@clisp.org>
1308
1309         wchar: Port to NetBSD 1.5.
1310         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
1311         * lib/wctype.in.h (WEOF): Likewise.
1312
1313 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
1314             Bruno Haible  <bruno@clisp.org>
1315
1316         Port extended stdio to NetBSD 1.5.
1317         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
1318         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
1319         older.
1320
1321 2010-04-04  Bruno Haible  <bruno@clisp.org>
1322
1323         string: Remove unused substitution.
1324         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
1325         HAVE_DECL_STRERROR.
1326         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
1327
1328 2010-04-04  Bruno Haible  <bruno@clisp.org>
1329
1330         strtod: Avoid a possible C++ test error.
1331         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
1332         set REPLACE_STRTOD.
1333
1334 2010-04-04  Bruno Haible  <bruno@clisp.org>
1335
1336         strerror: Update documentation.
1337         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
1338
1339 2010-04-04  Bruno Haible  <bruno@clisp.org>
1340
1341         stdio: Fix some C++ test errors on Solaris 8 with GCC.
1342         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
1343         _GL_CXXALIAS_SYS_CAST.
1344
1345 2010-04-04  Bruno Haible  <bruno@clisp.org>
1346
1347         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
1348         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
1349         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
1350         REPLACE_FREXPL to 1.
1351         * doc/posix-functions/frexpl.texi: Update documentation.
1352
1353 2010-04-04  Bruno Haible  <bruno@clisp.org>
1354
1355         math: Fix some C++ test errors on Solaris 8 and Cygwin.
1356         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
1357
1358 2010-04-04  Bruno Haible  <bruno@clisp.org>
1359
1360         Implement nanosleep for native Windows.
1361         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
1362
1363 2010-04-04  Bruno Haible  <bruno@clisp.org>
1364
1365         math: Fix some C++ test errors on Solaris 8.
1366         * lib/math.in.h (truncf, trunc): Use simpler idiom.
1367
1368 2010-04-04  Bruno Haible  <bruno@clisp.org>
1369
1370         math: Fix some C++ test errors on Cygwin.
1371         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
1372         truncl): Provide declaration if the system does not have it.
1373         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
1374         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
1375         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
1376         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
1377         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
1378         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
1379         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
1380         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
1381         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
1382         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
1383         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
1384         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
1385         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
1386         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
1387         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
1388         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
1389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
1390         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
1391         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
1392         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
1393         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
1394         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
1395
1396 2010-04-04  Bruno Haible  <bruno@clisp.org>
1397
1398         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
1399         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
1400         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
1401         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
1402         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
1403         * m4/isinf.m4 (gl_ISINF): Likewise.
1404         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1405
1406 2010-04-04  Bruno Haible  <bruno@clisp.org>
1407
1408         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
1409         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1410
1411 2010-04-04  Bruno Haible  <bruno@clisp.org>
1412
1413         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
1414         * modules/tmpfile (configure.ac): Update.
1415
1416         tmpfile: Fix C++ test error on mingw.
1417         * lib/stdio.in.h (tmpfile): New declaration.
1418         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
1419         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
1420         * modules/tmpfile (Depends-on): Add stdio.
1421         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
1422         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
1423         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
1424         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
1425         REPLACE_TMPFILE.
1426         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
1427
1428 2010-04-04  Bruno Haible  <bruno@clisp.org>
1429
1430         ioctl: Fix C++ test error on mingw.
1431         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
1432         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
1433         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
1434
1435 2010-04-03  Bruno Haible  <bruno@clisp.org>
1436
1437         wcwidth: Fix C++ test error on mingw.
1438         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
1439         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
1440         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
1441
1442 2010-04-03  Bruno Haible  <bruno@clisp.org>
1443
1444         nanosleep: Fix C++ test error on mingw.
1445         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
1446         * lib/time.in.h (nanosleep): Use modern idiom.
1447         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
1448         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
1449         REPLACE_NANOSLEEP to 1.
1450         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
1451         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
1452
1453 2010-04-03  Bruno Haible  <bruno@clisp.org>
1454
1455         strptime: Fix C++ test error on mingw.
1456         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
1457         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
1458         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
1459         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
1460         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
1461         not REPLACE_STRPTIME.
1462         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
1463         REPLACE_STRPTIME.
1464
1465 2010-04-03  Bruno Haible  <bruno@clisp.org>
1466
1467         timegm: Fix C++ test error on mingw.
1468         * lib/time.in.h (timegm): Use modern idiom.
1469         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
1470         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
1471         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
1472         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
1473
1474 2010-04-03  Bruno Haible  <bruno@clisp.org>
1475
1476         timegm: Assume declaration if function exists.
1477         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
1478         if it exists. Don't clobber ac_cv_func_timegm.
1479
1480 2010-04-03  Bruno Haible  <bruno@clisp.org>
1481
1482         time_r: Fix C++ test error on mingw.
1483         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
1484         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
1485         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
1486         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
1487         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
1488
1489 2010-04-03  Bruno Haible  <bruno@clisp.org>
1490
1491         time_r: Minor updates.
1492         * modules/time_r (Description): Mention the provided functions.
1493         * lib/time_r.c: Don't include <string.h>.
1494         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
1495         * doc/posix-functions/localtime_r.texi: Likewise.
1496
1497 2010-04-03  Bruno Haible  <bruno@clisp.org>
1498
1499         time: Fix regression introduced on 2010-03-08.
1500         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
1501         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
1502
1503 2010-04-03  Jim Meyering  <meyering@redhat.com>
1504
1505         maint.mk: don't silently disable project-specific syntax-check rules
1506         * top/maint.mk (_prohibit_regexp): Define, to help people realize
1507         that they need to convert their project-specific syntax-check rules
1508         to use the new _sc_search_regexp.
1509
1510 2010-04-03  Bruno Haible  <bruno@clisp.org>
1511
1512         fchdir: Fix regression introduced on 2010-03-08.
1513         * lib/unistd.in.h (fchdir): Fix declaration.
1514         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
1515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
1516         REPLACE_FCHDIR.
1517         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
1518         REPLACE_FCHDIR.
1519
1520 2010-04-03  Bruno Haible  <bruno@clisp.org>
1521
1522         getpagesize: Fix C++ test error on mingw.
1523         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
1524         system does not declare the function.
1525         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
1526         declared.
1527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1528         HAVE_DECL_GETPAGESIZE.
1529         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
1530
1531 2010-04-03  Bruno Haible  <bruno@clisp.org>
1532
1533         stdio: Make C++ tests work on mingw.
1534         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
1535         does not declare the function.
1536
1537 2010-04-03  Bruno Haible  <bruno@clisp.org>
1538
1539         ftello: Fix C++ test error on mingw.
1540         * lib/stdio.in.h (ftello): Use modern idiom.
1541         * lib/ftello.c (ftello): Renamed from rpl_ftello.
1542         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
1543         is missing and that it needs to be replaced.
1544         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
1545         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
1546         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
1547
1548 2010-04-03  Bruno Haible  <bruno@clisp.org>
1549
1550         fseeko: Fix C++ test error on mingw.
1551         * lib/stdio.in.h (fseeko): Use modern idiom.
1552         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
1553         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
1554         is missing and that it needs to be replaced.
1555         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
1556         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
1557         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
1558
1559 2010-04-03  Bruno Haible  <bruno@clisp.org>
1560
1561         mkstemp: Fix C++ test error on mingw.
1562         * lib/stdlib.in.h (mkstemp): Use modern idiom.
1563         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
1564         function is missing and that it needs to be replaced.
1565         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
1566         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
1567
1568 2010-04-03  Bruno Haible  <bruno@clisp.org>
1569
1570         stpncpy: Fix C++ test error on mingw.
1571         * lib/string.in.h (stpncpy): Use modern idiom.
1572         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
1573         function is missing and that it needs to be replaced.
1574         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1575         REPLACE_STPNCPY.
1576         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
1577
1578 2010-04-03  Bruno Haible  <bruno@clisp.org>
1579
1580         sys_stat: Fix C++ test error on mingw.
1581         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
1582         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
1583
1584 2010-04-03  Bruno Haible  <bruno@clisp.org>
1585
1586         pty: Update doc.
1587         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
1588
1589 2010-04-03  Bruno Haible  <bruno@clisp.org>
1590
1591         unistd: Fix C++ test error on mingw.
1592         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
1593
1594 2010-04-03  Bruno Haible  <bruno@clisp.org>
1595
1596         Update doc regarding mingw.
1597         * doc/glibc-functions/openpty.texi: Update regarding mingw.
1598         * doc/glibc-functions/login_tty.texi: Likewise.
1599         * doc/glibc-functions/forkpty.texi: Likewise.
1600
1601 2010-04-03  Bruno Haible  <bruno@clisp.org>
1602
1603         stdlib: Avoid compilation failure of c-strtold on mingw.
1604         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
1605
1606 2010-04-03  Bruno Haible  <bruno@clisp.org>
1607
1608         locale: Make C++ tests work on Cygwin and mingw.
1609         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
1610         cannot provide the function.
1611         Reported by Simon Josefsson.
1612
1613 2010-04-03  Bruno Haible  <bruno@clisp.org>
1614
1615         localename: Port to MacOS X 10.6.
1616         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
1617         memory layout of the locales in MacOS X 10.6 as well.
1618         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
1619
1620 2010-04-02  Bruno Haible  <bruno@clisp.org>
1621
1622         gnulib-tool: Ensure that long-running tests are executed last.
1623         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
1624         running tests after the one for the other tests.
1625
1626 2010-04-02  Bruno Haible  <bruno@clisp.org>
1627
1628         gnulib-tool: Ensure the tests in the main directory are executed first.
1629         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
1630         start with the current directory.
1631
1632 2010-04-02  Bruno Haible  <bruno@clisp.org>
1633
1634         Tests for module 'havelib', moved here from GNU gettext.
1635         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
1636         modifications.
1637         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
1638         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
1639         with modifications.
1640         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
1641         modifications.
1642         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
1643         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
1644         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
1645         with modifications.
1646         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
1647         with modifications.
1648         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
1649         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
1650         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
1651         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
1652         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
1653         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
1654         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
1655         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
1656         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
1657         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
1658         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
1659         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
1660         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
1661         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
1662         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
1663         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
1664         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
1665         with modifications.
1666         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
1667         with modifications.
1668         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
1669         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
1670         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
1671         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
1672         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
1673         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
1674         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
1675         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
1676         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
1677         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
1678         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
1679         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
1680         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
1681         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
1682         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
1683         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
1684         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
1685         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
1686         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
1687         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
1688         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
1689         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
1690         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
1691         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
1692         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
1693         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
1694         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
1695         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
1696         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
1697         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
1698         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
1699         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
1700         * tests/havelib/rpathx/rpathx.c: New file, from
1701         gettext/autoconf-lib-link.
1702         * tests/havelib/rpathx/Makefile.am: New file, from
1703         gettext/autoconf-lib-link.
1704         * tests/havelib/rpathx/configure.ac: New file, from
1705         gettext/autoconf-lib-link with modifications.
1706         * tests/havelib/rpathy/rpathy.c: New file, from
1707         gettext/autoconf-lib-link.
1708         * tests/havelib/rpathy/Makefile.am: New file, from
1709         gettext/autoconf-lib-link.
1710         * tests/havelib/rpathy/configure.ac: New file, from
1711         gettext/autoconf-lib-link with modifications.
1712         * tests/havelib/rpathz/rpathz.c: New file, from
1713         gettext/autoconf-lib-link.
1714         * tests/havelib/rpathz/Makefile.am: New file, from
1715         gettext/autoconf-lib-link.
1716         * tests/havelib/rpathz/configure.ac: New file, from
1717         gettext/autoconf-lib-link with modifications.
1718         * tests/havelib/rpathlx/usex.c: New file, from
1719         gettext/autoconf-lib-link.
1720         * tests/havelib/rpathlx/Makefile.am: New file, from
1721         gettext/autoconf-lib-link.
1722         * tests/havelib/rpathlx/configure.ac: New file, from
1723         gettext/autoconf-lib-link with modifications.
1724         * tests/havelib/rpathly/usey.c: New file, from
1725         gettext/autoconf-lib-link.
1726         * tests/havelib/rpathly/Makefile.am: New file, from
1727         gettext/autoconf-lib-link.
1728         * tests/havelib/rpathly/configure.ac: New file, from
1729         gettext/autoconf-lib-link with modifications.
1730         * tests/havelib/rpathlz/usez.c: New file, from
1731         gettext/autoconf-lib-link.
1732         * tests/havelib/rpathlz/Makefile.am: New file, from
1733         gettext/autoconf-lib-link.
1734         * tests/havelib/rpathlz/configure.ac: New file, from
1735         gettext/autoconf-lib-link with modifications.
1736         * tests/havelib/rpathlyx/usey.c: New file, from
1737         gettext/autoconf-lib-link.
1738         * tests/havelib/rpathlyx/Makefile.am: New file, from
1739         gettext/autoconf-lib-link.
1740         * tests/havelib/rpathlyx/configure.ac: New file, from
1741         gettext/autoconf-lib-link with modifications.
1742         * tests/havelib/rpathlzyx/usez.c: New file, from
1743         gettext/autoconf-lib-link.
1744         * tests/havelib/rpathlzyx/Makefile.am: New file, from
1745         gettext/autoconf-lib-link.
1746         * tests/havelib/rpathlzyx/configure.ac: New file, from
1747         gettext/autoconf-lib-link with modifications.
1748         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
1749         with modifications.
1750
1751 2010-04-02  Bruno Haible  <bruno@clisp.org>
1752
1753         gnulib-tool: Create distributed built sources also for the tests.
1754         * gnulib-tool (func_create_testdir): Also generate distributed built
1755         sources in the tests directory.
1756
1757 2010-04-02  Bruno Haible  <bruno@clisp.org>
1758
1759         gnulib-tool: Obey user's environment variables.
1760         * gnulib-tool (func_create_testdir): When creating built sources,
1761         respect the environment variables for autoconf, automake, etc. given by
1762         the user.
1763
1764 2010-04-02  Bruno Haible  <bruno@clisp.org>
1765
1766         gnulib-tool: Provide the value of --m4-base to modules.
1767         * gnulib-tool (func_import, func_create_testdir): Emit a definition
1768         of gl_m4_base.
1769
1770 2010-04-02  Eric Blake  <eblake@redhat.com>
1771
1772         maint.mk: fix some fallout
1773         * NEWS: Document the incompatible change, and its effect on cfg.mk.
1774         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
1775
1776 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1777
1778         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
1779         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
1780         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
1781         (sc_cast_of_x_alloc_return_value): Likewise.
1782         (sc_cast_of_alloca_return_value): Likewise.
1783         (sc_space_tab): Likewise.
1784         (sc_prohibit_atoi_atof): Likewise.
1785         (sc_prohibit_magic_number_exit): Likewise.
1786         (sc_error_exit_success): Likewise.
1787         (sc_file_system): Likewise.
1788         (sc_prohibit_have_config_h): Likewise.
1789         (sc_require_config_h): Likewise.
1790         (sc_prohibit_HAVE_MBRTOWC): Likewise.
1791         (sc_obsolete_symbols): Likewise.
1792         (sc_changelog): Likewise.
1793         (sc_program_name): Likewise.
1794         (sc_the_the): Likewise.
1795         (sc_trailing_blank): Likewise.
1796         (sc_two_space_separator_in_usage): Likewise.
1797         (sc_useless_cpp_parens): Likewise.
1798         (sc_GPL_version): Likewise.
1799         (sc_GFDL_version): Likewise.
1800         (sc_texinfo_acronym): Likewise.
1801         (sc_prohibit_cvs_keyword): Likewise.
1802         (sc_prohibit_stat_st_blocks): Likewise.
1803         (sc_prohibit_S_IS_definition): Likewise.
1804         (sc_redundant_const): Likewise.
1805         (sc_makefile_TAB_only_indentation): Likewise.
1806         (sc_m4_quote_check): Likewise.
1807         (sc_makefile_path_separator_check): Likewise.
1808         (sc_copyright_check): Likewise.
1809         (sc_Wundef_boolean): Likewise.
1810         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
1811
1812         maint.mk: match 0 or more whitespace-before-function-call '('
1813         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
1814         that have zero or two-and-more spaces between the function name
1815         and the open parenthesis.
1816         (sc_error_message_warn_fatal): Likewise.
1817         (sc_error_message_uppercase): Likewise.
1818         (sc_error_message_period): Likewise.
1819
1820 2010-03-31  Eric Blake  <eblake@redhat.com>
1821
1822         maint.mk: check for [ as well as test
1823         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
1824         Based on a libvirt report by Matthias Bolte.
1825
1826         gnumakefile: don't squelch _version output
1827         * top/GNUmakefile (_version): Create one-shot dependency rather
1828         than using $(shell) when version must be regenerated.
1829         (_autoreconf): Run verbosely, by default.
1830
1831         sys_time: avoid compiler warnings
1832         * lib/sys_time.in.h (includes): Ensure gcc pragma is
1833         unconditional, fixing regression from 2010-03-29.
1834         Reported by Simon Josefsson.
1835
1836 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1837
1838         maint.mk: s/_header_without_use/_sc_header_without_use/
1839         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
1840         (sc_prohibit_assert_without_use): Use the new name.
1841         (sc_prohibit_close_stream_without_use): Likewise.
1842         (sc_prohibit_getopt_without_use): Likewise.
1843         (sc_prohibit_quotearg_without_use): Likewise.
1844         (sc_prohibit_quote_without_use): Likewise.
1845         (sc_prohibit_long_options_without_use): Likewise.
1846         (sc_prohibit_inttostr_without_use): Likewise.
1847         (sc_prohibit_ignore_value_without_use): Likewise.
1848         (sc_prohibit_error_without_use): Likewise.
1849         (sc_prohibit_xalloc_without_use): Likewise.
1850         (sc_prohibit_hash_without_use): Likewise.
1851         (sc_prohibit_hash_pjw_without_use): Likewise.
1852         (sc_prohibit_safe_read_without_use): Likewise.
1853         (sc_prohibit_argmatch_without_use): Likewise.
1854         (sc_prohibit_canonicalize_without_use): Likewise.
1855         (sc_prohibit_root_dev_ino_without_use): Likewise.
1856         (sc_prohibit_openat_without_use): Likewise.
1857         (sc_prohibit_c_ctype_without_use): Likewise.
1858         (sc_prohibit_signal_without_use): Likewise.
1859         (sc_prohibit_intprops_without_use): Likewise.
1860
1861 2010-03-30  Eric Blake  <eblake@redhat.com>
1862
1863         maint: improve module indicators
1864         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
1865         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
1866         columns, and avoid extra macro expansion.
1867
1868         fdopendir: work around FreeBSD bug
1869         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1870         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
1871         * modules/dirent (Makefile.am): Substitute it.
1872         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
1873         declaration.
1874         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
1875         fix.
1876         Reported by Christian Weisgerber <naddy@mips.inka.de>.
1877
1878 2010-03-29  Bruno Haible  <bruno@clisp.org>
1879
1880         Emit #pragma system_header after the inclusion guard, not before.
1881         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
1882         guard that spans the entire file, not before. This enables an
1883         optimization in GCC's preprocessor.
1884         * lib/ctype.in.h: Likewise.
1885         * lib/dirent.in.h: Likewise.
1886         * lib/errno.in.h: Likewise.
1887         * lib/float.in.h: Likewise.
1888         * lib/getopt.in.h: Likewise.
1889         * lib/iconv.in.h: Likewise.
1890         * lib/langinfo.in.h: Likewise.
1891         * lib/locale.in.h: Likewise.
1892         * lib/math.in.h: Likewise.
1893         * lib/netdb.in.h: Likewise.
1894         * lib/netinet_in.in.h: Likewise.
1895         * lib/pty.in.h: Likewise.
1896         * lib/sched.in.h: Likewise.
1897         * lib/se-selinux.in.h: Likewise.
1898         * lib/search.in.h: Likewise.
1899         * lib/spawn.in.h: Likewise.
1900         * lib/stdarg.in.h: Likewise.
1901         * lib/stdint.in.h: Likewise.
1902         * lib/string.in.h: Likewise.
1903         * lib/strings.in.h: Likewise.
1904         * lib/sys_file.in.h: Likewise.
1905         * lib/sys_ioctl.in.h: Likewise.
1906         * lib/sys_time.in.h: Likewise.
1907         * lib/sys_times.in.h: Likewise.
1908         * lib/sys_utsname.in.h: Likewise.
1909         * lib/sys_wait.in.h: Likewise.
1910         * lib/sysexits.in.h: Likewise.
1911         * lib/wctype.in.h: Likewise.
1912
1913 2010-03-28  James Youngman  <jay@gnu.org>
1914
1915         save-cwd: don't leak a file descriptor when the caller execs.
1916         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
1917         saved file descriptor.
1918         * modules/save-cwd (Depends-on): Depend on cloexec.
1919
1920 2010-03-29  Bruno Haible  <bruno@clisp.org>
1921
1922         Remove vestiges of fts-lgpl module.
1923         * lib/fts_.h: Assume GNULIB_FTS is 1.
1924         * lib/fts.c: Likewise.
1925         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1926
1927 2010-03-28  Bruno Haible  <bruno@clisp.org>
1928
1929         Fix definition of tests witness macro.
1930         * gnulib-tool (func_import): Fix definition of witness macro.
1931
1932 2010-03-28  Bruno Haible  <bruno@clisp.org>
1933
1934         Fix ioctl's protoype on glibc systems.
1935         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
1936         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
1937         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
1938         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
1939         signature. If not, arrange to replace the ioctl function.
1940         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
1941         REPLACE_IOCTL.
1942         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
1943         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
1944         Reported by Ludovic Courtès <ludo@gnu.org>.
1945
1946 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
1947
1948         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
1949         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
1950         made it so grep -r --include=GLOB* ... did not work.
1951
1952 2010-03-26  Jim Meyering  <meyering@redhat.com>
1953             Eric Blake  <eblake@redhat.com>
1954
1955         maint.mk: prohibit use of test's -o and -a operators
1956         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
1957
1958 2010-03-28  Bruno Haible  <bruno@clisp.org>
1959
1960         Remove unused GNULIB_XYZ macro definitions.
1961         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
1962         invocation.
1963
1964 2010-03-28  Bruno Haible  <bruno@clisp.org>
1965
1966         Mark privileged tests modules.
1967         * modules/idpriv-drop-tests (Status): New section.
1968         * modules/idpriv-droptemp-tests (Status): New section.
1969
1970 2010-03-28  Bruno Haible  <bruno@clisp.org>
1971
1972         Split C++ tests into separate tests modules.
1973         * modules/dirent-c++-tests: New file, extracted from
1974         modules/dirent-tests.
1975         * modules/dirent-tests: Depend on it.
1976         * modules/fcntl-h-c++-tests: New file, extracted from
1977         modules/fcntl-h-tests.
1978         * modules/fcntl-h-tests: Depend on it.
1979         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
1980         * modules/glob-tests: Depend on it.
1981         * modules/iconv-h-c++-tests: New file, extracted from
1982         modules/iconv-h-tests.
1983         * modules/iconv-h-tests: Depend on it.
1984         * modules/langinfo-c++-tests: New file, extracted from
1985         modules/langinfo-tests.
1986         * modules/langinfo-tests: Depend on it.
1987         * modules/locale-c++-tests: New file, extracted from
1988         modules/locale-tests.
1989         * modules/locale-tests: Depend on it.
1990         * modules/math-c++-tests: New file, extracted from modules/math-tests.
1991         * modules/math-tests: Depend on it.
1992         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
1993         * modules/pty-tests: Depend on it.
1994         * modules/search-c++-tests: New file, extracted from
1995         modules/search-tests.
1996         * modules/search-tests: Depend on it.
1997         * modules/signal-c++-tests: New file, extracted from
1998         modules/signal-tests.
1999         * modules/signal-tests: Depend on it.
2000         * modules/spawn-c++-tests: New file, extracted from
2001         modules/spawn-tests.
2002         * modules/spawn-tests: Depend on it.
2003         * modules/stdio-c++-tests: New file, extracted from
2004         modules/stdio-tests.
2005         * modules/stdio-tests: Depend on it.
2006         * modules/stdlib-c++-tests: New file, extracted from
2007         modules/stdlib-tests.
2008         * modules/stdlib-tests: Depend on it.
2009         * modules/string-c++-tests: New file, extracted from
2010         modules/string-tests.
2011         * modules/string-tests: Depend on it.
2012         * modules/sys_ioctl-c++-tests: New file, extracted from
2013         modules/sys_ioctl-tests.
2014         * modules/sys_ioctl-tests: Depend on it.
2015         * modules/sys_select-c++-tests: New file, extracted from
2016         modules/sys_select-tests.
2017         * modules/sys_select-tests: Depend on it.
2018         * modules/sys_socket-c++-tests: New file, extracted from
2019         modules/sys_socket-tests.
2020         * modules/sys_socket-tests: Depend on it.
2021         * modules/sys_stat-c++-tests: New file, extracted from
2022         modules/sys_stat-tests.
2023         * modules/sys_stat-tests: Depend on it.
2024         * modules/sys_time-c++-tests: New file, extracted from
2025         modules/sys_time-tests.
2026         * modules/sys_time-tests: Depend on it.
2027         * modules/time-c++-tests: New file, extracted from modules/time-tests.
2028         * modules/time-tests: Depend on it.
2029         * modules/unistd-c++-tests: New file, extracted from
2030         modules/unistd-tests.
2031         * modules/unistd-tests: Depend on it.
2032         * modules/wchar-c++-tests: New file, extracted from
2033         modules/wchar-tests.
2034         * modules/wchar-tests: Depend on it.
2035         * modules/wctype-c++-tests: New file, extracted from
2036         modules/wctype-tests.
2037         * modules/wctype-tests: Depend on it.
2038         Reported by Simon Josefsson.
2039
2040 2010-03-28  Bruno Haible  <bruno@clisp.org>
2041
2042         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
2043         * gnulib-tool (func_exists_module): New function, extracted from
2044         func_verify_module.
2045         (func_verify_module): Use it.
2046         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
2047         'foo' only if 'foo' exists.
2048         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
2049         module.
2050
2051 2010-03-28  Bruno Haible  <bruno@clisp.org>
2052
2053         gnulib-tool: Add support for special categories of tests.
2054         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
2055         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
2056         (func_usage): Document them.
2057         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
2058         inc_unportable_tests, inc_all_tests): New variables.
2059         (func_acceptable): Consider these variables.
2060         (func_modules_transitive_closure): Make it work when the 'Status' field
2061         consists of multiple words.
2062         (func_import): Store and restore the values of inc_cxx_tests,
2063         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
2064         inc_all_tests in gnulib-comp.m4.
2065         (func_create_testdir): Set inc_all_tests to true.
2066         * doc/gnulib.texi (Extra tests modules): New section.
2067         Suggested by Jim Meyering.
2068
2069 2010-03-28  Bruno Haible  <bruno@clisp.org>
2070
2071         ansi-c++-opt: Allow turning off the C++ build by default.
2072         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
2073         gl_CXX_CHOICE_DEFAULT_NO is defined.
2074         Requested by Eric Blake.
2075
2076 2010-03-28  Bruno Haible  <bruno@clisp.org>
2077
2078         unistd: Avoid #define replacements in C++ mode.
2079         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
2080         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
2081         setsockopt, shutdown, select): In C++, attach a warning to the function
2082         if possible, rather than #defining the symbol to a dysfunctional alias.
2083         Reported by John W. Eaton <jwe@gnu.org>.
2084
2085 2010-03-28  Bruno Haible  <bruno@clisp.org>
2086
2087         Fix link errors on mingw.
2088         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
2089         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
2090         $(LIBSOCKET).
2091         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
2092         $(LIBSOCKET).
2093
2094 2010-03-28  Bruno Haible  <bruno@clisp.org>
2095             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2096
2097         lib-ignore: Determine different options for different compilers.
2098         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
2099         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
2100         Add comments.
2101         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
2102         * NEWS: Mention the change.
2103
2104 2010-03-27  Bruno Haible  <bruno@clisp.org>
2105
2106         Remove unused GNULIB_XYZ macro definitions.
2107         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
2108         * modules/fseek (configure.ac): Likewise.
2109         * modules/ioctl (configure.ac): Likewise.
2110         * modules/open (configure.ac): Likewise.
2111         * modules/stdlib-safer (configure.ac): Likewise.
2112
2113 2010-03-27  Bruno Haible  <bruno@clisp.org>
2114
2115         Add a remark about certain modules.
2116         * modules/malloc (Comment): New section.
2117         * modules/realloc (Comment): Likewise.
2118         * modules/sigpipe (Comment): Likewise.
2119
2120 2010-03-27  Bruno Haible  <bruno@clisp.org>
2121
2122         Resolve conflict between the two kinds of module indicators.
2123         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
2124         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
2125         * modules/canonicalize (configure.ac): Invoke
2126         gl_MODULE_INDICATOR_FOR_TESTS.
2127         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
2128         GNULIB_XYZ.
2129         * tests/test-dirent-c++.cc: Likewise.
2130         * tests/test-dirent-safer.c: Likewise.
2131         * tests/test-dup2.c: Likewise.
2132         * tests/test-fchdir.c: Likewise.
2133         * tests/test-fcntl-h-c++.cc: Likewise.
2134         * tests/test-getopt.c: Likewise.
2135         * tests/test-getopt.h: Likewise.
2136         * tests/test-langinfo-c++.cc: Likewise.
2137         * tests/test-locale-c++.cc: Likewise.
2138         * tests/test-math-c++.cc: Likewise.
2139         * tests/test-pty-c++.cc: Likewise.
2140         * tests/test-search-c++.cc: Likewise.
2141         * tests/test-signal-c++.cc: Likewise.
2142         * tests/test-spawn-c++.cc: Likewise.
2143         * tests/test-stdio-c++.cc: Likewise.
2144         * tests/test-stdlib-c++.cc: Likewise.
2145         * tests/test-string-c++.cc: Likewise.
2146         * tests/test-sys_ioctl-c++.cc: Likewise.
2147         * tests/test-sys_select-c++.cc: Likewise.
2148         * tests/test-sys_socket-c++.cc: Likewise.
2149         * tests/test-sys_stat-c++.cc: Likewise.
2150         * tests/test-sys_time-c++.cc: Likewise.
2151         * tests/test-time-c++.cc: Likewise.
2152         * tests/test-unistd-c++.cc: Likewise.
2153         * tests/test-wchar-c++.cc: Likewise.
2154         * tests/uninorm/test-u8-nfc.c: Likewise.
2155         * tests/uninorm/test-u8-nfd.c: Likewise.
2156         * tests/uninorm/test-u8-nfkc.c: Likewise.
2157         * tests/uninorm/test-u8-nfkd.c: Likewise.
2158         * tests/uninorm/test-u16-nfc.c: Likewise.
2159         * tests/uninorm/test-u16-nfd.c: Likewise.
2160         * tests/uninorm/test-u16-nfkc.c: Likewise.
2161         * tests/uninorm/test-u16-nfkd.c: Likewise.
2162         * tests/uninorm/test-u32-nfc.c: Likewise.
2163         * tests/uninorm/test-u32-nfc-big.c: Likewise.
2164         * tests/uninorm/test-u32-nfd.c: Likewise.
2165         * tests/uninorm/test-u32-nfd-big.c: Likewise.
2166         * tests/uninorm/test-u32-nfkc.c: Likewise.
2167         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
2168         * tests/uninorm/test-u32-nfkd.c: Likewise.
2169         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
2170         * tests/uninorm/test-u32-normalize-big.c: Likewise.
2171
2172 2010-03-27  Bruno Haible  <bruno@clisp.org>
2173
2174         Distinguish two kinds of module indicators.
2175         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
2176         gl_MODULE_INDICATOR.
2177         (gl_MODULE_INDICATOR): New macro.
2178         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
2179         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
2180         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
2181         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
2182         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
2183         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
2184         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
2185         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
2186         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
2187         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
2188         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
2189         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
2190         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
2191         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
2192         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
2193         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
2194         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
2195         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
2196         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
2197         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
2198         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
2199         * modules/cloexec (configure.ac): Likewise.
2200         * modules/getopt-gnu (configure.ac): Likewise.
2201         * modules/uninorm/u8-normalize (configure.ac): Likewise.
2202         * modules/uninorm/u16-normalize (configure.ac): Likewise.
2203         * modules/uninorm/u32-normalize (configure.ac): Likewise.
2204         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
2205
2206 2010-03-27  Bruno Haible  <bruno@clisp.org>
2207
2208         New module description field 'Comment'.
2209         * gnulib-tool: New option --extract-comment.
2210         (func_usage): Document it.
2211         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
2212         (func_get_comment): New function.
2213         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
2214
2215 2010-03-27  Bruno Haible  <bruno@clisp.org>
2216
2217         Addendum to 2010-02-07 commit.
2218         * gnulib-tool (func_usage): Document --extract-applicability option.
2219
2220 2010-03-27  Bruno Haible  <bruno@clisp.org>
2221
2222         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
2223         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
2224         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
2225         rather than link errors.
2226
2227 2010-03-27  Bruno Haible  <bruno@clisp.org>
2228
2229         Avoid side effects from tests-related modules on the compilation of lib.
2230         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
2231         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
2232         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
2233         parameter. Emit into AM_CPPFLAGS a definition of the designated C
2234         macro.
2235         (func_import): Define a witness macro. Assign it a value that depends
2236         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
2237         tests-related modules.
2238         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
2239         Reported by Jim Meyering.
2240
2241 2010-03-27  Bruno Haible  <bruno@clisp.org>
2242
2243         Factorize common .m4 code.
2244         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
2245         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
2246         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
2247         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
2248         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
2249         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
2250         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
2251         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
2252         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
2253         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
2254         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
2255         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
2256         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
2257         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
2258         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
2259         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
2260         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
2261         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
2262         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
2263         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
2264         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
2265         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
2266         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
2267         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
2268         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
2269         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
2270         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
2271         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
2272         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
2273         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
2274         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
2275         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
2276
2277 2010-03-27  Bruno Haible  <bruno@clisp.org>
2278
2279         Fix a compilation error on Cygwin with g++ >= 4.3.
2280         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
2281         if it is undefined or if we alias it to chmod.
2282         (lstat): Don't warn about the use of this function if it is undefined
2283         or if we alias it to stat.
2284         Reported by Simon Josefsson.
2285
2286 2010-03-27  Bruno Haible  <bruno@clisp.org>
2287
2288         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
2289         * modules/getlogin (configure.ac): Update.
2290
2291         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
2292         * modules/getlogin_r (configure.ac): Update.
2293
2294         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
2295         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
2296         * modules/inet_ntop (configure.ac): Update.
2297
2298         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
2299         * modules/inet_pton (configure.ac): Update.
2300
2301         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
2302         * modules/mbslen (configure.ac): Update.
2303
2304         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
2305         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
2306         * modules/forkpty (configure.ac): Update.
2307         * modules/openpty (configure.ac): Update.
2308
2309 2010-03-26  Simon Josefsson  <simon@josefsson.org>
2310
2311         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
2312         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
2313
2314 2010-03-25  Eric Blake  <eblake@redhat.com>
2315
2316         maint: use pragma consistently across replacement headers
2317         * lib/ctype.in.h (system_header): Hoist for consistent placement.
2318         * lib/dirent.in.h (system_header): Likewise.
2319         * lib/errno.in.h (system_header): Likewise.
2320         * lib/float.in.h (system_header): Likewise.
2321         * lib/getopt.in.h (system_header): Likewise.
2322         * lib/iconv.in.h (system_header): Likewise.
2323         * lib/inttypes.in.h (system_header): Likewise.
2324         * lib/langinfo.in.h (system_header): Likewise.
2325         * lib/locale.in.h (system_header): Likewise.
2326         * lib/math.in.h (system_header): Likewise.
2327         * lib/netdb.in.h (system_header): Likewise.
2328         * lib/netinet_in.in.h (system_header): Likewise.
2329         * lib/pty.in.h (system_header): Likewise.
2330         * lib/sched.in.h (system_header): Likewise.
2331         * lib/se-selinux.in.h (system_header): Likewise.
2332         * lib/search.in.h (system_header): Likewise.
2333         * lib/spawn.in.h (system_header): Likewise.
2334         * lib/stdarg.in.h (system_header): Likewise.
2335         * lib/stdint.in.h (system_header): Likewise.
2336         * lib/string.in.h (system_header): Likewise.
2337         * lib/strings.in.h (system_header): Likewise.
2338         * lib/sys_file.in.h (system_header): Likewise.
2339         * lib/sys_ioctl.in.h (system_header): Likewise.
2340         * lib/sys_socket.in.h (system_header): Likewise.
2341         * lib/sys_times.in.h (system_header): Likewise.
2342         * lib/sys_utsname.in.h (system_header): Likewise.
2343         * lib/sys_wait.in.h (system_header): Likewise.
2344         * lib/sysexits.in.h (system_header): Likewise.
2345         * lib/unistd.in.h (system_header): Likewise.
2346         * lib/wctype.in.h (system_header): Likewise.
2347
2348         arpa/inet: fix mingw compilation warning
2349         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
2350         Reported by Matthew Bolte.
2351
2352 2010-03-25  Bruno Haible  <bruno@clisp.org>
2353
2354         Avoid collision between gnulib wrapper and libintl wrapper.
2355         * lib/printf.c (printf): Don't define if a printf wrapper is already
2356         defined in intl/printf.c.
2357         Reported by Michel Boaventura <michel@michelboaventura.com>.
2358
2359 2010-03-25  Bruno Haible  <bruno@clisp.org>
2360
2361         Use ANSI C.
2362         * lib/readutmp.h (getutent): Provide ANSI C prototype.
2363
2364 2010-03-25  Bruno Haible  <bruno@clisp.org>
2365
2366         Minor formatting changes.
2367         * lib/acosl.c: Insert space before function argument list.
2368         * lib/argz.c: Likewise.
2369         * lib/asinl.c: Likewise.
2370         * lib/expl.c: Likewise.
2371         * lib/gen-uni-tables.c: Likewise.
2372         * lib/gettext.h: Likewise.
2373         * lib/glthread/lock.h: Likewise.
2374         * lib/tanl.c: Likewise.
2375         * lib/uniname/uniname.c: Likewise.
2376         * tests/test-idpriv-drop.c: Likewise.
2377         * tests/test-idpriv-droptemp.c: Likewise.
2378         * tests/test-lock.c: Likewise.
2379         * tests/test-tls.c: Likewise.
2380         * lib/argp-help.c: Insert space before function-like macro argument
2381         list.
2382         * lib/memcmp.c: Likewise.
2383         * tests/test-base64.c: Likewise.
2384         * lib/localename.c: Insert space before sizeof's argument list.
2385         * lib/safe-alloc.h: Likewise.
2386         * lib/file-set.h: Insert space before macro argument list.
2387         * tests/test-argp.c: Likewise.
2388         * lib/argp-namefrob.h: Insert space before function parameter list.
2389         * lib/getaddrinfo.c: Likewise.
2390         * lib/netdb.in.h: Likewise.
2391         * lib/parse-duration.h: Likewise.
2392         * lib/parse-duration.c: Likewise.
2393         * lib/poll.c: Likewise.
2394         * lib/select.c: Likewise.
2395         * lib/trim.h: Likewise.
2396         * tests/test-usleep.c: Likewise.
2397         * lib/ldexpl.c: Insert space before function parameter list and before
2398         function argument list.
2399         * lib/logl.c: Likewise.
2400         * lib/sqrtl.c: Likewise.
2401         * lib/trim.c: Likewise.
2402         * lib/cosl.c: Use GNU style indentation. Insert space before function
2403         argument list.
2404         * lib/sinl.c: Likewise.
2405         * lib/tsearch.c: Insert space after 'for'.
2406         Reported by Jim Meyering.
2407
2408 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
2409
2410         * maint.mk (sc_Wundef_boolean): Check for the presence of the
2411         config header before grepping, as it's not present before
2412         autoreconf/configure are run.  Reported by Simon Josefsson.
2413
2414 2010-03-23  Bruno Haible  <bruno@clisp.org>
2415
2416         pt_chown: Make it work with automake < 1.11.
2417         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
2418         Reported by Simon Josefsson.
2419
2420 2010-03-23  Bruno Haible  <bruno@clisp.org>
2421
2422         pt_chown: Don't depend on GPLed modules.
2423         * lib/pt_chown.c: Don't include idpriv.h.
2424         (main): Don't drop privileges.
2425         * modules/pt_chown (Depends-on): Remove idpriv-drop.
2426         Reported by Simon Josefsson.
2427
2428 2010-03-24  Simon Josefsson  <simon@josefsson.org>
2429
2430         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
2431         suggestions from karl@freefriends.org (Karl Berry).
2432
2433 2010-03-22  Eric Blake  <eblake@redhat.com>
2434
2435         gethostname: further tweaks
2436         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
2437         are overriding gethostname.
2438         Suggested by Bruno Haible.
2439
2440 2010-03-21  Bruno Haible  <bruno@clisp.org>
2441
2442         Fix comments.
2443         * lib/forkpty.c (rpl_forkpty): Fix comment.
2444         * lib/openpty.c (rpl_openpty): Likewise.
2445         Reported by Eric Blake.
2446
2447 2010-03-22  Eric Blake  <eblake@redhat.com>
2448
2449         gethostname: fix build on mingw
2450         * lib/unistd.in.h (includes): Work around fact that mingw
2451         <winsock2.h> re-includes <unistd.h>, by avoiding any
2452         redeclarations if we are being included by <winsock2.h>.
2453         Reported by Matthias Bolte.
2454
2455 2010-03-21  Bruno Haible  <bruno@clisp.org>
2456
2457         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
2458         * lib/forkpty.c (forkpty): New replacement function, from glibc with
2459         modifications.
2460         * lib/pty.in.h (forkpty): Update declaration. Add comments.
2461         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
2462         provide the replacement.
2463         * modules/forkpty (Depends-on): Add openpty, login_tty.
2464         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
2465         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
2466         * doc/glibc-functions/forkpty.texi: More supported platforms.
2467         * config/srclist.txt: Add forkpty.c (commented).
2468
2469 2010-03-21  Bruno Haible  <bruno@clisp.org>
2470
2471         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
2472         (Makefile.am): Verify that PTY_LIB is defined.
2473
2474         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
2475
2476 2010-03-21  Bruno Haible  <bruno@clisp.org>
2477
2478         Tests for module 'login_tty'.
2479         * modules/login_tty-tests: New file.
2480         * tests/test-login_tty.c: New file.
2481
2482         New module 'login_tty'.
2483         * lib/login_tty.c: New file.
2484         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
2485         * modules/login_tty: New file.
2486         * doc/glibc-functions/login_tty.texi: Mention the new module.
2487
2488 2010-03-21  Bruno Haible  <bruno@clisp.org>
2489
2490         login_tty: Documentation.
2491         * doc/glibc-functions/login_tty.texi: New file.
2492         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
2493
2494 2010-03-21  Bruno Haible  <bruno@clisp.org>
2495
2496         pty: Consistent macro naming.
2497         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
2498         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
2499         * modules/pty (configure.ac): Update.
2500
2501 2010-03-21  Bruno Haible  <bruno@clisp.org>
2502
2503         Tests for openpty: Make stricter.
2504         * tests/test-openpty.c (main): Add test of canonical processing and
2505         erase.
2506         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
2507
2508         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
2509         * lib/openpty.c (openpty): New replacement function.
2510         * lib/pty.in.h: Include <termios.h>.
2511         (openpty): Update declaration. Add comments.
2512         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
2513         is not declared, arrange to provide the replacement. Check for _getpty
2514         and posix_openpt.
2515         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
2516         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
2517         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
2518         * modules/pty-tests (test_pty_c___LDADD): New variable.
2519         * doc/glibc-functions/openpty.texi: More supported platforms.
2520
2521 2010-03-21  Bruno Haible  <bruno@clisp.org>
2522
2523         setenv: Tweaks.
2524         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
2525         the test program.
2526         * doc/posix-functions/setenv.texi: Update platforms list.
2527
2528 2010-03-21  Bruno Haible  <bruno@clisp.org>
2529
2530         New module 'unlockpt'.
2531         * lib/unlockpt.c: New file, from glibc with modifications.
2532         * m4/unlockpt.m4: New file.
2533         * modules/unlockpt: New file.
2534         * lib/stdlib.in.h (unlockpt): New declaration.
2535         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
2536         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
2537         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
2538         HAVE_UNLOCKPT.
2539         * doc/posix-functions/unlockpt.texi: Mention the new module.
2540         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
2541         * config/srclist.txt: Add unlockpt.c (commented).
2542
2543 2010-03-21  Jim Meyering  <meyering@redhat.com>
2544
2545         maint.mk: prohibit inclusion of "intprops.h" without use
2546         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
2547
2548 2010-03-21  Bruno Haible  <bruno@clisp.org>
2549
2550         New module 'grantpt'.
2551         * lib/grantpt.c: New file, from glibc with modifications.
2552         * m4/grantpt.m4: New file.
2553         * modules/grantpt: New file.
2554         * lib/stdlib.in.h (grantpt): New declaration.
2555         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
2556         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
2557         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
2558         HAVE_GRANTPT.
2559         * doc/posix-functions/grantpt.texi: Mention the new module.
2560         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
2561         * config/srclist.txt: Add grantpt.c (commented).
2562
2563 2010-03-21  Bruno Haible  <bruno@clisp.org>
2564
2565         New module 'pt_chown'.
2566         * lib/pt_chown.c: New file, from glibc with modifications.
2567         * lib/pty-private.h: New file, from glibc with modifications.
2568         * modules/pt_chown: New file.
2569         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
2570
2571 2010-03-21  Bruno Haible  <bruno@clisp.org>
2572
2573         Tests for module 'ptsname'.
2574         * modules/ptsname-tests: New file.
2575         * tests/test-ptsname.c: New file.
2576
2577         New module 'ptsname'.
2578         * lib/ptsname.c: New file, from glibc with modifications.
2579         * m4/ptsname.m4: New file.
2580         * modules/ptsname: New file.
2581         * lib/stdlib.in.h (ptsname): New declaration.
2582         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
2583         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
2584         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
2585         HAVE_PTSNAME.
2586         * doc/posix-functions/ptsname.texi: Mention the new module.
2587         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
2588         * config/srclist.txt: Add ptsname.c (commented).
2589
2590 2010-03-21  Bruno Haible  <bruno@clisp.org>
2591
2592         Tests for module 'ttyname_r'.
2593         * modules/ttyname_r-tests: New file.
2594         * tests/test-ttyname_r.c: New file.
2595
2596         New module 'ttyname_r'.
2597         * lib/ttyname_r.c: New file.
2598         * m4/ttyname_r.m4: New file.
2599         * modules/ttyname_r: New file.
2600         * lib/unistd.in.h (ttyname_r): New declaration.
2601         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
2602         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
2603         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
2604         HAVE_TTYNAME_R.
2605         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
2606         * doc/posix-functions/ttyname_r.texi: Mention the new module.
2607
2608 2010-03-20  Bruno Haible  <bruno@clisp.org>
2609
2610         signal: Undefine macro definitions in C++ mode.
2611         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
2612         sigfillset): Undefine macro definitions from the system header in C++
2613         mode.
2614         Reported by John W. Eaton <jwe@gnu.org>.
2615
2616 2010-03-20  Bruno Haible  <bruno@clisp.org>
2617
2618         Ensure no #include statements inside extern "C" { ... }.
2619         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
2620         contain #include statements.
2621         * lib/time.in.h: Likewise.
2622
2623 2010-03-20  Bruno Haible  <bruno@clisp.org>
2624
2625         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
2626         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
2627         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
2628         Reported by John W. Eaton <jwe@gnu.org>.
2629
2630 2010-03-20  Bruno Haible  <bruno@clisp.org>
2631
2632         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
2633         Reported by Jim Meyering.
2634
2635 2010-03-20  Bruno Haible  <bruno@clisp.org>
2636
2637         pipe: Set errno upon failure.
2638         * lib/pipe.h: Specify that when -1 is returned, errno is set.
2639         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
2640         errno value in error message.
2641
2642 2010-03-20  Bruno Haible  <bruno@clisp.org>
2643             Jim Meyering  <meyering@redhat.com>
2644
2645         lchown: Avoid "unused variable" warning.
2646         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
2647
2648 2010-03-20  Bruno Haible  <bruno@clisp.org>
2649
2650         Work around unlink() bug on MacOS X 10.5.6.
2651         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
2652         attempting to unlink a parent directory.
2653         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
2654         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
2655         activate for the replacement function.
2656         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
2657
2658 2010-03-20  Bruno Haible  <bruno@clisp.org>
2659
2660         Fix link errors on Solaris 8.
2661         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
2662         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
2663
2664 2010-03-19  Jim Meyering  <meyering@redhat.com>
2665
2666         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
2667         The _LIBC implementation of build_range_exp correctly honors the
2668         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
2669         However, the non-_LIBC implementation would ignore that syntax-bit
2670         flag and return REG_ERANGE unconditionally.
2671         This change makes it honor that flag.
2672         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
2673         Make two pointer parameters "const".
2674         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
2675         (parse_bracket_exp): Update caller.
2676
2677         regex.m4: correct the reversed range endpoint ([b-a]) test
2678         * m4/regex.m4: When requiring that [b-a] evoke failure,
2679         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
2680         test pass once again for x86-based systems.
2681
2682 2010-03-19  Bruno Haible  <bruno@clisp.org>
2683
2684         scandir: Fix link error on Solaris 8.
2685         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
2686         macros.
2687
2688 2010-03-19  Bruno Haible  <bruno@clisp.org>
2689
2690         getusershell: Fix documentation.
2691         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
2692         module.
2693         * doc/glibc-functions/setusershell.texi: Likewise.
2694
2695         getusershell: Provide declaration, missing on Solaris 9.
2696         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
2697         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
2698         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
2699         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
2700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2701         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
2702         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
2703         HAVE_GETUSERSHELL.
2704         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
2705
2706 2010-03-19  Bruno Haible  <bruno@clisp.org>
2707
2708         wctype: Provide iswblank function.
2709         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
2710         exists and is fine.
2711         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
2712         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
2713         * tests/test-wctype.c (main): Re-enable the iswblank tests.
2714         * doc/posix-functions/iswblank.texi: Update.
2715
2716 2010-03-19  Bruno Haible  <bruno@clisp.org>
2717
2718         Tests of module 'pty' in C++ mode.
2719         * modules/pty-tests: New file.
2720         * tests/test-pty-c++.cc: New file.
2721         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2722
2723 2010-03-19  Eric Blake  <eblake@redhat.com>
2724
2725         logb: fix documentation
2726         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
2727         1.5 declaration bug.
2728
2729         forkpty, openpty: prefer glibc's const-safe prototype
2730         * lib/forkpty.c (rpl_forkpty): New file.
2731         * lib/openpty.c (rpl_openpty): Likewise.
2732         * modules/forkpty (Files): Distribute it.
2733         * modules/openpty (Files): Likewise.
2734         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
2735         check...
2736         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
2737         replacement for for non-const BSD signature.
2738         * modules/pty (Makefile.am): Substitute witnesses.
2739         * lib/pty.in.h (forkpty, openpty): Declare replacements.
2740         * tests/test-forkpty.c: Update signature check.
2741         * tests/test-openpty.c: Likewise.
2742         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
2743         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2744
2745         forkpty, openpty: split functions into new modules
2746         * modules/pty (Makefile.am): Substitute new witnesses.
2747         (Libraries): Move library detection...
2748         * modules/forkpty: ...into new module.
2749         * modules/openpty: Another new module.
2750         * modules/pty-tests: Rename and split...
2751         * modules/forkpty-tests: ...to this...
2752         * modules/openpty-tests: ...and this.
2753         * tests/test-pty.c: Rename and split...
2754         * tests/test-forkpty.c: ...to this...
2755         * tests/test-openpty.c: ...and this.
2756         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
2757         (gl_PTY): Split library searching...
2758         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
2759         (gl_FORKPTY, gl_OPENPTY): New macros.
2760         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
2761         * NEWS: Mention the split.
2762         * MODULES.html.sh (Misc): Document the modules.
2763         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
2764         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2765
2766         pty: improve replacement header
2767         * lib/pty.in.h: New file.
2768         * modules/pty (Files): Ship it.
2769         (Makefile.am): Always build replacement.
2770         * m4/pty.m4: Rename...
2771         * m4/pty_h.m4: ...to this.
2772         (gl_PTY): Modernize setting of witness macros; update check of
2773         forkpty to take proper advantage of cache.
2774         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
2775
2776         getopt: avoid compiler warning
2777         * lib/getopt.c (attribute_hidden): Remove unused macro.
2778
2779 2010-03-18  Bruno Haible  <bruno@clisp.org>
2780
2781         Fix link errors on Solaris 8.
2782         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
2783         * modules/search-tests (test_search_c___LDADD): Likewise.
2784         * modules/signal-tests (test_signal_c___LDADD): Likewise.
2785         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
2786         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
2787         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
2788         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
2789         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
2790         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
2791
2792 2010-03-18  Bruno Haible  <bruno@clisp.org>
2793
2794         Fix bug introduced on 2010-03-14.
2795         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
2796         (gl_SPAWN_H): Require it.
2797         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
2798         Reported by Simon Josefsson.
2799
2800 2010-03-18  Bruno Haible  <bruno@clisp.org>
2801
2802         Fix typo introduced on 2009-12-31.
2803         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
2804         posix_spawn_file_actions_adddup2.
2805
2806 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
2807         and Eric Blake  <eblake@redhat.com>
2808
2809         test-vc-list-files-git: make more robust
2810         * tests/test-vc-list-files-git.sh: Unset problematic environment
2811         variables.  Chain commands together.
2812
2813 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
2814
2815         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
2816         `AC_CHECK_DECL' invocation.
2817
2818 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
2819
2820         * lib/inttostr.c (inttostr): Make sure the invocation of verify
2821         appears before executable statements. Suggested by Petr Sumbera
2822         <Petr.Sumbera@Sun.COM>.
2823
2824 2010-03-14  Bruno Haible  <bruno@clisp.org>
2825
2826         * tests/test-flock.c (test_exclusive): Comment out a test that causes
2827         portability problems. Instead use a simpler test.
2828         (main): Check that invalid arguments are rejected only on Linux.
2829
2830 2010-03-14  Bruno Haible  <bruno@clisp.org>
2831
2832         Fix bug introduced on 2009-12-31.
2833         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
2834         gl_PREREQ_SYS_H_WINSOCK2 always.
2835         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
2836         SYS_SOCKET_H variable.
2837         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
2838         Update comments.
2839         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
2840         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2841         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2842         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
2843         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
2844
2845 2010-03-14  Bruno Haible  <bruno@clisp.org>
2846
2847         Fix values returned by sinl, cosl.
2848         * lib/trigl.h: Add specification comments.
2849         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
2850         that combines the values from the precomputed table with the values of
2851         the Chebyshev polynomials.
2852
2853 2010-03-14  Bruno Haible  <bruno@clisp.org>
2854
2855         Fix compilation error when modules 'posix_spawn[p]' are not used.
2856         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
2857         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
2858
2859 2010-03-14  Bruno Haible  <bruno@clisp.org>
2860
2861         Fix compilation error on mingw when module 'time_r' is not used.
2862         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
2863         is 1.
2864         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
2865         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2866         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
2867         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
2868
2869 2010-03-14  Bruno Haible  <bruno@clisp.org>
2870
2871         Fix compilation error with Sun C.
2872         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
2873         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
2874         instead of GCC specific ULONG_LONG_MAX.
2875         * lib/xstrtoll.c: Likewise.
2876         * lib/xstrtoull.c: Likewise.
2877
2878 2010-03-13  Bruno Haible  <bruno@clisp.org>
2879
2880         Allow the user to disable C++ code and tests.
2881         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
2882         (gl_PROG_ANSI_CXX): Require it.
2883
2884 2010-03-13  Bruno Haible  <bruno@clisp.org>
2885
2886         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
2887         cases.
2888
2889 2010-03-13  Bruno Haible  <bruno@clisp.org>
2890
2891         Test that gnulib does not break the standard C++ headers.
2892         * tests/test-locale-c++2.cc: New file.
2893         * modules/locale-tests (Files): Add it.
2894         (Makefile.am): Compile it for test-locale-c++.
2895         * tests/test-math-c++2.cc: New file.
2896         * modules/math-tests (Files): Add it.
2897         (Makefile.am): Compile it for test-math-c++.
2898         * tests/test-signal-c++2.cc: New file.
2899         * modules/signal-tests (Files): Add it.
2900         (Makefile.am): Compile it for test-signal-c++.
2901         * tests/test-stdio-c++2.cc: New file.
2902         * modules/stdio-tests (Files): Add it.
2903         (Makefile.am): Compile it for test-stdio-c++.
2904         * tests/test-stdlib-c++2.cc: New file.
2905         * modules/stdlib-tests (Files): Add it.
2906         (Makefile.am): Compile it for test-stdlib-c++.
2907         * tests/test-string-c++2.cc: New file.
2908         * modules/string-tests (Files): Add it.
2909         (Makefile.am): Compile it for test-string-c++.
2910         * tests/test-time-c++2.cc: New file.
2911         * modules/time-tests (Files): Add it.
2912         (Makefile.am): Compile it for test-time-c++.
2913         Reported by John W. Eaton <jwe@gnu.org>.
2914
2915 2010-03-13  Bruno Haible  <bruno@clisp.org>
2916
2917         * gnulib-tool (func_usage): Clarify which options are available for
2918         --create-testdir and --create-megatestdir.
2919
2920 2010-03-13  Bruno Haible  <bruno@clisp.org>
2921
2922         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
2923         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
2924         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
2925         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
2926         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
2927         when appropriate.
2928         Reported by Jim Meyering.
2929
2930 2010-03-12  Simon Josefsson  <simon@josefsson.org>
2931
2932         * gnulib-tool (func_import): Explain origin of code.
2933
2934 2010-03-12  Bruno Haible  <bruno@clisp.org>
2935
2936         Fix problem with automake's definition of CXXLINK.
2937         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
2938         Reported by Simon Josefsson and Ludovic Courtès.
2939
2940 2010-03-12  Bruno Haible  <bruno@clisp.org>
2941
2942         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
2943         stable releases.
2944
2945 2010-03-11  Bruno Haible  <bruno@clisp.org>
2946
2947         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
2948         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
2949         whether the system provides one variant or multiple variants of the
2950         function.
2951         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
2952         C++ compilers.
2953         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
2954         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
2955         Reported by Jim Meyering.
2956
2957 2010-03-09  Simon Josefsson  <simon@josefsson.org>
2958
2959         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
2960
2961 2010-03-08  Bruno Haible  <bruno@clisp.org>
2962
2963         gnulib-tool: Add support for --libtool in --create-testdir.
2964         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
2965         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
2966
2967 2010-03-08  Eric Blake  <eblake@redhat.com>
2968
2969         gnulib-tool.texi: mention possibility of git submodule
2970         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
2971         submodules.
2972         * doc/.gitignore: Ignore another generated file.
2973
2974 2010-03-08  Karl Berry  <karl@gnu.org>
2975
2976         * doc/gnulib-tool.texi (VCS Issues): Mention third option
2977         of committing gnulib files while skipping others.
2978
2979 2010-03-07  Bruno Haible  <bruno@clisp.org>
2980
2981         Tests of module 'wctype' in C++ mode.
2982         * tests/test-wctype-c++.cc: New file.
2983         * modules/wctype-tests (Files): Add it and tests/signature.h.
2984         (Depends-on): Add ansi-c++-opt.
2985         (Makefile.am): Arrange to compile and run test-wctype-c++.
2986
2987         Tests of module 'wchar' in C++ mode.
2988         * tests/test-wchar-c++.cc: New file.
2989         * modules/wchar-tests (Files): Add it and tests/signature.h.
2990         (Depends-on): Add ansi-c++-opt.
2991         (Makefile.am): Arrange to compile and run test-wchar-c++.
2992         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
2993         gl_MODULE_INDICATOR.
2994
2995         Tests of module 'unistd' in C++ mode.
2996         * tests/test-unistd-c++.cc: New file.
2997         * modules/unistd-tests (Files): Add it and tests/signature.h.
2998         (Depends-on): Add ansi-c++-opt.
2999         (Makefile.am): Arrange to compile and run test-unistd-c++.
3000         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
3001         gl_MODULE_INDICATOR.
3002
3003         Tests of module 'time' in C++ mode.
3004         * tests/test-time-c++.cc: New file.
3005         * modules/time-tests (Files): Add it and tests/signature.h.
3006         (Depends-on): Add ansi-c++-opt.
3007         (Makefile.am): Arrange to compile and run test-time-c++.
3008         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
3009
3010         Tests of module 'sys_time' in C++ mode.
3011         * tests/test-sys_time-c++.cc: New file.
3012         * modules/sys_time-tests (Files): Add it and tests/signature.h.
3013         (Depends-on): Add ansi-c++-opt.
3014         (Makefile.am): Arrange to compile and run test-sys_time-c++.
3015         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
3016         gl_MODULE_INDICATOR.
3017
3018         Tests of module 'sys_stat' in C++ mode.
3019         * tests/test-sys_stat-c++.cc: New file.
3020         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
3021         (Depends-on): Add ansi-c++-opt.
3022         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
3023         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
3024         gl_MODULE_INDICATOR.
3025
3026         Tests of module 'sys_socket' in C++ mode.
3027         * tests/test-sys_socket-c++.cc: New file.
3028         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
3029         (Depends-on): Add ansi-c++-opt.
3030         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
3031         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
3032         gl_MODULE_INDICATOR.
3033
3034         Tests of module 'sys_select' in C++ mode.
3035         * tests/test-sys_select-c++.cc: New file.
3036         * modules/sys_select-tests (Files): Add it and tests/signature.h.
3037         (Depends-on): Add ansi-c++-opt.
3038         (Makefile.am): Arrange to compile and run test-sys_select-c++.
3039         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
3040         gl_MODULE_INDICATOR.
3041
3042         Tests of module 'sys_ioctl' in C++ mode.
3043         * tests/test-sys_ioctl-c++.cc: New file.
3044         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
3045         (Depends-on): Add ansi-c++-opt.
3046         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
3047         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
3048         gl_MODULE_INDICATOR.
3049
3050         Tests of module 'string' in C++ mode.
3051         * tests/test-string-c++.cc: New file.
3052         * modules/string-tests (Files): Add it and tests/signature.h.
3053         (Depends-on): Add ansi-c++-opt.
3054         (Makefile.am): Arrange to compile and run test-string-c++.
3055         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
3056         gl_MODULE_INDICATOR.
3057
3058         Tests of module 'stdlib' in C++ mode.
3059         * tests/test-stdlib-c++.cc: New file.
3060         * modules/stdlib-tests (Files): Add it and tests/signature.h.
3061         (Depends-on): Add ansi-c++-opt.
3062         (Makefile.am): Arrange to compile and run test-stdlib-c++.
3063         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
3064         gl_MODULE_INDICATOR.
3065
3066         Tests of module 'stdio' in C++ mode.
3067         * tests/test-stdio-c++.cc: New file.
3068         * modules/stdio-tests (Files): Add it and tests/signature.h.
3069         (Depends-on): Add ansi-c++-opt.
3070         (Makefile.am): Arrange to compile and run test-stdio-c++.
3071         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
3072         gl_MODULE_INDICATOR.
3073
3074         Tests of module 'spawn' in C++ mode.
3075         * tests/test-spawn-c++.cc: New file.
3076         * modules/spawn-tests (Files): Add it and tests/signature.h.
3077         (Depends-on): Add ansi-c++-opt.
3078         (Makefile.am): Arrange to compile and run test-spawn-c++.
3079         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
3080         gl_MODULE_INDICATOR.
3081
3082         Tests of module 'signal' in C++ mode.
3083         * tests/test-signal-c++.cc: New file.
3084         * modules/signal-tests (Files): Add it and tests/signature.h.
3085         (Depends-on): Add ansi-c++-opt.
3086         (Makefile.am): Arrange to compile and run test-signal-c++.
3087         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
3088         gl_MODULE_INDICATOR.
3089
3090         Tests of module 'search' in C++ mode.
3091         * tests/test-search-c++.cc: New file.
3092         * modules/search-tests (Files): Add it and tests/signature.h.
3093         (Depends-on): Add ansi-c++-opt.
3094         (Makefile.am): Arrange to compile and run test-search-c++.
3095         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
3096         gl_MODULE_INDICATOR.
3097
3098         Tests of module 'math' in C++ mode.
3099         * tests/test-math-c++.cc: New file.
3100         * modules/math-tests (Files): Add it and tests/signature.h.
3101         (Depends-on): Add ansi-c++-opt.
3102         (Makefile.am): Arrange to compile and run test-math-c++.
3103         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
3104
3105         Tests of module 'locale' in C++ mode.
3106         * tests/test-locale-c++.cc: New file.
3107         * modules/locale-tests (Files): Add it and tests/signature.h.
3108         (Depends-on): Add ansi-c++-opt.
3109         (Makefile.am): Arrange to compile and run test-locale-c++.
3110         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
3111         gl_MODULE_INDICATOR.
3112
3113         Tests of module 'langinfo' in C++ mode.
3114         * tests/test-langinfo-c++.cc: New file.
3115         * modules/langinfo-tests (Files): Add it and tests/signature.h.
3116         (Depends-on): Add ansi-c++-opt.
3117         (Makefile.am): Arrange to compile and run test-langinfo-c++.
3118         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
3119         gl_MODULE_INDICATOR.
3120
3121         Tests of module 'iconv-h' in C++ mode.
3122         * tests/test-iconv-h-c++.cc: New file.
3123         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
3124         (Depends-on): Add ansi-c++-opt.
3125         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
3126
3127         Tests of module 'glob' in C++ mode.
3128         * tests/test-glob-c++.cc: New file.
3129         * modules/glob-tests (Files): Add it.
3130         (Depends-on): Add ansi-c++-opt.
3131         (Makefile.am): Arrange to compile and run test-glob-c++.
3132
3133         Tests of module 'fcntl-h' in C++ mode.
3134         * tests/test-fcntl-h-c++.cc: New file.
3135         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
3136         (Depends-on): Add ansi-c++-opt.
3137         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
3138         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
3139         gl_MODULE_INDICATOR.
3140
3141         Tests of module 'dirent' in C++ mode.
3142         * tests/test-dirent-c++.cc: New file.
3143         * modules/dirent-tests (Files): Add it and tests/signature.h.
3144         (Depends-on): Add ansi-c++-opt.
3145         (Makefile.am): Arrange to compile and run test-dirent-c++.
3146         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
3147         gl_MODULE_INDICATOR.
3148
3149         New module 'ansi-c++-opt'.
3150         * modules/ansi-c++-opt: New file.
3151         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
3152
3153         Document C++ namespace mode.
3154         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
3155
3156         wctype: Avoid #define replacements in C++ mode.
3157         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
3158         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
3159         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
3160         In C++, define a namespaced alias symbol.
3161         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
3162         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
3163         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
3164         rule.
3165
3166         wchar: Avoid #define replacements in C++ mode.
3167         * lib/wchar.in.h: Include c++defs.h.
3168         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
3169         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
3170         symbol.
3171         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
3172         * modules/wchar (Depends-on): Add c++defs.
3173         (Makefile.am): Update wchar.h rule.
3174
3175         unistd: Avoid #define replacements in C++ mode.
3176         * lib/unistd.in.h: Include c++defs.h.
3177         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
3178         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
3179         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
3180         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
3181         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
3182         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
3183         symbol.
3184         (environ): Update.
3185         * modules/unistd (Depends-on): Add c++defs.
3186         (Makefile.am): Update unistd.h rule.
3187
3188         time: Avoid #define replacements in C++ mode.
3189         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
3190         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
3191         define a namespaced alias symbol.
3192         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
3193         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
3194         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
3195         * modules/time (Depends-on): Add c++defs, warn-on-use.
3196         (Makefile.am): Update time.h rule.
3197         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
3198         * modules/nanosleep (configure.ac): Likewise.
3199         * modules/strptime (configure.ac): Likewise.
3200         * modules/timegm (configure.ac): Likewise.
3201
3202         sys_time: Avoid #define replacements in C++ mode.
3203         * lib/sys_time.in.h: Include c++defs.h.
3204         (gettimeofday): In C++, define a namespaced alias symbol.
3205         * modules/sys_time (Depends-on): Add c++defs.
3206         (Makefile.am): Update sys/time.h rule.
3207
3208         sys_stat: Avoid #define replacements in C++ mode.
3209         * lib/sys_stat.in.h: Include c++defs.h.
3210         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
3211         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
3212         namespaced alias symbol.
3213         In C++, define a namespaced alias symbol.
3214         * modules/sys_stat (Depends-on): Add c++defs.
3215         (Makefile.am): Update sys/stat.h rule.
3216
3217         sys_socket: Avoid #define replacements in C++ mode.
3218         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
3219         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
3220         definitions also when the system has a <sys/socket.h>.
3221         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
3222         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
3223         In C++, define a namespaced alias symbol.
3224         * modules/sys_socket (Depends-on): Add c++defs.
3225         (Makefile.am): Update sys/socket.h rule.
3226
3227         sys_select: Avoid #define replacements in C++ mode.
3228         * lib/sys_select.in.h: Include c++defs.h. Enable the function
3229         definitions also when the system has a <sys/select.h>.
3230         (select): In C++, define a namespaced alias symbol.
3231         * modules/sys_select (Depends-on): Add c++defs.
3232         (Makefile.am): Update sys/select.h rule.
3233
3234         sys_ioctl: Avoid #define replacements in C++ mode.
3235         * lib/sys_ioctl.in.h: Include c++defs.h.
3236         (ioctl): In C++, define a namespaced alias symbol.
3237         * modules/sys_ioctl (Depends-on): Add c++defs.
3238         (Makefile.am): Update sys/ioctl.h rule.
3239
3240         string: Avoid #define replacements in C++ mode.
3241         * lib/string.in.h: Include c++defs.h.
3242         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
3243         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
3244         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
3245         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
3246         strsignal, strverscmp): In C++, define a namespaced alias symbol.
3247         * modules/string (Depends-on): Add c++defs.
3248         (Makefile.am): Update string.h rule.
3249
3250         stdlib: Avoid #define replacements in C++ mode.
3251         * lib/stdlib.in.h: Include c++defs.h.
3252         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
3253         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
3254         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
3255         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
3256         symbol.
3257         * modules/stdlib (Depends-on): Add c++defs.
3258         (Makefile.am): Update stdlib.h rule.
3259
3260         stdio: Avoid #define replacements in C++ mode.
3261         * lib/stdio.in.h: Include c++defs.h.
3262         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
3263         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
3264         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
3265         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
3266         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
3267         namespaced alias symbol.
3268         * modules/stdio (Depends-on): Add c++defs.
3269         (Makefile.am): Update stdio.h rule.
3270
3271         spawn: Avoid #define replacements in C++ mode.
3272         * lib/spawn.in.h: Include c++defs.h.
3273         (posix_spawn, posix_spawnp, posix_spawnattr_init,
3274         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
3275         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
3276         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
3277         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
3278         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
3279         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
3280         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
3281         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
3282         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
3283         In C++, define a namespaced alias symbol.
3284         * modules/spawn (Depends-on): Add c++defs.
3285         (Makefile.am): Update spawn.h rule.
3286
3287         signal: Avoid #define replacements in C++ mode.
3288         * lib/signal.in.h: Include c++defs.h.
3289         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
3290         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
3291         namespaced alias symbol.
3292         * modules/signal (Depends-on): Add c++defs.
3293         (Makefile.am): Update signal.h rule.
3294
3295         search: Avoid #define replacements in C++ mode.
3296         * lib/search.in.h: Include c++defs.h.
3297         (_gl_search_compar_fn, _gl_search_action_fn): New types.
3298         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
3299         symbol.
3300         * modules/search (Depends-on): Add c++defs.
3301         (Makefile.am): Update search.h rule.
3302
3303         math: Avoid #define replacements in C++ mode.
3304         * lib/math.in.h: Include c++defs.h.
3305         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
3306         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
3307         trunc, truncl): In C++, define a namespaced alias symbol.
3308         * modules/math (Depends-on): Add c++defs.
3309         (Makefile.am): Update math.h rule.
3310
3311         locale: Avoid #define replacements in C++ mode.
3312         * lib/locale.in.h: Include c++defs.h.
3313         (duplocale): In C++, define a namespaced alias symbol.
3314         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
3315         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
3316         * modules/locale (Depends-on): Add c++defs.
3317         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
3318
3319         langinfo: Avoid #define replacements in C++ mode.
3320         * lib/langinfo.in.h: Include c++defs.h.
3321         (nl_langinfo): In C++, define a namespaced alias symbol.
3322         * modules/langinfo (Depends-on): Add c++defs.
3323         (Makefile.am): Update langinfo.h rule.
3324
3325         iconv-h: Avoid #define replacements in C++ mode.
3326         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
3327         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
3328         symbol.
3329         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
3330         whenever iconv is present.
3331         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
3332         (Makefile.am): Update iconv.h rule.
3333
3334         glob: Avoid #define replacements in C++ mode.
3335         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
3336         (_gl_glob_errfunc_fn): New type.
3337         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
3338         symbol.
3339         * modules/glob (Depends-on): Add c++defs, warn-on-use.
3340         (Makefile.am): Update glob.h rule.
3341
3342         fcntl-h: Avoid #define replacements in C++ mode.
3343         * lib/fcntl.in.h: Include c++defs.h.
3344         (fcntl, open, openat): In C++, define a namespaced alias symbol.
3345         * modules/fcntl-h (Depends-on): Add c++defs.
3346         (Makefile.am): Update fcntl.h rule.
3347
3348         dirent: Avoid #define replacements in C++ mode.
3349         * lib/dirent.in.h: Include c++defs.h.
3350         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
3351         namespaced alias symbol.
3352         (dirfd): Update declaration.
3353         * modules/dirent (Depends-on): Add c++defs.
3354         (Makefile.am): Update dirent.h rule.
3355
3356         ctype: Make it usable in C++ code.
3357         * lib/ctype.in.h: Include c++defs.h.
3358         (isblank): Declare as extern "C".
3359         * modules/ctype (Depends-on): Add c++defs.
3360         (Makefile.am): Update ctype.h rule.
3361
3362         New module 'c++defs'.
3363         * modules/c++defs: New file.
3364         * build-aux/c++defs.h: New file.
3365         Reported by John W. Eaton <jwe@gnu.org>.
3366
3367 2010-03-07  Bruno Haible  <bruno@clisp.org>
3368
3369         logb: Provide missing declaration for Cygwin.
3370         * lib/math.in.h (logb): New declaration.
3371         * m4/logb.m4: New file.
3372         * modules/logb (Files): Add m4/logb.m4.
3373         (Depends-on): Add math.
3374         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
3375         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
3376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
3377         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
3378         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
3379
3380 2010-03-07  Bruno Haible  <bruno@clisp.org>
3381
3382         Fix test-cond link error.
3383         * tests/test-cond.c: Include <stdio.h>.
3384
3385 2010-03-07  Bruno Haible  <bruno@clisp.org>
3386
3387         Fix test-dirent-safer link error.
3388         * modules/dirent-safer-tests (Makefile.am): Define
3389         test_dirent_safer_LDADD.
3390
3391 2010-03-07  Bruno Haible  <bruno@clisp.org>
3392
3393         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
3394         among default module list.
3395
3396 2010-03-07  Bruno Haible  <bruno@clisp.org>
3397
3398         Fix link error on platforms with GNU libiconv.
3399         * modules/unistr/u8-strcoll-tests (Makefile): Define
3400         test_u8_strcoll_LDADD.
3401         * modules/unistr/u16-strcoll-tests (Makefile): Define
3402         test_u16_strcoll_LDADD.
3403         * modules/unistr/u32-strcoll-tests (Makefile): Define
3404         test_u32_strcoll_LDADD.
3405
3406 2010-03-07  Bruno Haible  <bruno@clisp.org>
3407
3408         Use POSIX declarations for socket functions.
3409         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
3410         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
3411         rpl_sendto): Change declaration to match POSIX.
3412         * lib/connect.c (rpl_connect): Likewise.
3413         * lib/accept.c (rpl_accept): Likewise.
3414         * lib/bind.c (rpl_bind): Likewise.
3415         * lib/getpeername.c (rpl_getpeername): Likewise.
3416         * lib/getsockname.c (rpl_getsockname): Likewise.
3417         * lib/recv.c (rpl_recv): Likewise.
3418         * lib/send.c (rpl_send): Likewise.
3419         * lib/recvfrom.c (rpl_recvfrom): Likewise.
3420         * lib/sendto.c (rpl_sendto): Likewise.
3421
3422 2010-03-06  Bruno Haible  <bruno@clisp.org>
3423
3424         Clarify access, euidaccess, faccessat.
3425         * doc/posix-functions/faccessat.texi: Mention security problem under
3426         "Other problems", not "Portability problems".
3427         * doc/posix-functions/access.texi: Likewise. Mention a related security
3428         problem.
3429         * doc/glibc-functions/euidaccess.texi: Mention security problems.
3430         * lib/euidaccess.c: Add comments about platforms.
3431         * lib/unistd.in.h (access, euidaccess): Add warnings.
3432
3433 2010-03-07  Bruno Haible  <bruno@clisp.org>
3434
3435         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
3436         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
3437         (POSIX_SPAWN_SETSCHEDULER): Likewise.
3438         (POSIX_SPAWN_USEVFORK): Define in a way that works when
3439         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
3440         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
3441         declare when POSIX_SPAWN_SETSCHEDULER is zero.
3442         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
3443         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
3444         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
3445         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
3446         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
3447         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
3448         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
3449         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
3450         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
3451         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
3452         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
3453         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
3454         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
3455         Likewise.
3456         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
3457         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
3458         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
3459         Likewise.
3460         * tests/test-spawn.c (main): Make it work when
3461         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
3462
3463 2010-03-07  Bruno Haible  <bruno@clisp.org>
3464
3465         Fix incorrect Makefile.am generation in German locale.
3466         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3467         Execute sed command with character range in C locale.
3468
3469 2010-03-06  Bruno Haible  <bruno@clisp.org>
3470
3471         Tests for module 'iconv-h'.
3472         * modules/iconv-h-tests: New file.
3473         * tests/test-iconv-h.c: New file.
3474
3475         New module 'iconv-h'.
3476         * modules/iconv-h: New file.
3477         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
3478         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
3479         (configure.ac): Remove gl_ICONV_H.
3480         (Makefile.am): Remove rule for iconv.h.
3481
3482 2010-03-06  Bruno Haible  <bruno@clisp.org>
3483
3484         More consistent naming of *.m4 files.
3485         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
3486         * modules/wctype (Files): Update.
3487
3488         More consistent naming of *.m4 files.
3489         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
3490         * modules/wchar (Files): Update.
3491
3492 2010-03-06  Jim Meyering  <meyering@redhat.com>
3493
3494         euidaccess: relax license to LGPLv2+
3495         * modules/euidaccess (License): Relax to LGPLv2+.
3496
3497 2010-03-06  Bruno Haible  <bruno@clisp.org>
3498
3499         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
3500         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
3501         (Makefile.am): Augment lib_SOURCES instead.
3502
3503 2010-03-04  Jim Meyering  <meyering@redhat.com>
3504
3505         utime: remove obsolete module
3506         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
3507         unnecessary for years, and has been marked as obsolete for 10 months.
3508         * modules/utime: Remove file.
3509         * lib/utime.c: Remove file.
3510         * m4/utime.m4: Remove file.
3511         * m4/utimes-null.m4: Remove file.
3512         * doc/posix-functions/utime.texi (utime): Remove reference to
3513         the module.  Move the sole "fixed by gnulib" item into the
3514         "problems not fixed by Gnulib" list.
3515         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
3516
3517 2010-03-05  Simon Josefsson  <simon@josefsson.org>
3518
3519         * modules/exit (License): Relax license to LGPLv2+.
3520         (Status): Mark as obsolete.
3521         * NEWS: Mention deprecated 'exit' module.
3522         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
3523         of now obsolete 'exit'.
3524
3525 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3526
3527         fts-lgpl: remove unused module
3528         * modules/fts-lgpl: Remove.
3529         * MODULES.html.sh (func_all_modules): Adjust.
3530         * check-module (find_included_lib_files): Adjust.
3531         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
3532
3533 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
3534
3535         copy-acl: enhance Solaris ACL error handling
3536         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
3537         * lib/set-mode-acl.c (qset_acl): Likewise.
3538
3539 2010-03-02  Bruno Haible  <bruno@clisp.org>
3540
3541         spawn: Don't override the system defined values on FreeBSD 8.
3542         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
3543         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
3544         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
3545         if HAVE_POSIX_SPAWN is 1.
3546         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
3547
3548 2010-03-01  Bruno Haible  <bruno@clisp.org>
3549
3550         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
3551         regarding Automake.
3552
3553 2010-02-25  Bruno Haible  <bruno@clisp.org>
3554
3555         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
3556         * gnulib-tool: Define 'echo' as a function only before the ksh alias
3557         setting, not afterwards.
3558         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
3559
3560 2010-02-24  Eric Blake  <eblake@redhat.com>
3561
3562         bootstrap, git-version-gen: use timestamp
3563         * build-aux/git-version-gen (scriptversion): Force UTC.
3564         * build-aux/bootstrap (scriptversion): New variable.
3565
3566         bootstrap: allow older git
3567         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
3568         older than 1.6.4.  Requested by the libvirt project.
3569
3570 2010-02-23  Eric Blake  <eblake@redhat.com>
3571
3572         warn-on-use: work with old autoconf
3573         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
3574         AS_VAR semantics of autoconf 2.60.
3575         Reported by Bruno Haible.
3576
3577         bootstrap: improve some comments
3578         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
3579         clarification comments.
3580
3581         gettimeofday: provide correct function
3582         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
3583         when replacement is declared, otherwise provide gettimeofday.
3584         Reported by Michael Goffioul.
3585
3586 2010-02-23  Jim Meyering  <meyering@redhat.com>
3587
3588         lib-ignore: relax license to "unlimited", not LGPLv2+
3589         * modules/lib-ignore (License): Relax to "unlimited".
3590
3591 2010-02-23  Jim Meyering  <meyering@redhat.com>
3592
3593         lib-ignore: relax license to LGPLv2+
3594         * modules/lib-ignore (License): Relax to LGPLv2+.
3595
3596 2010-02-22  Eric Blake  <eblake@redhat.com>
3597
3598         lseek: avoid bash 3.2 broken pipe bug
3599         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
3600         warning from bash 3.2.
3601         Reported by Ben Pfaff, with analysis from Bruno Haible.
3602
3603         bootstrap: support non-FSF copyright holder
3604         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
3605         bootstrap.conf override of COPYRIGHT_HOLDER.
3606         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
3607
3608         bootstrap: interoperate with gettext 0.14.1
3609         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
3610
3611         bootstrap: allow for alternate submodule location
3612         * build-aux/bootstrap (gnulib_path): New variable; use instead of
3613         hardcoding submodule location.
3614         (gnulib_mk): Allow direct use of Makefile.am.
3615
3616         bootstrap: use GNULIB_SRCDIR to reduce disk usage
3617         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
3618         rather than reconfiguring where the submodule points.
3619
3620         gettimeofday: restore support for platforms that lack function
3621         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
3622         replacement if function is missing.
3623         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
3624         * modules/sys_time (Makefile.am): Substitute it.
3625         * lib/sys_time.in.h (gettimeofday): Check it.
3626         Reported by Michael Goffioul.
3627
3628 2010-02-21  Bruno Haible  <bruno@clisp.org>
3629
3630         * lib/stdio.in.h (obstack_printf): Fix typo.
3631
3632 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
3633
3634         vc-list-files: use bzr ls's -R option
3635         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
3636         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
3637
3638 2010-02-21  Jim Meyering  <meyering@redhat.com>
3639
3640         init.sh: fix EXEEXT shims to work also for names like test-prog
3641         * tests/init.sh: Re-exec a better shell, when needed.
3642         If the current shell lacks support for posix $(...), an init.sh-using
3643         test will now try to find a shell that supports that.  If EXEEXT is
3644         nonempty, we also require support for hyphen-in-alias-name and shell
3645         substitutions like ${var#glob}.  Failure to find such a shell results
3646         in a skipped test.
3647
3648 2010-02-21  Bruno Haible  <bruno@clisp.org>
3649
3650         Really work around around "broken pipe" error message from bash 3.2.
3651         * gnulib-tool (func_reset_sigpipe): Remove function.
3652         (echo): In bash 3.2, define to a function that uses printf.
3653         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
3654
3655 2010-02-20  Bruno Haible  <bruno@clisp.org>
3656
3657         Restore support for automake 1.9.6 with autoconf 2.61.
3658         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
3659         Reported by James Youngman <jay@gnu.org>.
3660
3661 2010-02-20  Bruno Haible  <bruno@clisp.org>
3662
3663         Improve *printf warning condition.
3664         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
3665         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
3666         and the function is overridden due to SIGPIPE emulation.
3667
3668 2010-02-20  Bruno Haible  <bruno@clisp.org>
3669
3670         * lib/stdio.in.h: Tweak comments.
3671
3672 2010-02-19  Bruno Haible  <bruno@clisp.org>
3673
3674         Make it easier to find modules. New gnulib-tool option '--find'.
3675         * gnulib-tool: New option --find.
3676         (func_usage): Document it.
3677         (func_sanitize_modulelist): New function, extracted from
3678         func_all_modules.
3679         (func_all_modules): Invoke it.
3680         * doc/gnulib-tool.texi (Which modules?): New node.
3681
3682 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
3683
3684         * lib/sys_select.in.h: Provide select replacement even if
3685         sys/select.h exists on a system, for Interix.
3686
3687 2010-02-18  Jim Meyering  <meyering@redhat.com>
3688
3689         init.sh: don't use $(...) just yet
3690         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
3691         to accommodate e.g., Solaris' /bin/sh.
3692
3693 2010-02-17  Bruno Haible  <bruno@clisp.org>
3694
3695         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
3696         Reported by Ludovic Courtès <ludo@gnu.org>.
3697
3698 2010-02-16  Simon Josefsson  <simon@josefsson.org>
3699
3700         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
3701         linking with -lintl.
3702
3703 2010-02-17  Simon Josefsson  <simon@josefsson.org>
3704
3705         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
3706         if not provided by the system's netdb.h.  Reported by
3707         ludo@gnu.org (Ludovic Courtès).
3708
3709 2010-02-15  Jim Meyering  <meyering@redhat.com>
3710
3711         init.sh: improve portability and efficiency
3712         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
3713         "dummy" in a for loop.
3714         Use '!', not '^' to select the complement of a character set used
3715         in a "case" statement.
3716         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
3717         Suggestions from Eric Blake.
3718
3719         init.sh: automatically accommodate programs with the .exe suffix
3720         Automatically arrange for an invocation of "prog" to execute the
3721         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
3722         may use the simpler "prog", yet still work when built on a system
3723         that requires specifying the added suffix.
3724         Do this by constructing a function named "prog" that invokes
3725         "prog.exe" for each .exe file in selected directories.
3726         * tests/init.sh (find_exe_basenames_): New function.
3727         (create_exe_shim_functions_): New function.
3728         (path_prepend_): Use it.
3729
3730         maint.mk: mark syntax-check sc_*.m rules as .PHONY
3731         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
3732         "make -t syntax-check" doesn't create a ton of sc_*.m files.
3733
3734 2010-02-14  Jim Meyering  <meyering@redhat.com>
3735
3736         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
3737         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
3738         (sc_prohibit_hash_pjw_without_use): New rule.
3739
3740         maint.mk: allow the default upload destination dir to be overridden
3741         * top/maint.mk (upload_dest_dir_): Define with a default that
3742         preserves the status quo.
3743         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
3744         Reported by Peter Simons.
3745
3746         maint.mk: prohibit inclusion of "hash.h" without_use
3747         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
3748
3749 2010-02-10  Jim Meyering  <meyering@redhat.com>
3750
3751         maint.mk: prohibit inclusion of "ignore-value.h" without_use
3752         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
3753
3754 2010-02-09  Eric Blake  <ebb9@byu.net>
3755         and Bruno Haible  <bruno@clisp.org>
3756
3757         obstack-printf-posix: ensure declaration
3758         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
3759         extracted from gl_FUNC_OBSTACK_PRINTF.
3760         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
3761         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
3762         Likewise.
3763         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
3764         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
3765         0.
3766
3767 2010-02-08  Bruno Haible  <bruno@clisp.org>
3768
3769         gnulib-tool: Fix typo in 2010-02-07 commit.
3770         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
3771         Reported by Eric Blake.
3772
3773 2010-02-07  Bruno Haible  <bruno@clisp.org>
3774
3775         gnulib-tool: Fix up caching patches.
3776         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
3777         option --no-cache. Use associative arrays when supported by the shell.
3778         (sed_comments): New variable.
3779         (modcache): Renamed from do_cache.
3780         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
3781         abbreviate unnecessarily.
3782         (have_associative): New variable.
3783         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
3784         way also for ksh and zsh.
3785         (func_init_sed_convert_to_cache_statements): New function, extracted
3786         from func_cache_lookup_module. Add support for associative arrays.
3787         Don't set the c_MODULE_cached variable here. Ignore all lines before
3788         the first field header. Remove only the final newline, not all trailing
3789         newlines. Support empty fields correctly. Limit the use of 'eval' to
3790         assignments.
3791         (func_get_description, func_get_status, func_get_notice,
3792         func_get_applicability, func_get_filelist, func_get_dependencies,
3793         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
3794         func_get_automake_snippet, func_get_include_directive,
3795         func_get_link_directive, func_get_license, func_get_maintainer):
3796         Update documentation. List the unoptimized code first. Add support for
3797         associative arrays. Limit the use of 'eval' to assignments.
3798         (func_get_applicability): Undo stylistic pessimisations.
3799         (func_get_automake_snippet, func_get_include_directive): Reduce code
3800         duplication.
3801         (func_modules_transitive_closure, func_modules_add_dummy,
3802         func_modules_notice, func_modules_to_filelist, func_add_file,
3803         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
3804         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
3805         func_create_testdir, func_create_megatestdir): Update documentation.
3806
3807 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3808
3809         * gnulib-tool (func_cache_lookup_module): Store the module name
3810         belonging to the cache variable; error out if two different
3811         module names map to the same cache variable name.
3812
3813 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3814
3815         gnulib-tool: Make caching optional.
3816         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
3817         Update matching short versions of --no-changelog.
3818         (func_usage): Update.
3819         (sed_extract_cache_prog): Renamed from ...
3820         (sed_extract_prog): ... this; revert to old extraction script.
3821         (func_get_description, func_get_status)
3822         (func_get_notice, func_get_applicability, func_get_filelist)
3823         (func_get_dependencies, func_get_autoconf_early_snippet)
3824         (func_get_autoconf_snippet, func_get_automake_snippet)
3825         (func_get_include_directive, func_get_link_directive)
3826         (func_get_license, func_get_maintainer): If $do_cache is false,
3827         use old, non-caching extraction scripts.
3828         Suggestion by Bruno Haible.
3829
3830 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3831
3832         gnulib-tool: cache module metainformation.
3833         * gnulib-tool (sed_extract_prog): Match newline before each
3834         header, and rewrite header to a shell variable suffix.
3835         (func_cache_var, func_cache_lookup_module): New functions,
3836         to turn a module name into a cache variable prefix, and to
3837         look up and cache module metainformation.
3838         (func_get_description, func_get_status)
3839         (func_get_notice, func_get_applicability, func_get_filelist)
3840         (func_get_dependencies, func_get_autoconf_early_snippet)
3841         (func_get_autoconf_snippet, func_get_automake_snippet)
3842         (func_get_include_directive, func_get_link_directive)
3843         (func_get_license, func_get_maintainer): Use
3844         func_cache_lookup_module.
3845
3846 2010-02-07  Bruno Haible  <bruno@clisp.org>
3847
3848         fnctl: Fix missing dependency.
3849         * modules/fcntl (Depends-on): Add getdtablesize.
3850         Reported by John W. Eaton <jwe@gnu.org>.
3851
3852 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3853
3854         Argp: fix recognition of short alias options.
3855
3856         * lib/argp-parse.c (convert_options): Fix improper use of
3857         `|' between character values.
3858         * tests/test-argp.c (group1_option): New alias option
3859         --read (-r).
3860         (group1_parser): Special handling for 'r'.
3861         (test15): New test case.
3862         (test_fun): Add test15.
3863         * tests/test-argp-2.sh: Update expected --help and --usage
3864         outputs.
3865
3866 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3867
3868         * tests/test-argp.c: Fix indentation.
3869
3870 2010-02-04  Eric Blake  <ebb9@byu.net>
3871
3872         gettimeofday: expose type of second argument
3873         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
3874         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
3875         * tests/test-gettimeofday.c: Use it to silence warning.
3876         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
3877         the issue.
3878
3879 2010-02-03  Jim Meyering  <meyering@redhat.com>
3880
3881         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
3882         * lib/regcomp.c (TYPE_SIGNED): Define.
3883         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
3884
3885         regcomp.c: avoid a new -Wshadow warning
3886         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
3887
3888 2010-02-01  Jim Meyering  <meyering@redhat.com>
3889
3890         removing useless parentheses in cpp #define directives
3891         For motivation, see commit c0221df4, "define STREQ(a,b)
3892         consistently, removing useless parentheses"
3893         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
3894         * lib/mountlist.c (MNT_IGNORE): Likewise.
3895         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
3896
3897 2010-02-01  Eric Blake  <ebb9@byu.net>
3898
3899         sys_time: use link-warning
3900         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
3901         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
3902         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
3903         * modules/sys_time (Depends-on): Add warn-on-use.
3904         (Makefile.am): Always build replacement.
3905         (configure.ac): Update substitutions.
3906         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
3907         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
3908         bother with SYS_TIME_H.
3909         * modules/gettimeofday (configure.ac): Declare indicator.
3910         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
3911         in use.
3912
3913         closein-tests: silence compiler warning
3914         * tests/test-closein.c (main): Ignore fread result.
3915         * modules/closein-tests (Depends-on): Add ignore-value.
3916
3917         tests: silence warning about system return
3918         * tests/test-areadlink-with-size.c (main): Ignore system result.
3919         * tests/test-areadlink.c (main): Likewise.
3920         * tests/test-areadlinkat-with-size.c (main): Likewise.
3921         * tests/test-areadlinkat.c (main): Likewise.
3922         * tests/test-canonicalize-lgpl.c (main): Likewise.
3923         * tests/test-canonicalize.c (main): Likewise.
3924         * tests/test-chown.c (main): Likewise.
3925         * tests/test-fchownat.c (main): Likewise.
3926         * tests/test-fdutimensat.c (main): Likewise.
3927         * tests/test-fstatat.c (main): Likewise.
3928         * tests/test-futimens.c (main): Likewise.
3929         * tests/test-lchown.c (main): Likewise.
3930         * tests/test-link.c (main): Likewise.
3931         * tests/test-linkat.c (main): Likewise.
3932         * tests/test-lstat.c (main): Likewise.
3933         * tests/test-mkdir.c (main): Likewise.
3934         * tests/test-mkdirat.c (main): Likewise.
3935         * tests/test-mkfifo.c (main): Likewise.
3936         * tests/test-mkfifoat.c (main): Likewise.
3937         * tests/test-mknod.c (main): Likewise.
3938         * tests/test-readlink.c (main): Likewise.
3939         * tests/test-remove.c (main): Likewise.
3940         * tests/test-rename.c (main): Likewise.
3941         * tests/test-renameat.c (main): Likewise.
3942         * tests/test-rmdir.c (main): Likewise.
3943         * tests/test-symlink.c (main): Likewise.
3944         * tests/test-symlinkat.c (main): Likewise.
3945         * tests/test-unlink.c (main): Likewise.
3946         * tests/test-unlinkat.c (main): Likewise.
3947         * tests/test-utimens.c (main): Likewise.
3948         * tests/test-utimensat.c (main): Likewise.
3949         * modules/areadlink-tests (Depends-on): Add ignore-value.
3950         * modules/areadlink-with-size-tests (Depends-on): Likewise.
3951         * modules/areadlinkat-tests (Depends-on): Likewise.
3952         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
3953         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
3954         * modules/canonicalize-tests (Depends-on): Likewise.
3955         * modules/chown-tests (Depends-on): Likewise.
3956         * modules/fdutimensat-tests (Depends-on): Likewise.
3957         * modules/futimens-tests (Depends-on): Likewise.
3958         * modules/lchown-tests (Depends-on): Likewise.
3959         * modules/link-tests (Depends-on): Likewise.
3960         * modules/linkat-tests (Depends-on): Likewise.
3961         * modules/lstat-tests (Depends-on): Likewise.
3962         * modules/mkdir-tests (Depends-on): Likewise.
3963         * modules/mkfifo-tests (Depends-on): Likewise.
3964         * modules/mkfifoat-tests (Depends-on): Likewise.
3965         * modules/mknod-tests (Depends-on): Likewise.
3966         * modules/openat-tests (Depends-on): Likewise.
3967         * modules/readlink-tests (Depends-on): Likewise.
3968         * modules/remove-tests (Depends-on): Likewise.
3969         * modules/rename-tests (Depends-on): Likewise.
3970         * modules/renameat-tests (Depends-on): Likewise.
3971         * modules/rmdir-tests (Depends-on): Likewise.
3972         * modules/symlink-tests (Depends-on): Likewise.
3973         * modules/symlinkat-tests (Depends-on): Likewise.
3974         * modules/unlink-tests (Depends-on): Likewise.
3975         * modules/utimens-tests (Depends-on): Likewise.
3976         * modules/utimensat-tests (Depends-on): Likewise.
3977
3978 2010-01-31  Bruno Haible  <bruno@clisp.org>
3979
3980         Perform the same test for many <math.h> functions.
3981         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
3982         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
3983         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
3984         of gl_MATHFUNC.
3985         * modules/acos (configure.ac): Likewise.
3986         * modules/asin (configure.ac): Likewise.
3987         * modules/atan (configure.ac): Likewise.
3988         * modules/atan2 (configure.ac): Likewise.
3989         * modules/cbrt (configure.ac): Likewise.
3990         * modules/copysign (configure.ac): Likewise.
3991         * modules/cos (configure.ac): Likewise.
3992         * modules/cosh (configure.ac): Likewise.
3993         * modules/erf (configure.ac): Likewise.
3994         * modules/erfc (configure.ac): Likewise.
3995         * modules/exp (configure.ac): Likewise.
3996         * modules/fmod (configure.ac): Likewise.
3997         * modules/hypot (configure.ac): Likewise.
3998         * modules/j0 (configure.ac): Likewise.
3999         * modules/j1 (configure.ac): Likewise.
4000         * modules/jn (configure.ac): Likewise.
4001         * modules/lgamma (configure.ac): Likewise.
4002         * modules/log (configure.ac): Likewise.
4003         * modules/log10 (configure.ac): Likewise.
4004         * modules/log1p (configure.ac): Likewise.
4005         * modules/pow (configure.ac): Likewise.
4006         * modules/remainder (configure.ac): Likewise.
4007         * modules/sin (configure.ac): Likewise.
4008         * modules/sinh (configure.ac): Likewise.
4009         * modules/tan (configure.ac): Likewise.
4010         * modules/tanh (configure.ac): Likewise.
4011         * modules/y0 (configure.ac): Likewise.
4012         * modules/y1 (configure.ac): Likewise.
4013         * modules/yn (configure.ac): Likewise.
4014         Suggested by Paolo Bonzini.
4015
4016 2010-01-31  Bruno Haible  <bruno@clisp.org>
4017
4018         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
4019
4020 2010-01-31  Bruno Haible  <bruno@clisp.org>
4021
4022         Work around getdelim() bug on FreeBSD 8.0.
4023         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
4024         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
4025         not work.
4026         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
4027         is 1.
4028         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
4029         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
4030         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
4031         a non-zero size.
4032         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
4033
4034 2010-01-31  Bruno Haible  <bruno@clisp.org>
4035
4036         Work around getline() bug on FreeBSD 8.0.
4037         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
4038         and a non-zero size.
4039         * tests/test-getline.c (main): Likewise.
4040         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
4041         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
4042
4043 2010-01-28  Eric Blake  <ebb9@byu.net>
4044
4045         regex: fix build failure
4046         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
4047         platforms.
4048
4049 2010-01-28  Jim Meyering  <meyering@redhat.com>
4050
4051         regex: do not ignore memory allocation failure
4052         * lib/regex_internal.c (create_cd_newstate): Detect
4053         re_node_set_init_copy failure.   Extracted from glibc commit
4054         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
4055
4056         regex: sync more white-space changes from libc
4057         * lib/regex_internal.c: White-space only changes.
4058         * lib/regexec.c: Likewise.
4059
4060         regex: add many uses of __attribute_warn_unused_result__
4061         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
4062         * lib/regexec.c: Likewise.
4063         Extracted from a messy glibc commit.
4064
4065         regcomp.c: spelling and merge-artifact from glibc
4066         * lib/regcomp.c: Merge remainder of glibc's
4067         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
4068
4069         regcomp.c: sync white-space changes from glibc
4070         * lib/regcomp.c: Merge to accommodate white space
4071         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
4072
4073         regcomp.c: do not ignore internal return values
4074         * lib/regcomp.c: Do not ignore internal return values.
4075         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
4076         but without its white-space changes and spelling fixes.
4077
4078         regex_internal.h: define __attribute_warn_unused_result__
4079         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
4080
4081         maint: add a syntax-check rule to check for vulnerable Makefile.in
4082         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
4083
4084 2010-01-27  Jim Meyering  <meyering@redhat.com>
4085
4086         ncftpput-ftp: clean up spaces
4087         * build-aux/ncftpput-ftp: Make Copyright line consistent.
4088         Remove trailing blanks.
4089
4090 2010-01-27  Simon Josefsson  <simon@josefsson.org>
4091
4092         * build-aux/git-version-gen: Fix copyright statement.
4093         * build-aux/gnupload: Likewise.
4094         * tests/test-arcfour.c: Likewise.
4095         * tests/test-arctwo.c: Likewise.
4096         * tests/test-count-one-bits.c: Likewise.
4097         * tests/test-crc.c: Likewise.
4098         * tests/test-des.c: Likewise.
4099         * tests/test-gc-arcfour.c: Likewise.
4100         * tests/test-gc-arctwo.c: Likewise.
4101         * tests/test-gc-des.c: Likewise.
4102         * tests/test-gc-hmac-md5.c: Likewise.
4103         * tests/test-gc-hmac-sha1.c: Likewise.
4104         * tests/test-gc-md2.c: Likewise.
4105         * tests/test-gc-md4.c: Likewise.
4106         * tests/test-gc-md5.c: Likewise.
4107         * tests/test-gc-pbkdf2-sha1.c: Likewise.
4108         * tests/test-gc-rijndael.c: Likewise.
4109         * tests/test-gc-sha1.c: Likewise.
4110         * tests/test-gc.c: Likewise.
4111         * tests/test-gethostname.c: Likewise.
4112         * tests/test-gettimeofday.c: Likewise.
4113         * tests/test-hash.c: Likewise.
4114         * tests/test-hmac-md5.c: Likewise.
4115         * tests/test-hmac-sha1.c: Likewise.
4116         * tests/test-md2.c: Likewise.
4117         * tests/test-md4.c: Likewise.
4118         * tests/test-md5.c: Likewise.
4119         * tests/test-memchr.c: Likewise.
4120         * tests/test-memchr2.c: Likewise.
4121         * tests/test-memcmp.c: Likewise.
4122         * tests/test-memmem.c: Likewise.
4123         * tests/test-memrchr.c: Likewise.
4124         * tests/test-rawmemchr.c: Likewise.
4125         * tests/test-read-file.c: Likewise.
4126         * tests/test-rijndael.c: Likewise.
4127         * tests/test-sockets.c: Likewise.
4128         * tests/test-strchrnul.c: Likewise.
4129         * tests/test-strstr.c: Likewise.
4130         * tests/test-strtod.c: Likewise.
4131         * build-aux/ncftpput-ftp: Likewise.
4132
4133 2010-01-26  Eric Blake  <ebb9@byu.net>
4134
4135         ignore-value: update recommended header name
4136         * modules/ignore-value (Include): Only use <> for headers that
4137         exist in glibc.
4138
4139 2010-01-26  Jim Meyering  <meyering@redhat.com>
4140
4141         test-userspec.c: avoid compiler warnings
4142         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
4143         and "initialization discards qualifiers..." warnings.
4144         Put the first "uid" in its own scope, and make char* members "const".
4145
4146 2010-01-25  Bruno Haible  <bruno@clisp.org>
4147
4148         gnulib-tool: Make warning diagnostics consistent.
4149         * gnulib-tool (func_warning): New function.
4150         Use it everywhere where gnulib-tool produces output to stderr and it is
4151         not a fatal error.
4152
4153 2010-01-25  Bruno Haible  <bruno@clisp.org>
4154
4155         Fix test dependencies.
4156         * modules/xstrtol-tests (Depends-on): Add inttypes.
4157         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
4158
4159 2010-01-25 Pádraig Brady <P@draigBrady.com>
4160
4161         syntax-check: detect incorrect boolean macro values in config.h
4162         * modules/maintainer-makefile (configure.ac): Parameterize the location
4163         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
4164         The logic is from Eric Blake and the location indicated by Jim Meyering.
4165         Note the more natural CONFIG_HEADER name is prohibited by automake
4166         for backwards compatibility reasons.
4167         * top/maint.mk (sc_Wundef_boolean): New rule.
4168
4169 2010-01-25  Jim Meyering  <meyering@redhat.com>
4170
4171         bootstrap: detect MacOS 10.6's shasum, too
4172         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
4173         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
4174
4175 2010-01-23  Jim Meyering  <meyering@redhat.com>
4176
4177         xstrtoll: new module
4178         * modules/xstrtoll: New file.
4179         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
4180         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
4181         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
4182         ./configure fails if you use this module and lack "long long".
4183         * modules/xstrtoll-tests: New module.
4184         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
4185         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
4186         new init.sh-based test framework.
4187
4188 2010-01-24  Bruno Haible  <bruno@clisp.org>
4189
4190         Tests for module 'yn'.
4191         * modules/yn-tests: New file.
4192         * tests/test-yn.c: New file.
4193
4194         Tests for module 'y1'.
4195         * modules/y1-tests: New file.
4196         * tests/test-y1.c: New file.
4197
4198         Tests for module 'y0'.
4199         * modules/y0-tests: New file.
4200         * tests/test-y0.c: New file.
4201
4202         Tests for module 'tanh'.
4203         * modules/tanh-tests: New file.
4204         * tests/test-tanh.c: New file.
4205
4206         Tests for module 'tan'.
4207         * modules/tan-tests: New file.
4208         * tests/test-tan.c: New file.
4209
4210         Tests for module 'sqrt'.
4211         * modules/sqrt-tests: New file.
4212         * tests/test-sqrt.c: New file.
4213
4214         Tests for module 'sinh'.
4215         * modules/sinh-tests: New file.
4216         * tests/test-sinh.c: New file.
4217
4218         Tests for module 'sin'.
4219         * modules/sin-tests: New file.
4220         * tests/test-sin.c: New file.
4221
4222         Tests for module 'rint'.
4223         * modules/rint-tests: New file.
4224         * tests/test-rint.c: New file.
4225
4226         Tests for module 'remainder'.
4227         * modules/remainder-tests: New file.
4228         * tests/test-remainder.c: New file.
4229
4230         Tests for module 'pow'.
4231         * modules/pow-tests: New file.
4232         * tests/test-pow.c: New file.
4233
4234         Tests for module 'nextafter'.
4235         * modules/nextafter-tests: New file.
4236         * tests/test-nextafter.c: New file.
4237
4238         Tests for module 'modf'.
4239         * modules/modf-tests: New file.
4240         * tests/test-modf.c: New file.
4241
4242         Tests for module 'logb'.
4243         * modules/logb-tests: New file.
4244         * tests/test-logb.c: New file.
4245
4246         Tests for module 'log1p'.
4247         * modules/log1p-tests: New file.
4248         * tests/test-log1p.c: New file.
4249
4250         Tests for module 'log10'.
4251         * modules/log10-tests: New file.
4252         * tests/test-log10.c: New file.
4253
4254         Tests for module 'log'.
4255         * modules/log-tests: New file.
4256         * tests/test-log.c: New file.
4257
4258         Tests for module 'lgamma'.
4259         * modules/lgamma-tests: New file.
4260         * tests/test-lgamma.c: New file.
4261
4262         Tests for module 'ldexp'.
4263         * modules/ldexp-tests: New file.
4264         * tests/test-ldexp.c: New file.
4265
4266         Tests for module 'jn'.
4267         * modules/jn-tests: New file.
4268         * tests/test-jn.c: New file.
4269
4270         Tests for module 'j1'.
4271         * modules/j1-tests: New file.
4272         * tests/test-j1.c: New file.
4273
4274         Tests for module 'j0'.
4275         * modules/j0-tests: New file.
4276         * tests/test-j0.c: New file.
4277
4278         Tests for module 'hypot'.
4279         * modules/hypot-tests: New file.
4280         * tests/test-hypot.c: New file.
4281
4282         Tests for module 'fmod'.
4283         * modules/fmod-tests: New file.
4284         * tests/test-fmod.c: New file.
4285
4286         Tests for module 'fabs'.
4287         * modules/fabs-tests: New file.
4288         * tests/test-fabs.c: New file.
4289
4290         Tests for module 'exp'.
4291         * modules/exp-tests: New file.
4292         * tests/test-exp.c: New file.
4293
4294         Tests for module 'erfc'.
4295         * modules/erfc-tests: New file.
4296         * tests/test-erfc.c: New file.
4297
4298         Tests for module 'erf'.
4299         * modules/erf-tests: New file.
4300         * tests/test-erf.c: New file.
4301
4302         Tests for module 'cosh'.
4303         * modules/cosh-tests: New file.
4304         * tests/test-cosh.c: New file.
4305
4306         Tests for module 'cos'.
4307         * modules/cos-tests: New file.
4308         * tests/test-cos.c: New file.
4309
4310         Tests for module 'copysign'.
4311         * modules/copysign-tests: New file.
4312         * tests/test-copysign.c: New file.
4313
4314         Tests for module 'cbrt'.
4315         * modules/cbrt-tests: New file.
4316         * tests/test-cbrt.c: New file.
4317
4318         Tests for module 'atan2'.
4319         * modules/atan2-tests: New file.
4320         * tests/test-atan2.c: New file.
4321
4322         Tests for module 'atan'.
4323         * modules/atan-tests: New file.
4324         * tests/test-atan.c: New file.
4325
4326         Tests for module 'asin'.
4327         * modules/asin-tests: New file.
4328         * tests/test-asin.c: New file.
4329
4330         Tests for module 'acos'.
4331         * modules/acos-tests: New file.
4332         * tests/test-acos.c: New file.
4333
4334 2010-01-24  Bruno Haible  <bruno@clisp.org>
4335
4336         Fix tests for common <math.h> functions.
4337         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
4338         code snippet that references the function pointer, rather than merely
4339         calling the function. Substitute the FUNC_LIBM variable.
4340         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
4341         * modules/acos (configure.ac): Likewise.
4342         * modules/asin (configure.ac): Likewise.
4343         * modules/atan (configure.ac): Likewise.
4344         * modules/atan2 (configure.ac): Likewise.
4345         * modules/cbrt (configure.ac): Likewise.
4346         * modules/copysign (configure.ac): Likewise.
4347         * modules/cos (configure.ac): Likewise.
4348         * modules/cosh (configure.ac): Likewise.
4349         * modules/erf (configure.ac): Likewise.
4350         * modules/erfc (configure.ac): Likewise.
4351         * modules/exp (configure.ac): Likewise.
4352         * modules/fabs (configure.ac): Likewise.
4353         * modules/fmod (configure.ac): Likewise.
4354         * modules/hypot (configure.ac): Likewise.
4355         * modules/j0 (configure.ac): Likewise.
4356         * modules/j1 (configure.ac): Likewise.
4357         * modules/jn (configure.ac): Likewise.
4358         * modules/ldexp (configure.ac): Likewise.
4359         * modules/lgamma (configure.ac): Likewise.
4360         * modules/log (configure.ac): Likewise.
4361         * modules/log10 (configure.ac): Likewise.
4362         * modules/log1p (configure.ac): Likewise.
4363         * modules/logb (configure.ac): Likewise.
4364         * modules/modf (configure.ac): Likewise.
4365         * modules/nextafter (configure.ac): Likewise.
4366         * modules/pow (configure.ac): Likewise.
4367         * modules/remainder (configure.ac): Likewise.
4368         * modules/rint (configure.ac): Likewise.
4369         * modules/sin (configure.ac): Likewise.
4370         * modules/sinh (configure.ac): Likewise.
4371         * modules/tan (configure.ac): Likewise.
4372         * modules/tanh (configure.ac): Likewise.
4373         * modules/y0 (configure.ac): Likewise.
4374         * modules/y1 (configure.ac): Likewise.
4375         * modules/yn (configure.ac): Likewise.
4376
4377 2010-01-24  Bruno Haible  <bruno@clisp.org>
4378
4379         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
4380         * tests/test-acosl.c (x): New variable.
4381         (main): Store argument in x and fetch it from x.
4382         * tests/test-asinl.c (x): New variable.
4383         (main): Store argument in x and fetch it from x.
4384         * tests/test-atanl.c (x): New variable.
4385         (main): Store argument in x and fetch it from x.
4386         * tests/test-cosl.c (x): New variable.
4387         (main): Store argument in x and fetch it from x.
4388         * tests/test-expl.c (x): New variable.
4389         (main): Store argument in x and fetch it from x.
4390         * tests/test-logl.c (x): New variable.
4391         (main): Store argument in x and fetch it from x.
4392         * tests/test-sinl.c (x): New variable.
4393         (main): Store argument in x and fetch it from x.
4394         * tests/test-sqrtl.c (x): New variable.
4395         (main): Store argument in x and fetch it from x.
4396         * tests/test-tanl.c (x): New variable.
4397         (main): Store argument in x and fetch it from x.
4398
4399 2010-01-24  Bruno Haible  <bruno@clisp.org>
4400
4401         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
4402         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
4403         assignments to the initial TESTS_ENVIRONMENT.
4404         * doc/gnulib.texi (Unit test modules): Document it.
4405         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
4406         TESTS_ENVIRONMENT.
4407         * modules/btowc-tests (Makefile.am): Likewise.
4408         * modules/c-stack-tests (Makefile.am): Likewise.
4409         * modules/c-strcase-tests (Makefile.am): Likewise.
4410         * modules/copy-file-tests (Makefile.am): Likewise.
4411         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
4412         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
4413         * modules/mbrtowc-tests (Makefile.am): Likewise.
4414         * modules/mbscasecmp-tests (Makefile.am): Likewise.
4415         * modules/mbscasestr-tests (Makefile.am): Likewise.
4416         * modules/mbschr-tests (Makefile.am): Likewise.
4417         * modules/mbscspn-tests (Makefile.am): Likewise.
4418         * modules/mbsinit-tests (Makefile.am): Likewise.
4419         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
4420         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
4421         * modules/mbspbrk-tests (Makefile.am): Likewise.
4422         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
4423         * modules/mbsrchr-tests (Makefile.am): Likewise.
4424         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
4425         * modules/mbsspn-tests (Makefile.am): Likewise.
4426         * modules/mbsstr-tests (Makefile.am): Likewise.
4427         * modules/nl_langinfo-tests (Makefile.am): Likewise.
4428         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
4429         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
4430         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
4431         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
4432         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
4433         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
4434         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
4435         * modules/wcrtomb-tests (Makefile.am): Likewise.
4436         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
4437         * modules/wcsrtombs-tests (Makefile.am): Likewise.
4438         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
4439         assignments from TESTS_ENVIRONMENT.
4440         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
4441         augmentation.
4442         * modules/argp-version-etc-tests (Makefile.am): Likewise.
4443         * modules/atexit-tests (Makefile.am): Likewise.
4444         * modules/binary-io-tests (Makefile.am): Likewise.
4445         * modules/closein-tests (Makefile.am): Likewise.
4446         * modules/dprintf-posix-tests (Makefile.am): Likewise.
4447         * modules/exclude-tests (Makefile.am): Likewise.
4448         * modules/fflush-tests (Makefile.am): Likewise.
4449         * modules/fpending-tests (Makefile.am): Likewise.
4450         * modules/fprintf-posix-tests (Makefile.am): Likewise.
4451         * modules/freadahead-tests (Makefile.am): Likewise.
4452         * modules/freadptr-tests (Makefile.am): Likewise.
4453         * modules/freadseek-tests (Makefile.am): Likewise.
4454         * modules/fseek-tests (Makefile.am): Likewise.
4455         * modules/fseeko-tests (Makefile.am): Likewise.
4456         * modules/ftell-tests (Makefile.am): Likewise.
4457         * modules/ftello-tests (Makefile.am): Likewise.
4458         * modules/idpriv-drop-tests (Makefile.am): Likewise.
4459         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
4460         * modules/lseek-tests (Makefile.am): Likewise.
4461         * modules/parse-duration-tests (Makefile.am): Likewise.
4462         * modules/perror-tests (Makefile.am): Likewise.
4463         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
4464         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
4465         * modules/pipe-tests (Makefile.am): Likewise.
4466         * modules/pread-tests (Makefile.am): Likewise.
4467         * modules/printf-posix-tests (Makefile.am): Likewise.
4468         * modules/select-tests (Makefile.am): Likewise.
4469         * modules/sigpipe-tests (Makefile.am): Likewise.
4470         * modules/tsearch-tests (Makefile.am): Likewise.
4471         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
4472         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
4473         * modules/uniname/uniname-tests (Makefile.am): Likewise.
4474         * modules/uniwidth/width-tests (Makefile.am): Likewise.
4475         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
4476         * modules/version-etc-tests (Makefile.am): Likewise.
4477         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
4478         * modules/vprintf-posix-tests (Makefile.am): Likewise.
4479         * modules/xalloc-die-tests (Makefile.am): Likewise.
4480         * modules/xprintf-posix-tests (Makefile.am): Likewise.
4481         * modules/xstrtoimax-tests (Makefile.am): Likewise.
4482         * modules/xstrtol-tests (Makefile.am): Likewise.
4483         * modules/xstrtoumax-tests (Makefile.am): Likewise.
4484         * modules/yesno-tests (Makefile.am): Likewise.
4485         Suggested by Jim Meyering.
4486
4487 2010-01-24  Bruno Haible  <bruno@clisp.org>
4488
4489         More documentation.
4490         * doc/gnulib.texi (Writing modules): New chapter.
4491         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
4492         the new chapter.
4493
4494 2010-01-24  Jim Meyering  <meyering@redhat.com>
4495
4496         maint.mk: do not prepend "./" after filtering
4497         * top/maint.mk (_prepend_srcdir_prefix): New variable
4498         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
4499         "./" when $(srcdir) is ".".
4500
4501         define STREQ(a,b) consistently, removing useless parentheses
4502         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
4503         since the only risk is that "a" or "b" contains an unparenthesized
4504         comma, but if either did that, STREQ would have 3 or more arguments.
4505         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
4506         * lib/fts.c (STREQ): Remove unnecessary parentheses.
4507         * lib/hash-triple.c (STREQ): Likewise.
4508         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
4509         * lib/getugroups.c (STREQ): Likewise.
4510
4511 2010-01-23  Jim Meyering  <meyering@redhat.com>
4512
4513         maint.mk: fix syntax-check in a non-srcdir build directory
4514         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
4515         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
4516
4517 2010-01-22  Jim Meyering  <meyering@redhat.com>
4518
4519         userspec: add unit tests
4520         * tests/test-userspec.c: New file.
4521         * modules/userspec-tests: Likewise.
4522
4523 2010-01-21  Jim Meyering  <meyering@redhat.com>
4524
4525         maint.mk: handle source file names containing "." robustly
4526         * top/maint.mk (_dot_escaped_srcdir): Define.
4527         (VC_LIST): Use it in LHS of sed substitution.
4528
4529 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
4530
4531         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
4532         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
4533         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
4534         from a non-srcdir build.
4535
4536 2010-01-20  Eric Blake  <ebb9@byu.net>
4537
4538         warn-on-use: use instead of link-warning
4539         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
4540         * modules/unistd (Depends-on, Makefile.am): Likewise.
4541         * modules/arpa_inet (Depends-on): Replace link-warning with
4542         warn-on-use.
4543         (Makefile.am): Update rules accordingly.
4544         * modules/ctype (Depends-on, Makefile.am): Likewise.
4545         * modules/dirent (Depends-on, Makefile.am): Likewise.
4546         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
4547         * modules/inttypes (Depends-on, Makefile.am): Likewise.
4548         * modules/langinfo (Depends-on, Makefile.am): Likewise.
4549         * modules/locale (Depends-on, Makefile.am): Likewise.
4550         * modules/math (Depends-on, Makefile.am): Likewise.
4551         * modules/search (Depends-on, Makefile.am): Likewise.
4552         * modules/signal (Depends-on, Makefile.am): Likewise.
4553         * modules/spawn (Depends-on, Makefile.am): Likewise.
4554         * modules/stdlib (Depends-on, Makefile.am): Likewise.
4555         * modules/string (Depends-on, Makefile.am): Likewise.
4556         * modules/strings (Depends-on, Makefile.am): Likewise.
4557         * modules/sys_file (Depends-on, Makefile.am): Likewise.
4558         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
4559         * modules/sys_select (Depends-on, Makefile.am): Likewise.
4560         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
4561         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
4562         * modules/sys_times (Depends-on, Makefile.am): Likewise.
4563         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
4564         * modules/wchar (Depends-on, Makefile.am): Likewise.
4565         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
4566         should be poisoned.
4567         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
4568         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
4569         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
4570         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
4571         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
4572         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
4573         * m4/math_h.m4 (gl_MATH_H): Likewise.
4574         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4575         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
4576         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4577         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
4578         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
4579         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
4580         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4581         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
4582         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
4583         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4584         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
4585         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
4586         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4587         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4588         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4589         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
4590         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
4591         GL_LINK_WARNING.
4592         * lib/ctype.in.h: Likewise.
4593         * lib/dirent.in.h: Likewise.
4594         * lib/fcntl.in.h: Likewise.
4595         * lib/inttypes.in.h: Likewise.
4596         * lib/langinfo.in.h: Likewise.
4597         * lib/locale.in.h: Likewise.
4598         * lib/math.in.h: Likewise.
4599         * lib/search.in.h: Likewise.
4600         * lib/signal.in.h: Likewise.
4601         * lib/spawn.in.h: Likewise.
4602         * lib/stdio.in.h: Likewise.
4603         * lib/stdlib.in.h: Likewise.
4604         * lib/string.in.h: Likewise.
4605         * lib/strings.in.h: Likewise.
4606         * lib/sys_file.in.h: Likewise.
4607         * lib/sys_ioctl.in.h: Likewise.
4608         * lib/sys_select.in.h: Likewise.
4609         * lib/sys_socket.in.h: Likewise.
4610         * lib/sys_stat.in.h: Likewise.
4611         * lib/sys_times.in.h: Likewise.
4612         * lib/sys_utsname.in.h: Likewise.
4613         * lib/unistd.in.h: Likewise.
4614         * lib/wchar.in.h: Likewise.
4615
4616 2010-01-20  Bruno Haible  <bruno@clisp.org>
4617
4618         Avoid duplicate -lm.
4619         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
4620         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
4621         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
4622         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
4623         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
4624         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
4625         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
4626         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
4627         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
4628         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
4629         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
4630         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
4631         Reported by Paolo Bonzini.
4632
4633 2010-01-19  Bruno Haible  <bruno@clisp.org>
4634
4635         langinfo, nl_langinfo: Relicense under LGPLv2+.
4636         * modules/langinfo (License): Change to LGPLv2+.
4637         * modules/nl_langinfo (License): Likewise.
4638         Patch by David Lutterkort <lutter@redhat.com>.
4639
4640 2010-01-19  Bruno Haible  <bruno@clisp.org>
4641
4642         Avoid compilation error with cc on OSF/1 5.1.
4643         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
4644         statement, not before.
4645         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4646
4647 2010-01-18  Bruno Haible  <bruno@clisp.org>
4648
4649         Avoid a link error due to the __printf__ symbol.
4650         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
4651         and 2.6.x.
4652         (__format__, __printf__): Remove definitions.
4653         * lib/argp-fmtstream.h: Likewise.
4654         * lib/argp.h: Likewise.
4655         * lib/error.h: Likewise.
4656         * lib/vasnprintf.h: Likewise.
4657         * lib/xprintf.h: Likewise.
4658         * lib/xvasprintf.h: Likewise.
4659         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4660
4661 2010-01-18  Bruno Haible  <bruno@clisp.org>
4662
4663         Tests for module 'tanl'.
4664         * modules/tanl-tests: New file.
4665         * tests/test-tanl.c: New file.
4666
4667         Tests for module 'sqrtl'.
4668         * modules/sqrtl-tests: New file.
4669         * tests/test-sqrtl.c: New file.
4670
4671         Tests for module 'sinl'.
4672         * modules/sinl-tests: New file.
4673         * tests/test-sinl.c: New file.
4674
4675         Tests for module 'logl'.
4676         * modules/logl-tests: New file.
4677         * tests/test-logl.c: New file.
4678
4679         Tests for module 'expl'.
4680         * modules/expl-tests: New file.
4681         * tests/test-expl.c: New file.
4682
4683         Tests for module 'cosl'.
4684         * modules/cosl-tests: New file.
4685         * tests/test-cosl.c: New file.
4686
4687         Tests for module 'atanl'.
4688         * modules/atanl-tests: New file.
4689         * tests/test-atanl.c: New file.
4690
4691         Tests for module 'asinl'.
4692         * modules/asinl-tests: New file.
4693         * tests/test-asinl.c: New file.
4694
4695         Tests for module 'acosl'.
4696         * modules/acosl-tests: New file.
4697         * tests/test-acosl.c: New file.
4698
4699         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4700         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
4701         tanl): Use the standard gnulib idiom.
4702         * lib/cosl.c: Don't include trigl.c and sincosl.c.
4703         * lib/sinl.c: Likewise.
4704         * lib/tanl.c: Don't include trigl.c.
4705         (kernel_tanl): Make static.
4706         * lib/sincosl.c: Include trigl.h first.
4707         * lib/trigl.c: Likewise.
4708         * m4/acosl.m4: New file.
4709         * m4/asinl.m4: New file.
4710         * m4/atanl.m4: New file.
4711         * m4/cosl.m4: New file.
4712         * m4/expl.m4: New file.
4713         * m4/logl.m4: New file.
4714         * m4/sinl.m4: New file.
4715         * m4/sqrtl.m4: New file.
4716         * m4/tanl.m4: New file.
4717         * m4/mathl.m4: Remove file.
4718         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
4719         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4720         Don't initialize GNULIB_MATHL.
4721         * modules/acosl: New file.
4722         * modules/asinl: New file.
4723         * modules/atanl: New file.
4724         * modules/cosl: New file.
4725         * modules/expl: New file.
4726         * modules/logl: New file.
4727         * modules/sinl: New file.
4728         * modules/sqrtl: New file.
4729         * modules/tanl: New file.
4730         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
4731         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
4732         substitute GNULIB_MATHL.
4733         * modules/mathl: Rewritten.
4734         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
4735         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
4736         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
4737         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
4738         * doc/posix-functions/expl.texi: Mention the 'expl' module.
4739         * doc/posix-functions/logl.texi: Mention the 'logl' module.
4740         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
4741         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
4742         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
4743
4744 2010-01-18  Bruno Haible  <bruno@clisp.org>
4745
4746         sqrt: Make gl_FUNC_SQRT requirable.
4747         * m4/sqrt.m4: New file.
4748         * modules/sqrt (Files): Add it.
4749         (configure.ac): Invoke gl_FUNC_SQRT.
4750
4751 2010-01-18  Bruno Haible  <bruno@clisp.org>
4752
4753         New modules for common <math.h> functions.
4754         * m4/mathfunc.m4: New file.
4755         * modules/acos: New file.
4756         * modules/asin: New file.
4757         * modules/atan: New file.
4758         * modules/atan2: New file.
4759         * modules/cbrt: New file.
4760         * modules/copysign: New file.
4761         * modules/cos: New file.
4762         * modules/cosh: New file.
4763         * modules/erf: New file.
4764         * modules/erfc: New file.
4765         * modules/exp: New file.
4766         * modules/fabs: New file.
4767         * modules/fmod: New file.
4768         * modules/hypot: New file.
4769         * modules/j0: New file.
4770         * modules/j1: New file.
4771         * modules/jn: New file.
4772         * modules/ldexp: New file.
4773         * modules/lgamma: New file.
4774         * modules/log: New file.
4775         * modules/log10: New file.
4776         * modules/log1p: New file.
4777         * modules/logb: New file.
4778         * modules/modf: New file.
4779         * modules/nextafter: New file.
4780         * modules/pow: New file.
4781         * modules/remainder: New file.
4782         * modules/rint: New file.
4783         * modules/sin: New file.
4784         * modules/sinh: New file.
4785         * modules/sqrt: New file.
4786         * modules/tan: New file.
4787         * modules/tanh: New file.
4788         * modules/y0: New file.
4789         * modules/y1: New file.
4790         * modules/yn: New file.
4791         * doc/posix-functions/acos.texi: Mention the 'acos' module.
4792         * doc/posix-functions/asin.texi: Mention the 'asin' module.
4793         * doc/posix-functions/atan.texi: Mention the 'atan' module.
4794         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
4795         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
4796         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
4797         * doc/posix-functions/cos.texi: Mention the 'cos' module.
4798         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
4799         * doc/posix-functions/erf.texi: Mention the 'erf' module.
4800         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
4801         * doc/posix-functions/exp.texi: Mention the 'exp' module.
4802         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
4803         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
4804         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
4805         * doc/posix-functions/j0.texi: Mention the 'j0' module.
4806         * doc/posix-functions/j1.texi: Mention the 'j1' module.
4807         * doc/posix-functions/jn.texi: Mention the 'jn' module.
4808         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
4809         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
4810         * doc/posix-functions/log.texi: Mention the 'log' module.
4811         * doc/posix-functions/log10.texi: Mention the 'log10' module.
4812         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
4813         * doc/posix-functions/logb.texi: Mention the 'logb' module.
4814         * doc/posix-functions/modf.texi: Mention the 'modf' module.
4815         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
4816         * doc/posix-functions/pow.texi: Mention the 'pow' module.
4817         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
4818         * doc/posix-functions/rint.texi: Mention the 'rint' module.
4819         * doc/posix-functions/sin.texi: Mention the 'sin' module.
4820         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
4821         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
4822         * doc/posix-functions/tan.texi: Mention the 'tan' module.
4823         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
4824         * doc/posix-functions/y0.texi: Mention the 'y0' module.
4825         * doc/posix-functions/y1.texi: Mention the 'y1' module.
4826         * doc/posix-functions/yn.texi: Mention the 'yn' module.
4827
4828 2010-01-18  Jim Meyering  <meyering@redhat.com>
4829
4830         ignore-value: relax license to LGPLv2+
4831         * modules/ignore-value (License): Relax to LGPLv2+.
4832
4833         getdate: don't leak when TZ contains two or more '"'s
4834         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
4835         double quote in TZ after the first one.
4836
4837         readtokens: do not leak internal token_lengths buffer
4838         * lib/readtokens.c (readtokens): Free the local, lengths,
4839         when the supplied "token_lengths" parameter is NULL.
4840
4841 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4842
4843         Fix a couple of missing LIBTHREAD link failures on AIX.
4844         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
4845         $(LIBTHREAD).
4846         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
4847
4848         Link test-poll against INET_PTON_LIB.
4849         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
4850         for inet_pton on Solaris 10.
4851
4852 2010-01-17  Bruno Haible  <bruno@clisp.org>
4853
4854         unistdio/*-sprintf: Fix typo in module description.
4855         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
4856         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
4857         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
4858         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
4859         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
4860         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
4861         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
4862         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4863
4864 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4865
4866         gnulib-tool: fix filelist for AIX, HP-UX ksh.
4867         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
4868         variables in shell case patterns, for AIX and HP-UX ksh.
4869
4870         Split large sed scripts, for HP-UX sed.
4871         * modules/stdio: Split sed scripts around 50 sed commands,
4872         to avoid HP-UX limit of 99 commands, in the near future.
4873         * modules/string: Likewise.
4874         * modules/unistd: Likewise.
4875
4876         gnulib-tool: avoid writing in the current directory.
4877         * gnulib-tool (func_emit_lib_Makefile_am)
4878         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
4879         not in the current directory, so concurrent gnulib-tool
4880         instances do not interfere.
4881
4882 2010-01-16  Jim Meyering  <meyering@redhat.com>
4883
4884         doc: update users.txt
4885         * users.txt: Add grep.
4886         (diffutils, gzip): Update URLs.
4887
4888 2010-01-12  Bruno Haible  <bruno@clisp.org>
4889
4890         posix_spawn: Avoid test failure on Cygwin.
4891         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
4892         characters.
4893         Reported by Simon Josefsson.
4894
4895 2010-01-12  Bruno Haible  <bruno@clisp.org>
4896
4897         * tests/test-cond.c (main): When skipping the test, show the reason.
4898
4899 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4900
4901         * lib/striconv.c (str_cd_iconv): Avoid if before free.
4902
4903 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4904
4905         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
4906         VC_LIST_ALWAYS_EXCLUDE_REGEX.
4907
4908 2010-01-12  Eric Blake  <ebb9@byu.net>
4909
4910         build: guarantee AS_VAR_IF
4911         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
4912         (gl_AS_VAR_IF): Move...
4913         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
4914         Reported by Simon Josefsson.
4915
4916 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4917
4918         * lib/stdio.in.h: Fix typo.
4919
4920 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4921
4922         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
4923         libgpg-error.
4924
4925 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4926
4927         * tests/test-xalloc-die.sh: Use $EXEEXT.
4928
4929 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4930             Bruno Haible  <bruno@clisp.org>
4931
4932         getlogin, getlogin_r: Avoid test failure.
4933         * tests/test-getlogin.c: Include <stdio.h>.
4934         (main): Skip the test when the function fails because stdin is not a
4935         tty.
4936         * tests/test-getlogin_r.c: Include <stdio.h>.
4937         (main): Skip the test when the function fails because stdin is not a
4938         tty.
4939
4940 2010-01-11  Eric Blake  <ebb9@byu.net>
4941
4942         tests: avoid more large file warnings
4943         * tests/test-fflush.c: Avoid warning about ftell use.
4944         * tests/test-fseek.c: Avoid warning about fseek use.
4945
4946 2010-01-10  Bruno Haible  <bruno@clisp.org>
4947
4948         nproc: Work better on Linux when /proc and /sys are not mounted.
4949         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
4950         as lower bound when, on glibc/Linux systems,
4951         sysconf (_SC_NPROCESSORS_CONF) returns 1.
4952         Suggested by Pádraig Brady <P@draigbrady.com>.
4953         Reported by Dmitry V. Levin <ldv@altlinux.org>.
4954
4955         nproc: Refactor.
4956         * lib/nproc.c (num_processors_via_affinity_mask): New function,
4957         extracted from num_processors.
4958         (num_processors): Call it.
4959
4960 2010-01-11  Jim Meyering  <meyering@redhat.com>
4961
4962         utimecmp: avoid new warning from upcoming gcc-4.5.0
4963         * lib/utimecmp.c (BILLION): Define using #define rather than an
4964         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
4965
4966 2010-01-11  Eric Blake  <ebb9@byu.net>
4967
4968         math: add portability warnings for classification macros
4969         * modules/math (Depends-on): Add warn-on-use.
4970         (Makefile.am): Provide new substitutions.
4971         * m4/math_h.m4 (gl_MATH_H): Require inline.
4972         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
4973         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
4974         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
4975         implement warnings.
4976
4977         unistd: warn on use of environ without module
4978         * modules/unistd (Depends-on): Add warn-on-use.
4979         (Makefile.am): Provide new substitutions.
4980         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
4981         * lib/unistd.in.h (environ): Wrap with a warning helper function.
4982
4983         stdio: warn on suspicious uses
4984         * modules/stdio (Depends-on): Add warn-on-use.
4985         (Makefile.am): Provide new substitutions.
4986         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
4987         fseeko.
4988         * lib/stdio.in.h (gets): Always warn on use.
4989         (fseek, ftell): Adjust when warnings are issued, and honor
4990         _GL_NO_LARGE_FILES as a way to silence the warning.
4991         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
4992         any warning about large file offsets.
4993         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
4994         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
4995         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
4996         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
4997         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
4998         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
4999         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
5000         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
5001
5002         warn-on-use: new module
5003         * modules/warn-on-use: New file.
5004         * build-aux/warn-on-use.h: Likewise.
5005         * m4/warn-on-use.m4: Likewise.
5006         * MODULES.html.sh (Support for building): Mention it.
5007
5008 2010-01-10  Bruno Haible  <bruno@clisp.org>
5009
5010         Tests for module 'unistr/u32-strdup'.
5011         * modules/unistr/u32-strdup-tests: New file.
5012         * tests/unistr/test-u32-strdup.c: New file.
5013
5014         Tests for module 'unistr/u16-strdup'.
5015         * modules/unistr/u16-strdup-tests: New file.
5016         * tests/unistr/test-u16-strdup.c: New file.
5017
5018         Tests for module 'unistr/u8-strdup'.
5019         * modules/unistr/u8-strdup-tests: New file.
5020         * tests/unistr/test-u8-strdup.c: New file.
5021         * tests/unistr/test-strdup.h: New file.
5022
5023         Tests for module 'unistr/u32-strncmp'.
5024         * modules/unistr/u32-strncmp-tests: New file.
5025         * tests/unistr/test-u32-strncmp.c: New file.
5026
5027         Tests for module 'unistr/u16-strncmp'.
5028         * modules/unistr/u16-strncmp-tests: New file.
5029         * tests/unistr/test-u16-strncmp.c: New file.
5030
5031         Tests for module 'unistr/u8-strncmp'.
5032         * modules/unistr/u8-strncmp-tests: New file.
5033         * tests/unistr/test-u8-strncmp.c: New file.
5034         * tests/unistr/test-strncmp.h: New file.
5035
5036         Tests for module 'unistr/u32-strcoll'.
5037         * modules/unistr/u32-strcoll-tests: New file.
5038         * tests/unistr/test-u32-strcoll.c: New file.
5039
5040         Tests for module 'unistr/u16-strcoll'.
5041         * modules/unistr/u16-strcoll-tests: New file.
5042         * tests/unistr/test-u16-strcoll.c: New file.
5043
5044         Tests for module 'unistr/u8-strcoll'.
5045         * modules/unistr/u8-strcoll-tests: New file.
5046         * tests/unistr/test-u8-strcoll.c: New file.
5047
5048         Tests for module 'unistr/u32-strcmp'.
5049         * modules/unistr/u32-strcmp-tests: New file.
5050         * tests/unistr/test-u32-strcmp.c: New file.
5051         * tests/unistr/test-u32-strcmp.h: New file.
5052
5053         Tests for module 'unistr/u16-strcmp'.
5054         * modules/unistr/u16-strcmp-tests: New file.
5055         * tests/unistr/test-u16-strcmp.c: New file.
5056         * tests/unistr/test-u16-strcmp.h: New file.
5057
5058         Tests for module 'unistr/u8-strcmp'.
5059         * modules/unistr/u8-strcmp-tests: New file.
5060         * tests/unistr/test-u8-strcmp.c: New file.
5061         * tests/unistr/test-u8-strcmp.h: New file.
5062         * tests/unistr/test-strcmp.h: New file.
5063
5064         Tests for module 'unistr/u32-strncat'.
5065         * modules/unistr/u32-strncat-tests: New file.
5066         * tests/unistr/test-u32-strncat.c: New file.
5067
5068         Tests for module 'unistr/u16-strncat'.
5069         * modules/unistr/u16-strncat-tests: New file.
5070         * tests/unistr/test-u16-strncat.c: New file.
5071
5072         Tests for module 'unistr/u8-strncat'.
5073         * modules/unistr/u8-strncat-tests: New file.
5074         * tests/unistr/test-u8-strncat.c: New file.
5075         * tests/unistr/test-strncat.h: New file.
5076
5077         Tests for module 'unistr/u32-strcat'.
5078         * modules/unistr/u32-strcat-tests: New file.
5079         * tests/unistr/test-u32-strcat.c: New file.
5080
5081         Tests for module 'unistr/u16-strcat'.
5082         * modules/unistr/u16-strcat-tests: New file.
5083         * tests/unistr/test-u16-strcat.c: New file.
5084
5085         Tests for module 'unistr/u8-strcat'.
5086         * modules/unistr/u8-strcat-tests: New file.
5087         * tests/unistr/test-u8-strcat.c: New file.
5088         * tests/unistr/test-strcat.h: New file.
5089
5090         Tests for module 'unistr/u32-stpncpy'.
5091         * modules/unistr/u32-stpncpy-tests: New file.
5092         * tests/unistr/test-u32-stpncpy.c: New file.
5093
5094         Tests for module 'unistr/u16-stpncpy'.
5095         * modules/unistr/u16-stpncpy-tests: New file.
5096         * tests/unistr/test-u16-stpncpy.c: New file.
5097
5098         Tests for module 'unistr/u8-stpncpy'.
5099         * modules/unistr/u8-stpncpy-tests: New file.
5100         * tests/unistr/test-u8-stpncpy.c: New file.
5101         * tests/unistr/test-stpncpy.h: New file.
5102
5103         Tests for module 'unistr/u32-strncpy'.
5104         * modules/unistr/u32-strncpy-tests: New file.
5105         * tests/unistr/test-u32-strncpy.c: New file.
5106
5107         Tests for module 'unistr/u16-strncpy'.
5108         * modules/unistr/u16-strncpy-tests: New file.
5109         * tests/unistr/test-u16-strncpy.c: New file.
5110
5111         Tests for module 'unistr/u8-strncpy'.
5112         * modules/unistr/u8-strncpy-tests: New file.
5113         * tests/unistr/test-u8-strncpy.c: New file.
5114         * tests/unistr/test-strncpy.h: New file.
5115
5116         Tests for module 'unistr/u32-stpcpy'.
5117         * modules/unistr/u32-stpcpy-tests: New file.
5118         * tests/unistr/test-u32-stpcpy.c: New file.
5119
5120         Tests for module 'unistr/u16-stpcpy'.
5121         * modules/unistr/u16-stpcpy-tests: New file.
5122         * tests/unistr/test-u16-stpcpy.c: New file.
5123
5124         Tests for module 'unistr/u8-stpcpy'.
5125         * modules/unistr/u8-stpcpy-tests: New file.
5126         * tests/unistr/test-u8-stpcpy.c: New file.
5127         * tests/unistr/test-stpcpy.h: New file.
5128
5129         Tests for module 'unistr/u32-strcpy'.
5130         * modules/unistr/u32-strcpy-tests: New file.
5131         * tests/unistr/test-u32-strcpy.c: New file.
5132
5133         Tests for module 'unistr/u16-strcpy'.
5134         * modules/unistr/u16-strcpy-tests: New file.
5135         * tests/unistr/test-u16-strcpy.c: New file.
5136
5137         Tests for module 'unistr/u8-strcpy'.
5138         * modules/unistr/u8-strcpy-tests: New file.
5139         * tests/unistr/test-u8-strcpy.c: New file.
5140         * tests/unistr/test-strcpy.h: New file.
5141
5142         Tests for module 'unistr/u32-strnlen'.
5143         * modules/unistr/u32-strnlen-tests: New file.
5144         * tests/unistr/test-u32-strnlen.c: New file.
5145
5146         Tests for module 'unistr/u16-strnlen'.
5147         * modules/unistr/u16-strnlen-tests: New file.
5148         * tests/unistr/test-u16-strnlen.c: New file.
5149
5150         Tests for module 'unistr/u8-strnlen'.
5151         * modules/unistr/u8-strnlen-tests: New file.
5152         * tests/unistr/test-u8-strnlen.c: New file.
5153         * tests/unistr/test-strnlen.h: New file.
5154
5155         Tests for module 'unistr/u32-strlen'.
5156         * modules/unistr/u32-strlen-tests: New file.
5157         * tests/unistr/test-u32-strlen.c: New file.
5158
5159         Tests for module 'unistr/u16-strlen'.
5160         * modules/unistr/u16-strlen-tests: New file.
5161         * tests/unistr/test-u16-strlen.c: New file.
5162
5163         Tests for module 'unistr/u8-strlen'.
5164         * modules/unistr/u8-strlen-tests: New file.
5165         * tests/unistr/test-u8-strlen.c: New file.
5166
5167         Tests for module 'unistr/u32-prev'.
5168         * modules/unistr/u32-prev-tests: New file.
5169         * tests/unistr/test-u32-prev.c: New file.
5170
5171         Tests for module 'unistr/u16-prev'.
5172         * modules/unistr/u16-prev-tests: New file.
5173         * tests/unistr/test-u16-prev.c: New file.
5174
5175         Tests for module 'unistr/u8-prev'.
5176         * modules/unistr/u8-prev-tests: New file.
5177         * tests/unistr/test-u8-prev.c: New file.
5178
5179         Tests for module 'unistr/u32-next'.
5180         * modules/unistr/u32-next-tests: New file.
5181         * tests/unistr/test-u32-next.c: New file.
5182
5183         Tests for module 'unistr/u16-next'.
5184         * modules/unistr/u16-next-tests: New file.
5185         * tests/unistr/test-u16-next.c: New file.
5186
5187         Tests for module 'unistr/u8-next'.
5188         * modules/unistr/u8-next-tests: New file.
5189         * tests/unistr/test-u8-next.c: New file.
5190
5191         Tests for module 'unistr/u32-strmbtouc'.
5192         * modules/unistr/u32-strmbtouc-tests: New file.
5193         * tests/unistr/test-u32-strmbtouc.c: New file.
5194
5195         Tests for module 'unistr/u16-strmbtouc'.
5196         * modules/unistr/u16-strmbtouc-tests: New file.
5197         * tests/unistr/test-u16-strmbtouc.c: New file.
5198
5199         Tests for module 'unistr/u8-strmbtouc'.
5200         * modules/unistr/u8-strmbtouc-tests: New file.
5201         * tests/unistr/test-u8-strmbtouc.c: New file.
5202
5203         Tests for module 'unistr/u32-strmblen'.
5204         * modules/unistr/u32-strmblen-tests: New file.
5205         * tests/unistr/test-u32-strmblen.c: New file.
5206
5207         Tests for module 'unistr/u16-strmblen'.
5208         * modules/unistr/u16-strmblen-tests: New file.
5209         * tests/unistr/test-u16-strmblen.c: New file.
5210
5211         Tests for module 'unistr/u8-strmblen'.
5212         * modules/unistr/u8-strmblen-tests: New file.
5213         * tests/unistr/test-u8-strmblen.c: New file.
5214
5215         Tests for module 'unistr/u32-cpy-alloc'.
5216         * modules/unistr/u32-cpy-alloc-tests: New file.
5217         * tests/unistr/test-u32-cpy-alloc.c: New file.
5218
5219         Tests for module 'unistr/u16-cpy-alloc'.
5220         * modules/unistr/u16-cpy-alloc-tests: New file.
5221         * tests/unistr/test-u16-cpy-alloc.c: New file.
5222
5223         Tests for module 'unistr/u8-cpy-alloc'.
5224         * modules/unistr/u8-cpy-alloc-tests: New file.
5225         * tests/unistr/test-u8-cpy-alloc.c: New file.
5226         * tests/unistr/test-cpy-alloc.h: New file.
5227
5228         Tests for module 'unistr/u32-mbsnlen'.
5229         * modules/unistr/u32-mbsnlen-tests: New file.
5230         * tests/unistr/test-u32-mbsnlen.c: New file.
5231
5232         Tests for module 'unistr/u16-mbsnlen'.
5233         * modules/unistr/u16-mbsnlen-tests: New file.
5234         * tests/unistr/test-u16-mbsnlen.c: New file.
5235
5236         Tests for module 'unistr/u8-mbsnlen'.
5237         * modules/unistr/u8-mbsnlen-tests: New file.
5238         * tests/unistr/test-u8-mbsnlen.c: New file.
5239
5240         Tests for module 'unistr/u32-chr'.
5241         * modules/unistr/u32-chr-tests: New file.
5242         * tests/unistr/test-u32-chr.c: New file.
5243
5244         Tests for module 'unistr/u16-chr'.
5245         * modules/unistr/u16-chr-tests: New file.
5246         * tests/unistr/test-u16-chr.c: New file.
5247
5248         Tests for module 'unistr/u8-chr'.
5249         * modules/unistr/u8-chr-tests: New file.
5250         * tests/unistr/test-u8-chr.c: New file.
5251         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
5252
5253         Tests for module 'unistr/u32-cmp2'.
5254         * modules/unistr/u32-cmp2-tests: New file.
5255         * tests/unistr/test-u32-cmp2.c: New file.
5256
5257         Tests for module 'unistr/u16-cmp2'.
5258         * modules/unistr/u16-cmp2-tests: New file.
5259         * tests/unistr/test-u16-cmp2.c: New file.
5260
5261         Tests for module 'unistr/u8-cmp2'.
5262         * modules/unistr/u8-cmp2-tests: New file.
5263         * tests/unistr/test-u8-cmp2.c: New file.
5264         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
5265
5266         Tests for module 'unistr/u32-cmp'.
5267         * modules/unistr/u32-cmp-tests: New file.
5268         * tests/unistr/test-u32-cmp.c: New file.
5269
5270         Tests for module 'unistr/u16-cmp'.
5271         * modules/unistr/u16-cmp-tests: New file.
5272         * tests/unistr/test-u16-cmp.c: New file.
5273
5274         Tests for module 'unistr/u8-cmp'.
5275         * modules/unistr/u8-cmp-tests: New file.
5276         * tests/unistr/test-u8-cmp.c: New file.
5277         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
5278
5279         Tests for module 'unistr/u32-set'.
5280         * modules/unistr/u32-set-tests: New file.
5281         * tests/unistr/test-u32-set.c: New file.
5282
5283         Tests for module 'unistr/u16-set'.
5284         * modules/unistr/u16-set-tests: New file.
5285         * tests/unistr/test-u16-set.c: New file.
5286
5287         Tests for module 'unistr/u8-set'.
5288         * modules/unistr/u8-set-tests: New file.
5289         * tests/unistr/test-u8-set.c: New file.
5290         * tests/unistr/test-set.h: New file.
5291
5292         Tests for module 'unistr/u32-move'.
5293         * modules/unistr/u32-move-tests: New file.
5294         * tests/unistr/test-u32-move.c: New file.
5295
5296         Tests for module 'unistr/u16-move'.
5297         * modules/unistr/u16-move-tests: New file.
5298         * tests/unistr/test-u16-move.c: New file.
5299
5300         Tests for module 'unistr/u8-move'.
5301         * modules/unistr/u8-move-tests: New file.
5302         * tests/unistr/test-u8-move.c: New file.
5303         * tests/unistr/test-move.h: New file.
5304
5305         Tests for module 'unistr/u32-cpy'.
5306         * modules/unistr/u32-cpy-tests: New file.
5307         * tests/unistr/test-u32-cpy.c: New file.
5308
5309         Tests for module 'unistr/u16-cpy'.
5310         * modules/unistr/u16-cpy-tests: New file.
5311         * tests/unistr/test-u16-cpy.c: New file.
5312
5313         Tests for module 'unistr/u8-cpy'.
5314         * modules/unistr/u8-cpy-tests: New file.
5315         * tests/unistr/test-u8-cpy.c: New file.
5316         * tests/unistr/test-cpy.h: New file.
5317
5318 2010-01-09  Bruno Haible  <bruno@clisp.org>
5319
5320         Tests for module 'unistr/u32-uctomb'.
5321         * modules/unistr/u32-uctomb-tests: New file.
5322         * tests/unistr/test-u32-uctomb.c: New file.
5323
5324         Tests for module 'unistr/u16-uctomb'.
5325         * modules/unistr/u16-uctomb-tests: New file.
5326         * tests/unistr/test-u16-uctomb.c: New file.
5327
5328         Tests for module 'unistr/u8-uctomb'.
5329         * modules/unistr/u8-uctomb-tests: New file.
5330         * tests/unistr/test-u8-uctomb.c: New file.
5331
5332         Tests for module 'unistr/u32-mbtoucr'.
5333         * modules/unistr/u32-mbtoucr-tests: New file.
5334         * tests/unistr/test-u32-mbtoucr.c: New file.
5335
5336         Tests for module 'unistr/u16-mbtoucr'.
5337         * modules/unistr/u16-mbtoucr-tests: New file.
5338         * tests/unistr/test-u16-mbtoucr.c: New file.
5339
5340         Tests for module 'unistr/u8-mbtoucr'.
5341         * modules/unistr/u8-mbtoucr-tests: New file.
5342         * tests/unistr/test-u8-mbtoucr.c: New file.
5343
5344         Tests for module 'unistr/u32-mbtouc'.
5345         * modules/unistr/u32-mbtouc-tests: New file.
5346         * tests/unistr/test-u32-mbtouc.c: New file.
5347
5348         Tests for module 'unistr/u16-mbtouc'.
5349         * modules/unistr/u16-mbtouc-tests: New file.
5350         * tests/unistr/test-u16-mbtouc.c: New file.
5351
5352         Tests for module 'unistr/u8-mbtouc'.
5353         * modules/unistr/u8-mbtouc-tests: New file.
5354         * tests/unistr/test-u8-mbtouc.c: New file.
5355
5356         Tests for module 'unistr/u32-mbtouc-unsafe'.
5357         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
5358         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
5359         * tests/unistr/test-u32-mbtouc.h: New file.
5360
5361         Tests for module 'unistr/u16-mbtouc-unsafe'.
5362         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
5363         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
5364         * tests/unistr/test-u16-mbtouc.h: New file.
5365
5366         Tests for module 'unistr/u8-mbtouc-unsafe'.
5367         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
5368         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
5369         * tests/unistr/test-u8-mbtouc.h: New file.
5370
5371         Tests for module 'unistr/u32-mblen'.
5372         * modules/unistr/u32-mblen-tests: New file.
5373         * tests/unistr/test-u32-mblen.c: New file.
5374
5375         Tests for module 'unistr/u16-mblen'.
5376         * modules/unistr/u16-mblen-tests: New file.
5377         * tests/unistr/test-u16-mblen.c: New file.
5378
5379         Tests for module 'unistr/u8-mblen'.
5380         * modules/unistr/u8-mblen-tests: New file.
5381         * tests/unistr/test-u8-mblen.c: New file.
5382
5383         Tests for module 'unistr/u32-to-u16'.
5384         * modules/unistr/u32-to-u16-tests: New file.
5385         * tests/unistr/test-u32-to-u16.c: New file.
5386
5387         Tests for module 'unistr/u32-to-u8'.
5388         * modules/unistr/u32-to-u8-tests: New file.
5389         * tests/unistr/test-u32-to-u8.c: New file.
5390
5391         Tests for module 'unistr/u16-to-u32'.
5392         * modules/unistr/u16-to-u32-tests: New file.
5393         * tests/unistr/test-u16-to-u32.c: New file.
5394
5395         Tests for module 'unistr/u16-to-u8'.
5396         * modules/unistr/u16-to-u8-tests: New file.
5397         * tests/unistr/test-u16-to-u8.c: New file.
5398
5399         Tests for module 'unistr/u8-to-u32'.
5400         * modules/unistr/u8-to-u32-tests: New file.
5401         * tests/unistr/test-u8-to-u32.c: New file.
5402
5403         Tests for module 'unistr/u8-to-u16'.
5404         * modules/unistr/u8-to-u16-tests: New file.
5405         * tests/unistr/test-u8-to-u16.c: New file.
5406
5407         Tests for module 'unistr/u32-check'.
5408         * modules/unistr/u32-check-tests: New file.
5409         * tests/unistr/test-u32-check.c: New file.
5410
5411         Tests for module 'unistr/u16-check'.
5412         * modules/unistr/u16-check-tests: New file.
5413         * tests/unistr/test-u16-check.c: New file.
5414
5415         Tests for module 'unistr/u8-check'.
5416         * modules/unistr/u8-check-tests: New file.
5417         * tests/unistr/test-u8-check.c: New file.
5418
5419         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
5420         (category_equals): New function.
5421         (main): Add more tests.
5422         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
5423
5424         * tests/unictype/test-bidi_byname.c (main): Add more tests.
5425
5426 2010-01-10  Bruno Haible  <bruno@clisp.org>
5427
5428         unistr/u*-strcoll: Try harder to distinguish different strings.
5429         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
5430         compare s1 and s2 to see if they are different.
5431
5432 2010-01-10  Bruno Haible  <bruno@clisp.org>
5433
5434         unistr/u*-stpncpy: Fix the return value.
5435         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
5436         description of the return value consistent with stpncpy in glibc.
5437         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
5438         written non-NUL unit.
5439
5440 2010-01-10  Bruno Haible  <bruno@clisp.org>
5441
5442         unistr/u*-next: Add missing dependencies.
5443         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
5444         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
5445         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
5446
5447 2010-01-10  Bruno Haible  <bruno@clisp.org>
5448
5449         unistr/u8-mbsnlen: Fix return value for incomplete character.
5450         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
5451         u8_mblen.
5452         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
5453         Remove unistr/u8-mblen.
5454         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
5455         u16_mblen.
5456         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
5457         Remove unistr/u16-mblen.
5458
5459 2010-01-10  Bruno Haible  <bruno@clisp.org>
5460
5461         wchar: Fix compilation error when <wchar.h> is used from coreutils.
5462         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
5463         Reported by Brian Gough <bjg@gnu.org> and
5464         Chris Clayton <chris2553@googlemail.com> via
5465         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
5466
5467 2010-01-09  Bruno Haible  <bruno@clisp.org>
5468
5469         unistr/u16-to-u32: Reject invalid input.
5470         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
5471         u16_mbtouc.
5472         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
5473         Remove unistr/u16-mbtouc.
5474
5475         unistr/u16-to-u8: Reject invalid input.
5476         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
5477         u16_mbtouc.
5478         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
5479         Remove unistr/u16-mbtouc.
5480
5481         unistr/u8-to-u32: Reject invalid input.
5482         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
5483         u8_mbtouc.
5484         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
5485         Remove unistr/u8-mbtouc.
5486
5487         unistr/u8-to-u16: Reject invalid input.
5488         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
5489         u8_mbtouc.
5490         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
5491         Remove unistr/u8-mbtouc.
5492
5493 2010-01-09  Bruno Haible  <bruno@clisp.org>
5494
5495         Tests for module 'getlogin'.
5496         * modules/getlogin-tests: New file.
5497         * tests/test-getlogin.c: New file.
5498
5499         New module 'getlogin'.
5500         * lib/unistd.in.h (getlogin): New declaration.
5501         * lib/getlogin.c: New file.
5502         * m4/getlogin.m4: New file.
5503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
5504         HAVE_GETLOGIN.
5505         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
5506         HAVE_GETLOGIN.
5507         * modules/getlogin: New file.
5508         * doc/posix-functions/getlogin.texi: Mention the new module.
5509         Reported by John W. Eaton <jwe@gnu.org>.
5510
5511 2010-01-09  Bruno Haible  <bruno@clisp.org>
5512
5513         getlogin_r: Support for native Windows.
5514         * lib/getlogin_r.c: Include <windows.h>
5515         (getlogin_r): Implement for native Windows.
5516         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
5517         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
5518         via John W. Eaton <jwe@gnu.org>.
5519
5520 2010-01-09  Bruno Haible  <bruno@clisp.org>
5521
5522         getlogin_r: Small fixes.
5523         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
5524         succeeds.
5525         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
5526         before testing whether getlogin_r is declared. No need to set
5527         HAVE_DECL_GETLOGIN_R to 1.
5528         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
5529
5530 2010-01-09  Bruno Haible  <bruno@clisp.org>
5531
5532         * lib/unistd.in.h (getlogin_r): Add comment.
5533
5534 2010-01-09  Bruno Haible  <bruno@clisp.org>
5535
5536         Tests for module 'getlogin_r'.
5537         * modules/getlogin_r-tests: New file.
5538         * tests/test-getlogin_r.c: New file.
5539
5540 2010-01-09  Jim Meyering  <meyering@redhat.com>
5541
5542         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
5543         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
5544         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
5545
5546 2010-01-08  Simon Josefsson  <simon@josefsson.org>
5547
5548         * lib/dup2.c (rpl_dup2): Improve comment.
5549
5550 2010-01-08  Eric Blake  <ebb9@byu.net>
5551
5552         maint.mk: allow packages to add makefile @@ exceptions
5553         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
5554         (sc_makefile_check): Rename...
5555         (sc_makefile_at_at_check): ...to this, and use hook.
5556
5557         dup2: work around mingw bug
5558         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
5559         Reported by Simon Josefsson.
5560
5561 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
5562
5563         glob: Fix C++ compilation.
5564         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
5565         C++.
5566
5567 2010-01-07  Bruno Haible  <bruno@clisp.org>
5568
5569         Fix indentation of wctype.in.h, broken since 2007-01-06.
5570         * lib/wctype.in.h: Fix indentation of preprocessor directives.
5571
5572 2010-01-07  Bruno Haible  <bruno@clisp.org>
5573
5574         mbslen: Avoid collision with system function.
5575         * lib/string.in.h [MirBSD]: Include <wchar.h>.
5576         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
5577         * m4/mbslen.m4: New file.
5578         * modules/mbslen (Files): Add it.
5579         (configure.ac): Invoke gl_MBSLEN.
5580         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
5581         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
5582         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
5583         via Ian Beckwith <ianb@erislabs.net>.
5584
5585 2010-01-07  Bruno Haible  <bruno@clisp.org>
5586
5587         dirent: Document the last fix.
5588         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
5589
5590 2010-01-07  Bruno Haible  <bruno@clisp.org>
5591
5592         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
5593         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
5594         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
5595         va_list are defined.
5596         * doc/posix-headers/stdio.texi: Document the bug of missing types.
5597         Reported by Eric Blake.
5598
5599 2010-01-07  Bruno Haible  <bruno@clisp.org>
5600
5601         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
5602         * modules/xlist (Depends-on): Add 'list',
5603         * modules/xoset (Depends-on): Add 'oset'.
5604         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5605
5606 2010-01-07  Bruno Haible  <bruno@clisp.org>
5607
5608         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
5609         * doc/posix-functions/strncasecmp.texi: Likewise.
5610
5611 2010-01-07  Bruno Haible  <bruno@clisp.org>
5612
5613         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
5614
5615 2010-01-07  John W. Eaton  <jwe@octave.org>
5616
5617         wctype: allow C++ use
5618         * lib/wctype.in.h: Add extern "C" block for C++.
5619
5620 2010-01-06  Eric Blake  <ebb9@byu.net>
5621
5622         maint.mk: detect incorrect GFDL usage
5623         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
5624
5625 2010-01-06  Jim Meyering  <meyering@redhat.com>
5626         and Eric Blake  <ebb9@byu.net>
5627
5628         maint.mk: ignore multi-line copyright in NEWS
5629         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
5630
5631 2010-01-06  Eric Blake  <ebb9@byu.net>
5632
5633         select: add missing dependency
5634         * modules/select-tests (Depends-on): Move sockets dependency...
5635         * modules/select (Depends-on): ...here.
5636         Reported by Ian Beckwith.
5637
5638         doc: regenerate INSTALL
5639         * doc/INSTALL: Reflect recent autoconf update.
5640         * doc/INSTALL.ISO: Likewise.
5641         * doc/INSTALL.UTF-8: Likewise.
5642
5643         pread: fix compilation on glibc
5644         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
5645         Reported by Ralf Wildenhues.
5646
5647         dirent: fix test failure
5648         * lib/dirent.in.h (includes): Guarantee ino_t.
5649         Reported by Ralf Wildenhues.
5650
5651 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
5652
5653         linkat, renameat: avoid bad free
5654         * lib/at-func2.c (at_func2): Fix typo.
5655         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
5656
5657 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5658
5659         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
5660         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
5661         to avoid failure of symlink test later.
5662
5663 2010-01-06  Eric Blake  <ebb9@byu.net>
5664
5665         stdio, unistd: guarantee ssize_t
5666         * lib/unistd.in.h (includes): Ensure that types required by POSIX
5667         2008 are exposed when needed.
5668         * lib/stdio.in.h (includes): Likewise.
5669         Reported by Ralf Wildenhues.
5670
5671 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
5672
5673         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
5674         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
5675         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
5676
5677 2010-01-06  Jim Meyering  <meyering@redhat.com>
5678
5679         readtokens: this module *does* require xalloc.h
5680         It uses only functions that were omitted by the old syntax-check rule.
5681         * lib/readtokens.c: Include "xalloc.h" once again.
5682         * modules/readtokens (Depends-on): Add xalloc.
5683         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
5684
5685 2010-01-05  Eric Blake  <ebb9@byu.net>
5686
5687         maint: support 'make announcement' from a VPATH build
5688         * top/maint.mk (announcement): Look for correct NEWS file.
5689
5690 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
5691
5692         utimens (fdutimens): ignore a negative FD, per contract
5693         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
5694         when we have a valid file descriptor.  Otherwise, using a brand
5695         new glibc (with just-patched futimens that now fails with EBADF)
5696         would cause this function to fail with ENOSYS.
5697         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
5698         See also http://bugzilla.redhat.com/552320.
5699
5700 2010-01-05  Eric Blake  <ebb9@byu.net>
5701
5702         strcase: document what it provides
5703         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
5704         gnulib module.
5705         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
5706         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
5707
5708 2010-01-05  Jim Meyering  <meyering@redhat.com>
5709
5710         maint: remove useless inclusions of "xalloc.h"
5711         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
5712         * lib/readtokens.c: Likewise.
5713         * lib/same.c: Likewise.
5714         * modules/getloadavg (Depends-on): Remove xalloc.
5715         * modules/readtokens: Likewise.
5716         * modules/same: Likewise.
5717
5718         maint.mk: include 4 more function names in alloca.h-checking regexp
5719         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
5720         regexp.  Before, we would give a false-positive (saying alloca.h
5721         is included unnecessarily) when the only uses involved omitted symbols.
5722
5723         xalloc.h: use consistent formatting
5724         * lib/xalloc.h: Move declarations to start in the first column.
5725
5726 2010-01-05  Eric Blake  <ebb9@byu.net>
5727
5728         mkdir: avoid xalloc
5729         * lib/mkdir.c (includes): Drop unused header.
5730         Reported by John W. Eaton.
5731
5732 2010-01-04  Jim Meyering  <meyering@redhat.com>
5733
5734         nl_langinfo: avoid configure-time syntax error
5735         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
5736         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
5737         the empty string.  Don't let that provoke a shell syntax error.
5738
5739         regcomp, regexec, fnmatch: avoid array bounds read error
5740         * lib/regcomp.c (build_equiv_class): From glibc:
5741         Use only the low 24 bits of a findidx return value as an index
5742         into the weights array.  Patch by Ulrich Drepper:
5743         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
5744         * lib/regexec.c (check_node_accept_bytes): Likewise.
5745         * lib/fnmatch_loop.c (FCT): Likewise.
5746
5747         regcomp: skip collseq lookup when there are no rules
5748         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
5749         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
5750
5751         regcomp: recognize ill-formed { } expressions
5752         * lib/regcomp.c (parse_dup_op): From glibc:
5753         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
5754
5755         regcomp: fix typo in comment
5756         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
5757         s/satisfy/satisfies/.
5758
5759         regcomp: sync from glibc: remove dead store
5760         * lib/regcomp.c (duplicate_node_closure): Remove useless
5761         search_duplicated_node call and dead store.
5762
5763         regcomp: sync from glibc; always use nl_langinfo
5764         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
5765         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
5766         * modules/regex (Depends-on): Add nl_langinfo.
5767
5768 2010-01-04  Eric Blake  <ebb9@byu.net>
5769
5770         fdopendir: fix configure test
5771         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
5772
5773 2010-01-01  Bruno Haible  <bruno@clisp.org>
5774
5775         wchar: Remove unused configure check.
5776         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
5777
5778 2010-01-01  Eric Blake  <ebb9@byu.net>
5779
5780         headers: make check of system header explicit
5781         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
5782         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
5783         ourselves.
5784         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5785         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5786         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
5787         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
5788         internals.
5789         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
5790         missing.
5791         Suggested by Bruno Haible.
5792
5793 2010-01-01  Jim Meyering  <meyering@redhat.com>
5794
5795         ChangeLog: tweak to eliminate unnecessary copyright line
5796         * ChangeLog: Remove a copyright line that was mistakenly updated
5797         by today's update-copyright run.  Reported by Eric Blake.
5798
5799         test-update-copyright: don't let envvar setting cause test failure
5800         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5801
5802 2010-01-01  Bruno Haible  <bruno@clisp.org>
5803
5804         localename: Avoid gcc warning.
5805         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
5806         function if it is not used.
5807
5808 2010-01-01  Jim Meyering  <meyering@redhat.com>
5809
5810         update nearly all FSF copyright year lists to include 2010
5811         Use the same procedure as for 2009, outlined in
5812         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
5813
5814         version-etc: set COPYRIGHT_YEAR to 2010
5815         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
5816
5817 2009-12-31  Eric Blake  <ebb9@byu.net>
5818
5819         doc: correct availability of cygwin 1.5.x getopt
5820         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
5821         variables.
5822         * doc/posix-functions/opterr.texi (opterr): Likewise.
5823         * doc/posix-functions/optind.texi (optind): Likewise.
5824         * doc/posix-functions/optopt.texi (optopt): Likewise.
5825         * doc/posix-functions/tzname.texi (tzname): Likewise.
5826
5827         openat: update maintainer
5828         * modules/openat (Maintainer): Add myself.
5829
5830         utimens: avoid shadowing warning
5831         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
5832         buffers into one, to avoid shadowing, as well as avoiding a
5833         redundant stat.
5834         Reported by Jim Meyering.
5835
5836         test-dup2: avoid compiler warning
5837         * tests/test-dup2.c (is_inheritable): Only define if used.
5838
5839 2010-01-01  Bruno Haible  <bruno@clisp.org>
5840
5841         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
5842         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
5843         defined, use wctomb instead of wcrtomb.
5844
5845 2010-01-01  Bruno Haible  <bruno@clisp.org>
5846
5847         iconv: Reject native Solaris iconv.
5848         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
5849         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
5850
5851 2009-12-31  Bruno Haible  <bruno@clisp.org>
5852
5853         * tests/test-signal.c (main): Remove test of 'SIG'.
5854
5855 2009-12-31  Bruno Haible  <bruno@clisp.org>
5856
5857         spawn: Fix incomplete fix.
5858         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5859         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5860         warnings for GNULIB_POSIXCHECK again.
5861         Reported by Eric Blake.
5862
5863 2009-12-31  Bruno Haible  <bruno@clisp.org>
5864
5865         Avoid namespace pollution on glibc systems.
5866         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
5867         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
5868         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
5869         glibc systems.
5870
5871 2009-12-31  Bruno Haible  <bruno@clisp.org>
5872
5873         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
5874         (gl_REPLACE_WCHAR_H): Turn into a no-op.
5875         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
5876         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
5877         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
5878         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
5879         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
5880
5881 2009-12-31  Bruno Haible  <bruno@clisp.org>
5882
5883         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
5884         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
5885         afterwards.
5886
5887 2009-12-31  Bruno Haible  <bruno@clisp.org>
5888
5889         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
5890         SYS_UTSNAME_H.
5891
5892 2009-12-31  Bruno Haible  <bruno@clisp.org>
5893
5894         spawn: Fix misapplied patch.
5895         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5896         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5897         warnings for GNULIB_POSIXCHECK.
5898
5899 2009-12-31  Bruno Haible  <bruno@clisp.org>
5900
5901         times: Update after sys_times changed.
5902         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
5903         * modules/times (Files): Add it.
5904         (configure.ac): Invoke gl_FUNC_TIMES.
5905
5906 2009-12-31  Bruno Haible  <bruno@clisp.org>
5907
5908         Use AC_C_INLINE where necessary.
5909         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
5910         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
5911         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5912         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
5913         * m4/mbfile.m4 (gl_MBFILE): Likewise.
5914         * m4/mbiter.m4 (gl_MBITER): Likewise.
5915         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5916         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5917         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
5918         * modules/u64 (configure.ac): Likewise.
5919
5920 2009-12-31  Bruno Haible  <bruno@clisp.org>
5921
5922         Use AC_C_INLINE instead of module 'inline' where possible.
5923         * modules/inline (Description): Clarify purpose.
5924         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
5925         * modules/count-one-bits (Depends-on): Remove inline.
5926         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
5927         * modules/openat (Depends-on): Remove inline.
5928         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
5929         instead of depending on module 'inline'.
5930         * modules/filevercmp (Depends-on, configure.ac): Likewise.
5931         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
5932         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
5933         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
5934         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
5935         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
5936         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
5937         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
5938         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
5939         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
5940         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
5941         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
5942         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
5943         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
5944         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
5945         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
5946         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
5947         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
5948         Likewise.
5949         * modules/unictype/property-ascii-hex-digit (Depends-on,
5950         configure.ac): Likewise.
5951         * modules/unictype/property-bidi-arabic-digit (Depends-on,
5952         configure.ac): Likewise.
5953         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
5954         configure.ac): Likewise.
5955         * modules/unictype/property-bidi-block-separator (Depends-on,
5956         configure.ac): Likewise.
5957         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
5958         configure.ac): Likewise.
5959         * modules/unictype/property-bidi-common-separator (Depends-on,
5960         configure.ac): Likewise.
5961         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
5962         Likewise.
5963         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
5964         configure.ac): Likewise.
5965         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
5966         configure.ac): Likewise.
5967         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
5968         configure.ac): Likewise.
5969         * modules/unictype/property-bidi-european-digit (Depends-on,
5970         configure.ac): Likewise.
5971         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
5972         configure.ac): Likewise.
5973         * modules/unictype/property-bidi-left-to-right (Depends-on,
5974         configure.ac): Likewise.
5975         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
5976         configure.ac): Likewise.
5977         * modules/unictype/property-bidi-other-neutral (Depends-on,
5978         configure.ac): Likewise.
5979         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
5980         Likewise.
5981         * modules/unictype/property-bidi-segment-separator (Depends-on,
5982         configure.ac): Likewise.
5983         * modules/unictype/property-bidi-whitespace (Depends-on,
5984         configure.ac): Likewise.
5985         * modules/unictype/property-combining (Depends-on, configure.ac):
5986         Likewise.
5987         * modules/unictype/property-composite (Depends-on, configure.ac):
5988         Likewise.
5989         * modules/unictype/property-currency-symbol (Depends-on,
5990         configure.ac): Likewise.
5991         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
5992         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
5993         Likewise.
5994         * modules/unictype/property-default-ignorable-code-point (Depends-on,
5995         configure.ac): Likewise.
5996         * modules/unictype/property-deprecated (Depends-on, configure.ac):
5997         Likewise.
5998         * modules/unictype/property-diacritic (Depends-on, configure.ac):
5999         Likewise.
6000         * modules/unictype/property-extender (Depends-on, configure.ac):
6001         Likewise.
6002         * modules/unictype/property-format-control (Depends-on, configure.ac):
6003         Likewise.
6004         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
6005         Likewise.
6006         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
6007         Likewise.
6008         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
6009         Likewise.
6010         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
6011         Likewise.
6012         * modules/unictype/property-hyphen (Depends-on, configure.ac):
6013         Likewise.
6014         * modules/unictype/property-id-continue (Depends-on, configure.ac):
6015         Likewise.
6016         * modules/unictype/property-id-start (Depends-on, configure.ac):
6017         Likewise.
6018         * modules/unictype/property-ideographic (Depends-on, configure.ac):
6019         Likewise.
6020         * modules/unictype/property-ids-binary-operator (Depends-on,
6021         configure.ac): Likewise.
6022         * modules/unictype/property-ids-trinary-operator (Depends-on,
6023         configure.ac): Likewise.
6024         * modules/unictype/property-ignorable-control (Depends-on,
6025         configure.ac): Likewise.
6026         * modules/unictype/property-iso-control (Depends-on, configure.ac):
6027         Likewise.
6028         * modules/unictype/property-join-control (Depends-on, configure.ac):
6029         Likewise.
6030         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
6031         Likewise.
6032         * modules/unictype/property-line-separator (Depends-on, configure.ac):
6033         Likewise.
6034         * modules/unictype/property-logical-order-exception (Depends-on,
6035         configure.ac): Likewise.
6036         * modules/unictype/property-lowercase (Depends-on, configure.ac):
6037         Likewise.
6038         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
6039         * modules/unictype/property-non-break (Depends-on, configure.ac):
6040         Likewise.
6041         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
6042         Likewise.
6043         * modules/unictype/property-numeric (Depends-on, configure.ac):
6044         Likewise.
6045         * modules/unictype/property-other-alphabetic (Depends-on,
6046         configure.ac): Likewise.
6047         * modules/unictype/property-other-default-ignorable-code-point
6048         (Depends-on, configure.ac): Likewise.
6049         * modules/unictype/property-other-grapheme-extend (Depends-on,
6050         configure.ac): Likewise.
6051         * modules/unictype/property-other-id-continue (Depends-on,
6052         configure.ac): Likewise.
6053         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
6054         Likewise.
6055         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
6056         Likewise.
6057         * modules/unictype/property-other-math (Depends-on, configure.ac):
6058         Likewise.
6059         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
6060         Likewise.
6061         * modules/unictype/property-paired-punctuation (Depends-on,
6062         configure.ac): Likewise.
6063         * modules/unictype/property-paragraph-separator (Depends-on,
6064         configure.ac): Likewise.
6065         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
6066         Likewise.
6067         * modules/unictype/property-pattern-white-space (Depends-on,
6068         configure.ac): Likewise.
6069         * modules/unictype/property-private-use (Depends-on, configure.ac):
6070         Likewise.
6071         * modules/unictype/property-punctuation (Depends-on, configure.ac):
6072         Likewise.
6073         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
6074         Likewise.
6075         * modules/unictype/property-radical (Depends-on, configure.ac):
6076         Likewise.
6077         * modules/unictype/property-sentence-terminal (Depends-on,
6078         configure.ac): Likewise.
6079         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
6080         Likewise.
6081         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
6082         * modules/unictype/property-terminal-punctuation (Depends-on,
6083         configure.ac): Likewise.
6084         * modules/unictype/property-titlecase (Depends-on, configure.ac):
6085         Likewise.
6086         * modules/unictype/property-unassigned-code-value (Depends-on,
6087         configure.ac): Likewise.
6088         * modules/unictype/property-unified-ideograph (Depends-on,
6089         configure.ac): Likewise.
6090         * modules/unictype/property-uppercase (Depends-on, configure.ac):
6091         Likewise.
6092         * modules/unictype/property-variation-selector (Depends-on,
6093         configure.ac): Likewise.
6094         * modules/unictype/property-white-space (Depends-on, configure.ac):
6095         Likewise.
6096         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
6097         Likewise.
6098         * modules/unictype/property-xid-start (Depends-on, configure.ac):
6099         Likewise.
6100         * modules/unictype/property-zero-width (Depends-on, configure.ac):
6101         Likewise.
6102         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
6103         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
6104         Likewise.
6105
6106 2009-12-31  Bruno Haible  <bruno@clisp.org>
6107
6108         Remove unnecessary AC_C_INLINE invocation.
6109         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
6110         since 2009-08-21.
6111
6112 2009-12-31  Jim Meyering  <meyering@redhat.com>
6113
6114         maint.mk: don't require explicit gpg_key_ID in cfg.mk
6115         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
6116         With this change, we can all remove the gpg_key_ID = ... definition
6117         from our respective cfg.mk files.
6118
6119         maint.mk: create announcement template in ~/, not in /tmp
6120         * top/maint.mk (emit_upload_commands): Adjust.
6121         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
6122         Remove temporary file, .ci-msg.
6123
6124 2009-12-31  Eric Blake  <ebb9@byu.net>
6125
6126         link-warning: always build headers with link warnings
6127         * modules/arpa_inet (Makefile.am): Always build replacement
6128         header.
6129         * modules/ctype (Makefile.am): Likewise.
6130         * modules/dirent (Makefile.am): Likewise.
6131         * modules/inttypes (Makefile.am): Likewise.
6132         * modules/langinfo (Makefile.am): Likewise.
6133         * modules/locale (Makefile.am): Likewise.
6134         * modules/spawn (Makefile.am): Likewise.
6135         * modules/sys_file (Makefile.am): Likewise.
6136         * modules/sys_ioctl (Makefile.am): Likewise.
6137         * modules/sys_select (Makefile.am): Likewise.
6138         * modules/sys_socket (Makefile.am): Likewise.
6139         * modules/sys_times (Makefile.am): Likewise.
6140         * modules/sys_utsname (Makefile.am): Likewise.
6141         * modules/sys_wait (Makefile.am): Likewise.
6142         * modules/wchar (Makefile.am): Likewise.
6143         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
6144         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
6145         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
6146         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
6147         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
6148         Likewise.
6149         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
6150         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
6151         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
6152         Likewise.
6153         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
6154         Likewise.
6155         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
6156         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
6157         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
6158         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6159         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6160         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
6161         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
6162         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
6163         (gl_WCHAR_H_DEFAULTS): Likewise.
6164
6165 2009-12-31  Eric Blake  <ebb9@byu.net>
6166
6167         signal, spawn: use link warnings
6168         * lib/signal.in.h (sigset_t): Make unconditional.
6169         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
6170         (sigpending, sigprocmask, sigaction): Add link warnings.
6171         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
6172         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
6173         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
6174         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
6175         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
6176         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
6177         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
6178         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
6179         (posix_spawn_file_actions_destroy)
6180         (posix_spawn_file_actions_addopen)
6181         (posix_spawn_file_actions_addclose)
6182         (posix_spawn_file_actions_adddup2): Likewise.
6183         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
6184         * tests/test-signal.c (main): Enhance test.
6185
6186         spawn: improve wrapper support
6187         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
6188         (gl_SPAWN_H_DEFAULTS): New defaults.
6189         * modules/spawn (Makefile.am): Substitute them.
6190         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
6191         Only declare if missing or broken.
6192
6193         sys_times, sys_utsname: use include_next
6194         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
6195         header.
6196         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
6197         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
6198         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
6199         * modules/sys_times (Depends-on): Add include_next.
6200         (Makefile.am): Substitute additional values.
6201         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
6202         * lib/sys_times.in.h (includes): Include native header, if
6203         available.
6204         * lib/sys_utsname.in.h (includes): Likewise.
6205         * tests/test-sys_times.c (main): Enhance test.
6206
6207         fdutimensat: revert prior patch
6208         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
6209         utimens.h.
6210         Reported by Bruno Haible.
6211
6212 2009-12-30  Eric Blake  <ebb9@byu.net>
6213
6214         sys_wait: drop link-warning dependency
6215         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
6216         link-warning efforts.
6217         * lib/sys_wait.in.h: Likewise.
6218
6219         fdutimensat: remove bogus dependency
6220         * modules/fdutimensat (Depends-on): Drop inline.
6221
6222         unistd: fix typo
6223         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
6224
6225 2009-12-30  Bruno Haible  <bruno@clisp.org>
6226
6227         Fix compilation error with Solaris cc.
6228         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
6229         * lib/unicase/u16-is-invariant.c: Likewise.
6230         * lib/unicase/u32-is-invariant.c: Likewise.
6231         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
6232
6233 2009-12-30  Bruno Haible  <bruno@clisp.org>
6234
6235         Fix test crash.
6236         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
6237         locales.
6238         Reported by Simon Josefsson <simon@josefsson.org>.
6239
6240 2009-12-30  Bruno Haible  <bruno@clisp.org>
6241
6242         Fix compilation error on most platforms.
6243         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
6244         Reported by Simon Josefsson <simon@josefsson.org>
6245         and Nelson H. F. Beebe <beebe@math.utah.edu>.
6246
6247 2009-12-30  Eric Blake  <ebb9@byu.net>
6248
6249         futimens, utimensat: work around ntfs-3g bug
6250         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
6251         a ctime bug is present, and expand workaround to cover ntfs-3g.
6252         * lib/utimens.c (fdutimens, lutimens): Likewise.
6253         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
6254         (validate_timespec): Adjust return value.
6255         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
6256         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
6257         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
6258
6259 2009-12-29  Eric Blake  <ebb9@byu.net>
6260
6261         link-warning: make usage consistent
6262         * modules/ctype (Depends-on): Add link-warning.
6263         (Makefile.am): Update rules accordingly.
6264         * modules/langinfo (Depends-on, Makefile.am): Likewise.
6265         * modules/locale (Depends-on, Makefile.am): Likewise.
6266         * modules/sys_file (Makefile.am): Likewise.
6267         * modules/getopt-posix (Makefile.am): Delete unused link warning
6268         efforts.
6269         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
6270         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
6271         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
6272         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
6273
6274         stdio: remove unused variables
6275         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
6276         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
6277         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6278
6279         tests: test more substitute headers
6280         * modules/ctype-tests: New file.
6281         * modules/dirent-tests: Likewise.
6282         * modules/spawn-tests: Likewise.
6283         * modules/sys_file-tests: Likewise.
6284         * modules/sys_ioctl-tests: Likewise.
6285         * modules/sys_wait-tests: Likewise.
6286         * tests/test-ctype.c: Likewise.
6287         * tests/test-dirent.c: Likewise.
6288         * tests/test-spawn.c: Likewise.
6289         * tests/test-sys_file.c: Likewise.
6290         * tests/test-sys_ioctl.c: Likewise.
6291         * tests/test-sys_wait.c: Likewise.
6292         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
6293         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
6294         whether or not flock is in use.
6295
6296         tests: remove License section from module
6297         * modules/arpa_inet-tests: Remove unneeded section.
6298         * modules/byteswap-tests: Likewise.
6299         * modules/ceilf-tests: Likewise.
6300         * modules/ceill-tests: Likewise.
6301         * modules/crypto/des-tests: Likewise.
6302         * modules/crypto/gc-arcfour-tests: Likewise.
6303         * modules/crypto/gc-arctwo-tests: Likewise.
6304         * modules/crypto/gc-des-tests: Likewise.
6305         * modules/crypto/gc-hmac-md5-tests: Likewise.
6306         * modules/crypto/gc-hmac-sha1-tests: Likewise.
6307         * modules/crypto/gc-md2-tests: Likewise.
6308         * modules/crypto/gc-md4-tests: Likewise.
6309         * modules/crypto/gc-md5-tests: Likewise.
6310         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
6311         * modules/crypto/gc-rijndael-tests: Likewise.
6312         * modules/crypto/gc-sha1-tests: Likewise.
6313         * modules/crypto/gc-tests: Likewise.
6314         * modules/crypto/md2-tests: Likewise.
6315         * modules/crypto/md4-tests: Likewise.
6316         * modules/fcntl-h-tests: Likewise.
6317         * modules/floorf-tests: Likewise.
6318         * modules/floorl-tests: Likewise.
6319         * modules/frexp-nolibm-tests: Likewise.
6320         * modules/frexp-tests: Likewise.
6321         * modules/frexpl-nolibm-tests: Likewise.
6322         * modules/frexpl-tests: Likewise.
6323         * modules/getaddrinfo-tests: Likewise.
6324         * modules/inttypes-tests: Likewise.
6325         * modules/isfinite-tests: Likewise.
6326         * modules/isinf-tests: Likewise.
6327         * modules/ldexpl-tests: Likewise.
6328         * modules/locale-tests: Likewise.
6329         * modules/math-tests: Likewise.
6330         * modules/netdb-tests: Likewise.
6331         * modules/netinet_in-tests: Likewise.
6332         * modules/printf-frexp-tests: Likewise.
6333         * modules/printf-frexpl-tests: Likewise.
6334         * modules/priv-set-tests: Likewise.
6335         * modules/random_r-tests: Likewise.
6336         * modules/round-tests: Likewise.
6337         * modules/roundf-tests: Likewise.
6338         * modules/roundl-tests: Likewise.
6339         * modules/search-tests: Likewise.
6340         * modules/select-tests: Likewise.
6341         * modules/signal-tests: Likewise.
6342         * modules/stdbool-tests: Likewise.
6343         * modules/stddef-tests: Likewise.
6344         * modules/stdint-tests: Likewise.
6345         * modules/stdio-tests: Likewise.
6346         * modules/stdlib-tests: Likewise.
6347         * modules/string-tests: Likewise.
6348         * modules/strings-tests: Likewise.
6349         * modules/sys_select-tests: Likewise.
6350         * modules/sys_socket-tests: Likewise.
6351         * modules/sys_stat-tests: Likewise.
6352         * modules/sys_time-tests: Likewise.
6353         * modules/sys_utsname-tests: Likewise.
6354         * modules/sysexits-tests: Likewise.
6355         * modules/time-tests: Likewise.
6356         * modules/trunc-tests: Likewise.
6357         * modules/truncf-tests: Likewise.
6358         * modules/truncl-tests: Likewise.
6359         * modules/tsearch-tests: Likewise.
6360         * modules/unistd-tests: Likewise.
6361         * modules/wchar-tests: Likewise.
6362         * modules/wctype-tests: Likewise.
6363
6364         tests: fix license on several tests
6365         * tests/test-des.c: Update to GPLv3+.
6366         * tests/test-flock.c: Likewise.
6367         * tests/test-fsync.c: Likewise.
6368         * tests/test-futimens.h: Likewise.
6369         * tests/test-gc-arcfour.c: Likewise.
6370         * tests/test-gc-arctwo.c: Likewise.
6371         * tests/test-gc-des.c: Likewise.
6372         * tests/test-gc-hmac-md5.c: Likewise.
6373         * tests/test-gc-hmac-sha1.c: Likewise.
6374         * tests/test-gc-md2.c: Likewise.
6375         * tests/test-gc-md4.c: Likewise.
6376         * tests/test-gc-md5.c: Likewise.
6377         * tests/test-gc-pbkdf2-sha1.c: Likewise.
6378         * tests/test-gc-rijndael.c: Likewise.
6379         * tests/test-gc-sha1.c: Likewise.
6380         * tests/test-gc.c: Likewise.
6381         * tests/test-getcwd.c: Likewise.
6382         * tests/test-link.c: Likewise.
6383         * tests/test-link.h: Likewise.
6384         * tests/test-lutimens.h: Likewise.
6385         * tests/test-md2.c: Likewise.
6386         * tests/test-md4.c: Likewise.
6387         * tests/test-mkdir.h: Likewise.
6388         * tests/test-rename.c: Likewise.
6389         * tests/test-rename.h: Likewise.
6390         * tests/test-safe-alloc.c: Likewise.
6391         * tests/test-utimens-common.h: Likewise.
6392         * tests/test-utimens.h: Likewise.
6393
6394         maint: sync license texts
6395         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
6396         * doc/gpl-3.0.texi: Revert copyright year update.
6397         * doc/lgpl-3.0.texi: Likewise.
6398
6399 2009-12-29  Jim Meyering  <meyering@redhat.com>
6400
6401         update nearly all FSF copyright year lists to include 2009
6402         The files named by the following are exempted:
6403             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
6404               test -f "$dst" && { echo "$dst"; continue; }
6405               test -d "$dst" || continue
6406               echo "$dst"/$(basename "$src")
6407             done > exempt
6408             git ls-files tests/unictype >> exempt
6409         In the remaining files, convert to all-interval notation if
6410         - there is already at least one year interval like 2000-2003
6411         - the file is maintained by me
6412         - the file is in lib/uni*/, where that style already prevails
6413         Otherwise, use update-copyright's default.
6414
6415 2009-12-29  Simon Josefsson  <simon@josefsson.org>
6416         and Eric Blake  <ebb9@byu.net>
6417
6418         tests: don't require debug system() to pass
6419         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
6420         * tests/test-rmdir.h (test_rmdir_func): Likewise.
6421         * tests/test-unlink.h (test_unlink_func): Likewise.
6422         * tests/test-fstatat.c (main): ...into callers.
6423         * tests/test-lstat.c (main): Likewise.
6424         * tests/test-rmdir.c (main): Likewise.
6425         * tests/test-unlink.c (main): Likewise.
6426         * tests/test-unlinkat.c (main): Likewise.
6427         * tests/test-areadlink-with-size.c (main): Don't require a
6428         debug-only system call to pass, aiding cross-testing to mingw.
6429         * tests/test-areadlink.c (main): Likewise.
6430         * tests/test-areadlinkat-with-size.c (main): Likewise.
6431         * tests/test-areadlinkat.c (main): Likewise.
6432         * tests/test-canonicalize-lgpl.c (main): Likewise.
6433         * tests/test-canonicalize.c (main): Likewise.
6434         * tests/test-chown.c (main): Likewise.
6435         * tests/test-fchownat.c (main): Likewise.
6436         * tests/test-lchown.c (main): Likewise.
6437         * tests/test-fdutimensat.c (main): Likewise.
6438         * tests/test-futimens.c (main): Likewise.
6439         * tests/test-link.c (main): Likewise.
6440         * tests/test-linkat.c (main): Likewise.
6441         * tests/test-mkdir.c (main): Likewise.
6442         * tests/test-mkdirat.c (main): Likewise.
6443         * tests/test-mkfifo.c (main): Likewise.
6444         * tests/test-mkfifoat.c (main): Likewise.
6445         * tests/test-mknod.c (main): Likewise.
6446         * tests/test-readlink.c (main): Likewise.
6447         * tests/test-remove.c (main): Likewise.
6448         * tests/test-rename.c (main): Likewise.
6449         * tests/test-renameat.c (main): Likewise.
6450         * tests/test-symlink.c (main): Likewise.
6451         * tests/test-symlinkat.c (main): Likewise.
6452         * tests/test-utimens.c (main): Likewise.
6453         * tests/test-utimensat.c (main): Likewise.
6454
6455 2009-12-29  Simon Josefsson  <simon@josefsson.org>
6456
6457         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
6458         on $(UNUSED_PARAMETER_H) to avoid build failure.
6459
6460 2009-12-28  Jim Meyering  <meyering@redhat.com>
6461
6462         update-copyright: you may specify a max. line length other than 72
6463         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
6464
6465         maint: use consistent FSF copyright line syntax
6466         * lib/posixtm.c: Add missing comma in FSF copyright line.
6467         * lib/posixtm.h: Likewise.
6468         * lib/getugroups.c: Add missing ", Inc.".
6469
6470         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
6471         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
6472         FSF copyright line.  Remove trailing blanks.
6473
6474 2009-12-28  Eric Blake  <ebb9@byu.net>
6475
6476         test-dup2: reduce dependencies
6477         * modules/cloexec (Configure.ac): Set witness.
6478         * modules/dup2-tests (Depends-on): Drop cloexec.
6479         * tests/test-dup2.c (main): Skip portion of test if cloexec module
6480         not present.
6481         Suggested by Bruno Haible.
6482
6483 2009-12-26  Bruno Haible  <bruno@clisp.org>
6484
6485         Remove an unneeded dependency.
6486         * modules/fseterr (Depends-on): Remove dup2.
6487
6488 2009-12-26  Eric Blake  <ebb9@byu.net>
6489
6490         tests: use macros.h in more places
6491         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
6492         (ASSERT_STREAM): Provide default of stderr.
6493         * tests/test-dirent-safer.c: Include macros.h, using alternate
6494         stream for assertions.
6495         * tests/test-dup-safer.c: Likewise.
6496         * tests/test-freopen-safer.c: Likewise.
6497         * tests/test-getopt.c: Likewise.
6498         * tests/test-openat-safer.c: Likewise.
6499         * tests/test-pipe.c: Likewise.
6500         * tests/test-popen-safer.c: Likewise.
6501         * modules/dirent-safer-tests (Files): Include macros.h.
6502         * modules/unistd-safer-tests (Files): Likewise.
6503         * modules/freopen-safer-tests (Files): Likewise.
6504         * modules/getopt-posix-tests (Files): Likewise.
6505         * modules/openat-safer-tests (Files): Likewise.
6506         * modules/pipe-tests (Files): Likewise.
6507
6508 2009-12-26  Bruno Haible  <bruno@clisp.org>
6509
6510         javacomp: Portability fix.
6511         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
6512         that it also works on Solaris.
6513
6514 2009-12-26  Bruno Haible  <bruno@clisp.org>
6515
6516         localename: Fix storage allocation of gl_locale_name_thread's result.
6517         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
6518         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
6519         all platforms that have 'uselocale'.
6520         (gl_locale_name_thread_unsafe): New function, extracted from
6521         gl_locale_name_thread.
6522         (gl_locale_name_thread): Call struniq on all platforms that have
6523         'uselocale'.
6524         * tests/test-localename.c (test_locale_name_thread): Check that the
6525         resulting strings are permanently allocated.
6526         * modules/localename-tests (Depends-on): Add strdup.
6527
6528 2009-12-26  Bruno Haible  <bruno@clisp.org>
6529
6530         * tests/test-localename.c (categories): Fill in the strings.
6531
6532 2009-12-26  Jim Meyering  <meyering@redhat.com>
6533
6534         isdir: complete the removal of m4/isdir.m4
6535         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
6536
6537         isdir: clean up, since at least grep still uses it
6538         * lib/isdir.c: Include "isdir.h".
6539         (S_ISDIR): Remove now-unneeded definition.
6540         * modules/isdir (Files): Add lib/isdir.h.
6541         * lib/isdir.h: New file, with declaration.
6542         * m4/isdir.m4: Remove file -- unneeded.
6543
6544 2009-12-25  Bruno Haible  <bruno@clisp.org>
6545
6546         selinux-h: Make generated .h files standalone.
6547         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
6548         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
6549         * lib/se-selinux.in.h: Likewise.
6550         * modules/selinux-h (Depends-on): Add unused-parameter.
6551         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
6552         selinux/selinux.h and selinux/context.h.
6553         Suggested by Eric Blake.
6554
6555 2009-12-25  Bruno Haible  <bruno@clisp.org>
6556
6557         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
6558         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
6559         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
6560         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
6561         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
6562
6563 2009-12-24  Bruno Haible  <bruno@clisp.org>
6564
6565         openat: Fix warning.
6566         * lib/openat-proc.c: Include <unistd.h>.
6567
6568 2009-12-24  Bruno Haible  <bruno@clisp.org>
6569
6570         New module 'unused-parameter'.
6571         * build-aux/unused-parameter.h: New file, extracted from earlier
6572         gnulib-common.m4.
6573         * modules/unused-parameter: New file.
6574         * lib/unistr.h: Include unused-parameter.h.
6575         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
6576         _GL_UNUSED.
6577         * modules/unistr/base (Depends-on): Add unused-parameter.
6578
6579 2009-12-24  Bruno Haible  <bruno@clisp.org>
6580
6581         Add missing dependencies to 'extensions' module.
6582         * m4/extensions.m4: Add comment.
6583         * modules/accept4 (Depends-on): Add extensions.
6584         * modules/dup3 (Depends-on): Likewise.
6585         * modules/fcntl (Depends-on): Likewise.
6586         * modules/futimens (Depends-on): Likewise.
6587         * modules/mknod (Depends-on): Likewise.
6588         * modules/pipe2 (Depends-on): Likewise.
6589         * modules/stat-time (Depends-on): Likewise.
6590         * modules/strcasestr-simple (Depends-on): Likewise.
6591         * modules/strsignal (Depends-on): Likewise.
6592         * modules/utimensat (Depends-on): Likewise.
6593         * modules/localcharset (Depends-on): Likewise. Needed because of
6594         gl_FCNTL_O_FLAGS.
6595         * modules/wcrtomb (Depends-on): Likewise. Needed because of
6596         AC_TYPE_MBSTATE_T.
6597         * modules/wcsnrtombs (Depends-on): Likewise.
6598         * modules/wcsrtombs (Depends-on): Likewise.
6599
6600 2009-12-24  Bruno Haible  <bruno@clisp.org>
6601
6602         binary-io: Avoid gcc warning due to SET_BINARY.
6603         * lib/binary-io.h (SET_BINARY): Cast the result to void.
6604         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
6605
6606 2009-12-24  Bruno Haible  <bruno@clisp.org>
6607
6608         Avoid future namespace pollution on glibc systems.
6609         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
6610         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
6611         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
6612         glibc systems.
6613
6614 2009-12-24  Bruno Haible  <bruno@clisp.org>
6615
6616         Refactor common macros used in tests.
6617         * tests/macros.h: New file.
6618         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
6619         and/or <stdlib.h>, if appropriate.
6620         (ASSERT, SIZEOF): Remove macros.
6621         * tests/test-areadlink-with-size.c: Likewise.
6622         * tests/test-areadlinkat.c: Likewise.
6623         * tests/test-areadlinkat-with-size.c: Likewise.
6624         * tests/test-argmatch.c: Likewise.
6625         * tests/test-argv-iter.c: Likewise.
6626         * tests/test-array-mergesort.c: Likewise.
6627         * tests/test-array_list.c: Likewise.
6628         * tests/test-array_oset.c: Likewise.
6629         * tests/test-avltree_list.c: Likewise.
6630         * tests/test-avltree_oset.c: Likewise.
6631         * tests/test-avltreehash_list.c: Likewise.
6632         * tests/test-base64.c: Likewise.
6633         * tests/test-binary-io.c: Likewise.
6634         * tests/test-bitrotate.c: Likewise.
6635         * tests/test-btowc.c: Likewise.
6636         * tests/test-byteswap.c: Likewise.
6637         * tests/test-c-ctype.c: Likewise.
6638         * tests/test-c-stack.c: Likewise.
6639         * tests/test-c-strcasecmp.c: Likewise.
6640         * tests/test-c-strcasestr.c: Likewise.
6641         * tests/test-c-strncasecmp.c: Likewise.
6642         * tests/test-c-strstr.c: Likewise.
6643         * tests/test-canonicalize-lgpl.c: Likewise.
6644         * tests/test-canonicalize.c: Likewise.
6645         * tests/test-carray_list.c: Likewise.
6646         * tests/test-ceilf1.c: Likewise.
6647         * tests/test-ceilf2.c: Likewise.
6648         * tests/test-ceill.c: Likewise.
6649         * tests/test-chown.c: Likewise.
6650         * tests/test-cloexec.c: Likewise.
6651         * tests/test-copy-acl.c: Likewise.
6652         * tests/test-copy-file.c: Likewise.
6653         * tests/test-count-one-bits.c: Likewise.
6654         * tests/test-dprintf-posix.c: Likewise.
6655         * tests/test-dup2.c: Likewise.
6656         * tests/test-dup3.c: Likewise.
6657         * tests/test-duplocale.c: Likewise.
6658         * tests/test-fbufmode.c: Likewise.
6659         * tests/test-fchdir.c: Likewise.
6660         * tests/test-fchownat.c: Likewise.
6661         * tests/test-fcntl-safer.c: Likewise.
6662         * tests/test-fcntl.c: Likewise.
6663         * tests/test-fdopendir.c: Likewise.
6664         * tests/test-fdutimensat.c: Likewise.
6665         * tests/test-fflush2.c: Likewise.
6666         * tests/test-file-has-acl.c: Likewise.
6667         * tests/test-filevercmp.c: Likewise.
6668         * tests/test-flock.c: Likewise.
6669         * tests/test-floorf1.c: Likewise.
6670         * tests/test-floorf2.c: Likewise.
6671         * tests/test-floorl.c: Likewise.
6672         * tests/test-fnmatch.c: Likewise.
6673         * tests/test-fopen.h: Likewise.
6674         * tests/test-fpending.c: Likewise.
6675         * tests/test-fprintf-posix.c: Likewise.
6676         * tests/test-fpurge.c: Likewise.
6677         * tests/test-freadable.c: Likewise.
6678         * tests/test-freadahead.c: Likewise.
6679         * tests/test-freading.c: Likewise.
6680         * tests/test-freadptr.c: Likewise.
6681         * tests/test-freadptr2.c: Likewise.
6682         * tests/test-freadseek.c: Likewise.
6683         * tests/test-freopen.c: Likewise.
6684         * tests/test-frexp.c: Likewise.
6685         * tests/test-frexpl.c: Likewise.
6686         * tests/test-fseek.c: Likewise.
6687         * tests/test-fseeko.c: Likewise.
6688         * tests/test-fstatat.c: Likewise.
6689         * tests/test-fstrcmp.c: Likewise.
6690         * tests/test-fsync.c: Likewise.
6691         * tests/test-ftell.c: Likewise.
6692         * tests/test-ftello.c: Likewise.
6693         * tests/test-func.c: Likewise.
6694         * tests/test-futimens.c: Likewise.
6695         * tests/test-fwritable.c: Likewise.
6696         * tests/test-fwriting.c: Likewise.
6697         * tests/test-getcwd.c: Likewise.
6698         * tests/test-getdate.c: Likewise.
6699         * tests/test-getdelim.c: Likewise.
6700         * tests/test-getdtablesize.c: Likewise.
6701         * tests/test-getgroups.c: Likewise.
6702         * tests/test-getline.c: Likewise.
6703         * tests/test-getndelim2.c: Likewise.
6704         * tests/test-glob.c: Likewise.
6705         * tests/test-hash.c: Likewise.
6706         * tests/test-i-ring.c: Likewise.
6707         * tests/test-iconv-utf.c: Likewise.
6708         * tests/test-iconv.c: Likewise.
6709         * tests/test-idpriv-drop.c: Likewise.
6710         * tests/test-idpriv-droptemp.c: Likewise.
6711         * tests/test-inet_ntop.c: Likewise.
6712         * tests/test-inet_pton.c: Likewise.
6713         * tests/test-isblank.c: Likewise.
6714         * tests/test-isfinite.c: Likewise.
6715         * tests/test-isinf.c: Likewise.
6716         * tests/test-isnan.c: Likewise.
6717         * tests/test-isnand.h: Likewise.
6718         * tests/test-isnanf.h: Likewise.
6719         * tests/test-isnanl.h: Likewise.
6720         * tests/test-lchown.c: Likewise.
6721         * tests/test-ldexpl.c: Likewise.
6722         * tests/test-link.c: Likewise.
6723         * tests/test-linkat.c: Likewise.
6724         * tests/test-linked_list.c: Likewise.
6725         * tests/test-linkedhash_list.c: Likewise.
6726         * tests/test-localename.c: Likewise.
6727         * tests/test-lseek.c: Likewise.
6728         * tests/test-lstat.c: Likewise.
6729         * tests/test-mbmemcasecmp.c: Likewise.
6730         * tests/test-mbmemcasecoll.c: Likewise.
6731         * tests/test-mbrtowc.c: Likewise.
6732         * tests/test-mbscasecmp.c: Likewise.
6733         * tests/test-mbscasestr1.c: Likewise.
6734         * tests/test-mbscasestr2.c: Likewise.
6735         * tests/test-mbscasestr3.c: Likewise.
6736         * tests/test-mbscasestr4.c: Likewise.
6737         * tests/test-mbschr.c: Likewise.
6738         * tests/test-mbscspn.c: Likewise.
6739         * tests/test-mbsinit.c: Likewise.
6740         * tests/test-mbsncasecmp.c: Likewise.
6741         * tests/test-mbsnrtowcs.c: Likewise.
6742         * tests/test-mbspbrk.c: Likewise.
6743         * tests/test-mbspcasecmp.c: Likewise.
6744         * tests/test-mbsrchr.c: Likewise.
6745         * tests/test-mbsrtowcs.c: Likewise.
6746         * tests/test-mbsspn.c: Likewise.
6747         * tests/test-mbsstr1.c: Likewise.
6748         * tests/test-mbsstr2.c: Likewise.
6749         * tests/test-mbsstr3.c: Likewise.
6750         * tests/test-memchr.c: Likewise.
6751         * tests/test-memchr2.c: Likewise.
6752         * tests/test-memcmp.c: Likewise.
6753         * tests/test-memmem.c: Likewise.
6754         * tests/test-memrchr.c: Likewise.
6755         * tests/test-mkdir.c: Likewise.
6756         * tests/test-mkdirat.c: Likewise.
6757         * tests/test-mkfifo.c: Likewise.
6758         * tests/test-mkfifoat.c: Likewise.
6759         * tests/test-mknod.c: Likewise.
6760         * tests/test-nanosleep.c: Likewise.
6761         * tests/test-nl_langinfo.c: Likewise.
6762         * tests/test-obstack-printf.c: Likewise.
6763         * tests/test-open.c: Likewise.
6764         * tests/test-openat.c: Likewise.
6765         * tests/test-pipe-filter-gi1.c: Likewise.
6766         * tests/test-pipe-filter-gi2-main.c: Likewise.
6767         * tests/test-pipe-filter-ii1.c: Likewise.
6768         * tests/test-pipe-filter-ii2-main.c: Likewise.
6769         * tests/test-pipe2.c: Likewise.
6770         * tests/test-popen.h: Likewise.
6771         * tests/test-posixtm.c: Likewise.
6772         * tests/test-pread.c: Likewise.
6773         * tests/test-printf-frexp.c: Likewise.
6774         * tests/test-printf-frexpl.c: Likewise.
6775         * tests/test-printf-posix.c: Likewise.
6776         * tests/test-priv-set.c: Likewise.
6777         * tests/test-quotearg.c: Likewise.
6778         * tests/test-random_r.c: Likewise.
6779         * tests/test-rawmemchr.c: Likewise.
6780         * tests/test-rbtree_list.c: Likewise.
6781         * tests/test-rbtree_oset.c: Likewise.
6782         * tests/test-rbtreehash_list.c: Likewise.
6783         * tests/test-readlink.c: Likewise.
6784         * tests/test-remove.c: Likewise.
6785         * tests/test-rename.c: Likewise.
6786         * tests/test-renameat.c: Likewise.
6787         * tests/test-rmdir.c: Likewise.
6788         * tests/test-round1.c: Likewise.
6789         * tests/test-roundf1.c: Likewise.
6790         * tests/test-roundl.c: Likewise.
6791         * tests/test-safe-alloc.c: Likewise.
6792         * tests/test-sameacls.c: Likewise.
6793         * tests/test-set-mode-acl.c: Likewise.
6794         * tests/test-setenv.c: Likewise.
6795         * tests/test-sigaction.c: Likewise.
6796         * tests/test-signbit.c: Likewise.
6797         * tests/test-sleep.c: Likewise.
6798         * tests/test-snprintf-posix.c: Likewise.
6799         * tests/test-snprintf.c: Likewise.
6800         * tests/test-sprintf-posix.c: Likewise.
6801         * tests/test-stat-time.c: Likewise.
6802         * tests/test-stat.c: Likewise.
6803         * tests/test-strcasestr.c: Likewise.
6804         * tests/test-strchrnul.c: Likewise.
6805         * tests/test-strerror.c: Likewise.
6806         * tests/test-striconv.c: Likewise.
6807         * tests/test-striconveh.c: Likewise.
6808         * tests/test-striconveha.c: Likewise.
6809         * tests/test-strsignal.c: Likewise.
6810         * tests/test-strstr.c: Likewise.
6811         * tests/test-strtod.c: Likewise.
6812         * tests/test-strverscmp.c: Likewise.
6813         * tests/test-symlink.c: Likewise.
6814         * tests/test-symlinkat.c: Likewise.
6815         * tests/test-trunc1.c: Likewise.
6816         * tests/test-trunc2.c: Likewise.
6817         * tests/test-truncf1.c: Likewise.
6818         * tests/test-truncf2.c: Likewise.
6819         * tests/test-truncl.c: Likewise.
6820         * tests/test-uname.c: Likewise.
6821         * tests/test-unlink.c: Likewise.
6822         * tests/test-unlinkat.c: Likewise.
6823         * tests/test-unsetenv.c: Likewise.
6824         * tests/test-usleep.c: Likewise.
6825         * tests/test-utimens.c: Likewise.
6826         * tests/test-utimensat.c: Likewise.
6827         * tests/test-vasnprintf-posix.c: Likewise.
6828         * tests/test-vasnprintf-posix2.c: Likewise.
6829         * tests/test-vasnprintf.c: Likewise.
6830         * tests/test-vasprintf-posix.c: Likewise.
6831         * tests/test-vasprintf.c: Likewise.
6832         * tests/test-vdprintf-posix.c: Likewise.
6833         * tests/test-vfprintf-posix.c: Likewise.
6834         * tests/test-vprintf-posix.c: Likewise.
6835         * tests/test-vsnprintf-posix.c: Likewise.
6836         * tests/test-vsnprintf.c: Likewise.
6837         * tests/test-vsprintf-posix.c: Likewise.
6838         * tests/test-wcrtomb.c: Likewise.
6839         * tests/test-wcsnrtombs.c: Likewise.
6840         * tests/test-wcsrtombs.c: Likewise.
6841         * tests/test-wctype.c: Likewise.
6842         * tests/test-wcwidth.c: Likewise.
6843         * tests/test-xfprintf-posix.c: Likewise.
6844         * tests/test-xmemdup0.c: Likewise.
6845         * tests/test-xprintf-posix.c: Likewise.
6846         * tests/test-xvasprintf.c: Likewise.
6847         * tests/unicase/test-locale-language.c: Likewise.
6848         * tests/unicase/test-mapping-part1.h: Likewise.
6849         * tests/unicase/test-predicate-part1.h: Likewise.
6850         * tests/unicase/test-u8-casecmp.c: Likewise.
6851         * tests/unicase/test-u8-casecoll.c: Likewise.
6852         * tests/unicase/test-u8-casefold.c: Likewise.
6853         * tests/unicase/test-u8-is-cased.c: Likewise.
6854         * tests/unicase/test-u8-is-casefolded.c: Likewise.
6855         * tests/unicase/test-u8-is-lowercase.c: Likewise.
6856         * tests/unicase/test-u8-is-titlecase.c: Likewise.
6857         * tests/unicase/test-u8-is-uppercase.c: Likewise.
6858         * tests/unicase/test-u8-tolower.c: Likewise.
6859         * tests/unicase/test-u8-totitle.c: Likewise.
6860         * tests/unicase/test-u8-toupper.c: Likewise.
6861         * tests/unicase/test-u16-casecmp.c: Likewise.
6862         * tests/unicase/test-u16-casecoll.c: Likewise.
6863         * tests/unicase/test-u16-casefold.c: Likewise.
6864         * tests/unicase/test-u16-is-cased.c: Likewise.
6865         * tests/unicase/test-u16-is-casefolded.c: Likewise.
6866         * tests/unicase/test-u16-is-lowercase.c: Likewise.
6867         * tests/unicase/test-u16-is-titlecase.c: Likewise.
6868         * tests/unicase/test-u16-is-uppercase.c: Likewise.
6869         * tests/unicase/test-u16-tolower.c: Likewise.
6870         * tests/unicase/test-u16-totitle.c: Likewise.
6871         * tests/unicase/test-u16-toupper.c: Likewise.
6872         * tests/unicase/test-u32-casecmp.c: Likewise.
6873         * tests/unicase/test-u32-casecoll.c: Likewise.
6874         * tests/unicase/test-u32-casefold.c: Likewise.
6875         * tests/unicase/test-u32-is-cased.c: Likewise.
6876         * tests/unicase/test-u32-is-casefolded.c: Likewise.
6877         * tests/unicase/test-u32-is-lowercase.c: Likewise.
6878         * tests/unicase/test-u32-is-titlecase.c: Likewise.
6879         * tests/unicase/test-u32-is-uppercase.c: Likewise.
6880         * tests/unicase/test-u32-tolower.c: Likewise.
6881         * tests/unicase/test-u32-totitle.c: Likewise.
6882         * tests/unicase/test-u32-toupper.c: Likewise.
6883         * tests/unicase/test-ulc-casecmp.c: Likewise.
6884         * tests/unicase/test-ulc-casecoll.c: Likewise.
6885         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6886         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
6887         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6888         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6889         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
6890         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
6891         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6892         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6893         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6894         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
6895         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6896         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6897         * tests/unictype/test-bidi_byname.c: Likewise.
6898         * tests/unictype/test-bidi_name.c: Likewise.
6899         * tests/unictype/test-bidi_of.c: Likewise.
6900         * tests/unictype/test-bidi_test.c: Likewise.
6901         * tests/unictype/test-block_list.c: Likewise.
6902         * tests/unictype/test-block_of.c: Likewise.
6903         * tests/unictype/test-block_test.c: Likewise.
6904         * tests/unictype/test-categ_and.c: Likewise.
6905         * tests/unictype/test-categ_and_not.c: Likewise.
6906         * tests/unictype/test-categ_byname.c: Likewise.
6907         * tests/unictype/test-categ_name.c: Likewise.
6908         * tests/unictype/test-categ_none.c: Likewise.
6909         * tests/unictype/test-categ_of.c: Likewise.
6910         * tests/unictype/test-categ_or.c: Likewise.
6911         * tests/unictype/test-categ_test_withtable.c: Likewise.
6912         * tests/unictype/test-combining.c: Likewise.
6913         * tests/unictype/test-decdigit.c: Likewise.
6914         * tests/unictype/test-digit.c: Likewise.
6915         * tests/unictype/test-mirror.c: Likewise.
6916         * tests/unictype/test-numeric.c: Likewise.
6917         * tests/unictype/test-pr_byname.c: Likewise.
6918         * tests/unictype/test-pr_test.c: Likewise.
6919         * tests/unictype/test-predicate-part1.h: Likewise.
6920         * tests/unictype/test-scripts.c: Likewise.
6921         * tests/unictype/test-sy_c_ident.c: Likewise.
6922         * tests/unictype/test-sy_java_ident.c: Likewise.
6923         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
6924         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
6925         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
6926         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
6927         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
6928         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
6929         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
6930         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
6931         * tests/uninorm/test-canonical-decomposition.c: Likewise.
6932         * tests/uninorm/test-compat-decomposition.c: Likewise.
6933         * tests/uninorm/test-composition.c: Likewise.
6934         * tests/uninorm/test-decomposing-form.c: Likewise.
6935         * tests/uninorm/test-decomposition.c: Likewise.
6936         * tests/uninorm/test-u8-nfc.c: Likewise.
6937         * tests/uninorm/test-u8-nfd.c: Likewise.
6938         * tests/uninorm/test-u8-nfkc.c: Likewise.
6939         * tests/uninorm/test-u8-nfkd.c: Likewise.
6940         * tests/uninorm/test-u8-normcmp.c: Likewise.
6941         * tests/uninorm/test-u8-normcoll.c: Likewise.
6942         * tests/uninorm/test-u16-nfc.c: Likewise.
6943         * tests/uninorm/test-u16-nfd.c: Likewise.
6944         * tests/uninorm/test-u16-nfkc.c: Likewise.
6945         * tests/uninorm/test-u16-nfkd.c: Likewise.
6946         * tests/uninorm/test-u16-normcmp.c: Likewise.
6947         * tests/uninorm/test-u16-normcoll.c: Likewise.
6948         * tests/uninorm/test-u32-nfc.c: Likewise.
6949         * tests/uninorm/test-u32-nfd.c: Likewise.
6950         * tests/uninorm/test-u32-nfkc.c: Likewise.
6951         * tests/uninorm/test-u32-nfkd.c: Likewise.
6952         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6953         * tests/uninorm/test-u32-normcmp.c: Likewise.
6954         * tests/uninorm/test-u32-normcoll.c: Likewise.
6955         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
6956         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
6957         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
6958         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
6959         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
6960         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
6961         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
6962         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
6963         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
6964         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
6965         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
6966         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
6967         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
6968         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
6969         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
6970         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
6971         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
6972         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
6973         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
6974         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
6975         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
6976         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
6977         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
6978         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
6979         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
6980         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
6981         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
6982         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
6983         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
6984         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
6985         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
6986         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
6987         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
6988         * tests/uniwidth/test-u8-strwidth.c: Likewise.
6989         * tests/uniwidth/test-u8-width.c: Likewise.
6990         * tests/uniwidth/test-u16-strwidth.c: Likewise.
6991         * tests/uniwidth/test-u16-width.c: Likewise.
6992         * tests/uniwidth/test-u32-strwidth.c: Likewise.
6993         * tests/uniwidth/test-u32-width.c: Likewise.
6994         * tests/uniwidth/test-uc_width.c: Likewise.
6995         * tests/uniwidth/test-uc_width2.c: Likewise.
6996         * modules/acl-tests (Files): Add tests/macros.h.
6997         * modules/areadlink-tests (Files): Likewise.
6998         * modules/areadlink-with-size-tests (Files): Likewise.
6999         * modules/areadlinkat-tests (Files): Likewise.
7000         * modules/areadlinkat-with-size-tests (Files): Likewise.
7001         * modules/argmatch-tests (Files): Likewise.
7002         * modules/argv-iter-tests (Files): Likewise.
7003         * modules/array-list-tests (Files): Likewise.
7004         * modules/array-mergesort-tests (Files): Likewise.
7005         * modules/array-oset-tests (Files): Likewise.
7006         * modules/avltree-list-tests (Files): Likewise.
7007         * modules/avltree-oset-tests (Files): Likewise.
7008         * modules/avltreehash-list-tests (Files): Likewise.
7009         * modules/base64-tests (Files): Likewise.
7010         * modules/binary-io-tests (Files): Likewise.
7011         * modules/bitrotate-tests (Files): Likewise.
7012         * modules/btowc-tests (Files): Likewise.
7013         * modules/byteswap-tests (Files): Likewise.
7014         * modules/c-ctype-tests (Files): Likewise.
7015         * modules/c-stack-tests (Files): Likewise.
7016         * modules/c-strcase-tests (Files): Likewise.
7017         * modules/c-strcasestr-tests (Files): Likewise.
7018         * modules/c-strstr-tests (Files): Likewise.
7019         * modules/canonicalize-lgpl-tests (Files): Likewise.
7020         * modules/canonicalize-tests (Files): Likewise.
7021         * modules/carray-list-tests (Files): Likewise.
7022         * modules/ceilf-tests (Files): Likewise.
7023         * modules/ceill-tests (Files): Likewise.
7024         * modules/chown-tests (Files): Likewise.
7025         * modules/cloexec-tests (Files): Likewise.
7026         * modules/copy-file-tests (Files): Likewise.
7027         * modules/count-one-bits-tests (Files): Likewise.
7028         * modules/dprintf-posix-tests (Files): Likewise.
7029         * modules/dup2-tests (Files): Likewise.
7030         * modules/dup3-tests (Files): Likewise.
7031         * modules/duplocale-tests (Files): Likewise.
7032         * modules/fbufmode-tests (Files): Likewise.
7033         * modules/fchdir-tests (Files): Likewise.
7034         * modules/fcntl-safer-tests (Files): Likewise.
7035         * modules/fcntl-tests (Files): Likewise.
7036         * modules/fdopendir-tests (Files): Likewise.
7037         * modules/fdutimensat-tests (Files): Likewise.
7038         * modules/fflush-tests (Files): Likewise.
7039         * modules/filevercmp-tests (Files): Likewise.
7040         * modules/flock-tests (Files): Likewise.
7041         * modules/floorf-tests (Files): Likewise.
7042         * modules/floorl-tests (Files): Likewise.
7043         * modules/fnmatch-tests (Files): Likewise.
7044         * modules/fopen-safer-tests (Files): Likewise.
7045         * modules/fopen-tests (Files): Likewise.
7046         * modules/fpending-tests (Files): Likewise.
7047         * modules/fprintf-posix-tests (Files): Likewise.
7048         * modules/fpurge-tests (Files): Likewise.
7049         * modules/freadable-tests (Files): Likewise.
7050         * modules/freadahead-tests (Files): Likewise.
7051         * modules/freading-tests (Files): Likewise.
7052         * modules/freadptr-tests (Files): Likewise.
7053         * modules/freadseek-tests (Files): Likewise.
7054         * modules/freopen-tests (Files): Likewise.
7055         * modules/frexp-nolibm-tests (Files): Likewise.
7056         * modules/frexp-tests (Files): Likewise.
7057         * modules/frexpl-nolibm-tests (Files): Likewise.
7058         * modules/frexpl-tests (Files): Likewise.
7059         * modules/fseek-tests (Files): Likewise.
7060         * modules/fseeko-tests (Files): Likewise.
7061         * modules/fstrcmp-tests (Files): Likewise.
7062         * modules/fsync-tests (Files): Likewise.
7063         * modules/ftell-tests (Files): Likewise.
7064         * modules/ftello-tests (Files): Likewise.
7065         * modules/func-tests (Files): Likewise.
7066         * modules/futimens-tests (Files): Likewise.
7067         * modules/fwritable-tests (Files): Likewise.
7068         * modules/fwriting-tests (Files): Likewise.
7069         * modules/getcwd-tests (Files): Likewise.
7070         * modules/getdate-tests (Files): Likewise.
7071         * modules/getdelim-tests (Files): Likewise.
7072         * modules/getdtablesize-tests (Files): Likewise.
7073         * modules/getgroups-tests (Files): Likewise.
7074         * modules/getline-tests (Files): Likewise.
7075         * modules/getndelim2-tests (Files): Likewise.
7076         * modules/glob-tests (Files): Likewise.
7077         * modules/hash-tests (Files): Likewise.
7078         * modules/i-ring-tests (Files): Likewise.
7079         * modules/iconv-tests (Files): Likewise.
7080         * modules/iconv_open-utf-tests (Files): Likewise.
7081         * modules/idpriv-drop-tests (Files): Likewise.
7082         * modules/idpriv-droptemp-tests (Files): Likewise.
7083         * modules/inet_ntop-tests (Files): Likewise.
7084         * modules/inet_pton-tests (Files): Likewise.
7085         * modules/isblank-tests (Files): Likewise.
7086         * modules/isfinite-tests (Files): Likewise.
7087         * modules/isinf-tests (Files): Likewise.
7088         * modules/isnan-tests (Files): Likewise.
7089         * modules/isnand-nolibm-tests (Files): Likewise.
7090         * modules/isnand-tests (Files): Likewise.
7091         * modules/isnanf-nolibm-tests (Files): Likewise.
7092         * modules/isnanf-tests (Files): Likewise.
7093         * modules/isnanl-nolibm-tests (Files): Likewise.
7094         * modules/isnanl-tests (Files): Likewise.
7095         * modules/lchown-tests (Files): Likewise.
7096         * modules/ldexpl-tests (Files): Likewise.
7097         * modules/link-tests (Files): Likewise.
7098         * modules/linkat-tests (Files): Likewise.
7099         * modules/linked-list-tests (Files): Likewise.
7100         * modules/linkedhash-list-tests (Files): Likewise.
7101         * modules/localename-tests (Files): Likewise.
7102         * modules/lseek-tests (Files): Likewise.
7103         * modules/lstat-tests (Files): Likewise.
7104         * modules/mbmemcasecmp-tests (Files): Likewise.
7105         * modules/mbmemcasecoll-tests (Files): Likewise.
7106         * modules/mbrtowc-tests (Files): Likewise.
7107         * modules/mbscasecmp-tests (Files): Likewise.
7108         * modules/mbscasestr-tests (Files): Likewise.
7109         * modules/mbschr-tests (Files): Likewise.
7110         * modules/mbscspn-tests (Files): Likewise.
7111         * modules/mbsinit-tests (Files): Likewise.
7112         * modules/mbsncasecmp-tests (Files): Likewise.
7113         * modules/mbsnrtowcs-tests (Files): Likewise.
7114         * modules/mbspbrk-tests (Files): Likewise.
7115         * modules/mbspcasecmp-tests (Files): Likewise.
7116         * modules/mbsrchr-tests (Files): Likewise.
7117         * modules/mbsrtowcs-tests (Files): Likewise.
7118         * modules/mbsspn-tests (Files): Likewise.
7119         * modules/mbsstr-tests (Files): Likewise.
7120         * modules/memchr-tests (Files): Likewise.
7121         * modules/memchr2-tests (Files): Likewise.
7122         * modules/memcmp-tests (Files): Likewise.
7123         * modules/memmem-tests (Files): Likewise.
7124         * modules/memrchr-tests (Files): Likewise.
7125         * modules/mkdir-tests (Files): Likewise.
7126         * modules/mkfifo-tests (Files): Likewise.
7127         * modules/mkfifoat-tests (Files): Likewise.
7128         * modules/mknod-tests (Files): Likewise.
7129         * modules/nanosleep-tests (Files): Likewise.
7130         * modules/nl_langinfo-tests (Files): Likewise.
7131         * modules/obstack-printf-tests (Files): Likewise.
7132         * modules/open-tests (Files): Likewise.
7133         * modules/openat-tests (Files): Likewise.
7134         * modules/pipe-filter-gi-tests (Files): Likewise.
7135         * modules/pipe-filter-ii-tests (Files): Likewise.
7136         * modules/pipe2-tests (Files): Likewise.
7137         * modules/popen-safer-tests (Files): Likewise.
7138         * modules/popen-tests (Files): Likewise.
7139         * modules/posixtm-tests (Files): Likewise.
7140         * modules/pread-tests (Files): Likewise.
7141         * modules/printf-frexp-tests (Files): Likewise.
7142         * modules/printf-frexpl-tests (Files): Likewise.
7143         * modules/printf-posix-tests (Files): Likewise.
7144         * modules/priv-set-tests (Files): Likewise.
7145         * modules/quotearg-tests (Files): Likewise.
7146         * modules/random_r-tests (Files): Likewise.
7147         * modules/rawmemchr-tests (Files): Likewise.
7148         * modules/rbtree-list-tests (Files): Likewise.
7149         * modules/rbtree-oset-tests (Files): Likewise.
7150         * modules/rbtreehash-list-tests (Files): Likewise.
7151         * modules/readlink-tests (Files): Likewise.
7152         * modules/remove-tests (Files): Likewise.
7153         * modules/rename-tests (Files): Likewise.
7154         * modules/renameat-tests (Files): Likewise.
7155         * modules/rmdir-tests (Files): Likewise.
7156         * modules/round-tests (Files): Likewise.
7157         * modules/roundf-tests (Files): Likewise.
7158         * modules/roundl-tests (Files): Likewise.
7159         * modules/safe-alloc-tests (Files): Likewise.
7160         * modules/setenv-tests (Files): Likewise.
7161         * modules/sigaction-tests (Files): Likewise.
7162         * modules/signbit-tests (Files): Likewise.
7163         * modules/sleep-tests (Files): Likewise.
7164         * modules/snprintf-posix-tests (Files): Likewise.
7165         * modules/snprintf-tests (Files): Likewise.
7166         * modules/sprintf-posix-tests (Files): Likewise.
7167         * modules/stat-tests (Files): Likewise.
7168         * modules/stat-time-tests (Files): Likewise.
7169         * modules/strcasestr-tests (Files): Likewise.
7170         * modules/strchrnul-tests (Files): Likewise.
7171         * modules/strerror-tests (Files): Likewise.
7172         * modules/striconv-tests (Files): Likewise.
7173         * modules/striconveh-tests (Files): Likewise.
7174         * modules/striconveha-tests (Files): Likewise.
7175         * modules/strsignal-tests (Files): Likewise.
7176         * modules/strstr-tests (Files): Likewise.
7177         * modules/strtod-tests (Files): Likewise.
7178         * modules/strverscmp-tests (Files): Likewise.
7179         * modules/symlink-tests (Files): Likewise.
7180         * modules/symlinkat-tests (Files): Likewise.
7181         * modules/trunc-tests (Files): Likewise.
7182         * modules/truncf-tests (Files): Likewise.
7183         * modules/truncl-tests (Files): Likewise.
7184         * modules/uname-tests (Files): Likewise.
7185         * modules/unicase/cased-tests (Files): Likewise.
7186         * modules/unicase/ignorable-tests (Files): Likewise.
7187         * modules/unicase/locale-language-tests (Files): Likewise.
7188         * modules/unicase/tolower-tests (Files): Likewise.
7189         * modules/unicase/totitle-tests (Files): Likewise.
7190         * modules/unicase/toupper-tests (Files): Likewise.
7191         * modules/unicase/u8-casecmp-tests (Files): Likewise.
7192         * modules/unicase/u8-casecoll-tests (Files): Likewise.
7193         * modules/unicase/u8-casefold-tests (Files): Likewise.
7194         * modules/unicase/u8-is-cased-tests (Files): Likewise.
7195         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
7196         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
7197         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
7198         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
7199         * modules/unicase/u8-tolower-tests (Files): Likewise.
7200         * modules/unicase/u8-totitle-tests (Files): Likewise.
7201         * modules/unicase/u8-toupper-tests (Files): Likewise.
7202         * modules/unicase/u16-casecmp-tests (Files): Likewise.
7203         * modules/unicase/u16-casecoll-tests (Files): Likewise.
7204         * modules/unicase/u16-casefold-tests (Files): Likewise.
7205         * modules/unicase/u16-is-cased-tests (Files): Likewise.
7206         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
7207         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
7208         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
7209         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
7210         * modules/unicase/u16-tolower-tests (Files): Likewise.
7211         * modules/unicase/u16-totitle-tests (Files): Likewise.
7212         * modules/unicase/u16-toupper-tests (Files): Likewise.
7213         * modules/unicase/u32-casecmp-tests (Files): Likewise.
7214         * modules/unicase/u32-casecoll-tests (Files): Likewise.
7215         * modules/unicase/u32-casefold-tests (Files): Likewise.
7216         * modules/unicase/u32-is-cased-tests (Files): Likewise.
7217         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
7218         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
7219         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
7220         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
7221         * modules/unicase/u32-tolower-tests (Files): Likewise.
7222         * modules/unicase/u32-totitle-tests (Files): Likewise.
7223         * modules/unicase/u32-toupper-tests (Files): Likewise.
7224         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
7225         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
7226         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
7227         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
7228         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
7229         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
7230         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
7231         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
7232         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
7233         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
7234         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
7235         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
7236         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
7237         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
7238         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
7239         * modules/unictype/bidicategory-name-tests (Files): Likewise.
7240         * modules/unictype/bidicategory-of-tests (Files): Likewise.
7241         * modules/unictype/bidicategory-test-tests (Files): Likewise.
7242         * modules/unictype/block-list-tests (Files): Likewise.
7243         * modules/unictype/block-of-tests (Files): Likewise.
7244         * modules/unictype/block-test-tests (Files): Likewise.
7245         * modules/unictype/category-C-tests (Files): Likewise.
7246         * modules/unictype/category-Cc-tests (Files): Likewise.
7247         * modules/unictype/category-Cf-tests (Files): Likewise.
7248         * modules/unictype/category-Cn-tests (Files): Likewise.
7249         * modules/unictype/category-Co-tests (Files): Likewise.
7250         * modules/unictype/category-Cs-tests (Files): Likewise.
7251         * modules/unictype/category-L-tests (Files): Likewise.
7252         * modules/unictype/category-Ll-tests (Files): Likewise.
7253         * modules/unictype/category-Lm-tests (Files): Likewise.
7254         * modules/unictype/category-Lo-tests (Files): Likewise.
7255         * modules/unictype/category-Lt-tests (Files): Likewise.
7256         * modules/unictype/category-Lu-tests (Files): Likewise.
7257         * modules/unictype/category-M-tests (Files): Likewise.
7258         * modules/unictype/category-Mc-tests (Files): Likewise.
7259         * modules/unictype/category-Me-tests (Files): Likewise.
7260         * modules/unictype/category-Mn-tests (Files): Likewise.
7261         * modules/unictype/category-N-tests (Files): Likewise.
7262         * modules/unictype/category-Nd-tests (Files): Likewise.
7263         * modules/unictype/category-Nl-tests (Files): Likewise.
7264         * modules/unictype/category-No-tests (Files): Likewise.
7265         * modules/unictype/category-P-tests (Files): Likewise.
7266         * modules/unictype/category-Pc-tests (Files): Likewise.
7267         * modules/unictype/category-Pd-tests (Files): Likewise.
7268         * modules/unictype/category-Pe-tests (Files): Likewise.
7269         * modules/unictype/category-Pf-tests (Files): Likewise.
7270         * modules/unictype/category-Pi-tests (Files): Likewise.
7271         * modules/unictype/category-Po-tests (Files): Likewise.
7272         * modules/unictype/category-Ps-tests (Files): Likewise.
7273         * modules/unictype/category-S-tests (Files): Likewise.
7274         * modules/unictype/category-Sc-tests (Files): Likewise.
7275         * modules/unictype/category-Sk-tests (Files): Likewise.
7276         * modules/unictype/category-Sm-tests (Files): Likewise.
7277         * modules/unictype/category-So-tests (Files): Likewise.
7278         * modules/unictype/category-Z-tests (Files): Likewise.
7279         * modules/unictype/category-Zl-tests (Files): Likewise.
7280         * modules/unictype/category-Zp-tests (Files): Likewise.
7281         * modules/unictype/category-Zs-tests (Files): Likewise.
7282         * modules/unictype/category-and-not-tests (Files): Likewise.
7283         * modules/unictype/category-and-tests (Files): Likewise.
7284         * modules/unictype/category-byname-tests (Files): Likewise.
7285         * modules/unictype/category-name-tests (Files): Likewise.
7286         * modules/unictype/category-none-tests (Files): Likewise.
7287         * modules/unictype/category-of-tests (Files): Likewise.
7288         * modules/unictype/category-or-tests (Files): Likewise.
7289         * modules/unictype/category-test-withtable-tests (Files): Likewise.
7290         * modules/unictype/combining-class-tests (Files): Likewise.
7291         * modules/unictype/ctype-alnum-tests (Files): Likewise.
7292         * modules/unictype/ctype-alpha-tests (Files): Likewise.
7293         * modules/unictype/ctype-blank-tests (Files): Likewise.
7294         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
7295         * modules/unictype/ctype-digit-tests (Files): Likewise.
7296         * modules/unictype/ctype-graph-tests (Files): Likewise.
7297         * modules/unictype/ctype-lower-tests (Files): Likewise.
7298         * modules/unictype/ctype-print-tests (Files): Likewise.
7299         * modules/unictype/ctype-punct-tests (Files): Likewise.
7300         * modules/unictype/ctype-space-tests (Files): Likewise.
7301         * modules/unictype/ctype-upper-tests (Files): Likewise.
7302         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
7303         * modules/unictype/decimal-digit-tests (Files): Likewise.
7304         * modules/unictype/digit-tests (Files): Likewise.
7305         * modules/unictype/mirror-tests (Files): Likewise.
7306         * modules/unictype/numeric-tests (Files): Likewise.
7307         * modules/unictype/property-alphabetic-tests (Files): Likewise.
7308         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
7309         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
7310         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
7311         Likewise.
7312         * modules/unictype/property-bidi-block-separator-tests (Files):
7313         Likewise.
7314         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
7315         Likewise.
7316         * modules/unictype/property-bidi-common-separator-tests (Files):
7317         Likewise.
7318         * modules/unictype/property-bidi-control-tests (Files): Likewise.
7319         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
7320         Likewise.
7321         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
7322         Likewise.
7323         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
7324         Likewise.
7325         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
7326         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
7327         Likewise.
7328         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
7329         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
7330         Likewise.
7331         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
7332         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
7333         * modules/unictype/property-bidi-segment-separator-tests (Files):
7334         Likewise.
7335         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
7336         * modules/unictype/property-byname-tests (Files): Likewise.
7337         * modules/unictype/property-combining-tests (Files): Likewise.
7338         * modules/unictype/property-composite-tests (Files): Likewise.
7339         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
7340         * modules/unictype/property-dash-tests (Files): Likewise.
7341         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
7342         * modules/unictype/property-default-ignorable-code-point-tests (Files):
7343         Likewise.
7344         * modules/unictype/property-deprecated-tests (Files): Likewise.
7345         * modules/unictype/property-diacritic-tests (Files): Likewise.
7346         * modules/unictype/property-extender-tests (Files): Likewise.
7347         * modules/unictype/property-format-control-tests (Files): Likewise.
7348         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
7349         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
7350         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
7351         * modules/unictype/property-hex-digit-tests (Files): Likewise.
7352         * modules/unictype/property-hyphen-tests (Files): Likewise.
7353         * modules/unictype/property-id-continue-tests (Files): Likewise.
7354         * modules/unictype/property-id-start-tests (Files): Likewise.
7355         * modules/unictype/property-ideographic-tests (Files): Likewise.
7356         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
7357         * modules/unictype/property-ids-trinary-operator-tests (Files):
7358         Likewise.
7359         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
7360         * modules/unictype/property-iso-control-tests (Files): Likewise.
7361         * modules/unictype/property-join-control-tests (Files): Likewise.
7362         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
7363         * modules/unictype/property-line-separator-tests (Files): Likewise.
7364         * modules/unictype/property-logical-order-exception-tests (Files):
7365         Likewise.
7366         * modules/unictype/property-lowercase-tests (Files): Likewise.
7367         * modules/unictype/property-math-tests (Files): Likewise.
7368         * modules/unictype/property-non-break-tests (Files): Likewise.
7369         * modules/unictype/property-not-a-character-tests (Files): Likewise.
7370         * modules/unictype/property-numeric-tests (Files): Likewise.
7371         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
7372         * modules/unictype/property-other-default-ignorable-code-point-tests
7373         (Files): Likewise.
7374         * modules/unictype/property-other-grapheme-extend-tests (Files):
7375         Likewise.
7376         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
7377         * modules/unictype/property-other-id-start-tests (Files): Likewise.
7378         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
7379         * modules/unictype/property-other-math-tests (Files): Likewise.
7380         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
7381         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
7382         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
7383         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
7384         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
7385         * modules/unictype/property-private-use-tests (Files): Likewise.
7386         * modules/unictype/property-punctuation-tests (Files): Likewise.
7387         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
7388         * modules/unictype/property-radical-tests (Files): Likewise.
7389         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
7390         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
7391         * modules/unictype/property-space-tests (Files): Likewise.
7392         * modules/unictype/property-terminal-punctuation-tests (Files):
7393         Likewise.
7394         * modules/unictype/property-test-tests (Files): Likewise.
7395         * modules/unictype/property-titlecase-tests (Files): Likewise.
7396         * modules/unictype/property-unassigned-code-value-tests (Files):
7397         Likewise.
7398         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
7399         * modules/unictype/property-uppercase-tests (Files): Likewise.
7400         * modules/unictype/property-variation-selector-tests (Files): Likewise.
7401         * modules/unictype/property-white-space-tests (Files): Likewise.
7402         * modules/unictype/property-xid-continue-tests (Files): Likewise.
7403         * modules/unictype/property-xid-start-tests (Files): Likewise.
7404         * modules/unictype/property-zero-width-tests (Files): Likewise.
7405         * modules/unictype/scripts-tests (Files): Likewise.
7406         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
7407         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
7408         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
7409         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
7410         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
7411         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
7412         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
7413         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
7414         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
7415         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
7416         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
7417         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
7418         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
7419         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
7420         * modules/uninorm/composition-tests (Files): Likewise.
7421         * modules/uninorm/decomposing-form-tests (Files): Likewise.
7422         * modules/uninorm/decomposition-tests (Files): Likewise.
7423         * modules/uninorm/filter-tests (Files): Likewise.
7424         * modules/uninorm/nfc-tests (Files): Likewise.
7425         * modules/uninorm/nfd-tests (Files): Likewise.
7426         * modules/uninorm/nfkc-tests (Files): Likewise.
7427         * modules/uninorm/nfkd-tests (Files): Likewise.
7428         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
7429         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
7430         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
7431         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
7432         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
7433         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
7434         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
7435         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
7436         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
7437         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
7438         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
7439         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
7440         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
7441         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
7442         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
7443         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
7444         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
7445         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
7446         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
7447         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
7448         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
7449         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
7450         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
7451         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
7452         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
7453         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
7454         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
7455         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
7456         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
7457         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
7458         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
7459         * modules/uniwidth/u8-width-tests (Files): Likewise.
7460         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
7461         * modules/uniwidth/u16-width-tests (Files): Likewise.
7462         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
7463         * modules/uniwidth/u32-width-tests (Files): Likewise.
7464         * modules/uniwidth/width-tests (Files): Likewise.
7465         * modules/unlink-tests (Files): Likewise.
7466         * modules/unsetenv-tests (Files): Likewise.
7467         * modules/usleep-tests (Files): Likewise.
7468         * modules/utimens-tests (Files): Likewise.
7469         * modules/utimensat-tests (Files): Likewise.
7470         * modules/vasnprintf-posix-tests (Files): Likewise.
7471         * modules/vasnprintf-tests (Files): Likewise.
7472         * modules/vasprintf-posix-tests (Files): Likewise.
7473         * modules/vasprintf-tests (Files): Likewise.
7474         * modules/vdprintf-posix-tests (Files): Likewise.
7475         * modules/vfprintf-posix-tests (Files): Likewise.
7476         * modules/vprintf-posix-tests (Files): Likewise.
7477         * modules/vsnprintf-posix-tests (Files): Likewise.
7478         * modules/vsnprintf-tests (Files): Likewise.
7479         * modules/vsprintf-posix-tests (Files): Likewise.
7480         * modules/wcrtomb-tests (Files): Likewise.
7481         * modules/wcsnrtombs-tests (Files): Likewise.
7482         * modules/wcsrtombs-tests (Files): Likewise.
7483         * modules/wctype-tests (Files): Likewise.
7484         * modules/wcwidth-tests (Files): Likewise.
7485         * modules/xmemdup0-tests (Files): Likewise.
7486         * modules/xprintf-posix-tests (Files): Likewise.
7487         * modules/xvasprintf-tests (Files): Likewise.
7488
7489 2009-12-24  Eric Blake  <ebb9@byu.net>
7490
7491         test-nanosleep: fix typo
7492         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
7493         patch.
7494         Reported by Bruno Haible.
7495
7496 2009-12-24  Bruno Haible  <bruno@clisp.org>
7497
7498         Reduce namespace pollution on glibc systems.
7499         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
7500         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
7501         systems.
7502         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
7503         <getopt.h> on glibc systems.
7504         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
7505         systems.
7506         * lib/fcntl.c: Include <unistd.h> here instead.
7507
7508 2009-12-24  Bruno Haible  <bruno@clisp.org>
7509
7510         * lib/stdlib.in.h (includes): Fix typo in today's commit.
7511
7512 2009-12-24  Eric Blake  <ebb9@byu.net>
7513
7514         tests: add signature checks
7515         * tests/signature.h (SIGNATURE_CHECK): New file.
7516         * modules/atexit-tests (Files): Use it.
7517         * modules/btowc-tests (Files): Likewise.
7518         * modules/canonicalize-lgpl-tests (Files): Likewise.
7519         * modules/ceilf-tests (Files): Likewise.
7520         * modules/ceill-tests (Files): Likewise.
7521         * modules/chown-tests (Files): Likewise.
7522         * modules/dprintf-posix-tests (Files): Likewise.
7523         * modules/dup2-tests (Files): Likewise.
7524         * modules/dup3-tests (Files): Likewise.
7525         * modules/duplocale-tests (Files): Likewise.
7526         * modules/fchdir-tests (Files): Likewise.
7527         * modules/fcntl-tests (Files): Likewise.
7528         * modules/fdopendir-tests (Files): Likewise.
7529         * modules/fflush-tests (Files): Likewise.
7530         * modules/flock-tests (Files): Likewise.
7531         * modules/floorf-tests (Files): Likewise.
7532         * modules/floorl-tests (Files): Likewise.
7533         * modules/fnmatch-tests (Files): Likewise.
7534         * modules/fopen-tests (Files): Likewise.
7535         * modules/fprintf-posix-tests (Files): Likewise.
7536         * modules/freopen-tests (Files): Likewise.
7537         * modules/frexp-nolibm-tests (Files): Likewise.
7538         * modules/frexp-tests (Files): Likewise.
7539         * modules/frexpl-nolibm-tests (Files): Likewise.
7540         * modules/frexpl-tests (Files): Likewise.
7541         * modules/fseek-tests (Files): Likewise.
7542         * modules/fseeko-tests (Files): Likewise.
7543         * modules/fsync-tests (Files): Likewise.
7544         * modules/ftell-tests (Files): Likewise.
7545         * modules/ftello-tests (Files): Likewise.
7546         * modules/futimens-tests (Files): Likewise.
7547         * modules/getaddrinfo-tests (Files): Likewise.
7548         * modules/getcwd-tests (Files): Likewise.
7549         * modules/getdelim-tests (Files): Likewise.
7550         * modules/getdtablesize-tests (Files): Likewise.
7551         * modules/getgroups-tests (Files): Likewise.
7552         * modules/gethostname-tests (Files): Likewise.
7553         * modules/getline-tests (Files): Likewise.
7554         * modules/getopt-posix-tests (Files): Likewise.
7555         * modules/gettimeofday-tests (Files): Likewise.
7556         * modules/glob-tests (Files): Likewise.
7557         * modules/iconv-tests (Files): Likewise.
7558         * modules/inet_ntop-tests (Files): Likewise.
7559         * modules/inet_pton-tests (Files): Likewise.
7560         * modules/isblank-tests (Files): Likewise.
7561         * modules/lchown-tests (Files): Likewise.
7562         * modules/ldexpl-tests (Files): Likewise.
7563         * modules/link-tests (Files): Likewise.
7564         * modules/linkat-tests (Files): Likewise.
7565         * modules/lseek-tests (Files): Likewise.
7566         * modules/lstat-tests (Files): Likewise.
7567         * modules/mbrtowc-tests (Files): Likewise.
7568         * modules/mbsinit-tests (Files): Likewise.
7569         * modules/mbsnrtowcs-tests (Files): Likewise.
7570         * modules/mbsrtowcs-tests (Files): Likewise.
7571         * modules/memchr-tests (Files): Likewise.
7572         * modules/memcmp-tests (Files): Likewise.
7573         * modules/memmem-tests (Files): Likewise.
7574         * modules/memrchr-tests (Files): Likewise.
7575         * modules/mkdir-tests (Files): Likewise.
7576         * modules/mkfifo-tests (Files): Likewise.
7577         * modules/mkfifoat-tests (Files): Likewise.
7578         * modules/mknod-tests (Files): Likewise.
7579         * modules/nanosleep-tests (Files): Likewise.
7580         * modules/nl_langinfo-tests (Files): Likewise.
7581         * modules/obstack-printf-tests (Files): Likewise.
7582         * modules/open-tests (Files): Likewise.
7583         * modules/openat-tests (Files): Likewise.
7584         * modules/perror-tests (Files): Likewise.
7585         * modules/pipe2-tests (Files): Likewise.
7586         * modules/poll-tests (Files): Likewise.
7587         * modules/popen-tests (Files): Likewise.
7588         * modules/posix_spawn-tests (Files): Likewise.
7589         * modules/posix_spawnp-tests (Files): Likewise.
7590         * modules/pread-tests (Files): Likewise.
7591         * modules/printf-posix-tests (Files): Likewise.
7592         * modules/pty-tests (Files): Likewise.
7593         * modules/random_r-tests (Files): Likewise.
7594         * modules/rawmemchr-tests (Files): Likewise.
7595         * modules/readlink-tests (Files): Likewise.
7596         * modules/remove-tests (Files): Likewise.
7597         * modules/rename-tests (Files): Likewise.
7598         * modules/renameat-tests (Files): Likewise.
7599         * modules/rmdir-tests (Files): Likewise.
7600         * modules/round-tests (Files): Likewise.
7601         * modules/roundf-tests (Files): Likewise.
7602         * modules/roundl-tests (Files): Likewise.
7603         * modules/select-tests (Files): Likewise.
7604         * modules/setenv-tests (Files): Likewise.
7605         * modules/sigaction-tests (Files): Likewise.
7606         * modules/sleep-tests (Files): Likewise.
7607         * modules/snprintf-posix-tests (Files): Likewise.
7608         * modules/snprintf-tests (Files): Likewise.
7609         * modules/sprintf-posix-tests (Files): Likewise.
7610         * modules/stat-tests (Files): Likewise.
7611         * modules/strcasestr-tests (Files): Likewise.
7612         * modules/strchrnul-tests (Files): Likewise.
7613         * modules/strerror-tests (Files): Likewise.
7614         * modules/strsignal-tests (Files): Likewise.
7615         * modules/strstr-tests (Files): Likewise.
7616         * modules/strtod-tests (Files): Likewise.
7617         * modules/strverscmp-tests (Files): Likewise.
7618         * modules/symlink-tests (Files): Likewise.
7619         * modules/symlinkat-tests (Files): Likewise.
7620         * modules/times-tests (Files): Likewise.
7621         * modules/trunc-tests (Files): Likewise.
7622         * modules/truncf-tests (Files): Likewise.
7623         * modules/truncl-tests (Files): Likewise.
7624         * modules/tsearch-tests (Files): Likewise.
7625         * modules/uname-tests (Files): Likewise.
7626         * modules/unlink-tests (Files): Likewise.
7627         * modules/unsetenv-tests (Files): Likewise.
7628         * modules/usleep-tests (Files): Likewise.
7629         * modules/utimensat-tests (Files): Likewise.
7630         * modules/vasprintf-tests (Files): Likewise.
7631         * modules/vdprintf-posix-tests (Files): Likewise.
7632         * modules/vfprintf-posix-tests (Files): Likewise.
7633         * modules/vprintf-posix-tests (Files): Likewise.
7634         * modules/vsnprintf-posix-tests (Files): Likewise.
7635         * modules/vsnprintf-tests (Files): Likewise.
7636         * modules/vsprintf-posix-tests (Files): Likewise.
7637         * modules/wcrtomb-tests (Files): Likewise.
7638         * modules/wcsnrtombs-tests (Files): Likewise.
7639         * modules/wcsrtombs-tests (Files): Likewise.
7640         * modules/wcwidth-tests (Files): Likewise.
7641         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
7642         * tests/test-isinf.c (isinf): Likewise.
7643         * tests/test-isnan.c (isnan): Likewise.
7644         * tests/test-signbit.c (signbit): Likewise.
7645         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
7646         declaration, either as macro or with correct signature.
7647         (select): Ensure function under test is declared with correct
7648         signature in correct header.
7649         * tests/test-atexit.c (atexit): Likewise.
7650         * tests/test-btowc.c (btowc): Likewise.
7651         * tests/test-canonicalize-lgpl.c (realpath)
7652         (canonicalize_file_name): Likewise.
7653         * tests/test-ceilf1.c (ceilf): Likewise.
7654         * tests/test-ceill.c (ceill): Likewise.
7655         * tests/test-chown.c (chown): Likewise.
7656         * tests/test-dprintf-posix.c (dprintf): Likewise.
7657         * tests/test-dup2.c (dup2): Likewise.
7658         * tests/test-dup3.c (dup3): Likewise.
7659         * tests/test-duplocale.c (duplocale): Likewise.
7660         * tests/test-fchdir.c (fchdir): Likewise.
7661         * tests/test-fchownat.c (fchownat): Likewise.
7662         * tests/test-fcntl.c (fcntl): Likewise.
7663         * tests/test-fdopendir.c (fdopendir): Likewise.
7664         * tests/test-fflush.c (fflush): Likewise.
7665         * tests/test-flock.c (flock): Likewise.
7666         * tests/test-floorf1.c (floorf): Likewise.
7667         * tests/test-floorl.c (floorl): Likewise.
7668         * tests/test-fnmatch.c (fnmatch): Likewise.
7669         * tests/test-fopen.c (fopen): Likewise.
7670         * tests/test-fprintf-posix.c (fprintf): Likewise.
7671         * tests/test-freopen.c (freopen): Likewise.
7672         * tests/test-frexp.c (frexp): Likewise.
7673         * tests/test-frexpl.c (frexpl): Likewise.
7674         * tests/test-fseek.c (fseek): Likewise.
7675         * tests/test-fseeko.c (fseeko): Likewise.
7676         * tests/test-fstatat.c (fstatat): Likewise.
7677         * tests/test-fsync.c (fsync): Likewise.
7678         * tests/test-ftell.c (ftell): Likewise.
7679         * tests/test-ftello.c (ftello): Likewise.
7680         * tests/test-futimens.c (futimens): Likewise.
7681         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
7682         (gai_strerror): Likewise.
7683         * tests/test-getcwd.c (getcwd): Likewise.
7684         * tests/test-getdelim.c (getdelim): Likewise.
7685         * tests/test-getdtablesize.c (getdtablesize): Likewise.
7686         * tests/test-getgroups.c (getgroups): Likewise.
7687         * tests/test-gethostname.c (gethostname): Likewise.
7688         * tests/test-getline.c (getline): Likewise.
7689         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
7690         Likewise.
7691         * tests/test-gettimeofday.c (gettimeofday): Likewise.
7692         * tests/test-glob.c (glob, globfree): Likewise.
7693         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
7694         * tests/test-inet_ntop.c (inet_ntop): Likewise.
7695         * tests/test-inet_pton.c (inet_pton): Likewise.
7696         * tests/test-isblank.c (isblank): Likewise.
7697         * tests/test-lchown.c (lchown): Likewise.
7698         * tests/test-ldexpl.c (ldexpl): Likewise.
7699         * tests/test-link.c (link): Likewise.
7700         * tests/test-linkat.c (linkat): Likewise.
7701         * tests/test-lseek.c (lseek): Likewise.
7702         * tests/test-lstat.c (lstat): Likewise.
7703         * tests/test-mbrtowc.c (mbrtowc): Likewise.
7704         * tests/test-mbsinit.c (mbsinit): Likewise.
7705         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
7706         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
7707         * tests/test-memchr.c (memchr): Likewise.
7708         * tests/test-memcmp.c (memcmp): Likewise.
7709         * tests/test-memmem.c (memmem): Likewise.
7710         * tests/test-memrchr.c (memrchr): Likewise.
7711         * tests/test-mkdir.c (mkdir): Likewise.
7712         * tests/test-mkdirat.c (mkdirat): Likewise.
7713         * tests/test-mkfifo.c (mkfifo): Likewise.
7714         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
7715         * tests/test-mknod.c (mknod): Likewise.
7716         * tests/test-nanosleep.c (nanosleep): Likewise.
7717         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
7718         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
7719         Likewise.
7720         * tests/test-open.c (open): Likewise.
7721         * tests/test-openat.c (openat): Likewise.
7722         * tests/test-perror.c (perror): Likewise.
7723         * tests/test-pipe2.c (pipe2): Likewise.
7724         * tests/test-poll.c (poll): Likewise.
7725         * tests/test-popen.c (popen, pclose): Likewise.
7726         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
7727         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
7728         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
7729         (posix_spawn_file_actions_destroy)
7730         (posix_spawn_file_actions_addclose)
7731         (posix_spawn_file_actions_addopen)
7732         (posix_spawn_file_actions_adddup2): Likewise.
7733         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
7734         * tests/test-pread.c (pread): Likewise.
7735         * tests/test-printf-posix.c (printf): Likewise.
7736         * tests/test-pty.c (openpty, forkpty): Likewise.
7737         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
7738         (random_r): Likewise.
7739         * tests/test-rawmemchr.c (rawmemchr): Likewise.
7740         * tests/test-readlink.c (readlink): Likewise.
7741         * tests/test-remove.c (remove): Likewise.
7742         * tests/test-rename.c (rename): Likewise.
7743         * tests/test-renameat.c (renameat): Likewise.
7744         * tests/test-rmdir.c (rmdir): Likewise.
7745         * tests/test-round1.c (round): Likewise.
7746         * tests/test-roundf1.c (roundf): Likewise.
7747         * tests/test-roundl.c (roundl): Likewise.
7748         * tests/test-setenv.c (setenv): Likewise.
7749         * tests/test-sigaction.c (sigaction): Likewise.
7750         * tests/test-sleep.c (sleep): Likewise.
7751         * tests/test-snprintf.c (snprintf): Likewise.
7752         * tests/test-sprintf-posix.c (sprintf): Likewise.
7753         * tests/test-stat.c (stat): Likewise.
7754         * tests/test-stpncpy.c (stpncpy): Likewise.
7755         * tests/test-strcasestr.c (strcasestr): Likewise.
7756         * tests/test-strchrnul.c (strchrnul): Likewise.
7757         * tests/test-strerror.c (strerror): Likewise.
7758         * tests/test-strsignal.c (strsignal): Likewise.
7759         * tests/test-strstr.c (strstr): Likewise.
7760         * tests/test-strtod.c (strtod): Likewise.
7761         * tests/test-strverscmp.c (strverscmp): Likewise.
7762         * tests/test-symlink.c (symlink): Likewise.
7763         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
7764         * tests/test-times.c (times): Likewise.
7765         * tests/test-trunc1.c (trunc): Likewise.
7766         * tests/test-truncf1.c (truncf): Likewise.
7767         * tests/test-truncl.c (truncl): Likewise.
7768         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
7769         Likewise.
7770         * tests/test-uname.c (uname): Likewise.
7771         * tests/test-unlink.c (unlink): Likewise.
7772         * tests/test-unlinkat.c (unlinkat): Likewise.
7773         * tests/test-unsetenv.c (unsetenv): Likewise.
7774         * tests/test-usleep.c (usleep): Likewise.
7775         * tests/test-utimensat.c (utimensat): Likewise.
7776         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
7777         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
7778         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
7779         * tests/test-vprintf-posix.c (vprintf): Likewise.
7780         * tests/test-vsnprintf.c (vsnprintf): Likewise.
7781         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
7782         * tests/test-wcrtomb.c (wcrtomb): Likewise.
7783         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
7784         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
7785         * tests/test-wcwidth.c (wcwidth): Likewise.
7786
7787         build: pull in conditional headers during GNULIB_POSIXCHECK
7788         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
7789         definitions from any conditionally-included headers.
7790         * lib/stdlib.in.h (includes): Likewise.
7791         * lib/unistd.in.h (includes): Likewise.
7792
7793 2009-12-24  Bruno Haible  <bruno@clisp.org>
7794
7795         * tests/test-argv-iter.c: Include header file being tested immediately
7796         after config.h.
7797         * tests/test-base64.c: Likewise.
7798         * tests/test-flock.c: Likewise.
7799         * tests/test-fsync.c: Likewise.
7800         * tests/test-getdate.c: Likewise.
7801         * tests/test-getndelim2.c: Likewise.
7802         * tests/test-isfinite.c: Likewise.
7803         * tests/test-isinf.c: Likewise.
7804         * tests/test-strerror.c: Likewise.
7805         * tests/test-strsignal.c: Likewise.
7806
7807 2009-12-23  Eric Blake  <ebb9@byu.net>
7808
7809         unistd: work around cygwin bug
7810         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
7811         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
7812         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7813
7814 2009-12-23  Bruno Haible  <bruno@clisp.org>
7815
7816         localename: More tests.
7817         * tests/test-localename.c (SIZEOF): New macro.
7818         (categories): New variable.
7819         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
7820         test_locale_name_default): Add test w.r.t. thread locale.
7821         (test_locale_name_thread): New function.
7822         (main): Invoke it.
7823
7824         localename: Make aware of thread locale.
7825         * lib/localename.h (gl_locale_name_thread): New declaration.
7826         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
7827         behaviour with respect to thread locale.
7828         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
7829         <langinfo.h>, glthread/lock.h.
7830         (SIZE_BITS): New macro.
7831         (string_hash): New function.
7832         (struct hash_node): New type.
7833         (HASH_TABLE_SIZE): New macro.
7834         (struniq_hash_table, struniq_lock): New variables.
7835         (struniq): New function.
7836         (gl_locale_name_thread): New function.
7837         (gl_locale_name): Invoke it.
7838         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
7839         * modules/localename (Depends-on): Add lock.
7840         Reported by Mike Gran <spk121@yahoo.com>.
7841
7842 2009-12-23  Eric Blake  <ebb9@byu.net>
7843
7844         va-args: new module
7845         * modules/va-args: New file.
7846         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
7847         * MODULES.html.sh (Core language properties): Mention it.
7848
7849         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
7850         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
7851         named alias for __attribute__((__unused__)).
7852         * lib/chown.c: Update client.
7853         * lib/fchmodat.c: Likewise.
7854         * lib/fts.c: Likewise.
7855         * lib/getdate.y: Likewise.
7856         * lib/getgroups.c: Likewise.
7857         * lib/getopt.c: Likewise.
7858         * lib/getugroups.c: Likewise.
7859         * lib/mkdir.c: Likewise.
7860         * lib/mkfifo.c: Likewise.
7861         * lib/mkfifoat.c: Likewise.
7862         * lib/mknod.c: Likewise.
7863         * lib/mknodat.c: Likewise.
7864         * lib/readlink.c: Likewise.
7865         * lib/se-context.in.h: Likewise.
7866         * lib/se-selinux.in.h: Likewise.
7867         * lib/sockets.c: Likewise.
7868         * lib/symlink.c: Likewise.
7869         * lib/symlinkat.c: Likewise.
7870         * lib/unicodeio.c: Likewise.
7871         * lib/unistr.h: Likewise.
7872         * tests/test-areadlink.c: Likewise.
7873         * tests/test-areadlinkat.c: Likewise.
7874         * tests/test-filenamecat.c: Likewise.
7875         * tests/test-fseeko.c: Likewise.
7876         * tests/test-ftello.c: Likewise.
7877         * tests/test-getdate.c: Likewise.
7878         * tests/test-getgroups.c: Likewise.
7879         * tests/test-gethostname.c: Likewise.
7880         * tests/test-quotearg.c: Likewise.
7881         * tests/test-version-etc.c: Likewise.
7882         * tests/test-xalloc-die.c: Likewise.
7883         * tests/test-xfprintf-posix.c: Likewise.
7884         * tests/test-xprintf-posix.c: Likewise.
7885         * tests/test-xvasprintf.c: Likewise.
7886
7887         tests: avoid compiler warnings
7888         * tests/test-fcntl.c (main): Delete unused parameters.
7889         * tests/test-freopen-safer.c (main): Likewise.
7890         * tests/test-xalloc-die.c (main): Mark unused parameters.
7891         * tests/test-fseeko.c (main): Likewise.
7892         * tests/test-ftello.c (main): Likewise.
7893         * tests/test-nanosleep.c (main): Avoid declaration warning.
7894         * tests/test-sleep.c (main): Likewise.
7895         * tests/test-unsetenv.c (main): Silence warning about string
7896         literal.
7897         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
7898
7899 2009-12-23  Bruno Haible  <bruno@clisp.org>
7900
7901         * tests/test-localename.c (test_locale_name): New function, extracted
7902         from main. Also test mixed situations.
7903         (test_locale_name_posix, test_locale_name_environ,
7904         test_locale_name_default): New functions.
7905         (main): Invoke them all.
7906         * modules/localename-tests (configure.ac): Test for newlocale.
7907
7908 2009-12-23  Bruno Haible  <bruno@clisp.org>
7909
7910         unistd: Ensure getcwd gets declared before being overridden.
7911         * lib/unistd.in.h: Conditionally include <io.h>.
7912
7913 2009-12-22  Bruno Haible  <bruno@clisp.org>
7914
7915         wchar: Diagnose broken combination of glibc and gcc versions and flags.
7916         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
7917         (gl_WCHAR_H): Invoke it.
7918         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
7919         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
7920         Reported by Karl Berry <karl@freefriends.org>.
7921
7922 2009-12-22  Eric Blake  <ebb9@byu.net>
7923
7924         math, unistd: avoid redundant includes
7925         * lib/math.in.h (isnan): No need to re-include <math.h>.
7926         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
7927
7928         getsubopt: work around cygwin bug
7929         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
7930         avoid conflicting with system getsubopt.
7931         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
7932         bug.
7933
7934         getopt: synchronize from glibc
7935         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
7936         parameter order.  Adjust all callers.
7937         (_getopt_internal_r, main): Adjust quoting in error messages.
7938         Drop considerations for outdated POSIX 1003.2 error message.
7939         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
7940         callers.
7941         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
7942
7943         test-getopt: test stderr behavior
7944         * modules/getopt-posix-tests (Depends-on): Add dup2.
7945         * tests/test-getopt.c (ASSERT): Avoid stderr.
7946         (main): Move stderr to a temporary file.
7947         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
7948         Instead, add parameter to inform caller if output occurred.
7949         (test_getopt): Adjust all existing tests to expect silence, and
7950         add new tests of leading ":".
7951         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7952         glibc shortcomings with leading "-:" or "+:" in optstring.
7953         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7954         Likewise.
7955         * doc/posix-functions/getopt.texi (getopt): Likewise.
7956
7957         test-getopt: enhance test
7958         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
7959         supports optind=0.
7960         * tests/test-getopt.c (OPTIND_MIN): Move...
7961         * tests/test-getopt.h (OPTIND_MIN): ...here.
7962         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
7963         Require that optind=0 works, since modern BSD supports it in
7964         addition to optreset, and since coreutils expects it.
7965         (test_getopt_long_only): New test.
7966         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7967         glibc shortcomings with 'W;', and enforcement of optind=0.
7968         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7969         Likewise.
7970
7971 2009-12-21  Bruno Haible  <bruno@clisp.org>
7972
7973         localename: Improvements for MacOS X and Cygwin.
7974         * lib/localename.h (gl_locale_name_environ): New declaration.
7975         * lib/localename.c (gl_locale_name_environ): New function, extracted from
7976         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
7977         (gl_locale_name_posix): Invoke it.
7978         (gl_locale_name_default): Add comments. Use Windows native API also on
7979         Cygwin.
7980
7981 2009-12-21  Bruno Haible  <bruno@clisp.org>
7982
7983         Update list of Win32 locale ids.
7984         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
7985         (LANG_SAMI): Renamed from LANG_SAAMI.
7986         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
7987         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
7988         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
7989         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
7990         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
7991         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
7992         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
7993         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
7994         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
7995         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
7996         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
7997         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
7998         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
7999         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
8000         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
8001         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
8002         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
8003         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
8004         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
8005         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
8006         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
8007         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
8008         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
8009         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
8010         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
8011         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
8012         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
8013         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
8014         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
8015         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
8016         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
8017         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
8018         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
8019         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
8020         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
8021         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
8022         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
8023         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
8024         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
8025         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
8026         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
8027         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
8028         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
8029         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
8030         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
8031         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
8032         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
8033         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
8034         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
8035         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
8036         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
8037         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
8038         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
8039         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
8040         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
8041         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
8042         Add more languages and countries for Sami, Sorbian. Add more countries
8043         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
8044         for Pashto. Change country for Syriac, Tswana.
8045
8046 2009-12-21  Eric Blake  <ebb9@byu.net>
8047
8048         test-utimens: avoid spurious failure
8049         * tests/test-chown.h (nap): Factor...
8050         * tests/nap.h: ...into new file.
8051         * tests/test-lchown.h (nap): Avoid duplication.
8052         * tests/test-utimens-common.h (nap): Use shared implementation,
8053         necessary on file systems with 1-second resolution.
8054         * modules/chown-tests (Files): Include new file.
8055         * modules/fdutimensat-tests (Files): Likewise.
8056         * modules/futimens-tests (Files): Likewise.
8057         * modules/lchown-tests (Files): Likewise.
8058         * modules/openat-tests (Files): Likewise.
8059         * modules/utimens-tests (Files): Likewise.
8060         * modules/utimensat-tests (Files): Likewise.
8061
8062 2009-12-19  Eric Blake  <ebb9@byu.net>
8063
8064         futimens, utimensat: work around Linux bug
8065         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
8066         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8067         * lib/utimensat.c (rpl_utimensat): Work around it.
8068         * lib/futimens.c (rpl_futimens): Adjust comment.
8069
8070         utimens: work around Linux ctime bug
8071         * lib/utimens.c (detect_ctime_bug): New helper function.
8072         (update_timespec): Differentiate between workaround needed for
8073         this bug vs. what is needed for systems that lack utimensat.
8074         (fdutimens, lutimens): Work around bug.
8075
8076         utimens: check for ctime update
8077         * tests/test-utimens-common.h (check_ctime): Define.
8078         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
8079         * tests/test-futimens.h (test_futimens): Likewise.
8080         * tests/test-lutimens.h (test_lutimens): Likewise.
8081         * doc/posix-functions/futimens.texi (futimens): Document the bug.
8082         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
8083
8084 2009-12-19  Bruno Haible  <bruno@clisp.org>
8085
8086         dprintf-posix: Check against memory leak fixed on 2009-12-15.
8087         * tests/test-dprintf-posix2.sh: New file.
8088         * tests/test-dprintf-posix2.c: New file.
8089         * modules/dprintf-posix-tests (Files): Add them.
8090         (configure.ac): Check for getrlimit and setrlimit.
8091         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
8092
8093 2009-12-19  Bruno Haible  <bruno@clisp.org>
8094
8095         fprintf-posix: Check against memory leak fixed on 2009-12-15.
8096         * tests/test-fprintf-posix3.sh: New file.
8097         * tests/test-fprintf-posix3.c: New file.
8098         * modules/fprintf-posix-tests (Files): Add them.
8099         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
8100
8101 2009-12-19  Eric Blake  <ebb9@byu.net>
8102
8103         dirfd: fix prototype
8104         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
8105         * lib/dirfd.c (dirfd): Likewise.
8106
8107         canonicalize: reduce memory usage
8108         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
8109         allocation to size.
8110         Reported by Solar Designer <solar@openwall.com>.
8111
8112 2009-12-19  Bruno Haible  <bruno@clisp.org>
8113
8114         New module attribute 'Applicability'.
8115         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
8116         * gnulib-tool: New option --extract-applicability.
8117         (func_usage): Document it.
8118         (sed_extract_prog): Recognize it.
8119         (func_get_applicability): New function.
8120         (func_import): Generalize handling of 'link-warning' module.
8121         * modules/link-warning (Applicability): New section.
8122         * modules/arg-nonnull (Applicability): New section.
8123         Repoted by Simon Josefsson <simon@josefsson.org>.
8124
8125 2009-12-19  Bruno Haible  <bruno@clisp.org>
8126
8127         fflush: tweak
8128         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
8129         * lib/fseeko.c (rpl_fseeko): Likewise.
8130
8131 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
8132
8133         * lib/gl_list.h: Fix typo in comment.
8134
8135 2009-12-16  Eric Blake  <ebb9@byu.net>
8136
8137         fcntl: use to simplify other modules
8138         * modules/cloexec (Depends-on): Add fcntl.
8139         * modules/fchdir (Depends-on): Likewise.
8140         * modules/fd-safer-flag (Depends-on): Likewise.
8141         * modules/unistd-safer (Depends-on): Likewise.
8142         * modules/dup3 (configure.ac): Set module indicator.
8143         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
8144         missing.
8145         * lib/fchdir.c (_gl_register_dup): Fix comment.
8146         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
8147         * lib/dup-safer.c (dup_safer): Likewise.
8148         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
8149         * lib/dup3.c (dup3): Likewise.
8150         * tests/test-fchdir.c (main): Enhance test.
8151         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
8152
8153         fcntl: port portions of fcntl to mingw
8154         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
8155         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
8156         replacement for mingw.
8157         * modules/fcntl (Description): Update.
8158         (Depends-on): Add dup2.
8159         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
8160         * modules/fcntl-h (Makefile.am): Substitute it.
8161         * lib/fcntl.in.h (fcntl): Update declaration.
8162         (F_DUPFD, F_GETFD): New macros, when needed.
8163         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
8164         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
8165         * tests/test-fcntl.c (check_flags, main): Enhance test for items
8166         we now guarantee.
8167
8168         fcntl: work around cygwin bug in F_DUPFD
8169         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
8170         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
8171         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
8172         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
8173         * doc/posix-functions/fcntl.texi (fcntl): Document it.
8174
8175         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
8176         * modules/fcntl (Files): List new files.
8177         (configure.ac): Run a test.
8178         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
8179         * lib/fcntl.c (rpl_fcntl): Likewise.
8180         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
8181         (gl_FCNTL_H): Always replace fcntl.h.
8182         * modules/fcntl-h (Makefile.am): Substitute witnesses.
8183         * lib/fcntl.in.h (fcntl): Declare replacement.
8184         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
8185         needed, plus a witness.
8186         * doc/posix-functions/fcntl.texi (fcntl): Document this.
8187         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
8188         * tests/test-fcntl.c: New file.
8189         * modules/fcntl-tests: Likewise.
8190
8191         binary-io: avoid potential compilation warning
8192         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
8193         directives.
8194
8195         fflush: avoid compilation error on NetBSD
8196         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
8197         between off_t and fpos_t, since the latter is sometimes a struct.
8198         * lib/fseeko.c (rpl_fseeko): Likewise.
8199         Reported by Alexander Nasonov <alnsn@yandex.ru>.
8200
8201 2009-12-15  Eric Blake  <ebb9@byu.net>
8202
8203         fcntl-h, stdio, sys_ioctl: fix declarations
8204         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
8205         function must not take arguments.
8206         * lib/sys_ioctl.in.h (ioctl): Likewise.
8207         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
8208         (open): Add a link warning.
8209
8210 2009-12-15  Jim Meyering  <meyering@redhat.com>
8211
8212         areadlink, areadlink-with-size: relax license to LGPLv2+
8213         * modules/areadlink (License): Relax to LGPLv2+.
8214         * modules/areadlink-with-size (License): Likewise.
8215
8216 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
8217             Bruno Haible  <bruno@clisp.org>
8218
8219         *printf: Fix memory leak.
8220         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
8221         * lib/vfprintf.c (vfprintf): Likewise.
8222         * lib/dprintf.c (dprintf): Likewise.
8223         * lib/vdprintf.c (vdprintf): Likewise.
8224
8225 2009-12-14  Eric Blake  <ebb9@byu.net>
8226
8227         accept4: adjust module dependencies
8228         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
8229
8230         utimens: one more try at avoiding compiler warning
8231         * lib/utimens.c (lutimens): Lower scope of result.
8232
8233 2009-12-13  Bruno Haible  <bruno@clisp.org>
8234
8235         Move the malloc checking from module 'list' to new module 'xlist'.
8236         * modules/xlist: New file.
8237         * lib/gl_xlist.h: New file.
8238         * lib/gl_xlist.c: New file.
8239         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
8240         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
8241         gl_list_add_last, gl_list_add_before, gl_list_add_after,
8242         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
8243         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
8244         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
8245         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
8246         gl_sortedlist_nx_add): New declarations.
8247         (struct gl_list_implementation): Rename and change methods accordingly.
8248         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
8249         (gl_list_nx_create): Renamed from gl_list_create.
8250         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
8251         (gl_list_nx_set_at): Renamed from gl_list_set_at.
8252         (gl_list_nx_add_first): Renamed from gl_list_add_first.
8253         (gl_list_nx_add_last): Renamed from gl_list_add_last.
8254         (gl_list_nx_add_before): Renamed from gl_list_add_before.
8255         (gl_list_nx_add_after): Renamed from gl_list_add_after.
8256         (gl_list_nx_add_at): Renamed from gl_list_add_at.
8257         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
8258         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
8259         gl_list_create_empty.
8260         (gl_list_nx_create): Renamed from gl_list_create.
8261         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
8262         (gl_list_nx_set_at): Renamed from gl_list_set_at.
8263         (gl_list_nx_add_first): Renamed from gl_list_add_first.
8264         (gl_list_nx_add_last): Renamed from gl_list_add_last.
8265         (gl_list_nx_add_before): Renamed from gl_list_add_before.
8266         (gl_list_nx_add_after): Renamed from gl_list_add_after.
8267         (gl_list_nx_add_at): Renamed from gl_list_add_at.
8268         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
8269         * lib/gl_array_list.c: Don't include xalloc.h.
8270         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
8271         NULL upon out-of-memory.
8272         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
8273         out-of-memory.
8274         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
8275         Change return type to 'int'.
8276         (gl_array_nx_set_at): Renamed from gl_array_set_at.
8277         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
8278         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
8279         upon out-of-memory.
8280         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
8281         upon out-of-memory.
8282         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
8283         upon out-of-memory.
8284         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
8285         upon out-of-memory.
8286         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
8287         out-of-memory.
8288         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
8289         Update.
8290         (gl_array_list_implementation): Update.
8291         * lib/gl_carray_list.c: Don't include xalloc.h.
8292         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
8293         Return NULL upon out-of-memory.
8294         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
8295         out-of-memory.
8296         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
8297         Change return type to 'int'.
8298         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
8299         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
8300         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
8301         upon out-of-memory.
8302         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
8303         upon out-of-memory.
8304         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
8305         out-of-memory.
8306         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
8307         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
8308         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
8309         Update.
8310         (gl_carray_list_implementation): Update.
8311         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
8312         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
8313         gl_linked_create_empty. Return NULL upon out-of-memory.
8314         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
8315         out-of-memory.
8316         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
8317         Change return type to 'int'. Return -1 upon out-of-memory.
8318         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
8319         out-of-memory.
8320         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
8321         upon out-of-memory.
8322         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
8323         upon out-of-memory.
8324         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
8325         NULL upon out-of-memory.
8326         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
8327         upon out-of-memory.
8328         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
8329         out-of-memory.
8330         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
8331         Update.
8332         * lib/gl_linked_list.c: Don't include xalloc.h.
8333         (gl_linked_list_implementation): Update.
8334         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
8335         (add_to_bucket): Change return type to 'int'.
8336         (gl_linkedhash_list_implementation): Update.
8337         * lib/gl_anytree_list1.h (free_subtree): New function.
8338         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
8339         gl_tree_create_empty. Return NULL upon out-of-memory.
8340         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
8341         Change return type to 'int'. Return -1 upon out-of-memory.
8342         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
8343         out-of-memory.
8344         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
8345         (gl_tree_remove_node): New function, moved here from
8346         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
8347         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
8348         Update.
8349         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
8350         malloc, not xmalloc. Return NULL upon out-of-memory.
8351         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
8352         out-of-memory.
8353         (gl_tree_remove_node_from_tree): New function, extracted from
8354         gl_tree_remove_node.
8355         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
8356         upon out-of-memory.
8357         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
8358         out-of-memory.
8359         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
8360         upon out-of-memory.
8361         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
8362         upon out-of-memory.
8363         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
8364         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
8365         not xmalloc. Return NULL upon out-of-memory.
8366         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
8367         out-of-memory.
8368         (gl_tree_remove_node_from_tree): New function, extracted from
8369         gl_tree_remove_node.
8370         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
8371         upon out-of-memory.
8372         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
8373         out-of-memory.
8374         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
8375         upon out-of-memory.
8376         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
8377         upon out-of-memory.
8378         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
8379         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
8380         gl_anytree_list1.h before gl_anyavltree_list2.h.
8381         (gl_avltree_list_implementation): Update.
8382         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
8383         gl_anytree_list1.h before gl_anyavltree_list2.h.
8384         (gl_rbtree_list_implementation): Update.
8385         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
8386         Change return type to 'int'. Return -1 upon out-of-memory. Use
8387         __builtin_expect.
8388         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
8389         (gl_avltreehash_list_implementation): Update.
8390         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
8391         (gl_rbtreehash_list_implementation): Update.
8392         * modules/array-list (Depends-on): Remove xalloc.
8393         * modules/carray-list (Depends-on): Likewise.
8394         * modules/linked-list (Depends-on): Likewise.
8395         * modules/linkedhash-list (Depends-on): Likewise.
8396         * modules/avltree-list (Depends-on): Likewise.
8397         * modules/rbtree-list (Depends-on): Likewise.
8398         * modules/avltreehash-list (Depends-on): Likewise.
8399         * modules/rbtreehash-list (Depends-on): Likewise.
8400
8401         * modules/xsublist: New file.
8402         * lib/gl_xsublist.h: New file.
8403         * lib/gl_xsublist.c: New file.
8404         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
8405         (gl_sublist_nx_create): New declaration.
8406         * lib/gl_sublist.c: Don't include xalloc.h.
8407         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
8408         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
8409         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
8410         Change return type to 'int'. Return -1 upon out-of-memory.
8411         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
8412         upon out-of-memory.
8413         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
8414         NULL upon out-of-memory.
8415         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
8416         upon out-of-memory.
8417         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
8418         NULL upon out-of-memory.
8419         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
8420         NULL upon out-of-memory.
8421         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
8422         upon out-of-memory.
8423         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
8424         (gl_sublist_list_implementation): Update.
8425         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
8426         upon out-of-memory.
8427         * modules/sublist (Depends-on): Remove xalloc.
8428
8429         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
8430         * tests/test-carray_list.c: Likewise.
8431         * tests/test-linked_list.c: Likewise.
8432         * tests/test-linkedhash_list.c: Likewise.
8433         * tests/test-avltree_list.c: Likewise.
8434         * tests/test-rbtree_list.c: Likewise.
8435         * tests/test-avltreehash_list.c: Likewise.
8436         * tests/test-rbtreehash_list.c: Likewise.
8437         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
8438         * modules/carray-list-tests (Makefile.am): Likewise.
8439         * modules/linked-list-tests (Makefile.am): Likewise.
8440         * modules/linkedhash-list-tests (Makefile.am): Likewise.
8441         * modules/avltree-list-tests (Makefile.am): Likewise.
8442         * modules/rbtree-list-tests (Makefile.am): Likewise.
8443         * modules/avltreehash-list-tests (Makefile.am): Likewise.
8444         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
8445
8446         * NEWS: Mention the changes.
8447
8448         * lib/clean-temp.c: Include gl_xlist.h.
8449         * modules/clean-temp (Depends-on): Add xlist.
8450
8451         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
8452         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
8453
8454         * tests/test-array_oset.c: Include gl_xlist.h.
8455         * modules/array-oset-tests (Depends-on): Add xlist.
8456
8457         Reported by José E. Marchesi <jemarch@gnu.org>.
8458
8459 2009-12-13  Bruno Haible  <bruno@clisp.org>
8460
8461         Move the malloc checking from module 'oset' to new module 'xoset'.
8462         * modules/xoset: New file.
8463         * lib/gl_xoset.h: New file.
8464         * lib/gl_xoset.c: New file.
8465         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
8466         declarations.
8467         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
8468         (struct gl_oset_implementation): Rename and change methods accordingly.
8469         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
8470         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
8471         'int'. Mark as __warn_unused_result__.
8472         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
8473         gl_oset_create_empty.
8474         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
8475         'int'.
8476         * lib/gl_array_oset.c: Don't include xalloc.h.
8477         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
8478         malloc, not xmalloc.
8479         (grow): Change return type to 'int'. Don't call xalloc_die.
8480         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
8481         to 'int'.
8482         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
8483         'int'.
8484         (gl_array_oset_implementation): Update.
8485         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
8486         gl_tree_create_empty.
8487         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
8488         'int'.
8489         * lib/gl_avltree_oset.c: Don't include xalloc.h.
8490         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
8491         xmalloc.
8492         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
8493         not xmalloc.
8494         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
8495         xmalloc.
8496         (gl_avltree_oset_implementation): Update.
8497         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
8498         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
8499         xmalloc.
8500         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
8501         not xmalloc.
8502         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
8503         xmalloc.
8504         (gl_rbtree_oset_implementation): Update.
8505         * modules/array-oset (Depends-on): Remove xalloc.
8506         * modules/avltree-oset (Depends-on): Likewise.
8507         * modules/rbtree-oset (Depends-on): Likewise.
8508         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
8509         * tests/test-avltree_oset.c: Likewise.
8510         * tests/test-rbtree_oset.c: Likewise.
8511         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
8512         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
8513         * modules/rbtree-oset-tests (Makefile.am): Likewise.
8514         * NEWS: Mention the change.
8515
8516 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
8517
8518         maint.mk: allow a project to override release-prep commands
8519         * top/maint.mk (alpha, beta, stable): Move release-preparatory
8520         commands into a new rule.
8521         (release-prep): New rule.
8522         (release-prep-hook): New overridable variable.
8523
8524 2009-12-13  Bruno Haible  <bruno@clisp.org>
8525
8526         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
8527
8528 2009-12-13  Jim Meyering  <meyering@redhat.com>
8529
8530         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
8531         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
8532
8533 2009-12-12  Bruno Haible  <bruno@clisp.org>
8534
8535         duplocale: Tweak.
8536         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
8537
8538 2009-12-12  Karl Berry  <karl@gnu.org>
8539
8540         * config/srclist.txt (strtoll.c): tab changes, no more sync.
8541
8542 2009-12-12  Bruno Haible  <bruno@clisp.org>
8543
8544         * m4/po.m4: Undo incorrect untabification.
8545
8546 2009-12-12  Bruno Haible  <bruno@clisp.org>
8547
8548         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
8549         * modules/c-strtod (Depends-on): Add locale.
8550         * modules/c-strtold (Depends-on): Likewise.
8551
8552 2009-12-12  Bruno Haible  <bruno@clisp.org>
8553
8554         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
8555
8556 2009-12-11  Eric Blake  <ebb9@byu.net>
8557
8558         setenv: relax requirement in light of POSIX ruling
8559         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
8560         not NULL.
8561         * tests/test-setenv.c (main): Relax test.
8562         * tests/test-unsetenv.c (main): Likewise.
8563         * doc/posix-functions/setenv.texi (setenv): Document this.
8564         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
8565
8566 2009-12-11  Bruno Haible  <bruno@clisp.org>
8567
8568         New module 'fd-safer-flag'.
8569         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
8570         * lib/dup-safer.c (dup_safer_flag): Remove function.
8571         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
8572         * lib/fd-safer.c (fd_safer_flag): Remove function.
8573         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
8574         * modules/cloexec (configure.ac): Drop indicator macro.
8575         * modules/fd-safer-flag: New file.
8576         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
8577         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
8578         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
8579
8580 2009-12-11  Bruno Haible  <bruno@clisp.org>
8581
8582         Tests for module 'nl_langinfo'.
8583         * modules/nl_langinfo-tests: New file.
8584         * tests/test-nl_langinfo.sh: New file.
8585         * tests/test-nl_langinfo.c: New file.
8586
8587         New module 'nl_langinfo'.
8588         * lib/nl_langinfo.c: New file.
8589         * m4/nl_langinfo.m4: New file.
8590         * modules/nl_langinfo: New file.
8591         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
8592
8593 2009-12-11  Bruno Haible  <bruno@clisp.org>
8594
8595         Tests for module 'langinfo'.
8596         * modules/langinfo-tests: New file.
8597         * tests/test-langinfo.c: New file.
8598
8599         New module 'langinfo'.
8600         * lib/langinfo.in.h: New file.
8601         * m4/langinfo_h.m4: New file.
8602         * modules/langinfo: New file.
8603         * doc/posix-headers/langinfo.texi: Mention the new module.
8604
8605 2009-12-11  Bruno Haible  <bruno@clisp.org>
8606
8607         * lib/config.charset: Untabify.
8608
8609 2009-12-11  Bruno Haible  <bruno@clisp.org>
8610
8611         * modules/unistd-safer (configure.ac): Drop indicator macro.
8612
8613 2009-12-11  Bruno Haible  <bruno@clisp.org>
8614
8615         Move pipe2-safer code to its own file.
8616         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
8617         * lib/pipe-safer.c (pipe2_safer): Remove function.
8618         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
8619         (Makefile.am): Add it to lib_SOURCES.
8620
8621 2009-12-10  Bruno Haible  <bruno@clisp.org>
8622
8623         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
8624
8625 2009-12-10  Bruno Haible  <bruno@clisp.org>
8626
8627         Declare which arguments expect non-NULL values, for GCC and clang.
8628         * build-aux/arg-nonnull.h: New file.
8629         * modules/arg-nonnull: New file.
8630         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
8631         (inet_ntop, inet_pton): Use it.
8632         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
8633         (closedir, dirfd, opendir, scandir, alphasort): Use it.
8634         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
8635         (open, openat): Use it.
8636         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
8637         (fnmatch): Use it.
8638         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
8639         (getopt, getopt_long, getopt_long_only): Use it.
8640         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
8641         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
8642         Use it.
8643         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
8644         (iconv_open): Use it.
8645         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
8646         (strtoimax, strtoumax): Use it.
8647         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
8648         (duplocale): Use it.
8649         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
8650         (frexp, frexpl): Use it.
8651         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
8652         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
8653         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
8654         (tsearch, tfind, tdelete, twalk): Use it.
8655         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
8656         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
8657         sigpending): Use it.
8658         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
8659         (posix_spawn, posix_spawnp, posix_spawnattr_init,
8660         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
8661         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
8662         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
8663         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
8664         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
8665         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
8666         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
8667         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
8668         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
8669         Use it.
8670         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
8671         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
8672         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
8673         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
8674         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
8675         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
8676         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
8677         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
8678         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
8679         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
8680         strtoull, unsetenv): Use it.
8681         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
8682         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
8683         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
8684         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
8685         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
8686         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
8687         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
8688         (strcasecmp, strncasecmp): Use it.
8689         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
8690         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
8691         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
8692         rpl_setsockopt): Use it.
8693         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
8694         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
8695         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
8696         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
8697         (gettimeofday): Use it.
8698         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
8699         (times): Use it.
8700         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
8701         (uname): Use it.
8702         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
8703         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
8704         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
8705         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
8706         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
8707         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
8708         unlinkat, write): Use it.
8709         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
8710         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
8711         * lib/argv-iter.h: Include arg-nonnull.h.
8712         (_ATTRIBUTE_NONNULL_): Remove macro.
8713         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
8714         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
8715         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
8716         optimization.
8717         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
8718         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
8719         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
8720         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
8721         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
8722         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
8723         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
8724         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
8725         * modules/arpa_inet (Depends-on): Add arg-nonnull.
8726         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
8727         * modules/dirent (Depends-on): Add arg-nonnull.
8728         (Makefile.am): Insert arg-nonnull.h into dirent.h.
8729         * modules/fcntl-h (Depends-on): Add arg-nonnull.
8730         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
8731         * modules/fnmatch (Depends-on): Add arg-nonnull.
8732         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
8733         * modules/getopt-posix (Depends-on): Add arg-nonnull.
8734         (Makefile.am): Insert arg-nonnull.h into getopt.h.
8735         * modules/glob (Depends-on): Add arg-nonnull.
8736         (Makefile.am): Insert arg-nonnull.h into glob.h.
8737         * modules/iconv_open (Depends-on): Add arg-nonnull.
8738         (Makefile.am): Insert arg-nonnull.h into iconv.h.
8739         * modules/inttypes (Depends-on): Add arg-nonnull.
8740         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
8741         * modules/locale (Depends-on): Add arg-nonnull.
8742         (Makefile.am): Insert arg-nonnull.h into locale.h.
8743         * modules/math (Depends-on): Add arg-nonnull.
8744         (Makefile.am): Insert arg-nonnull.h into math.h.
8745         * modules/netdb (Depends-on): Add arg-nonnull.
8746         (Makefile.am): Insert arg-nonnull.h into netdb.h.
8747         * modules/search (Depends-on): Add arg-nonnull.
8748         (Makefile.am): Insert arg-nonnull.h into search.h.
8749         * modules/signal (Depends-on): Add arg-nonnull.
8750         (Makefile.am): Insert arg-nonnull.h into signal.h.
8751         * modules/spawn (Depends-on): Add arg-nonnull.
8752         (Makefile.am): Insert arg-nonnull.h into spawn.h.
8753         * modules/stdio (Depends-on): Add arg-nonnull.
8754         (Makefile.am): Insert arg-nonnull.h into stdio.h.
8755         * modules/stdlib (Depends-on): Add arg-nonnull.
8756         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
8757         * modules/string (Depends-on): Add arg-nonnull.
8758         (Makefile.am): Insert arg-nonnull.h into string.h.
8759         * modules/strings (Depends-on): Add arg-nonnull.
8760         (Makefile.am): Insert arg-nonnull.h into strings.h.
8761         * modules/sys_socket (Depends-on): Add arg-nonnull.
8762         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
8763         * modules/sys_stat (Depends-on): Add arg-nonnull.
8764         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
8765         * modules/sys_time (Depends-on): Add arg-nonnull.
8766         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
8767         * modules/sys_times (Depends-on): Add arg-nonnull.
8768         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
8769         * modules/sys_utsname (Depends-on): Add arg-nonnull.
8770         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
8771         * modules/time (Depends-on): Add arg-nonnull.
8772         (Makefile.am): Insert arg-nonnull.h into time.h.
8773         * modules/unistd (Depends-on): Add arg-nonnull.
8774         (Makefile.am): Insert arg-nonnull.h into unistd.h.
8775         * modules/wchar (Depends-on): Add arg-nonnull.
8776         (Makefile.am): Insert arg-nonnull.h into wchar.h.
8777         * modules/argv-iter (Depends-on): Add arg-nonnull.
8778         * tests/test-canonicalize.c (null_ptr): New function.
8779         (main): Use it.
8780         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
8781         (main): Use it.
8782         * tests/test-memmem.c (null_ptr): New function.
8783         (main): Use it.
8784         Reported by Jim Meyering.
8785
8786 2009-12-10  Bruno Haible  <bruno@clisp.org>
8787
8788         Use spaces for indentation, not tabs.
8789         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
8790         * m4/*.m4: Untabify.
8791         * build-aux/*.h: Untabify.
8792         * tests/**/*.[hc]: Untabify.
8793         * README: New section "Indent with spaces, not TABs", based on
8794         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
8795         * NEWS: Mention the change.
8796
8797 2009-12-10  Bruno Haible  <bruno@clisp.org>
8798
8799         pty test: Fix link error.
8800         * modules/pty-tests (Makefile.am): Add the default LDADD value to
8801         test_pty_LDADD.
8802
8803 2009-12-07  Simon Josefsson  <simon@josefsson.org>
8804
8805         * modules/pty: New file.
8806         * modules/pty-tests: New file.
8807         * m4/pty.m4: New file.
8808         * tests/test-pty.c: New file.
8809         * doc/glibc-headers/pty.texi: Modified.
8810         * doc/glibc-functions/forkpty.texi: Modified.
8811         * doc/glibc-functions/openpty.texi: Modified.
8812
8813 2009-12-10  Bruno Haible  <bruno@clisp.org>
8814
8815         Avoid syntax error in C++ mode.
8816         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
8817
8818 2009-12-10  Bruno Haible  <bruno@clisp.org>
8819
8820         Use sed with option -e.
8821         * gnulib-tool (func_version, func_emit_copyright_notice,
8822         func_emit_initmacro_end, func_import, func_create_testdir): Pass
8823         option -e to sed.
8824         * modules/link-warning (Makefile.am): Likewise.
8825
8826 2009-12-10  Jim Meyering  <meyering@redhat.com>
8827
8828         mgetgroups: do not write bytes beyond end of malloc'd buffer
8829         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
8830         username, we call getgroups with a one-element-shorter buffer,
8831         but still told it the length was original, max_n_groups.
8832
8833 2009-12-09  Eric Blake  <ebb9@byu.net>
8834
8835         cloexec: relax license
8836         * modules/cloexec (Maintainer): Add myself.
8837         (License): Use LGPL, not GPL.
8838
8839         link-warning: optimize generation
8840         * modules/link-warning (Makefile.am): Reduce process usage.
8841
8842 2009-12-09  Bruno Haible  <bruno@clisp.org>
8843
8844         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
8845         workaround was added on 2009-11-17.
8846
8847 2009-12-09  Jim Meyering  <meyering@redhat.com>
8848             Bruno Haible  <bruno@clisp.org>
8849
8850         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
8851         * modules/link-warning (Makefile.am): Make the comment-removing sed
8852         command more robust in the face of bootstrap-prepended comment lines.
8853
8854 2009-12-09  Bruno Haible  <bruno@clisp.org>
8855
8856         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
8857         most one group.
8858
8859 2009-12-09  Simon Josefsson <simon@josefsson.org>
8860             Bruno Haible  <bruno@clisp.org>
8861
8862         * build-aux/link-warning.h: Add copyright notice.
8863         * modules/link-warning (Makefile.am): Generate link-warning.h from
8864         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
8865         * NEWS: Mention change in link-warning module.
8866         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
8867         * modules/dirent (Makefile.am): Add dependency to dirent.h.
8868         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
8869         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
8870         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
8871         * modules/math (Makefile.am): Add dependency to math.h.
8872         * modules/search (Makefile.am): Add dependency to search.h.
8873         * modules/signal (Makefile.am): Add dependency to signal.h.
8874         * modules/spawn (Makefile.am): Add dependency to spawn.h.
8875         * modules/stdio (Makefile.am): Add dependency to stdio.h.
8876         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
8877         * modules/string (Makefile.am): Add dependency to string.h.
8878         * modules/strings (Makefile.am): Add dependency to strings.h.
8879         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
8880         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
8881         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
8882         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
8883         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
8884         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
8885         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
8886         * modules/unistd (Makefile.am): Add dependency to unistd.h.
8887         * modules/wchar (Makefile.am): Add dependency to wchar.h.
8888
8889 2009-12-09  Bruno Haible  <bruno@clisp.org>
8890
8891         fchdir: Optimize away rpl_fstat when possible.
8892         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
8893         REPLACE_OPEN_DIRECTORY.
8894         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
8895
8896 2009-12-09  Bruno Haible  <bruno@clisp.org>
8897
8898         * lib/fchdir.c: Update comment.
8899
8900 2009-12-09  Bruno Haible  <bruno@clisp.org>
8901
8902         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
8903
8904 2009-12-08  Eric Blake  <ebb9@byu.net>
8905
8906         fchdir: avoid memory leak on re-registration.
8907         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
8908
8909 2009-12-08  Jim Meyering  <meyering@redhat.com>
8910
8911         init.sh: avoid Solaris 10 /bin/sh portability problem
8912         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
8913         sourced script:
8914           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
8915           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
8916           bar
8917         tests/init.sh relied on that, accepting a --set-path=DIR argument,
8918         and two tests used that idiom.
8919         * tests/init.sh: Update suggested usage comments.
8920         (path_prepend_): New function, to be used in place
8921         of the --src-path=DIR option.
8922         (setup_): Move PATH-prepending code into path_prepend_.
8923         * tests/test-pread.sh: Adapt to new usage.
8924         * tests/test-xalloc-die.sh: Likewise.
8925
8926 2009-12-08  Simon Josefsson  <simon@josefsson.org>
8927
8928         * doc/gnulib.texi (Glibc pty.h): Add.
8929         * doc/glibc-functions/forkpty.texi: Add.
8930         * doc/glibc-functions/openpty.texi: Add.
8931         Suggested by Bruno Haible.
8932
8933 2009-12-08  Eric Blake  <ebb9@byu.net>
8934
8935         fchdir: fix logic bugs
8936         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
8937         * tests/test-fchdir.c (main): Enhance test.
8938         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
8939         is in use.
8940
8941         dup2: fix logic bugs
8942         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
8943         REPLACE_DUP2 to decide when rpl_dup2 is needed.
8944         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
8945         exists.
8946         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
8947
8948 2009-12-07  Eric Blake  <ebb9@byu.net>
8949
8950         unlink: fix m4 detection
8951         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
8952
8953         unistd-safer: add unit test
8954         * modules/unistd-safer-tests: New file.
8955         * tests/test-dup-safer.c: Likewise.
8956         * tests/test-cloexec.c (setmode): Avoid compiler warning.
8957         * tests/test-dup2.c (setmode): Likewise.
8958         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
8959
8960         cloexec: preserve text vs. binary across dup_cloexec
8961         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
8962         mode.
8963         * modules/dup2-tests (Depends-on): Add binary-io.
8964         * modules/cloexec-tests (Depends-on): Likewise.
8965         * tests/test-dup2.c (setmode, is_mode): New helpers.
8966         (main): Add tests that translation mode is preserved.
8967         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
8968         Reported by Bruno Haible.
8969
8970         mgetgroups: reduce duplicate listings
8971         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
8972         resulting array.
8973         * tests/test-chown.h (test_chown): Simplify client.
8974         * tests/test-lchown.h (test_lchown): Likewise.
8975
8976 2009-12-06  Bruno Haible  <bruno@clisp.org>
8977
8978         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
8979         value.
8980
8981 2009-12-06  Bruno Haible  <bruno@clisp.org>
8982
8983         * lib/progname.c: Include stdio.h, stdlib.h.
8984         (set_program_name): Reject a NULL argument.
8985
8986 2009-12-05  Eric Blake  <ebb9@byu.net>
8987
8988         pipe2-safer: new module
8989         * modules/pipe2-safer: New file.
8990         * lib/unistd-safer.h (pipe2_safer): New prototype.
8991         * lib/unistd--.h (pipe2): New wrapper.
8992         * lib/pipe-safer.c (pipe2_safer): New function.
8993         * modules/pipe (Depends-on): Add pipe2-safer.
8994         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
8995
8996         stdlib-safer: preserve cloexec flag for mkostemp[s]
8997         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
8998         fd_safer_flag.
8999
9000         unistd-safer: allow preservation of cloexec status via flag
9001         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
9002         prototypes.
9003         * lib/dup-safer.c (dup_safer_flag): New function.
9004         * lib/fd-safer.c (fd_safer_flag): Likewise.
9005         * modules/cloexec (configure.ac): Set witness.
9006
9007         test-dup2: enhance test
9008         * modules/dup2-tests (Depends-on): Add cloexec.
9009         * tests/test-dup2.c (main): Enhance test.
9010
9011         cloexec: add dup_cloexec
9012         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
9013         header and comments.
9014         * lib/cloexec.c (set_cloexec_flag): Add comments.
9015         (dup_cloexec): New function, with mingw implementation borrowed
9016         from...
9017         * lib/w32spawn.h (dup_noinherit): ...here.
9018         * modules/execute (Depends-on): Add cloexec.
9019         * modules/pipe (Depends-on): Likewise.
9020         * modules/cloexec (Depends-on): Add dup2.
9021         * modules/cloexec-tests (Files): New file.
9022         * tests/test-cloexec.c: Likewise.
9023
9024         test-xalloc-die: fix test for mingw
9025         * modules/xalloc-die-tests (Files): Add tests/init.sh.
9026         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
9027         directory and .exe suffix off argv[0] output.
9028
9029         test-fseeko: fix test for mingw
9030         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
9031         than undefining fseek, so test will pass on mingw.
9032
9033 2009-12-05  Bruno Haible  <bruno@clisp.org>
9034
9035         * lib/progname.h (set_program_name): Clarify specification.
9036         * lib/progname.c (set_program_name): Likewise.
9037         Reported by Jim Meyering.
9038
9039 2009-12-05  Jim Meyering  <meyering@redhat.com>
9040
9041         maint.mk: backslash-escape parens in default regexp
9042         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
9043         backslash-escape the literal parentheses.
9044
9045         maint.mk: news-date-check: use grep -E
9046         * top/maint.mk (today): Define a Make variable, not a...
9047         (news-date-check): ...shell variable.
9048         (news-date-regexp): Use the Make variable.
9049         Use grep's -E option.  Change the failing diagnostic to mention
9050         the variable, $(news-date-regexp).
9051
9052 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
9053
9054         maintainer-makefile: allow customization of NEWS entry format
9055         * top/maint.mk (news-date-regexp): New overridable variable.
9056         (news-date-check): Use it.
9057
9058 2009-12-04  Eric Blake  <ebb9@byu.net>
9059
9060         mgetgroups: add xgetgroups, and avoid ENOSYS failures
9061         * lib/mgetgroups.h (xgetgroups): New prototype.
9062         * lib/mgetgroups.c (xgetgroups): New wrapper.
9063         (mgetgroups): Handle ENOSYS.
9064         * modules/mgetgroups (Depends-on): Add realloc.
9065         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
9066
9067         mgetgroups: avoid argument promotion issues with -1
9068         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
9069         for invalid gid_t.
9070         * tests/test-chown.h (getegid, test_chown): Likewise.
9071         * tests/test-lchown.h (getegid, test_lchown): Likewise.
9072
9073 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
9074
9075         exclude: Fix header file problems.
9076         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
9077
9078 2009-12-01  Jim Meyering  <meyering@redhat.com>
9079
9080         fts: fts_open: do not let an empty string cause immediate failure
9081         This is required in support of GNU rm, for which the command
9082         "rm A '' B" must process and remove both A and B, in spite of
9083         the empty string argument.
9084         * lib/fts.c (fts_open): Do not let the presence of an empty string
9085         cause fts_open to fail immediately.  Most fts-using tools must be
9086         able to process all arguments, in order, and can be expected to
9087         diagnose such arguments themselves.
9088
9089 2009-11-30  Eric Blake  <ebb9@byu.net>
9090
9091         utimens: fix compilation error
9092         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
9093         Declare variable at right scope.
9094
9095 2009-11-29  Jim Meyering  <meyering@redhat.com>
9096
9097         bootstrap: handle perl-5.11's changed --version output
9098         * build-aux/bootstrap (get_version): Handle perl separately,
9099         since perl-5.11's --version output is different.
9100
9101 2009-11-28  Jim Meyering  <meyering@redhat.com>
9102
9103         userspec: depend on the inttostr module, too
9104         * modules/userspec (Depends-on): Add inttostr.
9105
9106         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
9107         * lib/userspec.c (parse_with_separator): Do not accept a user ID
9108         number of MAXUID when it evaluates to (uid_t) -1.
9109         Likewise for group ID.  Reported by Matt McCutchen in
9110         <http://savannah.gnu.org/bugs/?28113>
9111
9112         userspec: reformat to use spaces, not TABs
9113         * lib/userspec.c: Expand TABs to spaces.
9114         Add Emacs' "indent-tabs-mode: nil" hint.
9115
9116 2009-11-27  Eric Blake  <ebb9@byu.net>
9117
9118         getopt-gnu: flush out another BSD bug
9119         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
9120         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
9121         flush out BSD bug.
9122         * tests/test-getopt.h (test_getopt): End lists with NULL.
9123         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9124         (test_getopt_long_posix): Enhance test.
9125         * modules/getopt-posix-tests (Depends-on): Add stdbool.
9126         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
9127         getopt-gnu.
9128         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9129         Likewise.
9130
9131 2009-11-27  Simon Josefsson  <simon@josefsson.org>
9132
9133         * modules/idpriv-droptemp-tests (Notice): Fix text.
9134
9135 2009-11-27  Jim Meyering  <meyering@redhat.com>
9136
9137         test-xalloc-die: avoid spurious failure due to libtool argv difference
9138         In a libtool-enabled project, this test would fail due to a difference
9139         in the emitted program name, e.g.,
9140         -test-xalloc-die: memory exhausted
9141         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
9142         Use program to avoid that.
9143         * modules/xalloc-die-tests (Depends-on): Add progname.
9144         * tests/test-xalloc-die.c: Include progname.h".
9145         (program_name): Remove decl.
9146         (main): Call set_program_name.
9147         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
9148
9149 2009-11-26  Richard Jones  <rjones@redhat.com>
9150
9151         w32sock: leave win32 error in place.
9152         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
9153
9154 2009-11-26  Eric Blake  <ebb9@byu.net>
9155
9156         init.sh: suggest to use skip_ and fail_ functions in comments
9157         * tests/init.sh: Add a sentence.
9158
9159 2009-11-25  Bruno Haible  <bruno@clisp.org>
9160
9161         init.sh: add documentation in comments
9162         * tests/init.sh: Add some developer and user documentation.
9163
9164 2009-11-26  Jim Meyering  <meyering@redhat.com>
9165
9166         init.sh: accommodate even those who specify bogus srcdir manually
9167         * tests/init.sh: Normally, srcdir is guaranteed by automake and
9168         configure-time tests to be sanitized, so that there is no need to
9169         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
9170         (with no double quotes) suffices.  However, since tests may be
9171         invoked manually, and since you may explicitly set srcdir to the
9172         name of a directory containing spaces, do quote its uses here.
9173         * tests/test-pread.sh: Likewise.
9174         Suggested by Bruno Haible.
9175
9176         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
9177         * tests/test-pread.sh: Write no data into the pipe, because
9178         test-pread actually reads none.  This avoids a diagnostic,
9179         "bash: echo: write error: Broken pipe", that arises in the unusual
9180         event something is ignoring SIGPIPE, and might be interpreted
9181         as some sort of failure.  Reported by Bruno Haible.
9182
9183 2009-11-25  Jim Meyering  <meyering@redhat.com>
9184
9185         test-pread: cover failure with ESPIPE and EINVAL
9186         * tests/test-pread.c (main): Test for failure, too.
9187         * tests/test-pread.sh: Invoke with stdin on a pipe.
9188         Suggested by Eric Blake.
9189
9190         pread: improvement and fix
9191         * modules/pread (Depends-on): Depend on lseek, for portability to
9192         e.g., mingw.  Suggested by Eric Blake.
9193         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
9194
9195         unistd.in.h: correct declaration of pread
9196         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
9197         Reported by Richard W.M. Jones.
9198
9199         test-pread.sh: distribute the test script
9200         * modules/pread-tests (Files): Include test-pread.sh.
9201
9202         test-pread.sh: clean up
9203         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
9204         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
9205         That is unnecessary, since it's always ".".
9206         Suggestion from Eric Blake.
9207
9208         test-pread.sh: make executable
9209         * tests/test-pread.sh: Set executable bit.
9210         Reported by Eric Blake.
9211
9212         correct typo in test-pread.sh
9213         * tests/test-pread.sh: Add #! line.
9214
9215         test pread
9216         * tests/test-pread.c: New file.
9217         * tests/test-pread.sh: Likewise.
9218         * modules/pread-tests: Likewise.
9219
9220         pread: new module
9221         * modules/pread: New file.
9222         * lib/unistd.in.h (pread): Define/declare.
9223         * lib/pread.c (pread): New file.
9224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
9225         * modules/unistd (Makefile.am): Substitute witnesses.
9226         * doc/posix-functions/pread.texi (pread): Update.
9227         * MODULES.html.sh: Add pread.
9228
9229 2009-11-25  Jim Meyering  <meyering@redhat.com>
9230
9231         tests/init.sh: new file to be used via most *.sh tests
9232         * tests/init.sh: New file.
9233
9234 2009-11-25  Eric Blake  <ebb9@byu.net>
9235
9236         utimens: work around older Linux failure with symlinks
9237         * lib/utimens.c (lutimensat_works_really): New variable.
9238         (fdutimens, lutimens): Use it to manage kernels that support
9239         nanosecond times on files, but not on symlinks.
9240         Reported by OndÅ™ej Vašík.
9241
9242         utimes: fix configure grammar
9243         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
9244
9245 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
9246
9247         regex: Fix fastmap for multibyte character ranges.
9248         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
9249         characters when a multibyte character range is included.
9250
9251 2009-11-22  Andy Wingo  <wingo@pobox.com>
9252
9253         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
9254         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
9255
9256 2009-11-24  Bruno Haible  <bruno@clisp.org>
9257
9258         doc: Most *_l functions exist in MacOS X 10.5.
9259         * doc/posix-functions/duplocale.texi: Update platforms list.
9260         * doc/posix-functions/freelocale.texi: Likewise.
9261         * doc/posix-functions/newlocale.texi: Likewise.
9262         * doc/posix-functions/uselocale.texi: Likewise.
9263         * doc/posix-functions/isalnum_l.texi: Likewise.
9264         * doc/posix-functions/isalpha_l.texi: Likewise.
9265         * doc/posix-functions/isblank_l.texi: Likewise.
9266         * doc/posix-functions/iscntrl_l.texi: Likewise.
9267         * doc/posix-functions/isdigit_l.texi: Likewise.
9268         * doc/posix-functions/isgraph_l.texi: Likewise.
9269         * doc/posix-functions/islower_l.texi: Likewise.
9270         * doc/posix-functions/isprint_l.texi: Likewise.
9271         * doc/posix-functions/ispunct_l.texi: Likewise.
9272         * doc/posix-functions/isspace_l.texi: Likewise.
9273         * doc/posix-functions/isupper_l.texi: Likewise.
9274         * doc/posix-functions/iswalnum_l.texi: Likewise.
9275         * doc/posix-functions/iswalpha_l.texi: Likewise.
9276         * doc/posix-functions/iswblank_l.texi: Likewise.
9277         * doc/posix-functions/iswcntrl_l.texi: Likewise.
9278         * doc/posix-functions/iswctype_l.texi: Likewise.
9279         * doc/posix-functions/iswdigit_l.texi: Likewise.
9280         * doc/posix-functions/iswgraph_l.texi: Likewise.
9281         * doc/posix-functions/iswlower_l.texi: Likewise.
9282         * doc/posix-functions/iswprint_l.texi: Likewise.
9283         * doc/posix-functions/iswpunct_l.texi: Likewise.
9284         * doc/posix-functions/iswspace_l.texi: Likewise.
9285         * doc/posix-functions/iswupper_l.texi: Likewise.
9286         * doc/posix-functions/iswxdigit_l.texi: Likewise.
9287         * doc/posix-functions/isxdigit_l.texi: Likewise.
9288         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
9289         * doc/posix-functions/strcasecmp_l.texi: Likewise.
9290         * doc/posix-functions/strcoll_l.texi: Likewise.
9291         * doc/posix-functions/strfmon_l.texi: Likewise.
9292         * doc/posix-functions/strftime_l.texi: Likewise.
9293         * doc/posix-functions/strncasecmp_l.texi: Likewise.
9294         * doc/posix-functions/strxfrm_l.texi: Likewise.
9295         * doc/posix-functions/tolower_l.texi: Likewise.
9296         * doc/posix-functions/toupper_l.texi: Likewise.
9297         * doc/posix-functions/towctrans_l.texi: Likewise.
9298         * doc/posix-functions/towlower_l.texi: Likewise.
9299         * doc/posix-functions/towupper_l.texi: Likewise.
9300         * doc/posix-functions/wcscoll_l.texi: Likewise.
9301         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
9302         * doc/posix-functions/wctrans_l.texi: Likewise.
9303         * doc/posix-functions/wctype_l.texi: Likewise.
9304         * doc/glibc-functions/strptime_l.texi: Likewise.
9305         * doc/glibc-functions/strtod_l.texi: Likewise.
9306         * doc/glibc-functions/strtof_l.texi: Likewise.
9307         * doc/glibc-functions/strtol_l.texi: Likewise.
9308         * doc/glibc-functions/strtold_l.texi: Likewise.
9309         * doc/glibc-functions/strtoll_l.texi: Likewise.
9310         * doc/glibc-functions/strtoul_l.texi: Likewise.
9311         * doc/glibc-functions/strtoull_l.texi: Likewise.
9312         * doc/glibc-functions/wcsftime_l.texi: Likewise.
9313         * doc/glibc-functions/wcstod_l.texi: Likewise.
9314         * doc/glibc-functions/wcstof_l.texi: Likewise.
9315         * doc/glibc-functions/wcstol_l.texi: Likewise.
9316         * doc/glibc-functions/wcstold_l.texi: Likewise.
9317         * doc/glibc-functions/wcstoll_l.texi: Likewise.
9318         * doc/glibc-functions/wcstoul_l.texi: Likewise.
9319         * doc/glibc-functions/wcstoull_l.texi: Likewise.
9320
9321 2009-11-24  Bruno Haible  <bruno@clisp.org>
9322
9323         duplocale: Fix logic bug.
9324         * lib/duplocale.c: Don't include <langinfo.h>.
9325         (_NL_LOCALE_NAME): Remove macro.
9326         (rpl_duplocale): Use setlocale instead of nl_langinfo.
9327         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
9328
9329 2009-11-23  Jim Meyering  <meyering@redhat.com>
9330
9331         test-update-copyright: don't hard-code /usr/bin/perl
9332         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
9333         perl to print the current year.  Gilles Espinasse reported that
9334         the replaced use of perl was hard-coded as /usr/bin/perl.
9335
9336 2009-11-23  Bruno Haible  <bruno@clisp.org>
9337
9338         duplocale: Add support for glibc 2.3.x.
9339         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
9340
9341 2009-11-22  Bruno Haible  <bruno@clisp.org>
9342
9343         vasnprintf: Tiny optimization.
9344         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
9345         MacOS X.
9346
9347 2009-11-22  Bruno Haible  <bruno@clisp.org>
9348
9349         Tests for module 'duplocale'.
9350         * modules/duplocale-tests: New file.
9351         * tests/test-duplocale.c: New file.
9352
9353         New module 'duplocale'.
9354         * m4/duplocale.m4: New file.
9355         * lib/locale.in.h (duplocale): New declaration.
9356         * lib/duplocale.c: New file.
9357         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
9358         gl_LOCALE_H_DEFAULTS): New macros.
9359         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
9360         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
9361         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
9362         REPLACE_DUPLOCALE.
9363         * modules/duplocale: New file.
9364         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
9365
9366 2009-11-22  Bruno Haible  <bruno@clisp.org>
9367
9368         * modules/locale-tests (configure.ac): Test for newlocale function.
9369         * tests/test-locale.c: When the system has extended locale functions,
9370         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
9371
9372         locale: Make locale_t available when possible.
9373         * lib/locale.in.h: Include <xlocale.h> when it exists.
9374         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
9375         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
9376         * modules/locale (Depends-on): Add extensions.
9377         (Makefile.am): Also substitute HAVE_XLOCALE_H.
9378         * doc/posix-headers/locale.texi: Document the problem with locale_t.
9379
9380 2009-11-22  Bruno Haible  <bruno@clisp.org>
9381
9382         Add comments.
9383         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
9384         invocation.
9385         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
9386         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9387         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
9388
9389 2009-11-22  Bruno Haible  <bruno@clisp.org>
9390
9391         error: account for the possibility of freopen (stdout).
9392         * lib/error.c: Include <unistd.h>.
9393         (flush_stdout): New function, extracted from error and error_at_line.
9394         Determine stdout's fd dynamically.
9395         (error, error_at_line): Invoke flush_stdout.
9396         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
9397         * modules/error (Depends-on): Add unistd.
9398
9399 2009-11-22  Bruno Haible  <bruno@clisp.org>
9400
9401         diffseq: Add comment.
9402         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
9403
9404 2009-11-22  Jim Meyering  <meyering@redhat.com>
9405
9406         c-stack: avoid defining an unused static function
9407         * lib/c-stack.c (find_stack_direction): Do not define this function
9408         when it will not be used.
9409
9410         diffseq: avoid spurious gcc warnings
9411         * lib/diffseq.h (IF_LINT2): Define.
9412         (compareseq): Use it to initialize two members of "part".
9413         This avoids two used-uninitialized warnings.
9414
9415 2009-11-21  Jim Meyering  <meyering@redhat.com>
9416
9417         c-stack: avoid "ignoring return value of `write'" warning
9418         * lib/c-stack.c: Include "ignore-value.h".
9419         (die): Explicitly ignore each write return value.
9420         * modules/c-stack (Depends-on): Add ignore-value.
9421
9422 2009-11-21  Bruno Haible  <bruno@clisp.org>
9423
9424         diffseq: reduce scope of variable 'best'.
9425         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
9426         variable, earlier used for two different purposes.
9427
9428 2009-11-21  Jim Meyering  <meyering@redhat.com>
9429
9430         diffseq: remove useless assignment to "best"
9431         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
9432         assignment.  At that point "best" is already guaranteed to be zero.
9433
9434 2009-11-20  Eric Blake  <ebb9@byu.net>
9435
9436         build: mention ftp redirector in release announcements
9437         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
9438         values that used to come from cfg.mk; mention FTP redirect URL.
9439         * build-aux/announce-gen: Mention the mirror list.
9440         Suggested by Karl Berry.
9441
9442         nanosleep: improve port to mingw
9443         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
9444         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
9445         LIB_NANOSLEEP, but only when needed.
9446         * modules/select (Link): Document LIBSOCKET.
9447         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
9448         enough.
9449
9450         nanosleep: work around cygwin bug
9451         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
9452         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
9453         bug.
9454         (getnow): Delete, not needed.
9455         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
9456         LIB_CLOCK_GETTIME.
9457         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
9458         clock-time, gettime.
9459         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
9460         bug.
9461         * modules/nanosleep-tests: New test.
9462         * tests/test-nanosleep.c: New file.
9463
9464         sleep: work around cygwin bug
9465         * lib/sleep.c (rpl_sleep): Work around the bug.
9466         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
9467         (gl_PREREQ_SLEEP): Delete unused macro.
9468         * modules/sleep (Depends-on): Add verify.
9469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
9470         * modules/unistd (Makefile.am): Substitute witness.
9471         * lib/unistd.in.h (sleep): Update prototype.
9472         * doc/posix-functions/sleep.texi (sleep): Document the bug.
9473         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
9474         * modules/sleep-tests (Depends-on): Check for alarm.
9475
9476 2009-11-20  Jim Meyering  <meyering@redhat.com>
9477
9478         maint.mk: improve sc_prohibit_magic_number_exit
9479         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
9480         so it does not match uses like System.exit(1).
9481         Add comments showing how to correct all offenders.
9482
9483 2009-11-19  Eric Blake  <ebb9@byu.net>
9484
9485         xalloc-die-tests: add missing library
9486         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
9487
9488         test-xvasprintf: silence compiler warnings
9489         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
9490         empty string from gcc.
9491
9492 2009-11-19  Jim Meyering  <meyering@redhat.com>
9493
9494         xfreopen: new module, from coreutils
9495         * modules/xfreopen: New module.
9496         * lib/xfreopen.c: New file.
9497         * lib/xfreopen.h: New file.
9498         * MODULES.html.sh (File stream based Input/Output"): Add it.
9499
9500 2009-11-19  Eric Blake  <ebb9@byu.net>
9501
9502         manywarnings: depend on warnings
9503         * modules/manywarnings (Depends-on): Add warnings.
9504
9505         build: avoid compiler warnings
9506         * lib/select.c (rpl_select): Delete unused variable.
9507         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
9508
9509 2009-11-18  Eric Blake  <ebb9@byu.net>
9510
9511         tests: avoid false negative with --with-packager
9512         * tests/test-version-etc.sh: Discard packager information.
9513         * tests/test-argp-version-etc-1.sh: Likewise.
9514         Reported by Mike Frysinger.
9515
9516         utimens: fix regression on Solaris
9517         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
9518         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
9519         can only change fd timestamps via futimesat.  Instead, use an
9520         additional witness macro to avoid BSD bug.
9521         Reported by Jim Meyering.
9522
9523 2009-11-17  Eric Blake  <ebb9@byu.net>
9524
9525         usleep: use it to simplify tests
9526         * modules/stat-time-tests (Depends-on): Add usleep.
9527         (configure.ac): Drop usleep check.
9528         * modules/chown-tests (Depends-on, configure.ac): Likewise.
9529         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
9530         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
9531         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
9532         * modules/openat-tests (Depends-on, configure.ac): Likewise.
9533         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
9534         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
9535         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
9536         Likewise.
9537         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
9538         * tests/test-lchown.h (nap): Likewise.
9539         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
9540         * tests/test-stat-time.c (nap): Likewise.
9541         * tests/test-utimens-common.h (nap): Update comments.
9542
9543         usleep: new module
9544         * modules/usleep: New file.
9545         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
9546         * lib/usleep.c (usleep): Likewise.
9547         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
9548         * modules/unistd (Makefile.am): Substitute witnesses.
9549         * lib/unistd.in.h (usleep): Add declaration.
9550         * doc/pastposix-functions/usleep.texi (usleep): Document this.
9551         * MODULES.html.sh (Date and time): Likewise.
9552         * modules/usleep-tests (Depends-on): New test.
9553         * tests/test-usleep.c: New file.
9554
9555         chown: work around OpenBSD bug
9556         * lib/chown.c (rpl_chown): Work around the bug.
9557         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
9558         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
9559         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
9560         * modules/chown (Depends-on): Add stdbool.
9561         * modules/lchown (Depends-on): Likewise.
9562         * doc/posix-functions/chown.texi (chown): Document the bug.
9563         * doc/posix-functions/lchown.texi (lchown): Likewise.
9564         * tests/test-lchown.h (test_chown): Relax test.
9565
9566         mkstemp: avoid conflict with C++ keyword template
9567         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
9568         * lib/mkostemp.c (mkostemp): Likewise.
9569         * lib/mkostemps.c (mkostemps): Likewise.
9570         * lib/mkstemp.c (mkstemp): Likewise.
9571         * lib/mkstemps.c (mkstemps): Likewise.
9572
9573         xalloc-die-tests: optimize
9574         * tests/test-xalloc-die.sh: Reduce number of processes.
9575
9576 2009-11-17  Simon Josefsson  <simon@josefsson.org>
9577
9578         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
9579         patch from ludo@gnu.org (Ludovic Courtès).
9580
9581 2009-11-17  Jim Meyering  <meyering@redhat.com>
9582
9583         version-etc: use proper license string
9584         * modules/version-etc (License): Use LGPL, not LGPLv3+.
9585         * modules/version-etc-fsf: Likewise.
9586
9587 2009-11-17  Simon Josefsson  <simon@josefsson.org>
9588
9589         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
9590         printed to stdout.  Deal with EOL differences.
9591
9592 2009-11-17  Eric Blake  <ebb9@byu.net>
9593
9594         unsetenv: work around Solaris bug
9595         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
9596         * lib/unsetenv.c (rpl_unsetenv): Work around it.
9597         Reported by Jim Meyering.
9598
9599         vasnprintf: avoid compiler warnings
9600         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
9601         variables.
9602         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
9603
9604 2009-11-17  Simon Josefsson  <simon@josefsson.org>
9605
9606         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
9607         settings since xalloc-die is no longer the self test,
9608         xalloc-die.sh is.
9609
9610 2009-11-17  Jim Meyering  <meyering@redhat.com>
9611
9612         test-xalloc-die.sh: make the code agree with the commit log
9613         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
9614         at the end, just in case you happen to have a test-xalloc-die
9615         program in some other PATH directory.
9616
9617         test-xalloc-die.sh: fix a portability bug
9618         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
9619         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
9620         Otherwise, argv[0] (as often seen in diagnostics) would be too
9621         system-dependent, sometimes with, and sometimes without the leading "./".
9622
9623         version-etc-fsf: relax license to LGPLv3+
9624         * modules/version-etc-fsf (License): Relax license.
9625
9626 2009-11-16  Eric Blake  <ebb9@byu.net>
9627
9628         xalloc-die-tests: avoid printing null pointer
9629         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
9630         shell script.
9631         * tests/test-xalloc-die.c (program_name): Declare.
9632         * tests/test-xalloc-die.sh (tmpfiles): New file.
9633
9634         setenv, unsetenv: work around various bugs
9635         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
9636         (setenv) [HAVE_SETENV]: Work around bugs.
9637         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
9638         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
9639         for bugs.
9640         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
9641         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
9642         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
9643         * modules/stdlib (Makefile.am): Update substitutions.
9644         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
9645         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
9646         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
9647         * modules/setenv-tests: New test.
9648         * modules/unsetenv-tests: Likewise.
9649         * tests/test-setenv.c: New file.
9650         * tests/test-unsetenv.c: Likewise.
9651
9652 2009-11-16  Jim Meyering  <meyering@redhat.com>
9653
9654         version-etc: relax license to LGPLv3+
9655         * modules/version-etc (License): Relax license.
9656
9657         better AC_REQUIRE expanded-before-required-warning avoidance
9658         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
9659         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
9660         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
9661         which is no longer needed.
9662
9663 2009-11-16  Eric Blake  <ebb9@byu.net>
9664
9665         test-freading: clean up temporary file
9666         * tests/test-freading.c (main): Remove file on success, and use
9667         ASSERT more liberally.
9668         Reported by Jim Meyering.
9669
9670 2009-11-16  Jim Meyering  <meyering@redhat.com>
9671
9672         avoid new AC_REQUIRE expanded-before-required warnings
9673         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
9674         merely using it.
9675         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
9676         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
9677
9678 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9679
9680         * tests/test-xalloc-die.c: New file.
9681         * modules/xalloc-die-tests: New file.
9682         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
9683         XFAIL_TESTS so it can be appended by modules.
9684
9685 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9686
9687         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
9688         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
9689
9690 2009-11-14  Eric Blake  <ebb9@byu.net>
9691
9692         fnmatch: avoid compiler warning
9693         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
9694         to silence compiler warning about mismatch signedness in ?:.
9695         Reported by Robert Millan.
9696
9697         intprops: add double-inclusion guard
9698         * lib/intprops.h: Allow idempotent includes.
9699         Suggested by Bruce Korb.
9700
9701         openat: detect Solaris fchownat bug
9702         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
9703         penalizing glibc chownat when only lchownat is broken.
9704         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
9705         trailing slash bugs.
9706         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
9707         * modules/openat-tests (Files): Include more files.
9708         (Depends-on): Add mgetgroups, sleep, stat-time.
9709         (configure.ac): Add additional checks.
9710         (Makefile.am): Build new test.
9711         * tests/test-fchownat.c: New file.
9712
9713         lchown: detect Solaris and FreeBSD bug
9714         * lib/lchown.c (rpl_lchown): Work around bug.
9715         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
9716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9717         * modules/unistd (Makefile.am): Populate it.
9718         * lib/unistd.in.h (lchown): Update declaration.
9719         * doc/posix-functions/lchown.texi (lchown): Document the bug.
9720         * modules/lchown-tests: New file.
9721         * tests/test-lchown.h (test_lchown): Likewise.
9722         * tests/test-lchown.c (main): Likewise.
9723
9724         chown: detect Solaris and FreeBSD bug
9725         * lib/chown.c (rpl_chown): Work around bug.
9726         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
9727         (gl_PREREQ_CHOWN): Delete.
9728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9729         * modules/unistd (Makefile.am): Populate it.
9730         * lib/unistd.in.h (chown): Update declaration.
9731         * lib/lchown.c (chown): Update client.
9732         * modules/lchown (Depends-on): Add lstat.
9733         * doc/posix-functions/chown.texi (chown): Document the bug.
9734         * doc/posix-functions/getgroups.texi (getgroups): Document
9735         getgroups pitfall.
9736         * modules/chown-tests: New file.
9737         * tests/test-chown.h (test_chown): Likewise.
9738         * tests/test-chown.c (main): Likewise.
9739
9740 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
9741
9742         gnulib-tool: correctly detect absence of m4 directories
9743         * gnulib-tool: Avoid extra newline on data passed to wc -l.
9744
9745 2009-11-14  Jim Meyering  <meyering@redhat.com>
9746
9747         maint.mk: Prohibit inclusion of "xalloc.h" without use.
9748         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9749
9750 2009-11-14  John W. Eaton  <jwe@gnu.org>
9751
9752         strftime.h: wrap funtion declaration in extern "C" block
9753         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
9754
9755 2009-11-13  Eric Blake  <ebb9@byu.net>
9756
9757         getgroups: avoid compiler warning
9758         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
9759
9760         getgroups: work around FreeBSD bug
9761         * lib/getgroups.c (rpl_getgroups): Work around the bug.
9762         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
9763         * doc/posix-functions/getgroups.texi (getgroups): Document it.
9764         * tests/test-getgroups.c (main): Fix buffer overrun.
9765
9766         getgroups: avoid compilation failure
9767         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
9768         * modules/getgroups (Depends-on): Add stdint.
9769
9770 2009-11-13  Jim Meyering  <meyering@redhat.com>
9771
9772         test-getgroups: avoid compilation failure
9773         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
9774
9775 2009-11-13  Eric Blake  <ebb9@byu.net>
9776
9777         mgetgroups: new module, taken from coreutils
9778         * modules/mgetgroups: New file.
9779         * lib/mgetgroups.h: Likewise.
9780         * lib/mgetgroups.c (mgetgroups): Likewise.
9781         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
9782         * MODULES.html.sh (Users and groups): Mention it.
9783
9784         getgroups: don't expose GETGROUPS_T to user
9785         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
9786         an element at a time if GETGROUPS_T is wrong size.
9787         * lib/getugroups.h (getugroups): Change signature.
9788         * lib/unistd.in.h (getgroups): Likewise.
9789         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
9790         signature needs fixing.
9791         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
9792         AC_TYPE_GETGROUPS.
9793         * modules/group-member (Depends-on): Add getgroups.
9794         * lib/group-member.c (group_info, get_group_info): Use gid_t.
9795         (group_member): Rely on getgroups replacement.
9796         * lib/getugroups.c (getugroups): Use gid_t.
9797         * tests/test-getgroups.c (main): Likewise.
9798         * NEWS: Mention the signature change.
9799         * doc/posix-functions/getgroups.texi (getgroups): Mention the
9800         problem with signature.
9801         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
9802         GETGROUPS_T is still useful for setgroups.
9803
9804         getgroups, getugroups: provide stubs for mingw
9805         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
9806         * lib/getugroups.c (getugroups): Likewise.
9807         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
9808         function.  Modernize replacement scheme.
9809         (gl_PREREQ_GETGROUPS): Delete.
9810         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
9811         * modules/getgroups (configure.ac): Declare witness.
9812         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
9813         * modules/unistd (Depends-on): Substitute witness.
9814         * lib/unistd.in.h (getgroups): Declare replacement.
9815
9816         getgroups: avoid calling exit
9817         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
9818         drop xalloc.
9819         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
9820         dependencies.
9821         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
9822         exiting, in the rare case of malloc failure.
9823
9824         getgroups: fix logic error
9825         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
9826         has more than 20 groups.
9827         * modules/getgroups-tests: New test.
9828         * tests/test-getgroups.c: New file.
9829
9830 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9831
9832         * tests/test-base64.c: Improve.
9833
9834 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9835
9836         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
9837         Blake <ebb9@byu.net>.
9838
9839 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9840
9841         * tests/test-xvasprintf.c: Add %s%s related checks.
9842
9843 2009-11-12  Eric Blake  <ebb9@byu.net>
9844
9845         version-etc: match standards.texi style
9846         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
9847         and use <> only for URLs.
9848
9849 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
9850
9851         fts: do not fail on a submount during traversal
9852         * lib/fts.c (fts_build): Read the stat info again after opening
9853         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
9854         Original report at http://bugzilla.redhat.com/501848.
9855
9856 2009-11-12  Jim Meyering  <meyering@redhat.com>
9857
9858         bootstrap: sync from coreutils
9859         * build-aux/bootstrap (bootstrap_epilogue): New function.
9860         Use git_modules_config in one more place.  This make bootstrap's
9861         --gnulib-srcdir option more useful for testing.
9862
9863         bootstrap: generalize autoheader check
9864         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
9865         AC_CONFIG_HEADERS.
9866
9867 2009-11-11  Eric Blake  <ebb9@byu.net>
9868
9869         mkfifoat: use new modules for Solaris and BSD bugs
9870         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
9871         * lib/mkfifoat.c (mknodat): Split...
9872         * lib/mknodat.c (mknodat): ...into new file.
9873         * modules/mkfifoat (Files): Ship new file.
9874         (Depends-on): Add mkfifo, mknod.
9875         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
9876         (Depends-on): Add symlink.
9877         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
9878         redundant with test_mkfifo.h.
9879         (do_mkfifoat, do_mknodat): New helpers.
9880
9881         mknod: new module
9882         * modules/mknod: New file.
9883         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
9884         * lib/mknod.c (mknod): Likewise.
9885         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9886         defaults.
9887         * modules/sys_stat (Makefile.am): Substitute them.
9888         * lib/sys_stat.in.h (mknod): Declare replacement.
9889         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9890         Document it.
9891         * doc/posix-functions/mknod.texi (mknod): Likewise.
9892         * modules/mknod-tests: New test.
9893         * tests/test-mknod.c: Likewise.
9894
9895         mkfifo: new module
9896         * modules/mkfifo: New file.
9897         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9898         * lib/mkfifo.c (mkfifo): Likewise.
9899         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9900         defaults.
9901         * modules/sys_stat (Makefile.am): Substitute them.
9902         * lib/sys_stat.in.h (mkfifo): Declare replacement.
9903         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9904         Document it.
9905         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
9906         * modules/mkfifo-tests: New test.
9907         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
9908         from test-mkfifoat.c.
9909         * tests/test-mkfifo.c: New file.
9910
9911         readlink: detect FreeBSD bug
9912         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
9913         slash on symlink.
9914         * doc/posix-functions/readlink.texi (readlink): Document the bug.
9915         * tests/test-readlink.h (test_readlink): Enhance test.
9916
9917         symlink: detect FreeBSD bug
9918         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
9919         slash on symlink.
9920         * doc/posix-functions/symlink.texi (symlink): Document the bug.
9921         * tests/test-symlink.h (test_symlink): Enhance test.
9922
9923 2009-11-10  Eric Blake  <ebb9@byu.net>
9924
9925         link: detect FreeBSD bug
9926         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
9927         symlink.
9928         * doc/posix-functions/link.texi (link): Document the bug.
9929         * tests/test-link.h (test_link): Enhance test.
9930         * tests/test-linkat.c (main): Update caller.
9931
9932         unlink, remove: detect FreeBSD bug
9933         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
9934         slash on symlink.
9935         * doc/posix-functions/unlink.texi (unlink): Document the bug.
9936         * doc/posix-functions/remove.texi (remove): Likewise.
9937         * tests/test-unlink.h (test_unlink): Enhance test.
9938         * tests/test-remove.c (main): Likewise.
9939
9940 2009-11-09  Eric Blake  <ebb9@byu.net>
9941
9942         rename: detect FreeBSD bug
9943         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
9944         slash on symlink.
9945         * modules/renameat-tests (Depends-on): Add filenamecat.
9946         * tests/test-rename.h (test_rename): Allow one more errno.
9947         * tests/test-renameat.c (main): Likewise.
9948         * doc/posix-functions/rename.texi (rename): Document the bug.
9949
9950         open: detect FreeBSD bug
9951         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
9952         symlink.
9953         * doc/posix-functions/open.texi (open): Document the bug.
9954         * doc/posix-functions/utimes.texi (utimes): Likewise.
9955         * tests/test-open.h (test_open): Add parameters, and test symlink
9956         handling.
9957         * tests/test-open.c (main): Adjust caller.
9958         * tests/test-fcntl-safer.c (main): Likewise.
9959         * modules/open-tests (Depends-on): Add stdbool, symlink.
9960         * modules/fcntl-safer-tests (Depends-on): Likewise.
9961         * tests/test-openat.c (main): Add test-open tests.
9962
9963         stat: detect FreeBSD bug
9964         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
9965         symlink.
9966         * doc/posix-functions/stat.texi (stat): Document the bug.
9967         * tests/test-stat.h (test_stat_func): Add argument.
9968         * tests/test-stat.c (main): Adjust caller.
9969         * tests/test-fstatat.c (main): Likewise.
9970         * modules/stat-tests (Depends-on): Add stdbool, symlink.
9971         Reported by Jim Meyering.
9972
9973 2009-11-09  James Youngman  <jay@gnu.org>
9974
9975         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
9976         * lib/strftime.c: Correct placement of #include "ignore-value.h".
9977
9978 2009-11-08  Jim Meyering  <meyering@redhat.com>
9979
9980         utimens: remove invalid futimesat call
9981         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
9982         It used the file descriptor of the target file as the DIR_FD
9983         parameter and NULL as the file name.  That caused failure with
9984         errno == EFAULT on FreeBSD-8.0-rc2
9985
9986 2009-11-07  Eric Blake  <ebb9@byu.net>
9987
9988         fflush, freadseek: use fseeko, not fseek
9989         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
9990         (clear_ungetc_buffer): Avoid potential problems on large files.
9991         * lib/freadseek.c (freadseek): Likewise.
9992         * modules/freadseek (Depends-on): Add fseeko.
9993         * modules/fseek (configure.ac): Set a witness.
9994         * tests/test-fflush.c (main): Use fseeko.
9995         * tests/test-fpurge.c (fseek): Disable link warning.
9996         * tests/test-freadable.c (fseek): Likewise.
9997         * tests/test-freading.c (fseek): Likewise.
9998         * tests/test-fseeko.c (fseek): Likewise.
9999         * tests/test-ftell.c (fseek): Likewise.
10000         * tests/test-ftello.c (fseek): Likewise.
10001         * tests/test-fwritable.c (fseek): Likewise.
10002         * tests/test-fwriting.c (fseek): Likewise.
10003
10004 2009-11-06  Simon Josefsson  <simon@josefsson.org>
10005
10006         * modules/memchr (Depends-on): Drop getpagesize dependency.
10007
10008 2009-11-06  Simon Josefsson  <simon@josefsson.org>
10009
10010         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
10011         Reported by Ludovic Courtès.
10012         * build-aux/pmccabe2html: Improve example usage.
10013         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
10014
10015 2009-11-06  Jim Meyering  <meyering@redhat.com>
10016
10017         do-release-commit-and-tag: New module.
10018         Automate the release-commit and tag process.
10019         * build-aux/do-release-commit-and-tag: New script, from coreutils.
10020         * modules/do-release-commit-and-tag: New file.
10021         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10022
10023 2009-11-06  Simon Josefsson  <simon@josefsson.org>
10024
10025         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
10026         because test-select.c uses inet_pton.
10027
10028 2009-11-06  Simon Josefsson  <simon@josefsson.org>
10029
10030         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
10031         GETADDRINFO_LIB.  Bump serial number.
10032         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
10033         Suggested by Eric Blake <ebb9@byu.net>.
10034
10035 2009-11-05  Eric Blake  <ebb9@byu.net>
10036
10037         strtod: detect darwin bug
10038         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
10039         Reported by Leo Davis.
10040
10041         freopen-safer: new module
10042         * modules/freopen-safer: New module.
10043         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
10044         * lib/freopen-safer.c (freopen_safer): New file.
10045         * lib/stdio-safer.h (freopen_safer): New declaration.
10046         * lib/stdio--.h (freopen): New override.
10047         * MODULES.html.sh (File stream based Input/Output): Mention it.
10048         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
10049         freopen-safer module.
10050         * doc/posix-functions/stderr.texi (stderr): Likewise.
10051         * doc/posix-functions/stdin.texi (stdin): Likewise.
10052         * doc/posix-functions/stdout.texi (stdout): Likewise.
10053         * modules/freopen-safer-tests: New test.
10054         * tests/test-reopen-safer.c: New file.
10055
10056 2009-11-05  Jim Meyering  <meyering@redhat.com>
10057
10058         maint.mk: Prohibit inclusion of "close-stream.h" without use.
10059         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
10060
10061 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10062
10063         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
10064
10065 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10066
10067         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
10068
10069 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10070
10071         Fix link error.
10072         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
10073         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
10074
10075 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10076
10077         * tests/test-func.c: Also test value of __func__.
10078
10079 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10080
10081         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
10082         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
10083
10084 2009-11-05  Bruno Haible  <bruno@clisp.org>
10085
10086         Fix link error.
10087         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
10088         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
10089         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
10090
10091 2009-11-05  Bruno Haible  <bruno@clisp.org>
10092
10093         Tests for module 'inet_pton'.
10094         * modules/inet_pton-tests: New file.
10095         * tests/test-inet_pton.c: New file.
10096
10097 2009-11-05  Bruno Haible  <bruno@clisp.org>
10098
10099         Tests for module 'inet_ntop'.
10100         * modules/inet_ntop-tests: New file.
10101         * tests/test-inet_ntop.c: New file.
10102
10103 2009-11-04  Eric Blake  <ebb9@byu.net>
10104
10105         stdlib-safer: wrap all mkstemp variants
10106         * modules/mkostemp (configure.ac): Set witness.
10107         * modules/mkostemps (configure.ac): Likewise.
10108         * modules/mkstemps (configure.ac): Likewise.
10109         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
10110         (mkstemps_safer): Wrap more functions.
10111         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
10112         wrapping.
10113         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
10114         (mkstemps_safer): Implement the wrappers.
10115
10116         mkstemps, mkostemps: new modules
10117         * modules/mkostemps: New module.
10118         * modules/mkstemps: Likewise.
10119         * lib/mkostemps.c (mkostemps): New file.
10120         * lib/mkstemps.c (mkstemps): Likewise.
10121         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
10122         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
10123         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
10124         * modules/stdlib (Makefile.am): Substitute them.
10125         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
10126         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
10127         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
10128         * doc/gnulib.texi (Glibc stdlib.h): Include them.
10129         * MODULES.html.sh (File system functions): Mention them.
10130
10131         tempname: resync from glibc
10132         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
10133         same values for __GT_FILE as glibc.  Abort even when assertions
10134         are disabled.
10135         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
10136         match its value otherwise.  Allow idempotent inclusion.
10137         * lib/mkdtemp.c (mkdtemp): Adjust caller.
10138         * lib/mkostemp.c (mkostemp): Likewise.
10139         * lib/mkstemp.c (mkstemp): Likewise.
10140         * lib/tmpfile.c (tmpfile): Likewise.
10141         * NEWS: Document this.
10142
10143         utimens: fix use of futimens on older Linux
10144         * lib/utimens.c (fdutimens): Use updated, rather than original,
10145         timespec to avoid bug in older Linux kernel.
10146         Reported by Simon Josefsson.
10147
10148 2009-11-04  Bruno Haible  <bruno@clisp.org>
10149
10150         Make num_processors more flexible and consistent.
10151         * lib/nproc.h (enum nproc_query): New type.
10152         (num_processors): Add a 'query' argument.
10153         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
10154         (num_processors): Add a 'query' argument. Test the value of the
10155         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
10156         mingw, count the number of CPUs available for the current process.
10157         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
10158         Check for sched_getaffinity and sched_getaffinity_np.
10159         * modules/nproc (Depends-on): Add c-ctype, extensions.
10160         * NEWS: Mention the change.
10161
10162 2009-11-03  Bruno Haible  <bruno@clisp.org>
10163
10164         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
10165
10166 2009-11-03  Jim Meyering  <meyering@redhat.com>
10167
10168         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
10169         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
10170         if it is defined.
10171
10172 2009-11-02  Eric Blake  <ebb9@byu.net>
10173
10174         mktime, timegm: share common declaration
10175         * lib/mktime-internal.h: New file.
10176         * lib/mktime.c: Use it rather than open-coding a declaration.
10177         * lib/timegm.c: Likewise.
10178         * modules/mktime (Files): Ship it.
10179         * modules/timegm (Files): Likewise.
10180         Suggested by Bruno Haible.
10181
10182         test-update-copyright: update test to match script changes
10183         * tests/test-update-copyright.sh: Avoid hard-coding perl
10184         location.  Don't update *.bak created by earlier runs.
10185
10186 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
10187             Simon Josefsson  <simon@josefsson.org>
10188             Bruno Haible  <bruno@clisp.org>
10189
10190         Fix link error on Solaris 8.
10191         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
10192         also in libnsl. Define also INET_PTON_LIB.
10193         * modules/inet_pton (Link): New section.
10194
10195 2009-11-02  Simon Josefsson  <simon@josefsson.org>
10196             Bruno Haible  <bruno@clisp.org>
10197
10198         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
10199         * modules/inet_ntop (Link): New section.
10200         Reported by Boyan Kasarov <bkasarov@gmail.com>.
10201
10202 2009-11-02  Eric Blake  <ebb9@byu.net>
10203
10204         maint: avoid compiler warnings in m4 macros
10205         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
10206         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
10207
10208 2009-11-02  Simon Josefsson  <simon@josefsson.org>
10209
10210         * m4/pmccabe2html.m4: Remove file.
10211         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
10212         function.  Change maintainer.
10213         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
10214         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
10215         Courtès).
10216
10217 2009-10-31  Eric Blake  <ebb9@byu.net>
10218
10219         fseeko: fix m4 regression
10220         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
10221         regression from 2009-10-27.
10222         Reported by Ralf Wildenhues.
10223
10224 2009-10-31  Jim Meyering  <meyering@redhat.com>
10225
10226         inttostr: aesthetics and improved (compile-time) safety
10227         Define inttype_is_signed rather than inttype_is_unsigned,
10228         since the sole use is via "#if inttype_is_signed".
10229         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
10230         inttype_is_unsigned.
10231         * lib/offtostr.c (inttype_is_signed): Likewise.
10232         * lib/uinttostr.c (inttype_is_signed): Likewise.
10233         * lib/umaxtostr.c (inttype_is_signed): Likewise.
10234         * lib/inttostr.c (inttostr): Use verify to cross-check the
10235         inttype_is_signed value and the signedness of the actual type.
10236         * modules/inttostr (Depends-on): Add verify.
10237
10238 2009-10-30  Eric Blake  <ebb9@byu.net>
10239
10240         build: avoid compiler warnings
10241         * lib/fchmodat.c (lchmod): Mark unused variables.
10242         * lib/getopt.c (_getopt_initialize): Likewise.
10243         * lib/mktime.c (__mktime_internal): Provide prototype.
10244         * lib/inttostr.c (inttostr): Avoid compiler warning even with
10245         older gcc that do not understand #pragma GCC diagnostic.
10246         * lib/uinttostr.c (inttype_is_unsigned): Define.
10247         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
10248
10249 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
10250
10251         stat: fix compilation on AIX
10252         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
10253         only see struct stat64.
10254
10255 2009-10-30  Eric Blake  <ebb9@byu.net>
10256
10257         exclude: make more robust
10258         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
10259         rather than masking a coding bug.
10260         Suggested by Bruno Haible.
10261
10262 2009-10-30  Jim Meyering  <meyering@redhat.com>
10263
10264         perl scripts: remove #!/usr/bin/perl in favor of more portable...
10265         Rather than putting #!/usr/bin/perl on the first line,
10266         start with a variant of what's recommended by "man perlrun" that
10267         invokes the first "perl" program from your shell's search path.
10268         * build-aux/gitlog-to-changelog: Replace #!... as above.
10269         Add a "Local Variables" perl mode setting.
10270         Prompted by a patch from Ludovic Courtès.
10271         Improved by Eric Blake.
10272         * build-aux/useless-if-before-free: Likewise.
10273         * build-aux/announce-gen: Likewise.
10274         * build-aux/update-copyright: Likewise.
10275
10276 2009-10-29  Eric Blake  <ebb9@byu.net>
10277
10278         filenamecat-lgpl: adjust clients
10279         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
10280         filenamecat.
10281         * modules/renameat (Depends-on): Likewise.
10282
10283         filenamecat: split into filenamecat-lgpl
10284         * modules/filenamecat-lgpl: New module.
10285         * modules/filenamecat (Files): Move library-safe files into
10286         filenamecat-lgpl.
10287         (Depends-on): Add filenamecat-lgpl.
10288         (configure.ac): Declare witness.
10289         * lib/filenamecat.h (file_name_concat): Only declare when using
10290         GPL module.
10291         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
10292         Move...
10293         * lib/filenamecat-lgpl.c: ...into new file.
10294         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
10295         (gl_FILE_NAME_CONCAT): Use it.
10296         * MODULES.html.sh (File system functions): Mention new module.
10297
10298         argp: avoid memory leak
10299         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
10300         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
10301         base_name, since the latter malloc()s and can call exit().
10302         Leak introduced 2006-07-03.
10303
10304         dirname-lgpl: adjust clients that don't need full dirname
10305         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
10306         * modules/filenamecat (Depends-on): Likewise.
10307         * modules/linkat (Depends-on): Likewise.
10308         * modules/mkancesdirs (Depends-on): Likewise.
10309         * modules/mkdir (Depends-on): Likewise.
10310         * modules/openat (Depends-on): Likewise.
10311         * modules/savewd (Depends-on): Likewise.
10312         * modules/rename (Depends-on): Likewise.
10313         (License): Relax license.
10314         * modules/mkdir-tests (Depends-on): Drop progname.
10315         (Makefile.am): Delete unneeded LDADD.
10316         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
10317
10318         dirname: split into dirname-lgpl
10319         * modules/dirname-lgpl: New module.
10320         * modules/dirname (Files): Move library-safe files into
10321         dirname-lgpl.
10322         (Depends-on): Add dirname-lgpl.
10323         (configure.ac): Declare witness.
10324         * modules/double-slash-root (License): Relax license.
10325         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
10326         module.
10327         * lib/dirname.c (dir_len, mdir_name): Move...
10328         * lib/dirname-lgpl.c: ...into new file.
10329         * lib/basename.c (last_component, base_len): Move...
10330         * lib/basename-lgpl.c: ...into new file.
10331         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
10332         (gl_DIRNAME): Use it.
10333         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
10334         Mention new module.
10335         * modules/dirname-tests (Depends-on): Add progname.
10336         * tests/test-dirname.c (program_name): Delete.
10337
10338         mkdir: make safe for libraries
10339         * modules/mkdir (Depends-on): Drop xalloc.
10340         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
10341         exit.
10342
10343         tests: avoid some compiler warnings
10344         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
10345         literals.
10346         * tests/test-memchr.c (main): Avoid type mismatch.
10347         * tests/test-arpa_inet.c (main): Avoid unused parameters.
10348         * tests/test-base64.c (main): Likewise.
10349         * tests/test-getdelim.c (main): Likewise.
10350         * tests/test-gethostname.c (main): Likewise.
10351         * tests/test-getline.c (main): Likewise.
10352         * tests/test-netinet_in.c (main): Likewise.
10353         * tests/test-select.c (open_server_socket, main): Likewise.
10354         * tests/test-select-stdin.c (main): Likewise.
10355         * tests/test-sockets.c (main): Likewise.
10356         * tests/test-strsignal.c (main): Likewise.
10357         * tests/test-sys_select.c (main): Likewise.
10358         * tests/test-sys_socket.c (main): Likewise.
10359         * tests/test-u64.c (main): Likewise.
10360         * tests/test-xfprintf-posix.c (main): Likewise.
10361         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
10362
10363         sockets: avoid compiler warning
10364         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
10365
10366         maint: detect usage(1) and other suspicious exits
10367         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
10368
10369 2009-10-29  Jim Meyering  <meyering@redhat.com>
10370
10371         timespec: long-to-int truncation could make timespec_cmp malfunction
10372         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
10373         a multiple of 2^32 nanoseconds as no difference.
10374
10375 2009-10-28  Jim Meyering  <meyering@redhat.com>
10376
10377         fprintftime: wrap macro code argument in "do {...} while(0)"
10378         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
10379         cpy macro must be a statement that can be followed by a semicolon.
10380         Now that the else clause contains a comment and is hence longer
10381         than one line, I require curly braces.  That in turn requires
10382         that we wrap this code block in the standard do...while(0).
10383
10384         fprintftime: remove stray semicolon from previous change
10385         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
10386
10387         fprintftime: avoid a warning about ignored fwrite return value
10388         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
10389         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
10390         that is unsafe.
10391         * modules/fprintftime (Depends-on): Add ignore-value.
10392
10393         exclude: avoid an unwarranted warning
10394         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
10395
10396 2009-10-27  Eric Blake  <ebb9@byu.net>
10397
10398         fseek: avoid compilation failure when fflush is replaced
10399         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
10400         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
10401         module is in use.
10402         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
10403         module is not in use; since REPLACE_FSEEK worked otherwise.
10404         (GNULIB_FTELLO): Likewise for ftell.
10405         Reported by Ian Beckwith and others.
10406
10407 2009-10-27  Bruno Haible  <bruno@clisp.org>
10408
10409         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
10410         Reported by Jim Meyering.
10411
10412 2009-10-27  Jim Meyering  <jim@meyering.net>
10413             Bruno Haible  <bruno@clisp.org>
10414
10415         Avoid warning despite dropping the return value of fwrite.
10416         * lib/unicodeio.c: Include ignore-value.h.
10417         (fwrite_success_callback): Explicitly ignore fwrite's return value.
10418         * modules/unicodeio (Depends-on): Add ignore-value.
10419
10420 2009-10-26  Eric Blake  <ebb9@byu.net>
10421
10422         areadlinkat: fix fallback path
10423         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
10424         pointer and zero.
10425
10426 2009-10-22  Pádraig Brady  <P@draigBrady.com>
10427
10428         Use a better IO block size for modern systems
10429         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
10430         * lib/md2.c: Likewise.
10431         * lib/md4.c: Likewise.
10432         * lib/md5.c: Likewise.
10433         * lib/sha1.c: Likewise.
10434         * lib/sha256.c: Likewise.
10435         * lib/sha512.c: Likewise.
10436
10437 2009-10-22  Eric Blake  <ebb9@byu.net>
10438
10439         tests: avoid several compiler warnings
10440         * tests/test-getcwd.c (main): Avoid buffer underflow.
10441         * tests/test-getdate.c (main): String literals are not safe with
10442         putenv, so use setenv.  Declare unused argument.
10443         * modules/getdate-tests (Depends-on): Add setenv.
10444         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
10445         problems with string literals in char *.
10446         * tests/test-hash.c (main): Avoid shadowing declaration.
10447         (insert_new): Treat string literals as char const *.
10448         * tests/test-getopt.h (test_getopt): Likewise.
10449         (getopt_loop): Alter types to minimize casting elsewhere.
10450         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
10451         (test_getopt_long_posix): Likewise.
10452         (do_getopt_long): Add wrapper to minimize casting.
10453         * tests/test-atexit.c (clear_temp_file): Use void.
10454         * tests/test-areadlink-with-size.c (main): Declare unused
10455         arguments.
10456         * tests/test-areadlink.c (main): Likewise.
10457         * tests/test-areadlinkat-with-size.c (main): Likewise.
10458         * tests/test-areadlinkat.c (main): Likewise.
10459         * tests/test-canonicalize-lgpl.c (main): Likewise.
10460         * tests/test-canonicalize.c (main): Likewise.
10461         * tests/test-dirent-safer.c (main): Likewise.
10462         * tests/test-dirname.c (main): Likewise.
10463         * tests/test-dup2.c (main): Likewise.
10464         * tests/test-fchdir.c (main): Likewise.
10465         * tests/test-fcntl-h.c (main): Likewise.
10466         * tests/test-fcntl-safer.c (main): Likewise.
10467         * tests/test-fdopendir.c (main): Likewise.
10468         * tests/test-fdutimensat.c (main): Likewise.
10469         * tests/test-fflush.c (main): Likewise.
10470         * tests/test-filenamecat.c (main): Likewise.
10471         * tests/test-filevercmp.c (main): Likewise.
10472         * tests/test-fopen-safer.c (main): Likewise.
10473         * tests/test-fopen.c (main): Likewise.
10474         * tests/test-fpending.c (main): Likewise.
10475         * tests/test-fpurge.c (main): Likewise.
10476         * tests/test-freading.c (main): Likewise.
10477         * tests/test-fstatat.c (main): Likewise.
10478         * tests/test-fsync.c (main): Likewise.
10479         * tests/test-futimens.c (main): Likewise.
10480         * tests/test-getndelim2.c (main): Likewise.
10481         * tests/test-gettimeofday.c (main): Likewise.
10482         * tests/test-getopt.c (main): Likewise.
10483         * tests/test-i-ring.c (main): Likewise.
10484         * tests/test-inttypes.c (main): Likewise.
10485         * tests/test-link.c (main): Likewise.
10486         * tests/test-lstat.c (main): Likewise.
10487         * tests/test-math.c (main): Likewise.
10488         * tests/test-md5.c (main): Likewise.
10489         * tests/test-memchr2.c (main): Likewise.
10490         * tests/test-memrchr.c (main): Likewise.
10491         * tests/test-mkdir.c (main): Likewise.
10492         * tests/test-mkdirat.c (main): Likewise.
10493         * tests/test-mkfifoat.c (main): Likewise.
10494         * tests/test-open.c (main): Likewise.
10495         * tests/test-openat-safer.c (main): Likewise.
10496         * tests/test-openat.c (main): Likewise.
10497         * tests/test-quotearg.c (main): Likewise.
10498         * tests/test-rawmemchr.c (main): Likewise.
10499         * tests/test-readlink.c (main): Likewise.
10500         * tests/test-remove.c (main): Likewise.
10501         * tests/test-rename.c (main): Likewise.
10502         * tests/test-renameat.c (main): Likewise.
10503         * tests/test-rmdir.c (main): Likewise.
10504         * tests/test-sha1.c (main): Likewise.
10505         * tests/test-signal.c (main): Likewise.
10506         * tests/test-sigaction.c (main): Likewise.
10507         * tests/test-stat.c (main): Likewise.
10508         * tests/test-stat-time.c (main): Likewise.
10509         * tests/test-stddef.c (main): Likewise.
10510         * tests/test-stdint.c (main): Likewise.
10511         * tests/test-stdio.c (main): Likewise.
10512         * tests/test-stdlib.c (main): Likewise.
10513         * tests/test-strchrnul.c (main): Likewise.
10514         * tests/test-strerror.c (main): Likewise.
10515         * tests/test-string.c (main): Likewise.
10516         * tests/test-strtod.c (main): Likewise.
10517         * tests/test-strverscmp.c (main): Likewise.
10518         * tests/test-symlink.c (main): Likewise.
10519         * tests/test-symlinkat.c (main): Likewise.
10520         * tests/test-sys_stat.c (main): Likewise.
10521         * tests/test-sys_time.c (main): Likewise.
10522         * tests/test-time.c (main): Likewise.
10523         * tests/test-unistd.c (main): Likewise.
10524         * tests/test-unlink.c (main): Likewise.
10525         * tests/test-unlinkat.c (main): Likewise.
10526         * tests/test-utimens.c (main): Likewise.
10527         * tests/test-utimensat.c (main): Likewise.
10528         * tests/test-version-etc.c (main): Likewise.
10529         * tests/test-wchar.c (main): Likewise.
10530         * tests/test-wctype.c (main): Likewise.
10531         * tests/test-xprintf-posix.c (main): Likewise.
10532         * tests/test-posixtm.c (main): Likewise.
10533         (STREQ): Delete unused macro.
10534         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
10535         shadowed variables.
10536         * tests/test-memchr.c (main): Likewise.
10537
10538 2009-10-21  Eric Blake  <ebb9@byu.net>
10539
10540         areadlinkat: avoid failure on older glibc
10541         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
10542         rather than mis-comparing 0 against FUNC_RESULT of char*.
10543
10544 2009-10-21  Bruno Haible  <bruno@clisp.org>
10545
10546         * modules/stpncpy (License): Relicense under LGPLv2+.
10547         Reported by David Lutterkort <lutter@redhat.com>.
10548
10549 2009-10-20  Eric Blake  <ebb9@byu.net>
10550
10551         utimensat: work around Solaris 9 bug
10552         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
10553         has trailing slash bugs.
10554         * tests/test-lutimens.h (test_lutimens): Enhance test.
10555         * tests/test-utimens.h (test_utimens): Likewise.
10556         * doc/posix-functions/utime.texi (utime): Enhance documentation.
10557         * doc/posix-functions/utimes.texi (utimes): Likewise.
10558         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10559         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
10560         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
10561         * doc/posix-functions/futimens.texi (futimens): Likewise.
10562
10563         fdutimensat: new module
10564         * modules/fdutimensat: New file.
10565         * lib/fdutimensat.c (fdutimensat): Likewise.
10566         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
10567         * MODULES.html.sh (File system functions): Mention module.
10568         * modules/fdutimensat-tests: New test.
10569         * tests/test-fdutimensat.c: Likewise.
10570
10571         doc: regenerate INSTALL
10572         * doc/INSTALL: Reflect recent autoconf update.
10573         * doc/INSTALL.ISO: Likewise.
10574         * doc/INSTALL.UTF-8: Likewise.
10575
10576 2009-10-20  Pádraig Brady  <P@draigBrady.com>
10577
10578         acl: warn if ACL support is not detected
10579         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
10580
10581 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
10582
10583         * lib/nproc.h: Add extern "C" block for C++.
10584
10585 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
10586             Bruno Haible  <bruno@clisp.org>
10587
10588         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
10589         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
10590         * doc/posix-functions/isalpha.texi: Likewise.
10591         * doc/posix-functions/isblank.texi: Likewise.
10592         * doc/posix-functions/iscntrl.texi: Likewise.
10593         * doc/posix-functions/isdigit.texi: Likewise.
10594         * doc/posix-functions/isgraph.texi: Likewise.
10595         * doc/posix-functions/islower.texi: Likewise.
10596         * doc/posix-functions/isprint.texi: Likewise.
10597         * doc/posix-functions/ispunct.texi: Likewise.
10598         * doc/posix-functions/isspace.texi: Likewise.
10599         * doc/posix-functions/isupper.texi: Likewise.
10600         * doc/posix-functions/isxdigit.texi: Likewise.
10601
10602 2009-10-18  Bruno Haible  <bruno@clisp.org>
10603
10604         Tests for module 'isblank'.
10605         * modules/isblank-tests: New file.
10606         * tests/test-isblank.c: New file.
10607
10608         New module 'isblank'.
10609         * lib/isblank.c: New file.
10610         * m4/isblank.m4: New file.
10611         * modules/isblank: New file.
10612         * doc/posix-functions/isblank.texi: Mention the new module.
10613
10614 2009-10-18  Bruno Haible  <bruno@clisp.org>
10615
10616         New module 'ctype'.
10617         * lib/ctype.in.h: New file.
10618         * m4/ctype.m4: New file.
10619         * modules/ctype: New file.
10620         * doc/posix-headers/ctype.texi: Mention the new module.
10621
10622 2009-10-18  Jim Meyering  <meyering@redhat.com>
10623
10624         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
10625         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
10626         right after its initialization, rather than farther down.
10627         Keeping these in close proximity makes it easier to ensure
10628         that each such variable is initialized.  E.g.,
10629
10630             LIB_CLOCK_GETTIME=
10631             AC_SUBST([LIB_CLOCK_GETTIME])
10632
10633         This change also increments these serial numbers.
10634         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
10635         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10636         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10637
10638 2009-10-18  Bruno Haible  <bruno@clisp.org>
10639
10640         Don't let environment variables perturb build.
10641         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
10642         (gl_PREREQ_GETHRXTIME): ... not here.
10643
10644 2009-10-18  Bruno Haible  <bruno@clisp.org>
10645
10646         Avoid symlink attack in localcharset module.
10647         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
10648         (O_NOFOLLOW): Define fallback.
10649         (get_charset_aliases): Don't open the file if it is a symbolic link.
10650         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
10651         gl_FCNTL_H.
10652         (gl_FCNTL_H): Require it.
10653         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
10654         * modules/localcharset (Files): Add m4/fcntl_h.m4.
10655         Reported by Fergal Glynn <fglynn@veracode.com>.
10656
10657 2009-10-18  Bruno Haible  <bruno@clisp.org>
10658
10659         Implement nproc for mingw.
10660         * lib/nproc.c: Include <windows.h>
10661         (num_processors): On native Windows platforms, try GetSystemInfo.
10662
10663 2009-10-18  Bruno Haible  <bruno@clisp.org>
10664
10665         Implement nproc for IRIX.
10666         * lib/nproc.c: Include <sys/sysmp.h>.
10667         (num_processors): On IRIX systems, try sysmp.
10668         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
10669
10670 2009-10-18  Bruno Haible  <bruno@clisp.org>
10671
10672         Implement nproc for HP-UX.
10673         * lib/nproc.c: Include <sys/pstat.h>
10674         (num_processors): On HP-UX systems, try pstat_getdynamic.
10675         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
10676         pstat_getdynamic.
10677
10678 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
10679             Bruno Haible  <bruno@clisp.org>
10680
10681         Implement nproc for NetBSD, OpenBSD.
10682         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
10683         (ARRAY_SIZE): New macro.
10684         (num_processors): On BSD systems, try sysctl of HW_NCPU.
10685         * m4/nproc.m4: New file.
10686         * modules/nproc (Files): Add m4/nproc.m4.
10687         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
10688         (Makefile.am): Instead, augment lib_SOURCES.
10689
10690 2009-10-18  Bruno Haible  <bruno@clisp.org>
10691
10692         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
10693         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
10694         sys/param.h.
10695
10696 2009-10-16  Eric Blake  <ebb9@byu.net>
10697
10698         utimensat: new module
10699         * modules/utimensat: New file.
10700         * lib/utimensat.c (utimensat): Likewise.
10701         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10702         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
10703         so we can work around Linux bugs.
10704         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10705         * modules/sys_stat (Makefile.am): Substitute them.
10706         * lib/sys_stat.in.h (utimensat): Declare it.
10707         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10708         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10709         * modules/utimensat-tests: New test.
10710         * tests/test-utimensat.c: Likewise.
10711
10712         utimens: let lutimens work on non-symlinks
10713         * lib/utimens.c (lutimens): Fall back to utimens rather than
10714         failing with ENOSYS, when file is not a symlink.
10715         (utimens): Reduce redirection.
10716         * tests/test-lutimens.h (test_lutimens): Update test to cover
10717         non-symlinks.
10718         * tests/test-utimens.h (test_utimens): Update test to cover
10719         symlinks.
10720         * tests/test-utimens.c (main): Update caller.
10721
10722         utimens: cache whether utimensat syscall works
10723         * lib/utimens.c (utimensat_works_really): New cache variable.
10724         (fdutimens, lutimens): Use it to avoid failing syscall.
10725
10726         test-stat-time, test-utimens: improve portability
10727         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
10728         ext4 on alpha, and for cygwin.
10729         * tests/test-utimens-common.h: New file.
10730         (nap): Factor delays into single function.
10731         * tests/test-lutimens.h (test_lutimens): Use new header.
10732         * tests/test-futimens.h (test_futimens): Likewise.
10733         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
10734         timestamps to occur from same machine, as was done previously for
10735         test_utimens.
10736         * modules/utimens-tests (Files): Ship new file.
10737         * modules/futimens-tests (Files): Likewise.
10738         Reported in part by Jim Meyering.
10739
10740         sys_stat: sort replacement declarations
10741         * lib/sys_stat.in.h: Sort declarations.
10742         * lib/futimens.c (futimens): Fix typo.
10743
10744 2009-10-15  Jim Meyering  <meyering@redhat.com>
10745
10746         don't let environment settings perturb build
10747         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
10748         could cause a configure-time and/or build-time malfunction.
10749         Typically, a configure-time function-in-library test is performed
10750         via code like this:
10751
10752           LIB_VAR=
10753           AC_SUBST([LIB_VAR])
10754           prefix_saved_LIBS=$LIBS
10755             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
10756                        [test "$ac_cv_search_FUNC" = "none required" ||
10757                         LIB_VAR=$ac_cv_search_FUNC])
10758           LIBS=$prefix_saved_LIBS
10759
10760         However, in each of the files affected by this change, the LIB_VAR=
10761         initialization was omitted.  Thus, when set in the environment, its
10762         value would propagate into generated Makefiles when FUNC is not found
10763         in LIB_NAME.
10764         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
10765         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10766         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10767
10768 2009-10-14  Eric Blake  <ebb9@byu.net>
10769
10770         fchdir: avoid infinite recursion in mingw
10771         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
10772         recursing.
10773
10774         test-stat-time: port to mingw
10775         * tests/test-stat-time.c (force_unlink): Return a value.
10776         (test_ctime) [W32]: Fix compilation error.
10777         (nap): Don't call usleep with too large an argument.  Use
10778         force_unlink.
10779         * doc/pastposix-functions/usleep.texi (usleep): Document the
10780         portability issue.
10781
10782 2009-10-13  Jim Meyering  <meyering@redhat.com>
10783
10784         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
10785         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
10786         * modules/pipe-filter-ii: Likewise.
10787         * modules/sys_socket-tests: Likewise.
10788         * modules/tsearch-tests: Likewise.
10789         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
10790         (check): Depend on it.
10791
10792 2009-10-12  Eric Blake  <ebb9@byu.net>
10793
10794         utimens-tests: port to NFS file systems
10795         * tests/test-utimens.h (test_utimens): Refactor utimecmp
10796         comparisons to avoid spurious failures from timestamp drift
10797         between NFS machines.
10798
10799 2009-10-12  Eric Blake  <ebb9@byu.net>
10800
10801         stat-time-tests: minor cleanups
10802         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
10803         * tests/test-stat-time.c (nap): Separate assignment from call.
10804         Suggested by Paolo Bonzini and Bruno Haible.
10805
10806         sys_stat: guarantee struct timespec
10807         * lib/sys_stat.in.h (includes): Always include <time.h>
10808         * modules/sys_stat (Depends-on): Add time.
10809         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
10810         mode_t permission values.
10811         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
10812         get at subsecond timestamps.
10813
10814 2009-10-10  Eric Blake  <ebb9@byu.net>
10815
10816         futimens: new module
10817         * modules/futimens: New file.
10818         * lib/futimens.c (futimens): Likewise.
10819         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
10820         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
10821         we can work around Linux bugs.
10822         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10823         * modules/sys_stat (Makefile.am): Substitute them.
10824         * lib/sys_stat.in.h (futimens): Declare it.
10825         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10826         * doc/posix-functions/futimens.texi (futimens): Likewise.
10827         * modules/futimens-tests: New test.
10828         * tests/test-futimens.c: Likewise.
10829
10830         utimens: introduce fdutimens
10831         * lib/utimens.h (fdutimens): New prototype.
10832         * lib/utimens.c (gl_futimens): Move guts...
10833         (fdutimens): ...to new interface.
10834         * tests/test-utimens.c (do_fdutimens): Use it.
10835
10836         utimens: add UTIME_NOW and UTIME_OMIT support
10837         * lib/utimens.c (validate_timespec, update_timespec): New helper
10838         functions.
10839         (gl_futimens, lutimens): Use them.
10840         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
10841         stdbool, sys_stat.
10842         (Link): Mention resulting library dependency.
10843         * modules/utimecmp (Link): Likewise.
10844         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
10845         (Makefile.am): Pick up library dependency.
10846         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
10847         definition.
10848         * tests/test-sys_stat.c: Test the definitions.
10849         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
10850         * NEWS: Document library dependency.
10851
10852         utimecmp: support symlink timestamps
10853         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
10854         hashing when possible.  Use pathconf when available.
10855         (SYSCALL_RESOLUTION): Recognize tighter resolution.
10856         * modules/utimecmp (Depends-on): Add lstat.
10857
10858         utimens: add lutimens interface
10859         * lib/utimens.c (lutimens): New function.
10860         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
10861         * lib/utimens.h (lutimens): Declare new interface.
10862         * tests/test-utimens.c (main): Enhance test.
10863         * tests/test-lutimens.h (test_lutimens): New file.
10864         * modules/utimens-tests (Files): Distribute it.
10865         (Depends-on): Add symlink.
10866         (configure.ac): Check for usleep.
10867
10868         utimens: validate futimens usage
10869         * lib/utimens.c (gl_futimens): Require valid fd up front, using
10870         fewer syscalls on failure later on.  Avoid compiler warning on
10871         mingw.
10872         * modules/utimens (Depends-on): Add dup2.
10873
10874         utimens: add test
10875         * modules/utimens-tests: New test.
10876         * tests/test-utimens.h: New file.
10877         * tests/test-futimens.h: Likewise.
10878         * tests/test-utimens.c: Likewise.
10879
10880         doc: mention timestamp portability issues
10881         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
10882         instead.
10883         * doc/posix-functions/utime.texi (utime): Likewise.
10884         * doc/posix-functions/utimes.texi (utimes): Likewise.
10885         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
10886         instead.
10887         * doc/posix-functions/futimens.texi (futimens): Mention utimens
10888         module.
10889         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10890         Mention weakness with symlink timestamps.
10891         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
10892         to utimensat/futimens instead.
10893         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
10894
10895         test-dup2: enhance test
10896         * tests/test-dup2.c (main): Also check AT_FDCWD.
10897
10898         test-stat-time: avoid more spurious failures
10899         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
10900         xfs; and avoid race if the two timestamps cross quantization edge.
10901
10902         relocatable: prefer 'file system' over 'filesystem'
10903         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
10904         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
10905         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
10906         * doc/relocatable.texi (Enabling Relocatability): Likewise.
10907         * lib/relocatable.c (compute_curr_prefix): Likewise.
10908
10909 2009-10-10  Jim Meyering  <meyering@redhat.com>
10910
10911         stat-time-tests: check for the usleep function
10912         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
10913
10914 2009-10-10  Bruno Haible  <bruno@clisp.org>
10915
10916         * modules/xnanosleep: Put the Link section after the Include section.
10917
10918 2009-10-09  Eric Blake  <ebb9@byu.net>
10919
10920         dup2: work around FreeBSD 6.1 bug
10921         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
10922         * doc/posix-functions/dup2.texi (dup2): Document it.
10923         Reported by Nelson H. F. Beebe and Jim Meyering.
10924
10925         test-stat-time: port to buggy NFS clients
10926         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
10927         (test_ctime): Also skip test if mtime and ctime are skewed.
10928
10929         maint: prefer 'file system' over 'filesystem'
10930         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10931         * doc/posix-functions/lstat.texi (lstat): Likewise.
10932         * lib/file-has-acl.c (file_has_acl): Likewise.
10933         * lib/fwriteerror.c [TEST]: Likewise.
10934         * tests/test-areadlink.h (test_areadlink): Likewise.
10935         * tests/test-areadlinkat-with-size.c (main): Likewise.
10936         * tests/test-areadlinkat.c (main): Likewise.
10937         * tests/test-canonicalize-lgpl.c (main): Likewise.
10938         * tests/test-canonicalize.c (main): Likewise.
10939         * tests/test-fstatat.c (main): Likewise.
10940         * tests/test-linkat.c (main): Likewise.
10941         * tests/test-lstat.h (test_lstat_func): Likewise.
10942         * tests/test-mkdir.h (test_mkdir): Likewise.
10943         * tests/test-readlink.h (test_readlink): Likewise.
10944         * tests/test-remove.c (main): Likewise.
10945         * tests/test-rename.h (test_rename): Likewise.
10946         * tests/test-renameat.c (main): Likewise.
10947         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10948         * tests/test-symlink.h (test_symlink): Likewise.
10949         * tests/test-symlinkat.c (main): Likewise.
10950         * tests/test-unlink.h (test_unlink_func): Likewise.
10951         * tests/test-unlinkat.c (main): Likewise.
10952
10953         maint: make realtime library usage explicit
10954         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
10955         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
10956         * modules/settime (Link): Likewise.
10957         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
10958
10959         test-stat-time: speed up execution
10960         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
10961         warning on mingw.
10962         (nap): New helper function.
10963         (prepare_test): Use it to reduce sleep time.
10964         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
10965         execution.
10966         * modules/stat-time-tests (configure.ac): Check for usleep.
10967
10968 2009-10-09  Jim Meyering  <meyering@redhat.com>
10969
10970         selinux-h: always use getfilecon wrappers
10971         * lib/getfilecon.c: New file.
10972         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
10973         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
10974         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
10975         (fgetfilecon): Provide a stub.
10976         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
10977         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
10978         file unconditionally.
10979         When <selinux/selinux.h> is found, arrange to use wrappers.
10980         * modules/selinux-h (Files): Add getfilecon.c.
10981         (Makefile.am): Substitute include-next-related bits
10982         into the now-always-generated selinux/selinux.h file.
10983         * doc/glibc-functions/lgetfilecon.texi: New file.
10984         * doc/glibc-functions/fgetfilecon.texi: New file.
10985         * doc/glibc-functions/getfilecon.texi: New file.
10986         * doc/glibc-functions/getfilecon-desc.texi: New file.
10987         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
10988         which to pull in the new files.
10989         * MODULES.html.sh (Misc): Add selinux-h.
10990
10991 2009-10-08  Jim Meyering  <meyering@redhat.com>
10992
10993         unistd: fix comment typo
10994         * lib/unistd.in.h (euidaccess): Fix a comment typo.
10995
10996 2009-10-08  Eric Blake  <ebb9@byu.net>
10997
10998         areadlink: use SIZE_MAX consistently
10999         * modules/areadlink (Depends-on): Add stdint.
11000         * modules/areadlink-with-size (Depends-on): Likewise.
11001         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
11002         gives NULL; drop sys/types, since unistd gives size_t; and add
11003         stdint for SIZE_MAX.
11004         (SIZE_MAX): Rely on headers.
11005         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
11006         and add stdint.
11007         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
11008         (SIZE_MAX): Likewise.
11009         (INITIAL_BUF_SIZE): Turn into enum.
11010         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
11011
11012 2009-10-08  Jim Meyering  <meyering@redhat.com>
11013
11014         areadlinkat: avoid compilation failure
11015         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
11016         Fix typo in comment.
11017
11018 2009-10-07  Eric Blake  <ebb9@byu.net>
11019
11020         areadlinkat-with-size: new module
11021         * modules/areadlinkat-with-size: New module.
11022         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
11023         * lib/areadlink.h (areadlinkat): Declare it.
11024         * MODULES.html.sh (File system functions): Mention it.
11025         * modules/areadlinkat-with-size-tests: New test.
11026         * tests/test-areadlinkat-with-size.c: New file.
11027
11028         xreadlinkat: new module
11029         * modules/xreadlinkat: New module.
11030         * lib/xreadlinkat.c (xreadlinkat): New file.
11031         * lib/xreadlink.h (xreadlinkat): Declare it.
11032         * MODULES.html.sh (File system functions): Mention it.
11033
11034         areadlinkat: new module
11035         * lib/at-func.c (FUNC_FAIL): New define.
11036         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
11037         * modules/areadlinkat: New module.
11038         * lib/linkat.c (areadlinkat): Move...
11039         * lib/areadlinkat.c (areadlinkat): ...to new file.
11040         * lib/areadlink.h (areadlinkat): Declare it.
11041         * modules/linkat (Depends-on): Add areadlinkat.
11042         * MODULES.html.sh (File system functions): Mention it.
11043         * modules/areadlinkat-tests: New test.
11044         * tests/test-areadlinkat.c: New file.
11045
11046         areadlink, areadlink-with-size: add tests
11047         * modules/areadlink-tests: New test.
11048         * modules/areadlink-with-size-tests: Likewise.
11049         * tests/test-areadlink.h: New file.
11050         * tests/test-areadlink.c: Likewise.
11051         * tests/test-areadlink-with-size.c: Likewise.
11052
11053         maint: minor cleanups
11054         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
11055         _UNUSED_PARAMETER_ instead.
11056         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
11057         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
11058         * modules/linkat-tests (Files): Distribute test-link.h.
11059
11060         openat, utimens: whitespace cleanup
11061         * lib/openat.c: Prefer space throughout, rather than mix of 8
11062         spaces vs. tabs.
11063         * lib/at-func.c: Likewise.
11064         * lib/utimens.c: Likewise.
11065
11066         openat: avoid using wrong fd
11067         * lib/openat.c (openat_permissive): Reject user's fd if saving the
11068         working directory chooses same fd.
11069         * lib/at-func.c (AT_FUNC_NAME): Likewise.
11070
11071         mkdir, mkdirat: fix cygwin 1.5.x bug
11072         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
11073         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
11074         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
11075         bug.
11076         (gl_PREREQ_MKDIR): Delete unused macro.
11077         * modules/mkdir (Files): Track file rename.
11078         (configure.ac): Update macro name.
11079         * modules/openat (Depends-on): Add mkdir.
11080         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
11081
11082         mkdir, mkdirat: add tests
11083         * modules/mkdir-tests: New test.
11084         * tests/test-mkdir.h: New file.
11085         * tests/test-mkdir.c: Likewise.
11086         * tests/test-mkdirat.c: Likewise.
11087         * modules/openat-tests (Files): Add new files.
11088         (Makefile.am): Run new test.
11089
11090 2009-10-06  Eric Blake  <ebb9@byu.net>
11091
11092         doc: tweak *at function documentation
11093         * doc/posix-functions/faccessat.texi (faccessat): Mention
11094         known issue with replacement.
11095         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
11096         * doc/posix-functions/linkat.texi (linkat): Likewise.
11097         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
11098         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
11099         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11100         * doc/posix-functions/renameat.texi (renameat): Likewise.
11101         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
11102
11103         openat: fix GNU/Hurd bug in unlinkat
11104         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
11105         broken.
11106         * doc/posix-functions/unlink.texi (unlink): Document this.
11107         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
11108
11109         fdopendir: fix GNU/Hurd bug
11110         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
11111         allowing non-directory fds.
11112         * lib/fdopendir.c (rpl_fdopendir): Work around it.
11113         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
11114         * modules/dirent (Makefile.am): Substitute it.
11115         * lib/dirent.in.h (fdopendir): Declare replacement.
11116         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
11117         * tests/test-fdopendir.c (main): Test something other than
11118         /dev/null, since on Hurd that behaves like a directory.
11119
11120         test-symlink: port to GNU/Hurd
11121         * tests/test-symlink.h (test_symlink): Relax expected errno.
11122
11123         doc: tweak more cygwin information
11124         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
11125         now compatible with glibc.
11126         * doc/posix-functions/getopt.texi (getopt): Likewise.
11127
11128         getopt-gnu: add another test
11129         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
11130         guarantee behavior relied on by m4.
11131         * tests/test-getopt.c (main): Use it.
11132         * modules/getopt-posix-tests (Depends-on): Add setenv.
11133         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
11134
11135         getopt: fix compilation on darwin
11136         * lib/getopt.in.h (includes): Leave breadcrumbs during system
11137         include.
11138         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
11139         Reported by Ludovic Courtès.
11140
11141 2009-10-06  Bruno Haible  <bruno@clisp.org>
11142
11143         * modules/size_max (Description): Discourage its use.
11144         Reported by Simon Josefsson.
11145
11146 2009-10-06  Jim Meyering  <meyering@redhat.com>
11147
11148         linkat: avoid compilation failure
11149         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
11150
11151 2009-10-05  Eric Blake  <ebb9@byu.net>
11152
11153         linkat: support Linux 2.6.17
11154         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
11155         linkat on Linux, but allow cache variable override.
11156         * lib/linkat.c (rpl_linkat): Define override.
11157         * modules/linkat (Depends-on): Add symlinkat.
11158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
11159         * modules/unistd (Makefile.am): Substitute it.
11160         * lib/unistd.in.h (linkat): Declare replacement.
11161         Reported by Pádraig Brady.
11162
11163         quotearg: port test to systems with C.UTF-8 locale
11164         * tests/test-quotearg.c (struct result_strings): Add another
11165         member, differentiating between C.ASCII and C.UTF-8 handling.
11166         (compare_strings): Add parameter.
11167         (main): Adjust all callers.
11168
11169         getopt: avoid clash with FreeBSD _getopt_internal
11170         * lib/getopt.in.h (_getopt_internal): Override the name.
11171         * lib/getopt_int.h (includes): Pick up any overrides.
11172         Reported by Reuben Thomas.
11173
11174         hash: allow C89 compilation
11175         * lib/hash.c (check_tuning): Move declaration before statement.
11176         Reported by Reuben Thomas.
11177
11178 2009-10-05  Karl Berry  <karl@gnu.org>
11179
11180         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
11181
11182 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
11183             Bruno Haible  <bruno@clisp.org>
11184
11185         * lib/uname.c (uname): Use a table-driven algorithm to compute
11186         Windows NT versions.
11187
11188 2009-10-04  Bruno Haible  <bruno@clisp.org>
11189
11190         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
11191         program_invocation_short_name.
11192         * modules/progname (configure.ac): Test for presence of
11193         program_invocation_short_name.
11194         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
11195
11196 2009-10-04  Bruno Haible  <bruno@clisp.org>
11197
11198         * lib/progname.c (set_program_name): Fix comment.
11199         Reported by Jim Meyering.
11200
11201 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
11202             Bruno Haible  <bruno@clisp.org>
11203
11204         * lib/uname.c: Include <string.h>.
11205         (uname): Do only one call to GetVersionEx in the common case.
11206
11207 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
11208             Bruno Haible  <bruno@clisp.org>
11209
11210         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
11211         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
11212         (uname): Add support for Windows CE and various non-x86 CPU types.
11213
11214 2009-10-03  Bruno Haible  <bruno@clisp.org>
11215
11216         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
11217         invocation to tests/configure.ac.
11218         Reported by Ian Beckwith <ianb@erislabs.net>.
11219
11220 2009-10-02  Eric Blake  <ebb9@byu.net>
11221
11222         fchdir: avoid compiler warning
11223         * lib/fchdir.c (canonicalize_file_name)
11224         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
11225
11226         test-open: support mingw errno values
11227         * tests/test-open.h (test_open): Relax test.
11228         * tests/test-fopen.h (test_fopen): Likewise.
11229         * tests/test-openat-safer.c (main): Likewise.
11230
11231         open: fix opening directory on mingw
11232         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
11233
11234         test-open: on GNU/Hurd, /dev/null is a directory
11235         * tests/test-fopen.h (main): Rename...
11236         (test_fopen): ...to this.  Use a guaranteed non-directory when
11237         confirming open behavior on trailing slash.
11238         * tests/test-openat-safer.c (main): Likewise.
11239         * tests/test-open.h (main): Likewise....
11240         (test_open): ...to this.
11241         * tests/test-fopen.c (main): Adjust caller.
11242         * tests/test-fopen-safer.c (main): Likewise.
11243         * tests/test-open.c (main): Likewise.
11244         * tests/test-fcntl-safer.c (main): Likewise.
11245         Reported by Samuel Thibault.
11246
11247         rename, fchdir: don't ignore chdir failure
11248         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
11249         * lib/rename.c (rpl_rename) [W32]: Likewise.
11250         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
11251         an empty destination directory if source cannot be renamed,
11252         although there is still possibility for failure.
11253         * doc/posix-functions/rename.texi (rename): Document the race.
11254         Reported by Jim Meyering.
11255
11256         maint: cleanup whitespace in recent commits
11257         * lib/rename.c (rpl_rename): Remove tabs.
11258         * tests/test-link.h (test_link): Likewise.
11259         * lib/fchdir.c (get_name): Likewise.
11260         Reported by Jim Meyering.
11261
11262 2009-10-02  Ben Pfaff  <blp@gnu.org>
11263
11264         relocatable-prog-wrapper: Add missing dependency on
11265         double-slash-root.
11266         * modules/relocatable-prog-wrapper: Add dependency.
11267         Reported by Ian Beckwith <ianb@erislabs.net>.
11268
11269 2009-10-02  Eric Blake  <ebb9@byu.net>
11270
11271         renameat: fix Solaris bugs
11272         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
11273         needed fixing.
11274         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
11275         * modules/stdio (Makefile.am): Substitute it.
11276         * lib/stdio.in.h (renameat): Declare replacement.
11277         * lib/renameat.c (rpl_renameat): Implement fix.
11278
11279         renameat: new module
11280         * modules/renameat: New file.
11281         * lib/renameat.c (renameat): Likewise.
11282         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
11283         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
11284         * modules/stdio (Makefile.am): Substitute them.
11285         * lib/stdio.in.h (renameat): Declare it.
11286         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11287         * doc/posix-functions/renameat.texi (renameat): Likewise.
11288         * modules/renameat-tests: New test.
11289         * tests/test-renameat.c: Likewise.
11290
11291         rename: fix mingw bugs
11292         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
11293         directory overwrite bugs.
11294
11295         rename: fix another cygwin 1.5 bug
11296         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
11297         checks.
11298         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
11299         unnecessary cygwin workarounds.  Also work around bug with moving
11300         full directory onto an empty one.
11301         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
11302
11303         rename-dest-slash: merge into rename module
11304         * modules/rename-dest-slash (Status): Mark obsolete.
11305         (Depends-on): Add rename.
11306         (Files): Let rename do it all.
11307         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
11308         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
11309         * m4/rename-dest-slash.m4: ...so this file can be deleted.
11310         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
11311         * lib/rename.c (rpl_rename): Update comments.
11312
11313         rename: fix cygwin 1.5.x bugs
11314         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
11315         * lib/rename.c (rpl_rename): Work around them.
11316         * modules/rename (Depends-on): Add same-inode.
11317
11318         rename: fix Solaris 10 bug
11319         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
11320         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
11321         was the only bug.
11322
11323         rename: fix Solaris 9 bug
11324         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
11325         on non-directory.  Avoid calling exit.
11326         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
11327         strdup.
11328         * modules/rename-tests (Depends-on): Drop lstat.
11329         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
11330         (gl_PREREQ_RENAME): Delete unused macro.
11331
11332         rename-dest-slash: fix NetBSD bug
11333         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
11334         links.
11335         * modules/rename-dest-slash (Depends-on): Add same-inode.
11336
11337         rename-tests: new test, exposes several platform bugs
11338         * modules/rename-tests: New file.
11339         * tests/test-rename.h: Likewise.
11340         * tests/test-rename.c: Likewise.
11341         * doc/posix-functions/rename.texi (rename): Improve documentation,
11342         including bugs that will eventually be fixed in gnulib.
11343
11344 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
11345
11346         * lib/uname.c: Include <stdlib.h>
11347         (uname): Assume version info is available.
11348
11349 2009-10-02  Jim Meyering  <meyering@redhat.com>
11350
11351         gnu-web-doc-update: correct --help output
11352         * build-aux/gnu-web-doc-update: Make --help output relevant.
11353
11354         gnu-web-doc-update: add standard options
11355         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
11356
11357         gnu-web-doc-update: New module.
11358         Use this script to automatically update the on-line web documentation
11359         for your GNU project at http://www.gnu.org/software/$pkg/manual/
11360         * modules/gnu-web-doc-update: New file, from coreutils.
11361         * build-aux/gnu-web-doc-update: New script.
11362
11363 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
11364
11365         link: LoadLibrary is not needed.
11366         * lib/link.c: Use GetModuleHandle.
11367
11368 2009-10-01  Eric Blake  <ebb9@byu.net>
11369
11370         getopt: bump serial number
11371         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
11372         change.
11373
11374         tests: tighten link, rmdir, and remove tests
11375         * tests/test-link.h (includes): No need to use <config.h> here.
11376         Clean up if directory hard link was created, otherwise test for
11377         trailing '.'.
11378         * tests/test-linkat.c (main): Simplify.
11379         * tests/test-remove.c (main): Enhance test for trailing '.'.
11380         * tests/test-rmdir.h (test_rmdir_func): Likewise.
11381
11382 2009-10-01  Jim Meyering  <meyering@redhat.com>
11383
11384         maint.mk: requiring "make major" was annoying, for a "minor" release.
11385         What is intended is "stable", to contrast with alpha and beta,
11386         so require "make stable", not "make major".
11387         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
11388         (get_tool_versions): Likewise.
11389         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
11390
11391 2009-09-30  Ben Pfaff  <blp@gnu.org>
11392
11393         Fix broken build of replacement for Windows tmpfile().
11394         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
11395         flags argument added along with the 'mkostemp' module.
11396
11397 2009-09-28  Bruno Haible  <bruno@clisp.org>
11398
11399         Avoid identifier clash with POSIX function 'remove' defined as a macro.
11400         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
11401         to 'remove_elt'.
11402         (gl_list_remove): Update.
11403         * lib/gl_list.c (gl_list_remove): Update.
11404         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
11405         to 'remove_elt'.
11406         (gl_oset_remove): Update.
11407         * lib/gl_list.c (gl_oset_remove): Update.
11408         Reported by Eric Blake.
11409
11410 2009-09-28  Eric Blake  <ebb9@byu.net>
11411
11412         doc: mention yet more cygwin 1.7 status
11413         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
11414         cygwin.
11415         * doc/glibc-functions/execvpe.texi (execvpe): New file.
11416         * doc/gnulib.texi (Glibc unistd.h): Mention it.
11417
11418         argp: fix test failure
11419         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
11420         that are not upper-case.  Pass correct range to tolower.
11421
11422 2009-09-27  Jim Meyering  <meyering@redhat.com>
11423
11424         test-yesno: work around sparc-dash here-document infelicity
11425         Without this change, the literal \177 byte in a here document
11426         would make dash 0.5.5.1-3 access uninitialized memory.
11427         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
11428         Instead, use a marker, "@", and filter through tr to create the desired
11429         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
11430
11431 2009-09-27  Bruno Haible  <bruno@clisp.org>
11432
11433         Disable untested support for new flavours of ACLs on AIX.
11434         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
11435         progress.
11436         * lib/set-mode-acl.c (qset_acl): Likewise.
11437
11438 2008-12-07  Bruno Haible  <bruno@clisp.org>
11439
11440         Add support for new flavours of ACLs on AIX. (Untested.)
11441         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
11442         (file_has_acl): Add support for newer AIX.
11443         * lib/set-mode-acl.c (qset_acl): Likewise.
11444         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
11445         Rainer Tammer <tammer@tammer.net>.
11446
11447 2009-09-26  Eric Blake  <ebb9@byu.net>
11448
11449         argp: fix compilation of getopt
11450         * lib/getopt.in.h (includes): Use different guard than glibc.
11451         Reported by Sergey Poznyakoff.
11452
11453         doc: mention more cygwin 1.7 status
11454         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
11455         bug.
11456         * doc/posix-functions/execl.texi (execl): Likewise.
11457         * doc/posix-functions/execle.texi (execle): Likewise.
11458         * doc/posix-functions/execlp.texi (execlp): Likewise.
11459         * doc/posix-functions/execv.texi (execv): Likewise.
11460         * doc/posix-functions/execve.texi (execve): Likewise.
11461         * doc/posix-functions/execvp.texi (execvp): Likewise.
11462         * doc/glibc-functions/canonicalize_file_name.texi
11463         (canonicalize_file_name): Cygwin 1.7 now provides this.
11464         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
11465         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
11466         on AT_SYMLINK_NOFOLLOW.
11467
11468 2009-09-24  Eric Blake  <ebb9@byu.net>
11469
11470         test-linkat: make test more robust
11471         * tests/test-linkat.c (main): Avoid collision with EEXIST.
11472
11473         getopt: fix inclusion guards for cygwin
11474         * modules/getopt-posix (Depends-on): Add include-next.
11475         (Makefile.am): Substitute more items in replacement header.
11476         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
11477         <getopt.h>.
11478         * lib/getopt.in.h (includes): Use split inclusion guard, and
11479         prefer <getopt.h> over include <unistd.h> when one is present.
11480         (option): Also override name of 'struct option'.
11481
11482         same-inode: revert prior change; it is not yet ready
11483         * NEWS: Undo mention of this change.
11484         * lib/same-inode.h (same-inode.h): Undo tri-state change.
11485         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
11486         * lib/cycle-check.c (cycle_check): Likewise.
11487         * lib/same.c (same_name): Likewise.
11488         * lib/at-func2.c (at_func2): Likewise.
11489
11490 2009-09-23  Eric Blake  <ebb9@byu.net>
11491
11492         linkat: new module
11493         * modules/linkat: New file.
11494         * lib/at-func2.c (at_func2): Likewise.
11495         * lib/linkat.c (linkat): Likewise.
11496         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
11497         * lib/openat-priv.h (at_func2): Add declaration.
11498         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11499         * modules/unistd (Makefile.am): Substitute them.
11500         * lib/unistd.in.h (linkat): Declare it.
11501         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11502         * doc/posix-functions/linkat.texi (linkat): Likewise.
11503         * doc/posix-functions/link.texi (link): Tweak wording.
11504         * tests/test-link.c (main): Move guts...
11505         * tests/test-link.h (test_link): ...into new file.
11506         * modules/linkat-tests: New test.
11507         * tests/test-linkat.c: Likewise.
11508         * modules/link-tests (Files): Ship new file.
11509         (Depends-on): Add stdbool.
11510
11511         dirname: add library-safe mdir_name
11512         * lib/dirname.h (mdir_name): New prototype.
11513         * lib/dirname.c (dir_name): Move guts...
11514         (mdir_name): ...to new function that avoids xalloc_die.
11515
11516         fchdir: another mingw fix
11517         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
11518         * lib/fchdir.c (get_name): New helper method; skips canonicalize
11519         on mingw (where it has not yet been ported), and make it optional
11520         elsewhere.
11521         (_gl_register_fd): Use it.
11522
11523         same-inode: make SAME_INODE tri-state, to port to mingw
11524         * NEWS: Mention this change.
11525         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
11526         st_ino always being 0.
11527         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
11528         * lib/cycle-check.c (cycle_check): Likewise.
11529         * lib/same.c (same_name): Likewise.
11530
11531         lstat: avoid mingw compilation error
11532         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
11533         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
11534         lstat ourselves.
11535         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
11536         was adequate.
11537         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
11538         the checks for lstat.
11539         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
11540
11541         link: fix test failure on Solaris 9
11542         * lib/link.c (rpl_link): Don't assume link will catch bogus
11543         trailing slash on source.
11544
11545         test-symlinkat: enhance test
11546         * tests/test-readlink.c (main): Move guts...
11547         * tests/test-readlink.h (test_readlink): ...into new file.
11548         * tests/test-symlink.c (main): Move guts...
11549         * tests/test-symlink.h (test_symlink): ...into new file.
11550         * tests/test-symlinkat.c (main): Use new files for further
11551         coverage.
11552         (do_symlink, do_readlink): New helper functions.
11553         * modules/symlink-tests (Files): Ship new file.
11554         (Depends-on): Add stdbool.
11555         * modules/readlink-tests (Files): Ship new file.
11556         (Depends-on): Add stdbool.
11557         * modules/symlinkat-tests (Files): Use new files.
11558
11559 2009-09-23  Eric Blake  <ebb9@byu.net>
11560
11561         readlink: document portability issue with symlink length
11562         * doc/posix-functions/lstat.texi (lstat): Mention that some file
11563         systems have bogus st_size on symlinks, and mention the
11564         areadlink-with-size module.
11565         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
11566         * doc/posix-functions/readlink.texi (readlink): Mention the
11567         areadlink module, and ERANGE failure.
11568         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11569         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
11570
11571         readlink: fix Solaris 9 bug with trailing slash
11572         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
11573         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
11574         * doc/posix-functions/readlink.texi (readlink): Document this.
11575         * modules/readlink-tests: New test.
11576         * tests/test-readlink.c: Likewise.
11577
11578         readlink: fix cygwin 1.5.x bug with return type
11579         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
11580         * lib/unistd.in.h (readlink): Use ssize_t.
11581         * lib/readlink.c (readlink): Likewise.
11582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11583         * modules/unistd (Makefile.am): Substitute it.
11584         * lib/unistd.in.h (readlink): Declare replacement.
11585         * doc/posix-functions/readlink.texi (readlink): Document this.
11586
11587         symlink: use throughout gnulib
11588         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
11589         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
11590         symlink is not used.
11591         * modules/symlinkat (Depends-on): Add symlink.
11592         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
11593         * modules/canonicalize-tests (Depends-on): Likewise.
11594         * modules/lstat-tests (Depends-on): Likewise.
11595         * modules/openat-tests (Depends-on): Likewise.
11596         * modules/remove-tests (Depends-on): Likewise.
11597         * modules/rmdir-tests (Depends-on): Likewise.
11598         * modules/unlink-tests (Depends-on): Likewise.
11599         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
11600         * tests/test-canonicalize.c (symlink): Likewise.
11601         * tests/test-fstatat.c (symlink): Likewise.
11602         * tests/test-lstat.c (symlink): Likewise.
11603         * tests/test-remove.c (symlink): Likewise.
11604         * tests/test-rmdir.c (symlink): Likewise.
11605         * tests/test-unlink.c (symlink): Likewise.
11606         * tests/test-unlinkat.c (symlink): Likewise.
11607
11608         symlink: new module, for Solaris 9 bug
11609         * modules/symlink: New file.
11610         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
11611         * lib/symlink.c: Likewise.
11612         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
11613         * modules/unistd (Makefile.am): Substitute them.
11614         * lib/unistd.in.h (symlink): Declare replacement.
11615         * MODULES.html.sh (File system functions): Mention it.
11616         * doc/posix-functions/symlink.texi (symlink): Likewise.
11617         * modules/symlink-tests: New test.
11618         * tests/test-symlink.c: Likewise.
11619
11620 2009-09-23  Bruno Haible  <bruno@clisp.org>
11621
11622         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
11623         when needed.
11624         Test case: gnulib-tool --import --with-tests atexit inttypes.
11625         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
11626
11627 2009-09-23  Bruno Haible  <bruno@clisp.org>
11628
11629         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
11630         subcommand, not in a subshell.
11631
11632 2009-09-22  Eric Blake  <ebb9@byu.net>
11633
11634         unistd: sort replacement declarations
11635         * lib/unistd.in.h: Sort declarations.
11636
11637         open, openat: minor optimization
11638         * lib/open.c (open): If open succeeded, len is non-zero.
11639         * lib/openat.c (rpl_openat): Likewise.
11640
11641         link-follow: ensure correct result
11642         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
11643         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
11644         distinguish between possible failures.
11645
11646 2009-09-21  Eric Blake  <ebb9@byu.net>
11647
11648         fts: avoid compiler warning
11649         * lib/fts.c (dirent_inode_sort_may_be_useful)
11650         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
11651
11652 2009-09-19  Bruno Haible  <bruno@clisp.org>
11653
11654         * lib/progreloc.c (canonicalize_file_name): New declaration.
11655
11656 2009-09-19  Eric Blake  <ebb9@byu.net>
11657
11658         link: fix quoting
11659         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
11660
11661         openat: fix openat bugs on Solaris 9
11662         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
11663         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
11664         * modules/openat (Depends-on): Add open.
11665         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
11666         * modules/fcntl-h (Makefile.am): Substitute it.
11667         * lib/fcntl.in.h (openat): Declare replacement.
11668         * doc/posix-functions/openat.texi (openat): Document this.
11669
11670         openat: move fstatat and unlinkat into correct files
11671         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
11672         compiled.
11673         * lib/openat.c (fstatat, unlinkat): Move...
11674         * lib/fstatat.c (fstatat): ...into correct files.
11675         * lib/unlinkat.c (unlinkat): Likewise.
11676
11677         openat: fix unlinkat bugs on Solaris 9
11678         * lib/unlinkat.c (unlinkat): New file.
11679         * modules/openat (Depends-on): Add unlink.
11680         (Files): Distribute it.
11681         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
11682         trailing slash behavior is broken.
11683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11684         * modules/unistd (Makefile.am): Substitute it.
11685         * lib/unistd.in.h (unlinkat): Declare replacement.
11686         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
11687
11688         openat: fix fstatat bugs on Solaris 9
11689         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
11690         stat.
11691         * doc/posix-functions/fstatat.texi (fstatat): Document this.
11692
11693         test-unlinkat: enhance test, to expose Solaris 9 bug
11694         * tests/test-unlink.c (main): Factor guts...
11695         * tests/test-unlink.h (test_rmdir_func): ...into new file.
11696         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
11697         * tests/test-rmdir.c (main): Adjust caller.
11698         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
11699         (unlinker): New helper function.
11700         (rmdirat): Enhance check.
11701         * modules/rmdir-tests (Depends-on): Add stdbool.
11702         * modules/unlink-tests (Depends-on): Likewise.
11703         (Files): Add test-unlink.h.
11704         * modules/openat-tests (Files): Likewise.
11705         (Depends-on): Add unlinkdir.
11706
11707         test-fstatat: new test, to expose Solaris 9 bugs
11708         * tests/test-stat.c (main): Factor guts...
11709         * tests/test-stat.h (test_stat_func): ...into new file.
11710         * tests/test-lstat.c (main): Factor guts...
11711         * tests/test-lstat.h (test_lstat_func): ...into new file.
11712         * tests/test-fstatat.c: New file.
11713         * modules/stat-tests (Files): Add test-stat.h.
11714         * modules/lstat-tests (Files): Add test-lstat.h.
11715         (Depends-on): Add stdbool.
11716         * modules/openat-tests (Depends-on): Add pathmax.
11717         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
11718         (Makefile.am): Run new test.
11719
11720         remove: new module, for mingw and Solaris 9 bugs
11721         * modules/remove: New file.
11722         * lib/remove.c: Likewise.
11723         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
11724         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
11725         * modules/stdio (Makefile.am): Use them.
11726         * lib/stdio.in.h (remove): Declare replacement.
11727         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11728         * doc/posix-functions/remove.texi (remove): Likewise.
11729         * modules/remove-tests: New test.
11730         * tests/test-remove.c: Likewise.
11731
11732         unlink: new module, for Solaris 9 bug
11733         * modules/unlink: New file.
11734         * lib/unlink.c: Likewise.
11735         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
11736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11737         * modules/unistd (Makefile.am): Use them.
11738         * lib/unistd.in.h (stat): Declare replacement.
11739         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11740         * doc/posix-functions/unlink.texi (unlink): Likewise.
11741         * modules/unlink-tests: New test.
11742         * tests/test-unlink.c: Likewise.
11743
11744         lstat: fix Solaris 9 bug
11745         * lib/lstat.c (lstat): Also check for trailing slash on
11746         non-symlink, non-directories.  Use stat module to simplify logic.
11747         * doc/posix-functions/lstat.texi (lstat): Document it.
11748         * modules/lstat-tests (Depends-on): Add errno, same-inode.
11749         (configure.ac): Check for symlink.
11750         * tests/test-lstat.c (main): Add more tests.
11751
11752         stat: add as dependency to other modules
11753         * modules/chown (Depends-on): Add stat.
11754         * modules/euidaccess (Depends-on): Likewise.
11755         * modules/fchdir (Depends-on): Likewise.
11756         * modules/isdir (Depends-on): Likewise.
11757         * modules/link (Depends-on): Likewise.
11758         * modules/lstat (Depends-on): Likewise.
11759         * modules/mkdir-p (Depends-on): Likewise.
11760         * modules/modechange (Depends-on): Likewise.
11761         * modules/open (Depends-on): Likewise.
11762         * modules/readlink (Depends-on): Likewise.
11763         * modules/same (Depends-on): Likewise.
11764
11765         stat: fix Solaris 9 bug
11766         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
11767         slash.
11768         * lib/stat.c (rpl_stat): Work around it.
11769         * doc/posix-functions/stat.texi (stat): Update documentation.
11770
11771         stat: new module, for mingw bug
11772         * modules/stat: New file.
11773         * lib/stat.c: Likewise.
11774         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
11775         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11776         * modules/sys_stat (Makefile.am): Use them.
11777         * lib/sys_stat.in.h (stat): Declare replacement.
11778         * lib/openat.c (fstatat): Deal with lstat and stat being function
11779         macros.
11780         * modules/openat (Depends-on): Add inline.
11781         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11782         * doc/posix-functions/stat.texi (stat): Likewise.
11783         * modules/stat-tests: New test.
11784         * tests/test-stat.c: Likewise.
11785
11786 2009-09-19  Jim Meyering  <meyering@redhat.com>
11787
11788         syntax-check: detect unnecessary inclusion of canonicalize.h
11789         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
11790
11791 2009-09-19  Eric Blake  <ebb9@byu.net>
11792
11793         canonicalize-lgpl: adjust clients to use correct header
11794         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11795         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
11796         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
11797         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
11798         * lib/progreloc.c (includes): Likewise.
11799
11800 2009-09-19  Jim Meyering  <meyering@redhat.com>
11801
11802         test-posixtm.c: correct a comment
11803         * tests/test-posixtm.c: Correct first-line comment.
11804         Spotted by Eric Blake.
11805
11806 2009-09-16  Jim Meyering  <meyering@redhat.com>
11807
11808         posixtm-tests: make T const-correct; add a test case
11809         * tests/test-posixtm.c (T): Declare const.
11810         Add a test for -(2^31+1).
11811         Remove useless can-succeed-only-in-2002 test.
11812
11813         posixtm-tests: adjust the sole failing test
11814         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
11815         expected output matches what mktime now produces.  Cross-checked via
11816         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
11817
11818         posixtm: move #ifdef'd tests into a new module
11819         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
11820         * tests/test-posixtm.c: ... this new file.
11821         * modules/posixtm-tests: New module.
11822
11823 2009-09-19  Eric Blake  <ebb9@byu.net>
11824
11825         openat: simplify use of at-func.c
11826         * lib/at-func.c (includes): Include prerequisites here, to
11827         simplify requirements on client files.
11828         * lib/openat-priv.h: Add double-inclusion guard.
11829         * lib/faccessat.c (includes): Simplify.
11830         * lib/fchmodat.c (includes): Likewise.
11831         * lib/fchownat.c (includes): Likewise.
11832         * lib/mkdirat.c (includes): Likewise.
11833         * lib/mkfifoat.c (includes): Likewise.
11834         * lib/symlinkat.c (includes): Likewise.
11835
11836         openat: allow return of fd 0
11837         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
11838         * modules/save-cwd (Depends-on): Replace fcntl-safer with
11839         unistd-safer.
11840         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
11841         <fcntl.h>; this module does not leak fds.
11842         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
11843         must be allowed to return 0, leaving openat_safer to add the
11844         safety.
11845         (openat_permissive): Avoid writing to just-opened fd 2 if
11846         restoring the current directory fails.
11847         * lib/openat-die.c (openat_restore_fail): Add comment.
11848         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
11849         (save_cwd): Guarantee safe fd, but without use of open_safer.
11850         * tests/test-openat.c: New test.
11851         * modules/openat-tests (Files, Makefile.am): Distribute and build
11852         new file.
11853
11854         relocatable-prog-wrapper: fix build
11855         * modules/relocatable-prog-wrapper (Files): Update name of
11856         canonicalize m4 file, broken on 2009-09-17.
11857         Reported by emad hajjar <aleppos@hotmail.com>.
11858
11859 2009-09-19  Bruno Haible  <bruno@clisp.org>
11860
11861         * lib/safe-alloc.h: Use the standard header with GPL copyright.
11862         * lib/safe-alloc.c: Likewise.
11863         Reported by Ian Beckwith <ianb@erislabs.net>.
11864
11865 2009-09-18  Bruno Haible  <bruno@clisp.org>
11866
11867         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
11868         Reported by <erobles@sensacd.com.mx>.
11869
11870 2009-09-17  Eric Blake  <ebb9@byu.net>
11871
11872         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
11873         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
11874         slashes when checking if last component is missing.
11875         * tests/test-canonicalize.c (main): Test this.
11876
11877         canonicalize, canonicalize-lgpl: honor // if distinct from /
11878         * modules/canonicalize (Files): Add double-slash-root.m4.
11879         * modules/canonicalize-lgpl (Files): Likewise.
11880         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11881         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
11882         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
11883         fallback definition.
11884         (canonicalize_filename_mode): Use it to protect //.
11885         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
11886         (__realpath): Likewise.
11887         * tests/test-canonicalize.c (main): Test this.
11888         * tests/test-canonicalize-lgpl.c (main): Likewise.
11889         * modules/canonicalize-tests (Depends-on): Add same-inode.
11890         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
11891
11892         canonicalize-lgpl: fix glibc bug with trailing slash
11893         * m4/canonicalize-lgpl.m4: Move contents...
11894         * m4/canonicalize.m4: ...here.
11895         (gl_CANONICALIZE_LGPL): Factor realpath check...
11896         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
11897         glibc 2.3.5 bug, fixed 2005-04-27.
11898         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
11899         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
11900         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
11901         * modules/canonicalize-lgpl (Files): Manage file rename.
11902         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11903         * modules/stdlib (Makefile.am): Substitute witness.
11904         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
11905         is needed.
11906         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
11907         replacement is required.
11908         * lib/canonicalize.c (canonicalize_file_name): Likewise.
11909         * doc/glibc-functions/canonicalize_file_name.texi
11910         (canonicalize_file_name): Document this.
11911         * doc/posix-functions/realpath.texi (realpath): Likewise.
11912
11913         canonicalize-lgpl: reject non-directory with trailing slash
11914         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
11915         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
11916         catches failures in glibc 2.3.5.
11917         * tests/test-canonicalize.c (main): Likewise.
11918
11919         canonicalize-lgpl: use native realpath if it works
11920         * lib/canonicalize-lgpl.c (realpath): Guard with
11921         FUNC_REALPATH_WORKS.
11922         * lib/stdlib.in.h (realpath): Make declaration optional based on
11923         HAVE_REALPATH.
11924         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
11925         native realpath works.
11926         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11927         * modules/stdlib (Makefile.am): Substitute witness.
11928
11929         canonicalize, canonicalize-lgpl: use <stdlib.h>
11930         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
11931         (Include): Mention <stdlib.h>.
11932         (configure.ac): Mention functions we provide.
11933         * modules/canonicalize (configure.ac): Likewise.
11934         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
11935         realpath if canonicalize_file_name is missing.
11936         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
11937         * modules/stdlib (Makefile.am): Substitute witnesses.
11938         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
11939         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
11940         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
11941         * NEWS: Document this.
11942         * doc/glibc-functions/canonicalize_file_name.texi
11943         (canonicalize_file_name): Likewise.
11944         * doc/posix-functions/realpath.texi (realpath): Likewise.
11945         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
11946
11947         test-canonicalize: consolidate into single C program
11948         * tests/test-canonicalize.sh: Delete; move setup into...
11949         * tests/test-canonicalize.c (main): ...the program, making it
11950         easier to run in debugger.  Add some tests.
11951         * modules/canonicalize-tests (Files): Remove unused file.
11952         (Depends-on): Add progname.
11953         (configure.ac, Makefile.am): Simplify.
11954
11955         test-canonicalize-lgpl: consolidate into single C program
11956         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
11957         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
11958         easier to run in debugger.  Add some tests.
11959         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
11960         (configure.ac, Makefile.am): Simplify.
11961
11962         canonicalize: avoid resolvepath
11963         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
11964         unnecessary checks.
11965         * lib/canonicalize.c (includes): Simplify.
11966         (canonicalize_file_name): Drop resolvepath implementation.
11967         * modules/canonicalize (Depends-on): Drop filenamecat.
11968
11969         canonicalize: don't lose errno
11970         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
11971         over calls to free.
11972
11973         canonicalize: simplify errno handling
11974         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
11975         assignment.
11976
11977         canonicalize, canonicalize-lgpl: update module dependencies
11978         * modules/canonicalize (Depends-on): Add extensions, lstat,
11979         pathmax, stdlib.
11980         (Files): Drop pathmax.h.
11981         (configure.ac): Adjust macro name.
11982         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
11983         lstat, stdlib, sys_stat.
11984         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
11985         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
11986         extensions.
11987         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
11988         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
11989         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
11990         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
11991         declaration, if available.
11992         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
11993         we can rely on the readlink module.
11994         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
11995         (includes): Use <unistd.h> unconditionally.
11996
11997 2009-09-17  Eric Blake  <ebb9@byu.net>
11998
11999         maint: make Include sections of modules consistent
12000         * modules/alloca: Use only header name; no need to list #include.
12001         * modules/alloca-opt: Likewise.
12002         * modules/arpa_inet: Likewise.
12003         * modules/canon-host: Likewise.
12004         * modules/configmake: Likewise.
12005         * modules/dirent: Likewise.
12006         * modules/eealloc: Likewise.
12007         * modules/environ: Likewise.
12008         * modules/fchdir: Likewise.
12009         * modules/fcntl: Likewise.
12010         * modules/fcntl-h: Likewise.
12011         * modules/gethrxtime: Likewise.
12012         * modules/gettime: Likewise.
12013         * modules/ignore-value: Likewise.
12014         * modules/inet_ntop: Likewise.
12015         * modules/inet_pton: Likewise.
12016         * modules/inttypes: Likewise.
12017         * modules/isnand-nolibm: Likewise.
12018         * modules/isnanf-nolibm: Likewise.
12019         * modules/mbchar: Likewise.
12020         * modules/mbfile: Likewise.
12021         * modules/mbiter: Likewise.
12022         * modules/mbuiter: Likewise.
12023         * modules/netdb: Likewise.
12024         * modules/netinet_in: Likewise.
12025         * modules/nproc: Likewise.
12026         * modules/pagealign_alloc: Likewise.
12027         * modules/poll: Likewise.
12028         * modules/printf-frexp: Likewise.
12029         * modules/pthread: Likewise.
12030         * modules/putenv: Likewise.
12031         * modules/random_r: Likewise.
12032         * modules/relocatable-prog: Likewise.
12033         * modules/search: Likewise.
12034         * modules/select: Likewise.
12035         * modules/selinux-h: Likewise.
12036         * modules/settime: Likewise.
12037         * modules/signal: Likewise.
12038         * modules/size_max: Likewise.
12039         * modules/socklen: Likewise.
12040         * modules/ssize_t: Likewise.
12041         * modules/stdarg: Likewise.
12042         * modules/stdbool: Likewise.
12043         * modules/stddef: Likewise.
12044         * modules/stdint: Likewise.
12045         * modules/stdio: Likewise.
12046         * modules/stdlib: Likewise.
12047         * modules/string: Likewise.
12048         * modules/strings: Likewise.
12049         * modules/sys_file: Likewise.
12050         * modules/sys_ioctl: Likewise.
12051         * modules/sys_select: Likewise.
12052         * modules/sys_socket: Likewise.
12053         * modules/sys_stat: Likewise.
12054         * modules/sys_time: Likewise.
12055         * modules/sys_times: Likewise.
12056         * modules/sys_utsname: Likewise.
12057         * modules/sys_wait: Likewise.
12058         * modules/sysexits: Likewise.
12059         * modules/time: Likewise.
12060         * modules/times: Likewise.
12061         * modules/tmpfile: Likewise.
12062         * modules/trim: Likewise.
12063         * modules/unistd: Likewise.
12064         * modules/wchar: Likewise.
12065         * modules/wctype: Likewise.
12066
12067 2009-09-17  Bruno Haible  <bruno@clisp.org>
12068
12069         Make getdate.y compile on QNX and NetBSD 5 / i386.
12070         * m4/getdate.m4 (gl_GETDATE): Conditionally define
12071         TIME_T_FITS_IN_LONG_INT.
12072         * lib/getdate.y (long_time_t): New type.
12073         (relative_time): Change type of 'seconds' field to long_time_t.
12074         (get_date): Update types of local variables. Check against overflow
12075         during conversion from long_time_t to time_t.
12076         Reported by Matt Kraai <kraai@ftbfs.org>
12077         and Hasso Tepper <hasso@netbsd.org>.
12078
12079 2009-09-17  Bruno Haible  <bruno@clisp.org>
12080
12081         * modules/COPYING: Update copyright years.
12082         * modules/README: Likeiwse.
12083         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
12084         Reported by Ian Beckwith <ianb@erislabs.net>.
12085
12086 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
12087
12088         * users.txt: Update references for gnuit package.
12089
12090 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
12091
12092         * m4/getdelim.m4: Fix typo in copyright line.
12093
12094 2009-09-17  Bruno Haible  <bruno@clisp.org>
12095
12096         * lib/atoll.c: Use the standard header with GPL copyright.
12097         * lib/argz.in.h: Likewise.
12098         * lib/glob.c: Likewise.
12099         * lib/glob-libc.h: Likewise.
12100         * lib/random_r.c: Likewise.
12101         * lib/siglist.h: Likewise.
12102         * lib/strsignal.c: Likewise.
12103         Reported by Ian Beckwith <ianb@erislabs.net>.
12104
12105 2009-09-17  Eric Blake  <ebb9@byu.net>
12106
12107         rmdir: ensure correct dependency order
12108         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
12109
12110 2009-09-17  Bruno Haible  <bruno@clisp.org>
12111
12112         Disable assertion that fails on NetBSD 5 / i386.
12113         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
12114         Reported by Sam Steingold <sds@gnu.org>
12115         and Hasso Tepper <hasso@netbsd.org>.
12116
12117 2009-09-16  Eric Blake  <ebb9@byu.net>
12118
12119         unlinkdir: port to mingw
12120         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
12121         on which no one can unlink a directory.
12122
12123         stdlib: sort witness names
12124         * modules/stdlib (Makefile.am): Sort replacements.
12125         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
12126         * lib/stdlib.in.h: Likewise.
12127
12128         parse-duration-tests: avoid link failure
12129         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
12130         LIBINTL.
12131         Reported by Tom G. Christensen.
12132
12133         openat-tests: ensure unlinkat behaves like rmdir
12134         * tests/test-rmdir.c (main): Factor guts...
12135         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
12136         * modules/rmdir-tests (Files): Ship new file.
12137         * modules/openat-tests: New test.
12138         * tests/test-unlinkat.c: Likewise.
12139
12140         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
12141         * modules/rmdir-errno (Status, Notice): Now obsolete.
12142
12143         rmdir: work around cygwin 1.5.x and mingw bugs
12144         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
12145         * lib/rmdir.c (rmdir): Work around it.
12146         * modules/rmdir (Status, Notice): No longer obsolete.
12147         (Files): Add dos.m4.
12148         (Depends-on): Add unistd.
12149         (configure.ac): Set witnesses.
12150         (License): Relax to LGPLv2+.
12151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
12152         * modules/unistd (Makefile.am): Substitute witnesses.
12153         * lib/unistd.in.h (rmdir): Declare replacement.
12154         * doc/posix-functions/rmdir.texi (rmdir): Document this.
12155         * modules/rmdir-tests: New tests.
12156         * tests/test-rmdir.c: Likewise.
12157
12158 2009-09-15  Eric Blake  <ebb9@byu.net>
12159
12160         fchdir: improve use of replacement functions
12161         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
12162         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
12163         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
12164         REPLACE_CLOSEDIR.
12165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
12166         * modules/sys_stat (Makefile.am): Substitute correct witness.
12167         * modules/dirent (Makefile.am): Likewise.
12168         * modules/unistd (Makefile.am): Likewise.
12169         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
12170         * lib/unistd.in.h (dup): Likewise.
12171         * lib/sys_stat.in.h (fstat): Likewise.
12172
12173         maint: ignore gnulib-tool temp files
12174         * .gitignore: Ignore files created during gnulib-tool --test.
12175
12176 2009-09-13  Jim Meyering  <meyering@redhat.com>
12177
12178         posixtm: don't reject a time that specify "60" as the number of seconds
12179         * lib/posixtm.c (posixtime): The code to reject invalid dates
12180         would also reject a time specified with the .60 suffix.
12181         But POSIX allows that, in order to accommodate leap seconds.
12182         So don't reject it.
12183         (main): Adjust tests accordingly.
12184         * modules/posixtm (Depends-on): Add stpcpy.
12185
12186 2009-09-11  Jim Meyering  <meyering@redhat.com>
12187
12188         announce-gen: include [$release_type] in emitted Subject:
12189         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
12190         e.g., [stable] in the emitted Subject: line.
12191
12192 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12193
12194         Remove obsolete macros from several modules.
12195         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
12196         obsolete Autoconf macros with their modern counterparts.
12197         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
12198         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
12199         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
12200         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
12201         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
12202         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
12203         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
12204         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
12205         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
12206         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
12207         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12208         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12209         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
12210         * m4/sockets.m4 (gl_SOCKETS): Likewise.
12211         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
12212         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
12213         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
12214         * m4/time_r.m4 (gl_TIME_R): Likewise.
12215         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
12216         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
12217         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
12218
12219         Fix copyright header in build-aux scripts.
12220         * build-aux/git-version-gen: Fix copyright header to match GPLv3
12221         recommendation.
12222         * build-aux/ncftpput-ftp: Likewise.
12223         * build-aux/update-copyright: Likewise.
12224
12225 2009-09-09  Eric Blake  <ebb9@byu.net>
12226
12227         test-link: allow Linux choice of errno
12228         * tests/test-link.c (main): Relax test for alternate error.
12229
12230         strndup: fix improper m4 caching
12231         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
12232         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
12233         (gl_PREREQ_STRNDUP): Delete.
12234         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
12235         * modules/string (Makefile.am): Substitute it.
12236         * lib/string.in.h (strndup): Modernize prototype.
12237
12238         getcwd: port to mingw
12239         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
12240         different from the POSIX assumptions made throughout the getcwd
12241         module; fortunately, the mingw getcwd does not need replacement.
12242         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
12243         * modules/getcwd-tests: New test.
12244         * tests/test-getcwd.c: Likewise.
12245
12246         link: fix platform bugs
12247         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
12248         * lib/link.c (link): Work around them.  Fix related mingw bug.
12249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
12250         * modules/unistd (Makefile.am): Substitute it.
12251         * lib/unistd.in.h (link): Declare replacement.
12252         * doc/posix-functions/link.texi (link): Document this.
12253         * modules/link (Depends-on): Add strdup-posix, sys_stat.
12254
12255         test-link: consolidate into single C program, test more cases
12256         * tests/test-link.sh: Delete.
12257         * tests/test-link.c: Test more error conditions.  Exposes bugs on
12258         at least Cygwin and Solaris.
12259         * modules/link-tests (Files): Remove unused file.
12260         (Depends-on): Add errno, sys_stat.
12261         (Makefile.am): Simplify.
12262
12263 2009-09-08  Bruno Haible  <bruno@clisp.org>
12264
12265         Work around towlower, towupper bug on mingw.
12266         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
12267         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
12268         * doc/posix-functions/towlower.texi: Mention the mingw bug.
12269         * doc/posix-functions/towupper.texi: Likewise.
12270         Reported by Eric Blake.
12271
12272 2009-09-08  Jim Meyering  <meyering@redhat.com>
12273
12274         build: don't try to run autoheader if we don't use it
12275         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
12276         is not used in configure.ac.
12277
12278 2009-09-08  Eric Blake  <ebb9@byu.net>
12279
12280         euidaccess: fix compilation error
12281         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
12282
12283         rawmemchr: relax license
12284         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
12285         okay.
12286         Reported by Jim Meyering.
12287
12288         mkfifoat: new module
12289         * modules/mkfifoat: New file.
12290         * lib/mkfifoat.c: Likewise.
12291         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
12292         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12293         * modules/sys_stat (Makefile.am): Use them.
12294         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
12295         * MODULES.html.sh (File system functions): Mention module.
12296         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
12297         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
12298         * modules/mkfifoat-tests: New test.
12299         * tests/test-mkfifoat.c: Likewise.
12300
12301         strchrnul: relax license
12302         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
12303         okay.
12304         Reported by Jim Meyering.
12305
12306 2009-09-08  Eric Blake  <ebb9@byu.net>
12307
12308         fstatat: fix compilation on Solaris
12309         * lib/fstatat.c (includes): Add fcntl.h.
12310         Reported by Pádraig Brady.
12311
12312 2009-09-07  Eric Blake  <ebb9@byu.net>
12313
12314         rename: modernize replacement
12315         * modules/rename (Depends-on): Add stdio.
12316         (configure.ac): Declare witness.
12317         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
12318         stdio take care of replacement.
12319         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
12320         * modules/stdio (Makefile.am): Substitute them.
12321         * lib/stdio.in.h (rename): Declare replacement.
12322         * lib/rename.c (includes): Allow cross-compilation to non-windows
12323         machines.
12324         * doc/posix-functions/rename.texi (rename): Improve
12325         documentation.
12326
12327         stdio: sort witness names
12328         * modules/stdio (Makefile.am): Sort replacements.
12329         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
12330         * lib/stdio.in.h: Likewise.
12331
12332         getcwd: minor cleanups
12333         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
12334         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
12335
12336         openat: provide more convenience names
12337         * modules/faccessat (configure.ac): Add C witness.
12338         * lib/unistd.in.h (readlinkat): Fix typo.
12339         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
12340         convenience wrappers.
12341         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
12342         wrappers in syntax checks.
12343
12344 2009-09-06  Eric Blake  <ebb9@byu.net>
12345
12346         doc: fix comments in recent patches
12347         * lib/faccessat.c: Mention correct function.
12348         * lib/fchmodat.c: Likewise.
12349         * lib/fchownat.c: Likewise.
12350         * lib/symlinkat.c: Likewise.
12351         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
12352         constants.
12353
12354         faccessat, symlinkat: continue cleanup of previous patch
12355         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
12356         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
12357         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
12358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
12359         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
12360         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
12361         set.
12362
12363 2009-09-06  Bruno Haible  <bruno@clisp.org>
12364
12365         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
12366         (fstatat): Declare if GNULIB_FSTATAT is set.
12367         (mkdirat): Declare if GNULIB_MKDIRAT is set.
12368         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
12369         (unlinkat): Declare if GNULIB_UNLINKAT is set.
12370         * modules/fcntl-h (Files): Remove m4/openat.m4.
12371         * modules/sys_stat (Files): Remove m4/openat.m4.
12372         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
12373         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
12374         * modules/unistd (Files): Remove m4/openat.m4.
12375         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
12376         GNULIB_OPENAT.
12377         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
12378         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
12379         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
12380         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
12381         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
12382         gl_OPENAT_DEFAULTS.
12383         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
12384         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
12385         Don't require gl_OPENAT_DEFAULTS.
12386         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
12387         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
12388         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
12389         (gl_OPENAT_DEFAULTS): Remove macro.
12390
12391 2009-09-06  Bruno Haible  <bruno@clisp.org>
12392
12393         * modules/openat (configure.ac): Remove unneeded witness.
12394
12395 2009-09-06  Bruno Haible  <bruno@clisp.org>
12396
12397         Set errno to ENOSYS when a function is entirely unsupported.
12398         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
12399         EOPNOTSUPP.
12400         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
12401         * modules/chown (Depends-on): Remove errno.
12402
12403 2009-09-06  Bruno Haible  <bruno@clisp.org>
12404
12405         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
12406
12407 2009-09-06  Bruno Haible  <bruno@clisp.org>
12408
12409         * lib/sys_stat.in.h: Fix preprocessor command indentation.
12410
12411 2009-09-06  Ben Pfaff  <blp@gnu.org>
12412             Bruno Haible  <bruno@clisp.org>
12413
12414         Work around a glibc bug in strtok_r.
12415         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
12416         Undefine if UNDEFINE_STRTOK_R is set.
12417         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
12418         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12419         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
12420         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
12421         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
12422         UNDEFINE_STRTOK_R.
12423         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
12424
12425 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
12426
12427         exclude: minor fix
12428         * lib/exclude.c: Include wctype.h
12429
12430 2009-09-06  Akim Demaille  <demaille@gostai.com>
12431
12432         bootstrap: improve error message
12433         * build-aux/bootstrap (find_tool): Upon failure, report the list
12434         of candidates.
12435         Honor the initial value of the envvar.
12436
12437 2009-09-05  Eric Blake  <ebb9@byu.net>
12438
12439         symlinkat: new module
12440         * modules/symlinkat: New file.
12441         * lib/symlinkat.c: Likewise.
12442         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
12443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
12444         * modules/unistd (Makefile.am): Use them.
12445         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
12446         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
12447         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
12448         * MODULES.html.sh (File system functions): Mention module.
12449         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
12450         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12451         * modules/symlinkat-tests: New test.
12452         * tests/test-symlinkat.c: Likewise.
12453
12454         test-openat-safer: add more checks
12455         * tests/test-openat-safer.c (main): Check more code paths.
12456
12457 2009-09-05  Jim Meyering  <meyering@redhat.com>
12458
12459         syntax-check: detect unnecessary inclusion of openat.h
12460         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
12461
12462 2009-09-05  Bruno Haible  <bruno@clisp.org>
12463
12464         Support towlower, towupper.
12465         * doc/posix-functions/towlower.texi: Mention module wctype.
12466         * doc/posix-functions/towupper.texi: Likewise.
12467         * lib/wctype.in.h (towlower, towupper): New functions.
12468         * tests/test-wctype.c: Include stdio.h, stdlib.h.
12469         (ASSERT): New macro.
12470         (e): New variable.
12471         (main): Test also towlower, towupper. Test WEOF argument.
12472         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12473
12474 2009-09-05  Bruno Haible  <bruno@clisp.org>
12475
12476         Fix conversion behaviour when the input is invalid.
12477         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
12478         mark occurring in first pass of indirect conversion.
12479         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
12480         input.
12481         Found by clang's static analyzer.
12482
12483 2009-09-05  Bruno Haible  <bruno@clisp.org>
12484
12485         * tests/test-striconveh.c (main): Test indirect conversion on platforms
12486         where direct conversion is possible.
12487
12488 2009-09-04  Eric Blake  <ebb9@byu.net>
12489
12490         openat: fail with ENOENT on empty name
12491         * lib/openat-proc.c (openat_proc_name): Special-case the empty
12492         buffer.
12493
12494         link-follow: fix logic bug in prior patch
12495         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
12496         reversed sense of yes and no in prior patch.  Avoid confusing
12497         compilation failure with desired semantics.
12498
12499         link-follow: accomodate mingw and cross-compilation
12500         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
12501         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
12502         cross-compilation results to -1, to make linkat easier to
12503         implement when cross-compiling.  Trivially support mingw.
12504         * modules/link-follow (configure.ac): Call new name.
12505         * NEWS: Mention this.
12506
12507 2009-09-03  Eric Blake  <ebb9@byu.net>
12508
12509         faccessat: compile replacement
12510         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
12511         needed.
12512
12513         fts: fix compilation error
12514         * lib/fts.c (includes): Re-add "openat.h", for
12515         openat_needs_fchdir.
12516
12517         faccessat: new module
12518         * modules/faccessat: New file.
12519         * lib/faccessat.c: Likewise.
12520         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
12521         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12522         * modules/unistd (Makefile.am): Use it.
12523         * lib/unistd.in.h (faccessat): Declare it.
12524         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
12525         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
12526         * MODULES.html.sh (File system functions): Mention it.
12527         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
12528         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
12529
12530         euidaccess: prefer POSIX over non-standard implementation
12531         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
12532         * lib/euidaccess.c (euidaccess): Use it if available.
12533
12534         openat: make template easier to use
12535         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
12536         AT_FUNC_F2 to be undefined.
12537         (VALIDATE_FLAG): New macro; use it to reject bad flags.
12538         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
12539         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
12540         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
12541         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
12542         Likewise.
12543         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
12544         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
12545         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
12546         Likewise.
12547
12548         openat: declare in POSIX headers
12549         * NEWS: Mention this.
12550         * modules/openat (configure.ac): Declare witnesses.
12551         (Depends-on): Add fcntl-h, sys_stat, unistd.
12552         (Include): Mention correct headers.
12553         * modules/fcntl-h (Depends-on): Add link-warning.
12554         (Files): Add openat.m4.
12555         (Makefile.am): Substitute witnesses.
12556         * modules/sys_stat (Files, Makefile.am): Likewise.
12557         * modules/unistd (Files, Makefile.am): Likewise.
12558         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
12559         (gl_OPENAT_DEFAULTS): New macro.
12560         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
12561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
12562         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
12563         (SYS_STAT_H): Remove unused variable.
12564         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
12565         * lib/fcntl--.h (includes): Remove unneeded header.
12566         * lib/openat-safer.c (includes): Likewise.
12567         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
12568         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
12569         appropriate headers.
12570         (__OPENAT_PREFIX): Delete.
12571         * lib/fcntl.in.h (openat): Provide declaration.
12572         (AT_FDCWD): Fix Solaris bug.
12573         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
12574         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
12575         * lib/fchmodat.c (includes):  Adjust to find declaration.
12576         * lib/fchownat.c (includes): Likewise.
12577         * lib/mkdirat.c (includes): Likewise.
12578         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
12579         still visible.
12580
12581 2009-09-02  Eric Blake  <ebb9@byu.net>
12582
12583         errno: use consistently
12584         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
12585         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
12586         * lib/canonicalize.c (ELOOP): Likewise.
12587         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
12588         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
12589         * lib/lchown.c (EOPNOTSUPP): Likewise.
12590         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
12591         * lib/savewd.c (ESTALE): Likewise.
12592         * lib/settime.c (ENOSYS): Likewise.
12593         * lib/utimens.c (ENOSYS): Likewise.
12594         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
12595         * lib/chdir-safer.c (ELOOP): Likewise.
12596         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
12597         * modules/c-stack (Depends-on): Add errno.
12598         * modules/canonicalize (Depends-on): Likewise.
12599         * modules/chdir-safer (Depends-on): Likewise.
12600         * modules/fdopendir (Depends-on): Likewise.
12601         * modules/inet_ntop (Depends-on): Likewise.
12602         * modules/inet_pton (Depends-on): Likewise.
12603         * modules/lchown (Depends-on): Likewise.
12604         * modules/openat (Depends-on): Likewise.
12605         * modules/savewd (Depends-on): Likewise.
12606         * modules/settime (Depends-on): Likewise.
12607         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
12608
12609         fts: avoid leaking fds
12610         * modules/fts (Depends-on): Add cloexec.
12611         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
12612         flag.
12613
12614         fts: make directory fds more robust
12615         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
12616         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
12617
12618         backupfile, chdir-long, fts, savedir: make safer
12619         * lib/backupfile.c (includes): Use "dirent--.h", since
12620         numbered_backup can write to stderr during readdir.
12621         * lib/savedir.c (includes): Likewise.
12622         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
12623         emulation can write to stderr on failure.
12624         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
12625         * lib/getcwd.c: Document why opendir_safer is unused.
12626         * lib/glob.c: Likewise.
12627         * lib/scandir.c: Likewise.
12628         * lib/openat-proc.c: Likewise, for open_safer.
12629         * modules/backupfile (Depends-on): Add dirent-safer.
12630         * modules/savedir (Depends-on): Likewise.
12631         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
12632         * modules/chdir-long (Depends-on): Add openat-safer.
12633
12634         openat-safer: new module
12635         * modules/openat-safer: New file.
12636         * lib/openat-safer.c: Likewise.
12637         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
12638         * lib/fcntl-safer.h (openat_safer): Declare.
12639         * lib/fcntl--.h (openat): Override.
12640         * MODULES.html.sh (File descriptor based I/O): Mention it.
12641         * lib/openat.h: Add double-inclusion guards.
12642         * lib/openat.c (includes): Only include "fcntl-safer.h", not
12643         "fcntl--.h", so we can implement openat.
12644         * modules/openat-safer-tests: New test.
12645         * tests/test-openat-safer.c: New file.
12646
12647         dirent-safer: new module
12648         * modules/dirent-safer: New file.
12649         * lib/dirent--.h: Likewise.
12650         * lib/dirent-safer.h: Likewise.
12651         * lib/opendir-safer.c: Likewise.
12652         * m4/dirent-safer.m4: Likewise.
12653         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
12654         * modules/dirent-safer-tests: New test.
12655         * tests/test-dirent-safer.c: New file.
12656         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
12657
12658         fdopendir: optimize on mingw
12659         * lib/unistd.in.h (_gl_directory_name): New prototype.
12660         * lib/fchdir.c (_gl_directory_name): Implement it.
12661         (fchdir): Use it to simplify implementation.
12662         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
12663         fchdir, when available, to avoid calling [f]chdir().
12664
12665         fdopendir: split into its own module
12666         * lib/openat.c (fdopendir): Move...
12667         * lib/fdopendir.c: ...into new file.
12668         * modules/fdopendir: New module.
12669         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
12670         * modules/openat (Depends-on): Add fdopendir.
12671         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
12672         fdopendir here.
12673         * modules/savedir (Depends-on): Only need fdopendir, not full
12674         openat.
12675         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
12676         * lib/openat.h (fdopendir): Drop prototype.
12677         * lib/dirent.in.h (fdopendir): Provide prototype.
12678         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
12679         * modules/dirent (Makefile.am): Substitute them.
12680         * MODULES.html.sh (File system functions): Mention it.
12681         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
12682         * modules/fdopendir-tests: New file.
12683         * tests/test-fdopendir.c: Likewise.
12684
12685         fchdir: use more consistent macro convention
12686         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
12687         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
12688         REPLACE_FCHDIR, rather than relying on config.h macros.
12689         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
12690         inside a single make-time REPLACE_FCHDIR block, rather than using
12691         the config.h FCHDIR_REPLACEMENT.
12692         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
12693         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
12694         Manage fstat replacement.
12695         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
12696         REPLACE_FCHDIR.
12697         * modules/sys_stat (Files): Add m4/unistd_h.m4.
12698         (Makefile.am): Substitute REPLACE_FCHDIR.
12699         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
12700         FCHDIR_REPLACEMENT.
12701         * lib/dup-safer.c (dup_safer): Likewise.
12702         * lib/dup2.c (rpl_dup2): Likewise.
12703         * lib/dup3.c (rpl_dup3): Likewise.
12704         * lib/open.c (rpl_open): Likewise.
12705
12706         fchdir: simplify error handling, and support dup3
12707         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
12708         stdbool, malloc-posix, realloc-posix.
12709         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
12710         (ensure_dirs_slot): Return false on allocation failure.
12711         (rpl_dup2): Delete.
12712         (_gl_register_dup): New function.
12713         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
12714         (_gl_register_fd): Close fd on allocation failure.
12715         * lib/fcntl.in.h (_gl_register_fd): Update signature.
12716         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
12717         prototype.
12718         (rpl_dup2_fchdir): Delete prototype.
12719         * lib/open.c (open): Update caller.
12720         * lib/dup2.c (dup2): Track fchdir metadata.
12721         * lib/dup3.c (dup3): Likewise.
12722         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
12723         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
12724
12725 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12726
12727         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
12728         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
12729         don't pass arguments to AC_OUTPUT.
12730
12731 2009-09-02  Bruno Haible  <bruno@clisp.org>
12732
12733         * modules/mkdtemp (License): Relicense under LGPLv2+.
12734         Reported by Paolo Bonzini.
12735
12736 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12737
12738         Replace uses of obsolete autoconf macros in Jim's modules.
12739         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
12740         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
12741         can evoke a warning from autoconf when run with -Wobsolete
12742         enabled.  They were declared obsolete for good reasons (see
12743         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
12744         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
12745         should not continue using the deprecated macros.
12746         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
12747         obsolete Autoconf macros with modern counterparts.
12748         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12749         * m4/dos.m4 (gl_AC_DOS): Likewise.
12750         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
12751         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
12752         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
12753         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
12754         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
12755         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
12756         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
12757         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
12758         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
12759         Likewise.
12760         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
12761         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
12762         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
12763         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
12764         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
12765         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
12766
12767 2009-09-01  Eric Blake  <ebb9@byu.net>
12768
12769         fchdir: fix off-by-one bug in previous patch
12770         * lib/fchdir.c (rpl_fstat): Use correct bounds.
12771         (_gl_unregister_fd): Delete useless if.
12772
12773 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
12774
12775         maint.mk: sort the list of syntax-check rules
12776         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
12777         easier to get a sense of progress when the rules are run sequentially
12778         and take a long time.
12779
12780 2009-09-01  Simon Josefsson  <simon@josefsson.org>
12781
12782         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
12783         * modules/netinet_in: Likewise.
12784         * modules/sys_file: Likewise.
12785         * modules/sys_ioctl: Likewise.
12786         * modules/sys_select: Likewise.
12787         * modules/sys_socket: Likewise.
12788         * modules/sys_stat: Likewise.
12789         * modules/sys_time: Likewise.
12790         * modules/sys_times: Likewise.
12791         * modules/sys_utsname: Likewise.
12792         * modules/sys_wait: Likewise.
12793
12794 2009-09-01  Jim Meyering  <meyering@redhat.com>
12795
12796         fts: help ensure that return values are not ignored
12797         * lib/fts_.h (__GNUC_PREREQ): Define.
12798         (__attribute_warn_unused_result__): Define.
12799         (fts_children, fts_close, fts_open, fts_read): Declare with
12800         __attribute_warn_unused_result__.
12801
12802         fts: fts_close now fails also when closing a dir file descriptor fails
12803         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
12804         and propagate to caller, along with errno.
12805
12806         announce-gen: correct formatting in --help output
12807         * build-aux/announce-gen (usage): Move the one-line description in
12808         --help output "up", to where it belongs, just after Usage:.
12809
12810 2009-08-31  Eric Blake  <ebb9@byu.net>
12811
12812         fchdir: port to mingw
12813         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
12814         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
12815         opened, then use a substitute.
12816         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
12817         replacement.
12818         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
12819         (_gl_register_fd): No need to check stat if open already filters
12820         all directories.
12821         (fchdir): Fix error condition to match POSIX.
12822         * modules/fchdir (Depends-on): Add sys_stat.
12823         * doc/posix-functions/open.texi (open): Document the limitation.
12824         * modules/fchdir-tests: New file.
12825         * tests/test-fchdir.c: Likewise.
12826
12827         canonicalize: allow cross-testing from cygwin to mingw
12828         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
12829         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
12830         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
12831         Likewise.
12832         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
12833         target does not support symlinks.
12834         * tests/test-canonicalize-lgpl.sh: Likewise.
12835
12836         chown: avoid compilation warning on mingw
12837         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
12838         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
12839         mingw.
12840         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
12841         * modules/chown (Depends-on): Add errno.
12842
12843 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12844
12845         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
12846         command.
12847
12848 2009-08-31  Jim Meyering  <meyering@redhat.com>
12849
12850         canonicalize: remove useless initialization
12851         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
12852         initialization of local, "end".
12853
12854 2009-08-30  Bruno Haible  <bruno@clisp.org>
12855
12856         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
12857         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
12858         ENOSYS.
12859
12860 2009-08-30  Bruno Haible  <bruno@clisp.org>
12861
12862         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
12863         /usr/xpg4/bin/tr when it exists.
12864         * tests/test-pipe-filter-gi1.sh: Likewise.
12865
12866 2009-08-30  Bruno Haible  <bruno@clisp.org>
12867
12868         Work around deficient /usr/bin/id program on Solaris.
12869         * tests/test-file-has-acl.sh (ID): New variable.
12870         * tests/test-set-mode-acl.sh (ID): Likewise.
12871         * tests/test-copy-acl.sh (ID): Likewise.
12872         * tests/test-copy-file.sh (ID): Likewise.
12873
12874 2009-08-30  Bruno Haible  <bruno@clisp.org>
12875
12876         New module 'xstriconveh'.
12877         * lib/xstriconveh.h: New file.
12878         * lib/xstriconveh.c: New file.
12879         * modules/xstriconveh: New file.
12880
12881 2009-08-30  Bruno Haible  <bruno@clisp.org>
12882
12883         Make it easier to use mem_cd_iconveh.
12884         * lib/striconveh.h (iconveh_t): New type.
12885         (iconveh_open, iconveh_close): New declarations.
12886         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12887         with a single 'const iconveh_t *' argument.
12888         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
12889         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12890         with a single 'const iconveh_t *' argument.
12891         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
12892         * tests/test-striconveh.c (main): Update.
12893         * NEWS: Mention the change.
12894
12895 2009-08-30  Bruno Haible  <bruno@clisp.org>
12896
12897         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
12898         problem.
12899
12900 2009-08-30  Bruno Haible  <bruno@clisp.org>
12901
12902         Work around iconv_open problem on Solaris.
12903         * lib/iconv_open-solaris.gperf: New file.
12904         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
12905         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
12906         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
12907         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
12908         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
12909         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
12910
12911 2009-08-29  Jim Meyering  <meyering@redhat.com>
12912
12913         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
12914         * top/maint.mk (cvs-check): Remove target; it was just an alias
12915         to the better-named vc-diff-check.
12916         (maintainer-distcheck): Remove rule.  It was used only from
12917         the (alpha/beta/major) target, and all of its commands but one
12918         were coreutils-specific.
12919         (vc-dist): Remove rule.
12920         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
12921         Run vc-diff-check, not vc-dist.
12922         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
12923
12924 2009-08-27  Bruno Haible  <bruno@clisp.org>
12925
12926         * tests/test-bitrotate.c (main): Remove test that uses a shift count
12927         of 0.
12928
12929 2009-08-27  Bruno Haible  <bruno@clisp.org>
12930
12931         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
12932         compilers.
12933         * doc/func.texi: Document the SunPRO C bug.
12934
12935 2009-08-27  Bruno Haible  <bruno@clisp.org>
12936
12937         Fix link error on Solaris.
12938         * tests/test-parse-duration.c (xstrdup): Remove function.
12939
12940 2009-08-26  Pádraig Brady  <P@draigbrady.com>
12941
12942         ignore-value: handle pointer types, too
12943         * lib/ignore-value.h (__attribute__): Remove definition.
12944         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
12945         of a more concise and more-often effective "(void) i" statement.
12946         (ignore_ptr): New function to suppress warnings from functions that
12947         return pointers, and to make it explicit that one function doesn't
12948         handle all cases.
12949
12950 2009-08-25  Bruno Haible  <bruno@clisp.org>
12951
12952         dup2: work around a Linux bug.
12953         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
12954         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
12955         * doc/posix-functions/dup2.texi: Mention the Linux bug.
12956         Reported by Simon Josefsson.
12957
12958 2009-08-25  Jim Meyering  <meyering@redhat.com>
12959
12960         libguestfs uses gnulib
12961         * users.txt: Add libguestfs.
12962
12963 2009-08-24  Eric Blake  <ebb9@byu.net>
12964
12965         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
12966         * lib/pipe2.c (includes): Add binary-io.h.
12967         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
12968
12969 2009-08-24  Bruno Haible  <bruno@clisp.org>
12970
12971         Tolerate declared but missing accept4 syscall.
12972         * lib/accept4.c (accept4): Invoke original accept4 function first, if
12973         available.
12974         * lib/sys_socket.in.h (accept4): If the function is already present,
12975         override it.
12976         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
12977         * modules/accept4 (Makefile.am): Compile accept4.c always.
12978         Reported by Paolo Bonzini and Eric Blake.
12979
12980 2009-08-23  Bruno Haible  <bruno@clisp.org>
12981
12982         New module 'accept4'.
12983         * lib/sys_socket.in.h (accept4): New declaration.
12984         * lib/accept4.c: New file.
12985         * m4/accept4.m4: New file.
12986         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12987         GNULIB_ACCEPT4, HAVE_ACCEPT4.
12988         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
12989         HAVE_ACCEPT4.
12990         * modules/accept4: New file.
12991         * doc/glibc-functions/accept4.texi: Mention the new module.
12992
12993 2009-08-24  Jim Meyering  <meyering@redhat.com>
12994
12995         progname: also set global program_invocation_name, when possible
12996         Before this change, a libtool-enabled program that calls glibc's
12997         error function would report the program name as
12998         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
12999         * modules/progname (configure.ac): Check for a declaration of
13000         program_invocation_name.
13001         * lib/progname.c:  Include <errno.h>.
13002         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
13003         Set program_invocation_name.
13004
13005 2009-08-23  Bruno Haible  <bruno@clisp.org>
13006
13007         * lib/dup3.c: Include <string.h>.
13008
13009 2009-08-23  Bruno Haible  <bruno@clisp.org>
13010
13011         * lib/dup3.c (dup3): Test only once whether the system actually exists.
13012         * lib/pipe2.c (pipe2): Likewise.
13013         Suggested by Eric Blake.
13014
13015 2009-08-23  Bruno Haible  <bruno@clisp.org>
13016
13017         Tolerate declared but missing dup3 syscall.
13018         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
13019         * lib/unistd.in.h (dup3): If the function is already present,
13020         override it.
13021         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
13022         * modules/dup3 (Makefile.am): Compile dup3.c always.
13023         Reported by Paolo Bonzini.
13024
13025 2009-08-23  Bruno Haible  <bruno@clisp.org>
13026
13027         Tolerate declared but missing pipe2 syscall.
13028         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
13029         available.
13030         * lib/unistd.in.h (pipe2): If the function is already present,
13031         override it.
13032         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
13033         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
13034         Reported by Paolo Bonzini.
13035
13036 2009-08-23  Bruno Haible  <bruno@clisp.org>
13037
13038         * lib/pipe2.c (pipe2): Move #ifs inside function.
13039
13040 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
13041
13042         quotearg: document limitations of quote_these_too
13043         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
13044         those limitations are created.
13045         * lib/quotearg.h (set_char_quoting): Document that digits and
13046         letters that are special after backslash are not permitted.
13047         (quotearg_char): Cross-reference set_char_quoting documentation.
13048
13049 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
13050
13051         quotearg: implement custom_quoting_style
13052         * lib/quotearg.c: (struct quoting_options): Add left_quote and
13053         right_quote fields.
13054         (set_custom_quoting): New public function.
13055         (quotearg_buffer_restyled): Add left_quote and right_quote
13056         arguments, handle them very much like locale quoting, and update
13057         all uses.
13058         (quotearg_n_custom): New public function.
13059         (quotearg_n_custom_mem): New public function.
13060         (quotearg_custom): New public function.
13061         (quotearg_custom_mem): New public function.
13062         * lib/quotearg.h: Prototype and document new public functions.
13063         (enum quoting_style): For escape_quoting_style and
13064         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
13065         ignored even though they're otherwise like c_quoting_style.
13066         Add custom_quoting_style member and document with comparison to
13067         clocale_quoting_style.
13068         * tests/test-quotearg.c (custom_quotes): New array.
13069         (custom_results): New array.
13070         (main): Extend to test custom quoting.
13071
13072 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
13073
13074         quotearg: fix right quote escaping when it's in quote_these_too
13075         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
13076         quote, be sure to prepend only one backslash.
13077         * tests/test-quotearg.c (use_quote_double_quotes): New function.
13078         (main): Test it.
13079
13080 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
13081
13082         quotearg-tests: test escaping of embedded locale quotes
13083         * tests/test-quotearg.c (struct result_strings): Add member for
13084         new input.
13085         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
13086         (inputs): Add new input.
13087         (results_g): Add expected results.
13088         (flag_results): Likewise.
13089         (locale_results): Likewise.
13090         (compare_strings): Check those.
13091
13092 2009-08-23  Bruno Haible  <bruno@clisp.org>
13093
13094         Tests for module 'dup3'.
13095         * modules/dup3-tests: New file.
13096         * tests/test-dup3.c: New file.
13097
13098         New module 'dup3'.
13099         * lib/unistd.in.h (dup3): New declaration.
13100         * lib/dup3.c: New file.
13101         * m4/dup3.m4: New file.
13102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
13103         HAVE_DUP3.
13104         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
13105         * modules/dup3: New file.
13106         * doc/glibc-functions/dup3.texi: Mention the new module.
13107
13108 2009-08-23  Bruno Haible  <bruno@clisp.org>
13109
13110         Tweak the dup2 test.
13111         * tests/test-dup2.c (main): Create the test file empty. Verify that an
13112         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
13113         the test file is still empty. Fix argument order of lseek.
13114
13115 2009-08-23  Bruno Haible  <bruno@clisp.org>
13116
13117         Avoid test link errors when the modules getopt-gnu, gettext are used.
13118         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
13119         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13120
13121 2009-08-23  Bruno Haible  <bruno@clisp.org>
13122
13123         Fix getdtablesize() on mingw.
13124         * lib/getdtablesize.c (getdtablesize): Implement differently.
13125         * lib/unistd.in.h (getdtablesize): Improve comment.
13126
13127 2009-08-23  Bruno Haible  <bruno@clisp.org>
13128
13129         New module 'mkostemp'.
13130         Based on Ulrich Drepper's 2007-08-10 change in glibc.
13131         * lib/stdlib.in.h (mksotemp): New declaration.
13132         * lib/mkostemp.c: New file, from glibc with modifications.
13133         * lib/tempname.h (GT_FILE): Remove outdated comment.
13134         (gen_tempname): Add flags argument.
13135         * lib/tempname.c (__GT_BIGFILE): Remove macro.
13136         (__GT_FILE): Map to 1.
13137         (small_open, large_open): Remove macros.
13138         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
13139         * lib/mkstemp.c (mkstemp): Update.
13140         * lib/mkdtemp.c (mkdtemp): Likewise.
13141         * m4/mkostemp.m4: New file.
13142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
13143         HAVE_MKOSTEMP.
13144         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
13145         HAVE_MKOSTEMP.
13146         * modules/mkostemp: New file, based on modules/mkstemp.
13147         * doc/glibc-functions/mkostemp.texi: Mention the new module.
13148         * NEWS: Mention the change.
13149
13150 2009-08-23  Bruno Haible  <bruno@clisp.org>
13151
13152         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
13153         Reported by Eric Blake.
13154
13155 2009-08-23  Bruno Haible  <bruno@clisp.org>
13156
13157         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
13158         Reported by Eric Blake.
13159
13160 2009-08-23  Bruno Haible  <bruno@clisp.org>
13161
13162         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
13163         * modules/pipe2 (Depends-on): Likewise.
13164
13165 2009-08-23  Eric Blake  <ebb9@byu.net>
13166
13167         fcntl-h: add O_TTY_INIT support
13168         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
13169         * tests/test-fcntl-h.c (o): Test it.
13170         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
13171
13172         fcntl-h: rename from fcntl, in preparation for fcntl(2)
13173         * modules/fcntl: Move <fcntl.h> header replacement...
13174         * modules/fcntl-h: ...to new name, so as not to collide with
13175         like-named function.
13176         * tests/test-fcntl.c: Rename...
13177         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
13178         * modules/fcntl-tests: Rename...
13179         * modules/fcntl-h-tests: ...to this.  Update test file name.
13180         * modules/chdir-long (Depends-on): Update clients.
13181         * modules/chdir-safer (Depends-on): Likewise.
13182         * modules/fcntl-safer (Depends-on): Likewise.
13183         * modules/fts (Depends-on): Likewise.
13184         * modules/mkancesdirs (Depends-on): Likewise.
13185         * modules/mkdir-p (Depends-on): Likewise.
13186         * modules/open (Depends-on): Likewise.
13187         * modules/savewd (Depends-on): Likewise.
13188         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
13189         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
13190
13191 2009-08-22  Bruno Haible  <bruno@clisp.org>
13192
13193         * modules/binary-io (License): Relicense under LGPL.
13194         * modules/pipe2 (License): Likewise.
13195
13196 2009-08-22  Bruno Haible  <bruno@clisp.org>
13197
13198         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
13199         return value.
13200         * lib/pipe-filter-gi.c (filter_init): Likewise.
13201         Reported by Eric Blake.
13202
13203 2009-08-22  Bruno Haible  <bruno@clisp.org>
13204
13205         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
13206         * modules/pipe (Depends-on): Add pipe2.
13207
13208 2009-08-22  Bruno Haible  <bruno@clisp.org>
13209
13210         Tests for module 'pipe2'.
13211         * modules/pipe2-tests: New file.
13212         * tests/test-pipe2.c: New file.
13213
13214         New module 'pipe2'.
13215         * lib/unistd.in.h (pipe2): New declaration.
13216         * lib/pipe2.c: New file.
13217         * m4/pipe2.m4: New file.
13218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
13219         HAVE_PIPE2.
13220         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
13221         * modules/pipe2: New file.
13222         * doc/glibc-functions/pipe2.texi: Mention the new module.
13223
13224 2009-08-22  Bruno Haible  <bruno@clisp.org>
13225
13226         Reference some new glibc functions.
13227         * doc/glibc-functions/accept4.texi: New file.
13228         * doc/glibc-functions/dup3.texi: New file.
13229         * doc/glibc-functions/mkostemp.texi: New file.
13230         * doc/glibc-functions/pipe2.texi: New file.
13231         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
13232         (Glibc sys/socket.h): Refer to accept4.
13233         (Glibc unistd.h): Refer to dup3, pipe2.
13234         Reported by Eric Blake.
13235
13236 2009-08-22  Jim Meyering  <meyering@redhat.com>
13237             Bruno Haible  <bruno@clisp.org>
13238
13239         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
13240         This makes it so packages using automake-1.11's silent-rules option
13241         can print e.g., a single "GEN    configmake.h" line, rather than
13242         the 30+ statements that perform the job.  If you want to see the
13243         actual commands, you can still run "make V=1".
13244         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
13245         so that make output is abbreviated when those variables are defined
13246         appropriately.
13247         * modules/argz: Likewise.
13248         * modules/arpa_inet: Likewise.
13249         * modules/byteswap: Likewise.
13250         * modules/configmake: Likewise.
13251         * modules/dirent: Likewise.
13252         * modules/errno: Likewise.
13253         * modules/fcntl: Likewise.
13254         * modules/float: Likewise.
13255         * modules/fnmatch: Likewise.
13256         * modules/getopt-posix: Likewise.
13257         * modules/glob: Likewise.
13258         * modules/iconv_open: Likewise.
13259         * modules/inttypes: Likewise.
13260         * modules/localcharset: Likewise.
13261         * modules/locale: Likewise.
13262         * modules/math: Likewise.
13263         * modules/netdb: Likewise.
13264         * modules/netinet_in: Likewise.
13265         * modules/poll: Likewise.
13266         * modules/posix_spawnp-tests: Likewise.
13267         * modules/sched: Likewise.
13268         * modules/search: Likewise.
13269         * modules/selinux-h: Likewise.
13270         * modules/signal: Likewise.
13271         * modules/spawn: Likewise.
13272         * modules/stdarg: Likewise.
13273         * modules/stdbool: Likewise.
13274         * modules/stddef: Likewise.
13275         * modules/stdint: Likewise.
13276         * modules/stdio: Likewise.
13277         * modules/stdlib: Likewise.
13278         * modules/string: Likewise.
13279         * modules/strings: Likewise.
13280         * modules/sys_file: Likewise.
13281         * modules/sys_ioctl: Likewise.
13282         * modules/sys_select: Likewise.
13283         * modules/sys_socket: Likewise.
13284         * modules/sys_stat: Likewise.
13285         * modules/sys_time: Likewise.
13286         * modules/sys_times: Likewise.
13287         * modules/sys_utsname: Likewise.
13288         * modules/sys_wait: Likewise.
13289         * modules/sysexits: Likewise.
13290         * modules/time: Likewise.
13291         * modules/unistd: Likewise.
13292         * modules/wchar: Likewise.
13293         * modules/wctype: Likewise.
13294
13295 2009-08-22  Jim Meyering  <meyering@redhat.com>
13296
13297         announce-gen: detect write failure
13298         * build-aux/announce-gen: Add Coda at end.
13299         Remove equivalent-but-more-verbose block at top.
13300
13301 2009-08-19  Akim Demaille  <demaille@gostai.com>
13302
13303         bootstrap: --help to stdout.
13304         * bootstrap (usage): Don't send --help to stderr.
13305         Use a here doc instead of a long string.
13306
13307 2009-08-21  Eric Blake  <ebb9@byu.net>
13308
13309         test-popen-safer: split from test-popen
13310         * tests/test-popen.c (main): Move...
13311         * tests/test-popen.h: ...into new file.
13312         * tests/test-popen-safer2.c: New file.
13313         * modules/popen-tests (Files): Add test-popen.h.
13314         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
13315         Suggested by Bruno Haible.
13316
13317         test-fcntl-safer: split from test-open
13318         * tests/test-open.c (main): Move...
13319         * tests/test-open.h: ...into new file.
13320         * tests/test-fcntl-safer.c: New file.
13321         * modules/open-tests (Files): Add test-open.h.
13322         * modules/fcntl-safer-tests: New file.
13323         Suggested by Bruno Haible.
13324
13325         test-fopen-safer: split from test-fopen
13326         * tests/test-fopen.c (main): Move...
13327         * tests/test-fopen.h: ...into new file.
13328         * tests/test-fopen-safer.c: New file.
13329         * modules/fopen-tests (Files): Add test-fopen.h.
13330         * modules/fopen-safer-tests: New file.
13331         Suggested by Bruno Haible.
13332
13333 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
13334
13335         popen-safer: test O_CLOEXEC at run-time.
13336         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
13337
13338 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
13339
13340         fcntl: move more flags to the header
13341         * lib/cloexec.c: Do not define FD_CLOEXEC here.
13342         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
13343         * lib/fcntl.in.h: Do both things here.
13344
13345 2009-08-21  Jim Meyering  <meyering@redhat.com>
13346
13347         consistently remove $@-t before redirecting to it
13348         * modules/argz: Remove $@-t and $@ before redirecting to the former.
13349         * modules/alloca-opt: Likewise.
13350         * modules/byteswap: Likewise.
13351         * modules/fnmatch: Likewise.
13352         * modules/getopt-posix: Likewise.
13353         * modules/glob: Likewise.
13354         * modules/poll: Likewise.
13355         * modules/posix_spawnp-tests: Likewise.
13356         * modules/sys_socket: Likewise.
13357         * modules/sysexits: Likewise.
13358
13359 2009-08-21  Eric Blake  <ebb9@byu.net>
13360
13361         popen: simplify access to original popen
13362         * lib/popen.c (rpl_popen): No need to worry about popen being a
13363         macro.
13364         Reported by Bruno Haible.
13365
13366 2009-08-20  Eric Blake  <ebb9@byu.net>
13367
13368         build: avoid some compiler warnings
13369         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
13370         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
13371         type.
13372         (new_exclude_segment, excluded_file_pattern_p)
13373         (excluded_file_name_p): Reduce scope.
13374         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
13375         old-style declaration.
13376
13377 2009-08-20  Simon Josefsson  <simon@josefsson.org>
13378
13379         * tests/test-exclude1.sh: Handle Windows EOL.
13380         * tests/test-exclude2.sh: Likewise.
13381         * tests/test-exclude3.sh: Likewise.
13382         * tests/test-exclude4.sh: Likewise.
13383         * tests/test-exclude5.sh: Likewise.
13384         * tests/test-exclude6.sh: Likewise.
13385         * tests/test-exclude7.sh: Likewise.
13386
13387 2009-08-19  Akim Demaille  <demaille@gostai.com>
13388
13389         bootstrap: find sha1sum when named gsha1sum.
13390         * bootstrap (find_tool): New.
13391         ($SHA1SUM): New.
13392         Use it.
13393
13394 2009-08-20  Jim Meyering  <meyering@redhat.com>
13395
13396         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
13397         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
13398         expression that converts "." in a file name to "\." in the resulting
13399         regexp.  Start with a dummy statement, so that prior shell variable
13400         definitions are expanded portably.  Reported by Simon Josefsson.
13401
13402 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
13403
13404         Fix polling for writeability of a screen buffer.
13405         * lib/poll.c: Distinguish input and screen buffers for the
13406         Win32 implementation.
13407         * lib/select.c: Likewise.
13408
13409 2009-08-19  Eric Blake  <ebb9@byu.net>
13410
13411         popen-safer: prevent popen from clobbering std descriptors
13412         * modules/popen-safer: New file.
13413         * lib/popen-safer.c: Likewise.
13414         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
13415         * lib/stdio--.h (popen): Provide override.
13416         * lib/stdio-safer.h (popen_safer): Provide declaration.
13417         * tests/test-popen.c (includes): Partially test this.
13418         * modules/popen-safer-tests: New file, for more tests.
13419         * tests/test-popen-safer.c: Likewise.
13420         * MODULES.html.sh (file stream based Input/Output): Mention it.
13421
13422         tests: test some of the *-safer modules
13423         * modules/fopen-safer (Depends-on): Add fopen.
13424         * modules/fcntl-safer (Depends-on): Add fcntl.
13425         * modules/stdlib-safer (Depends-on): Add stdlib.
13426         (configure.ac): Set indicator.
13427         * modules/unistd-safer (configure.ac): Likewise.
13428         * modules/tmpfile-safer (configure.ac): Likewise.
13429         (Depends-on): Add tmpfile.
13430         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
13431         active.
13432         * tests/test-fopen.c (includes): Test safer versions when they are
13433         in use.
13434         * tests/test-open.c (includes): Likewise.
13435
13436         popen: fix cygwin 1.5 bug when stdin closed
13437         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
13438         * modules/popen: New file.
13439         * modules/popen-tests: Likewise.
13440         * tests/test-popen.c: Likewise.
13441         * m4/popen.m4: Likewise.
13442         * lib/popen.c: Likewise.
13443         * lib/stdio.in.h (popen): New declaration.
13444         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
13445         * modules/stdio (Makefile.am): Likewise.
13446         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
13447
13448 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
13449
13450         maint.mk: give full control over update-copyright exclusions
13451         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
13452         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
13453         (update-copyright): Don't force inclusion of top-level
13454         ChangeLog.  Don't force exclusion of all COPYING files, but make
13455         them the default exclusion instead.
13456
13457 2009-08-16  Bruno Haible  <bruno@clisp.org>
13458
13459         Fix test failures on Solaris 10.
13460         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
13461         tests when Solaris iconv() is used.
13462         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
13463         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
13464         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
13465         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
13466         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
13467
13468 2009-08-16  Bruno Haible  <bruno@clisp.org>
13469
13470         Fix test failures on Solaris 10.
13471         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
13472         'tr' program and pass it as first argument.
13473         * tests/test-pipe-filter-gi1.sh: Likewise.
13474         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
13475         program as first argument.
13476         * tests/test-pipe-filter-gi1.c (main): Likewise.
13477
13478 2009-08-16  Eric Blake  <ebb9@byu.net>
13479
13480         fpurge: fix previous commits
13481         * modules/fpurge (Makefile.am): Make replacement conditional,
13482         partially reverting 2007-04-29 change; missed in previous
13483         attempt.
13484         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
13485         is missing.
13486
13487 2009-08-16  Bruno Haible  <bruno@clisp.org>
13488
13489         Clarify fpurge's effect on the file position.
13490         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
13491         * tests/test-fpurge.c (main): Make a second pass for checking the file
13492         position.
13493
13494 2009-08-16  Bruno Haible  <bruno@clisp.org>
13495
13496         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
13497         declaration of fpurge is missing.
13498         * tests/test-fpurge.c (main): Check that the file has not more contents
13499         than expected. Close the file before removing it.
13500
13501 2009-08-15  Eric Blake  <ebb9@byu.net>
13502
13503         fpurge: don't wrap working cygwin implementation
13504         * lib/fpurge.c (fpurge): Fix comment typo.
13505         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
13506         1.7 to avoid replacement.
13507         * tests/test-fpurge.c (main): Enhance test.
13508
13509 2009-08-15  Eric Blake  <ebb9@byu.net>
13510         and Jim Meyering  <meyering@redhat.com>
13511
13512         test-update-copyright: skip if perl is insufficient
13513         * tests/test-update-copyright.sh: Failure to run maintainer tool
13514         should not cause testsuite failure on cygwin 1.5.
13515
13516 2009-08-14  Eric Blake  <ebb9@byu.net>
13517
13518         doc: mention more functions added in cygwin 1.7.0
13519         * doc/posix-headers/limits.texi (limits.h): Update for recent
13520         cygwin additions.
13521         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
13522         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13523         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
13524         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
13525         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
13526
13527 2009-08-14  Eric Blake  <ebb9@byu.net>
13528
13529         maint.mk: simplify update-copyright rule
13530         * top/maint.mk (update-copyright-local): Delete, and document how
13531         to do it in cfg.mk instead.
13532         (update-copyright-exclude-regexp): Delete, and document how to do
13533         it in .x-update-copyright instead.
13534         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
13535         exclude ChangeLog.
13536
13537 2009-08-14  Bruno Haible  <bruno@clisp.org>
13538
13539         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
13540
13541 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
13542
13543         maint.mk: support update-copyright-env
13544         * top/maint.mk (update-copyright-env): Define place-holder.
13545         (update-copyright): Expand $(update-copyright-env) before
13546         invoking update-copyright.
13547
13548 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
13549
13550         update-copyright: implement forced reformatting
13551         * build-aux/update-copyright: Implement and document
13552         UPDATE_COPYRIGHT_FORCE.
13553         * tests/test-update-copyright.sh: Test it.
13554
13555 2009-08-14  Eric Blake  <ebb9@byu.net>
13556         and Bruno Haible  <bruno@clisp.org>
13557
13558         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
13559         * tests/test-locale.c: Revert previous patch related to NULL.
13560         * tests/test-stdio.c: Likewise.
13561         * tests/test-stdlib.c: Likewise.
13562         * tests/test-string.c: Likewise.
13563         * tests/test-unistd.c: Likewise.
13564         * modules/time-tests (Depends-on): Add verify.
13565         * modules/wchar-tests (Depends-on): Likewise.
13566         * tests/test-time.c: Test for NULL compliance.
13567         * tests/test-wchar.c: Likewise.
13568         * modules/locale (Depends-on): Add stddef.
13569         * modules/stdio (Depends-on): Likewise.
13570         * modules/stdlib (Depends-on): Likewise.
13571         * modules/string (Depends-on): Likewise.
13572         * modules/time (Depends-on): Likewise.
13573         * modules/unistd (Depends-on): Likewise.
13574         * modules/wchar (Depends-on): Likewise.
13575         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
13576         * lib/stdlib.in.h (includes): Likewise.
13577         * lib/string.in.h (includes): Likewise.
13578         * lib/time.in.h (includes): Likewise.
13579         * lib/unistd.in.h (includes): Likewise.
13580         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
13581         replaced.
13582         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
13583         * m4/stddef_h.m4: New file.
13584         * modules/stddef: Likewise.
13585         * lib/stddef.in.h: Likewise.
13586         * modules/stddef-tests: Likewise.
13587         * tests/test-stddef.c: Likewise.
13588         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
13589         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
13590         * doc/posix-headers/locale.texi (locale.h): Likewise.
13591         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
13592         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
13593         * doc/posix-headers/string.texi (string.h): Likewise.
13594         * doc/posix-headers/time.texi (time.h): Likewise.
13595         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
13596         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
13597
13598 2009-08-14  Eric Blake  <ebb9@byu.net>
13599
13600         doc: improve git diff of texinfo files
13601         * .gitattributes: Add rule for *.texi files, with hint on how to
13602         use it.
13603         Copied from m4, and based on a report by Bruno Haible.
13604
13605 2009-08-14  Bruno Haible  <bruno@clisp.org>
13606
13607         Disable multithread support by default on Cygwin 1.5.x for real.
13608         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
13609
13610 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
13611
13612         update-copyright: much ado about intervals
13613         * build-aux/update-copyright: Implement and document
13614         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
13615         of copyright year intervals.
13616         Also, document UPDATE_COPYRIGHT_YEAR.
13617         * tests/test-update-copyright.sh: Test it.
13618
13619         update-copyright: convert 2-digit to 4-digit years
13620         * build-aux/update-copyright: Implement and document.
13621         * tests/test-update-copyright.sh: Update.
13622
13623 2009-08-14  Jim Meyering  <meyering@redhat.com>
13624
13625         test-exclude: avoid coreutils "make check" failure
13626         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
13627         just as in test-argmatch.c.
13628
13629 2009-08-13  Eric Blake  <ebb9@byu.net>
13630
13631         test-dup2: fix bad assumption
13632         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
13633         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
13634
13635         test-version-etc: fix CRLF portability issue
13636         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
13637         recognize \r.
13638         * tests/test-argp-version-etc-1.sh: Likewise.
13639
13640         getopt: update client modules
13641         * modules/argp (Depends-on): Use getopt-gnu.
13642         * modules/git-merge-changelog (Depends-on): Likewise.
13643         * modules/long-options (Depends-on): Likewise.
13644         * modules/xstrtol (Depends-on): Likewise.
13645
13646 2009-08-13  Simon Josefsson  <simon@josefsson.org>
13647
13648         * tests/test-version-etc.sh: Don't fail on different
13649         project/version.  Don't fail on CRLF differences.  Rewrite to use
13650         multiple -e instead of multiple sed forks, suggested by Eric Blake
13651         <ebb9@byu.net>.
13652         * tests/test-argp-version-etc-1.sh: Likewise.
13653
13654 2009-08-13  Simon Josefsson  <simon@josefsson.org>
13655
13656         * tests/test-version-etc.sh: Don't fail on different
13657         project/version.
13658
13659 2009-08-12  Bruno Haible  <bruno@clisp.org>
13660
13661         Tests for modules 'getopt-posix', 'getopt-gnu'.
13662         * modules/getopt-posix-tests: New file.
13663         * tests/test-getopt.c: New file.
13664         * tests/test-getopt.h: New file.
13665         * tests/test-getopt_long.h: New file.
13666
13667         New modules 'getopt-posix', 'getopt-gnu'.
13668         * modules/getopt-gnu: New file, renamed from modules/getopt.
13669         * modules/getopt-posix: New file.
13670         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
13671         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
13672         (gl_GETOPT): Remove macro.
13673         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
13674         Disable the test against BSD systems that declare optreset. Test
13675         against mingw bug. Test against lack of support of optional arguments
13676         on many platforms.
13677         * doc/glibc-headers/getopt.texi: Update module name and list of
13678         relevant platforms.
13679         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
13680         'getopt-gnu' and more portability problems.
13681         * NEWS: Mention the changes.
13682
13683 2009-08-12  Bruno Haible  <bruno@clisp.org>
13684
13685         Ensure that optarg etc. get declared by <unistd.h>.
13686         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
13687         AC_USE_SYSTEM_EXTENSIONS.
13688         * modules/getopt (Depends-on): Add 'extensions'.
13689
13690 2009-08-12  Bruno Haible  <bruno@clisp.org>
13691
13692         Avoid test link errors.
13693         * modules/pipe-filter-ii-tests (Makefile.am): Define
13694         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
13695         * modules/pipe-filter-gi-tests (Makefile.am): Define
13696         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
13697         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13698
13699 2009-08-12  Bruno Haible  <bruno@clisp.org>
13700
13701         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
13702         gl_GETOPT_SUBSTITUTE before.
13703         (gl_GETOPT): Use it.
13704         * m4/argp.m4 (gl_ARGP): Update.
13705         Reported by Sergey Poznyakoff.
13706
13707         * m4/getopt.m4: Reorder macros.
13708         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
13709         (gl_GETOPT_SUBSTITUTE): Remove macro.
13710
13711 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13712
13713         Minor improvement in gitlog-to-changelog
13714
13715         * build-aux/gitlog-to-changelog: New option `--format' makes
13716         output format string configurable.
13717
13718 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13719
13720         Optimize exclude: use hash tables for non-wildcard patterns.
13721
13722         * lib/exclude.c: Include hash.h and mbuiter.h
13723         (struct exclude_pattern, exclude_segment): New data types.
13724         (struct exclude): Rewrite.
13725         (fnmatch_pattern_has_wildcards): New function.
13726         (new_exclude_segment, free_exclude_segment): New functions.
13727         (excluded_file_pattern_p, excluded_file_name_p): New functions.
13728         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
13729         * lib/exclude.h (is_fnmatch_pattern): New prototype.
13730         * modules/exclude: Depend on hash and mbuiter.
13731
13732         * modules/exclude-tests: New file.
13733         * tests/test-exclude.c: New file.
13734         * tests/test-exclude1.sh: New file.
13735         * tests/test-exclude2.sh: New file.
13736         * tests/test-exclude3.sh: New file.
13737         * tests/test-exclude4.sh: New file.
13738         * tests/test-exclude5.sh: New file.
13739         * tests/test-exclude6.sh: New file.
13740         * tests/test-exclude7.sh: New file.
13741
13742 2009-08-12  Bruno Haible  <bruno@clisp.org>
13743
13744         Ensure that getopt() gets declared by <unistd.h>.
13745         * lib/unistd.in.h: Conditionally include getopt.h.
13746         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
13747         Set GNULIB_UNISTD_H_GETOPT.
13748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13749         GNULIB_UNISTD_H_GETOPT.
13750         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
13751
13752 2009-08-12  Bruno Haible  <bruno@clisp.org>
13753
13754         Clarify logic.
13755         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
13756         gl_replace_getopt instead of GETOPT_H.
13757
13758 2009-08-12  Bruno Haible  <bruno@clisp.org>
13759
13760         * m4/getopt.m4: Add comments.
13761
13762 2009-08-12  Bruno Haible  <bruno@clisp.org>
13763
13764         Disable multithread support by default on Cygwin 1.5.x.
13765         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
13766         set gl_use_threads=no if not specified otherwise.
13767
13768 2009-08-11  Bruno Haible  <bruno@clisp.org>
13769
13770         Avoid compilation error on NetBSD 5.0.
13771         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
13772         * tests/test-stdio.c: Likewise.
13773         * tests/test-stdlib.c: Likewise.
13774         * tests/test-string.c: Likewise.
13775         * tests/test-unistd.c: Likewise.
13776         Reported by Greg Troxel <gdt@ir.bbn.com>
13777         at <https://savannah.gnu.org/support/?106973>.
13778
13779 2009-08-11  Bruno Haible  <bruno@clisp.org>
13780
13781         * modules/dup2-tests (Depends-on): Remove close.
13782
13783         Undo 2009-07-19 commit.
13784         * modules/acl-tests (Depends-on): Remove close.
13785         * modules/binary-io-tests (Depends-on): Likewise.
13786         * modules/closein-tests (Depends-on): Likewise.
13787         * modules/flock-tests (Depends-on): Likewise.
13788         * modules/fsync-tests (Depends-on): Likewise.
13789         * modules/lseek-tests (Depends-on): Likewise.
13790         * modules/pipe-tests (Depends-on): Likewise.
13791         * modules/posix_spawn-tests (Depends-on): Likewise.
13792         * modules/posix_spawnp-tests (Depends-on): Likewise.
13793         * modules/stat-time-tests (Depends-on): Likewise.
13794         * modules/yesno-tests (Depends-on): Likewise.
13795
13796 2009-08-10  Bruno Haible  <bruno@clisp.org>
13797
13798         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
13799
13800 2009-08-10  Bruno Haible  <bruno@clisp.org>
13801
13802         Fix a gcc warning.
13803         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
13804
13805 2009-08-10  Bruno Haible  <bruno@clisp.org>
13806
13807         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
13808         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
13809         not only the first time.
13810         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
13811         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
13812         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
13813         is 1, not only the the first time.
13814
13815 2009-08-10  Bruno Haible  <bruno@clisp.org>
13816
13817         Make it possible to use module 'gethostname' without module 'close'.
13818         * lib/unistd.in.h (close): Evoke a link error only if
13819         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13820         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13821         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13822         * modules/unistd (Makefile.am): Substitute
13823         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13824         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
13825         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13826         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13827         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13828         * modules/sys_ioctl (Makefile.am): Substitute
13829         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13830         * modules/socket (configure.ac): On native Windows, set
13831         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
13832         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13833         Reported by Sam Steingold <sds@gnu.org>.
13834
13835 2009-08-10  Bruno Haible  <bruno@clisp.org>
13836
13837         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
13838         * modules/ioctl (configure.ac): Likewise.
13839
13840 2009-08-10  Bruno Haible  <bruno@clisp.org>
13841
13842         Avoid collision between gnulib wrapper and libintl wrapper.
13843         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
13844         already defined in intl/printf.c.
13845         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
13846         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
13847
13848 2009-08-09  Bruno Haible  <bruno@clisp.org>
13849
13850         Make <sys/select.h> really self-contained, also on Solaris 10.
13851         * lib/sys_select.in.h: Include <string.h>.
13852         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
13853         Solaris 10 problem.
13854         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
13855         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
13856         Reported by Jim Meyering.
13857
13858 2009-08-09  Bruno Haible  <bruno@clisp.org>
13859
13860         Avoid warnings from 'aclocal' that are due to a use of macro name
13861         AM_XGETTEXT_OPTION that is not defined in automake.
13862         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
13863         automake.
13864         * modules/error (configure.ac): Likewise.
13865         * modules/propername (configure.ac): Likewise.
13866         * modules/vasprintf (configure.ac): Likewise.
13867         * modules/verror (configure.ac): Likewise.
13868         * modules/xprintf (configure.ac): Likewise.
13869         * modules/xvasprintf (configure.ac): Likewise.
13870
13871 2009-08-08  Bruno Haible  <bruno@clisp.org>
13872
13873         Avoid compilation error in C++ mode.
13874         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
13875         Reported by Sam Steingold <sds@gnu.org>.
13876
13877 2009-08-08  Bruno Haible  <bruno@clisp.org>
13878
13879         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
13880         for the various Unix platforms.
13881         * doc/posix-headers/limits.texi: Update platforms list regarding
13882         HOST_NAME_MAX.
13883         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13884
13885 2009-08-07  Jim Meyering  <meyering@redhat.com>
13886
13887         selinux-at: fix typo in a comment
13888         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
13889         Spotted by Paolo Bonzini.
13890
13891         selinux-at: remove redundant m4 code, add documentation
13892         * modules/selinux-at (configure.ac): Remove redundant code.
13893         LIB_SELINUX is already set via the dependent module, selinux-h.
13894         (Include): Add quotes around selinux-at.h.
13895         * lib/selinux-at.h: Add documentation.
13896         Reported by Bruno Haible in
13897         http://marc.info/?l=gnulib-bug&m=124958988300749
13898
13899 2009-08-07  Bruno Haible  <bruno@clisp.org>
13900
13901         Avoid link error on MacOS X 10.3 and 10.4.
13902         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
13903         on non-ELF systems.
13904         * lib/argp-pv.c (argp_program_version): Likewise.
13905         Reported by Simon Josefsson.
13906
13907 2009-08-07  Simon Josefsson  <simon@josefsson.org>
13908
13909         * tests/test-version-etc.sh: Use $EXEEXT.
13910
13911 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
13912
13913         update-copyright: update documentation to point to maint.mk
13914         * build-aux/update-copyright: Here.
13915
13916 2009-08-06  Jim Meyering  <meyering@redhat.com>
13917
13918         maint.mk: support update-copyright-local
13919         * top/maint.mk (update-copyright-local): Define place-holder.
13920         (update-copyright): Depend on $(update-copyright-local).
13921
13922 2009-08-06  Jim Meyering  <meyering@redhat.com>
13923
13924         selinux-at: new module
13925         Initially written for coreutils, this module will soon be
13926         used by findutils, too.
13927         * MODULES.html.sh [Misc]: Add selinux-at.
13928         * lib/selinux-at.h: New file, from coreutils.
13929         * lib/selinux-at.c: Likewise.
13930         * modules/selinux-at: Likewise.
13931         (License): Change from LGPL to GPL, since it depends
13932         on the GPL'd openat module.
13933
13934         doc: update README
13935         * README: Remove references to cogito.
13936         Remove cvs-repo-updating instructions from 2007.
13937         Don't imply that CVS is better if you have limited disk space.
13938
13939 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13940
13941         update-copyright: support C-style comments
13942         * build-aux/update-copyright: Implement and document.
13943         * tests/test-update-copyright.sh: Test.
13944
13945 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13946
13947         update-copyright: support omitted "(C)"
13948         * build-aux/update-copyright: Implement and document.  Also,
13949         allow variable whitespace before "(C)".
13950         * tests/test-update-copyright.sh: Test.
13951
13952 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13953
13954         update-copyright: don't trip on non-FSF copyright statements
13955         * build-aux/update-copyright: Fix so that the first correctly
13956         formatted FSF copyright statement is recognized no matter what
13957         appears before it.  Update documentation.
13958         * tests/test-update-copyright.sh: Test that.
13959
13960 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13961
13962         update-copyright: clean up code a little
13963         * build-aux/update-copyright: Append "_re" to the name of any
13964         variable holding a regular expression.
13965         Replace "old" and "new" with "stmt" in variable names.
13966         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
13967         handled correctly.
13968         Format code more consistently.
13969
13970 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13971
13972         update-copyright-tests: improve portability
13973         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
13974         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
13975
13976 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13977
13978         update-copyright: support @copyright{} and &copy;
13979         * build-aux/update-copyright: Implement and document.
13980         * tests/test-update-copyright.sh: Test.
13981
13982 2009-08-04  Jim Meyering  <meyering@redhat.com>
13983
13984         update-copyright-tests: correctly test EOL=\r\n handling
13985         * tests/test-update-copyright.sh: Put \r at the end of some lines
13986         for the dos-eol tests.  Based on a patch by Joel E. Denny.
13987
13988         maint.mk: make update-copyright exclusion list more configurable
13989         * top/maint.mk (update-copyright): Default to excluding COPYING,
13990         but allow an override, in case someone does want to update that file.
13991
13992         maint.mk: don't update copyright date in COPYING
13993         * top/maint.mk (update-copyright): Exclude COPYING.
13994
13995         maint.mk: add a copyright-updating rule
13996         * top/maint.mk (update-copyright): New rule.
13997         Derived from coreutils/Makefile.am.
13998
13999         update-copyright: rename some variables
14000         * build-aux/update-copyright: Rename a few variables for clarity.
14001         Tweak syntax.  List Joel E. Denny as coauthor.
14002
14003 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
14004
14005         update-copyright: fix bug for 2-digit last year and add tests
14006         * build-aux/update-copyright: Fix bug.
14007         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
14008         specified.
14009         * modules/update-copyright-tests: New
14010         * tests/test-update-copyright.sh: New.
14011
14012 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
14013
14014         update-copyright: handle leading tabs in line prefix
14015         * build-aux/update-copyright: Count leading tabs as 8 spaces
14016         when computing margin.  This helps with the formatting of
14017         ChangeLogs, for example.
14018         Fix documentation a little.
14019
14020 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
14021
14022         update-copyright: support EOL=\r\n
14023         * build-aux/update-copyright: Implement that.
14024
14025 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
14026
14027         update-copyright: automatically format copyright statements
14028         * build-aux/update-copyright: Implement that.
14029         Also, be a little more predictable and safer by always failing
14030         when the full copyright format is not perfectly recognized as an
14031         unbroken whole.  Discussed at
14032         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
14033         Rewrite documentation.
14034
14035 2009-08-03  Bruno Haible  <bruno@clisp.org>
14036
14037         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
14038
14039 2009-08-02  Bruno Haible  <bruno@clisp.org>
14040
14041         Tests for module 'uname'.
14042         * modules/uname-tests: New file.
14043         * tests/test-uname.c: New file.
14044
14045         New module 'uname'.
14046         * lib/uname.c: New file.
14047         * m4/uname.m4: New file.
14048         * modules/uname: New file.
14049         * doc/posix-functions/uname.texi: Mention the new module.
14050
14051 2009-08-02  Bruno Haible  <bruno@clisp.org>
14052
14053         Tests for module 'sys_utsname'.
14054         * modules/sys_utsname-tests: New file.
14055         * tests/test-sys_utsname.c: New file.
14056
14057         New module 'sys_utsname'.
14058         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
14059         * m4/sys_utsname_h.m4: New file.
14060         * modules/sys_utsname: New file.
14061         * doc/posix-headers/sys_utsname.texi: Mention the new module.
14062
14063 2009-08-02  Bruno Haible  <bruno@clisp.org>
14064
14065         Implicitly initialize the sockets library.
14066         * lib/gethostname.c: Include sockets.h.
14067         (rpl_gethostname): Invoke gl_sockets_startup.
14068         * lib/socket.c: Include sockets.h.
14069         (rpl_socket): Invoke gl_sockets_startup.
14070         * modules/gethostname (Depends-on): Add sockets.
14071         * modules/socket (Depends-on): Likewise.
14072         * tests/test-poll.c: Don't include sockets.h.
14073         (main): Don't invoke gl_sockets_startup.
14074         * tests/test-select.c: Don't include sockets.h.
14075         (main): Don't invoke gl_sockets_startup.
14076
14077 2009-08-02  Bruno Haible  <bruno@clisp.org>
14078
14079         Allow multiple calls to gl_sockets_startup.
14080         * lib/sockets.c (initialized_sockets_version): New variable.
14081         (gl_sockets_startup): Do nothing if already called for this or a higher
14082         version.
14083         (gl_sockets_cleanup): Reset initialized_sockets_version.
14084
14085 2009-08-03  Simon Josefsson  <simon@josefsson.org>
14086
14087         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
14088         different project/version.
14089
14090 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
14091             Bruno Haible  <bruno@clisp.org>
14092
14093         Tests for module 'pipe-filter-gi'.
14094         * modules/pipe-filter-gi-tests: New file.
14095         * tests/test-pipe-filter-gi1.sh: New file.
14096         * tests/test-pipe-filter-gi1.c: New file.
14097         * tests/test-pipe-filter-gi2.sh: New file.
14098         * tests/test-pipe-filter-gi2-main.c: New file.
14099         * tests/test-pipe-filter-gi2-child.c: New file.
14100
14101         New module 'pipe-filter-gi'.
14102         * lib/pipe-filter-gi.c: New file.
14103         * modules/pipe-filter-gi: New file.
14104
14105 2009-08-02  Bruno Haible  <bruno@clisp.org>
14106             Paolo Bonzini  <bonzini@gnu.org>
14107
14108         Tests for module 'pipe-filter-ii'.
14109         * modules/pipe-filter-ii-tests: New file.
14110         * tests/test-pipe-filter-ii1.sh: New file.
14111         * tests/test-pipe-filter-ii1.c: New file.
14112         * tests/test-pipe-filter-ii2.sh: New file.
14113         * tests/test-pipe-filter-ii2-main.c: New file.
14114         * tests/test-pipe-filter-ii2-child.c: New file.
14115
14116         New module 'pipe-filter-ii'.
14117         * lib/pipe-filter.h: New file.
14118         * lib/pipe-filter-ii.c: New file.
14119         * lib/pipe-filter-aux.h: New file.
14120         * modules/pipe-filter-ii: New file.
14121
14122 2009-08-02  Simon Josefsson  <simon@josefsson.org>
14123
14124         * lib/gc-libgcrypt.c: Change copyright to FSF.
14125         * lib/gc-gnulib.c: Likewise.
14126
14127 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
14128
14129         * lib/gethostname.c: Include limits.h.
14130
14131 2009-08-02  Simon Josefsson  <simon@josefsson.org>
14132             Bruno Haible  <bruno@clisp.org>
14133
14134         Ensure HOST_NAME_MAX as part of the gethostname module.
14135         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
14136         define also HOST_NAME_MAX.
14137         * tests/test-gethostname.c: Include <limits.h>.
14138         (main): Check also HOST_NAME_MAX.
14139         * doc/posix-headers/limits.texi: Document the mingw problem.
14140
14141 2009-08-02  Bruno Haible  <bruno@clisp.org>
14142
14143         * lib/gethostname.c (gethostname): Fix handling of large len argument.
14144         Add comments.
14145
14146 2009-03-31  Simon Josefsson  <simon@josefsson.org>
14147
14148         * lib/gethostname.c: Add Windows wrapper.
14149         * m4/gethostname.m4: Look for gethostname in -lws2_32.
14150         * modules/gethostname: Depend on sys_socket & errno, for also
14151         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
14152         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
14153
14154 2009-07-31  Jim Meyering  <meyering@redhat.com>
14155
14156         getloadavg: fix symbol name in comment
14157         * lib/getloadavg.c: Correct a typo I introduced when adding
14158         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
14159         Matt Kraai spotted the problem.
14160
14161 2009-07-29  Matt Kraai  <mkraai@beckman.com>
14162
14163         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
14164         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
14165         code also if ! defined N_NAME_POINTER.
14166         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
14167         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
14168         but the n_name member is a 12-byte array.
14169
14170 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
14171
14172         update-copyright: generalize comment handling
14173         * build-aux/update-copyright: Handle copyright statements
14174         within more comment styles.
14175         Document usage.
14176         Report any file with an external copyright holder or parse failure.
14177
14178 2009-07-29  Jim Meyering  <meyering@redhat.com>
14179
14180         mktime: correct setting of REPLACE_MKTIME
14181         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
14182
14183         update-copyright: new module
14184         * modules/update-copyright: New file.
14185         * build-aux/update-copyright: New file.
14186         * MODULES.html.sh (maint+release support): Add update-copyright.
14187
14188 2009-07-27  Bruno Haible  <bruno@clisp.org>
14189
14190         Fix compilation error when <ctime> is used and mktime is replaced.
14191         * lib/time.in.h (mktime): New declaration.
14192         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
14193         REPLACE_MKTIME instead of defining mktime in config.h.
14194         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
14195         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
14196         Reported by Ross McFarland <rwmcfa1@neces.com>.
14197
14198 2009-07-27  Bruno Haible  <bruno@clisp.org>
14199
14200         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
14201         Reported by Matt Kraai <mkraai@beckman.com>.
14202
14203 2009-07-25  Jim Meyering  <meyering@redhat.com>
14204
14205         maint.mk: avoid warnings about missing files
14206         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
14207         diagnostic when .prev-version does not exist.
14208         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
14209         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
14210         nonexistent cfg.mk.
14211         Suggestions from Simon Josefsson.
14212
14213 2009-07-25  Bruno Haible  <bruno@clisp.org>
14214
14215         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
14216         defined as macros. Needed on QNX 6.4.1.
14217         Reported by Matt Kraai <mkraai@beckman.com>.
14218
14219 2009-07-23  Jim Meyering  <meyering@redhat.com>
14220
14221         maint.mk: invoke "make dist" with a working value of XZ_OPT
14222         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
14223
14224 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
14225
14226         Make fseeko.c compile on QNX.
14227         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
14228
14229 2009-07-22  Peter Simons  <simons@cryp.to>
14230
14231         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
14232         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
14233         * lib/md4.h: Likewise.
14234         * lib/md5.h: Likewise.
14235         * lib/sha1.h: Likewise.
14236         * lib/sha256.h: Likewise.
14237         * lib/sha512.h: Likewise.
14238
14239         tests-sha1: don't assign literal string to 'char *' variable
14240         * tests/test-sha1.c (main): Declare locals with "const" to match
14241         attributes of the right hand side.
14242
14243 2009-07-21  Eric Blake  <ebb9@byu.net>
14244
14245         dup2: fix more mingw problems
14246         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
14247         fd to itself.
14248         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14249         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
14250         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
14251         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
14252         care of mingw bugs.
14253
14254 2009-07-21  Jim Meyering  <meyering@redhat.com>
14255
14256         vc-list-files: avoid failure when /bin/sh is dash
14257         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
14258         On some Debian based systems, /bin/sh is a symlink to dash, and running
14259         this command would omit the "/" following each 'tests' prefix:
14260           dash -x build-aux/vc-list-files -C . tests
14261         That is because bash and dash work differently:
14262           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
14263           bash ok
14264           dash odd
14265
14266 2009-07-21  Eric Blake  <ebb9@byu.net>
14267
14268         dup2-tests: test previous patch
14269         * modules/dup2-tests: New file.
14270         * tests/test-dup2.c: Likewise.
14271         * tests/test-open.c (main): Avoid unspecified behavior.
14272         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
14273         test.
14274
14275         dup2: work around mingw and cygwin 1.5 bug
14276         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
14277         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14278         * modules/unistd (Makefile.am): Substitute it.
14279         * lib/unistd.in.h (dup2): Declare the replacement.
14280         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
14281         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
14282         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
14283         * modules/execute (Depends-on): Add dup2.
14284         * modules/fseterr (Depends-on): Likewise.
14285         * modules/pipe (Depends-on): Likewise.
14286         * modules/posix_spawn-internal (Depends-on): Likewise.
14287
14288 2009-07-21  Bruno Haible  <bruno@clisp.org>
14289
14290         * modules/.gitattributes: New file.
14291
14292 2009-07-20  Bruno Haible  <bruno@clisp.org>
14293
14294         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
14295         (main): Use it.
14296
14297 2009-07-20  Eric Blake  <ebb9@byu.net>
14298
14299         test-pipe: make a bit more robust.
14300         * tests/test-pipe.c (myerr): Allow error messages regardless of
14301         what we do to stderr.
14302         (test_pipe): Rearrange to avoid deadlock.
14303         (child_main): Try a larger read, to ensure we avoided deadlock.
14304         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
14305         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
14306         if misused.
14307
14308 2009-07-19  Jim Meyering  <meyering@redhat.com>
14309
14310         fts: avoid false-positive cycle-detection
14311         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
14312         for each new command line argument.
14313
14314 2009-07-19  Bruno Haible  <bruno@clisp.org>
14315
14316         Fix build error on mingw with the modules sys_select and unistd.
14317         * modules/acl-tests (Depends-on): Add close.
14318         * modules/binary-io-tests (Depends-on): Likewise.
14319         * modules/closein-tests (Depends-on): Likewise.
14320         * modules/flock-tests (Depends-on): Likewise.
14321         * modules/fsync-tests (Depends-on): Likewise.
14322         * modules/lseek-tests (Depends-on): Likewise.
14323         * modules/pipe-tests (Depends-on): Likewise.
14324         * modules/posix_spawn-tests (Depends-on): Likewise.
14325         * modules/posix_spawnp-tests (Depends-on): Likewise.
14326         * modules/stat-time-tests (Depends-on): Likewise.
14327         * modules/yesno-tests (Depends-on): Likewise.
14328
14329 2009-07-19  Bruno Haible  <bruno@clisp.org>
14330
14331         Unify conditionals.
14332         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
14333         macros, not at the compiler macros.
14334         * lib/pipe.c: Likewise.
14335         * lib/execute.c: Likewise.
14336         * lib/spawni.c: Likewise.
14337
14338 2009-07-19  Bruno Haible  <bruno@clisp.org>
14339
14340         Fix handling of closed stdin/stdout/stderr on mingw.
14341         * lib/w32spawn.h: Include unistd.h.
14342         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
14343         file descriptor with O_NOINHERIT flag.
14344         (fd_safer_noinherit): New function, based on fd-safer.c.
14345         (dup_safer_noinherit): New function, based on dup-safer.c.
14346         (undup_safer_noinherit): New function.
14347         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
14348         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
14349         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
14350         instead of fd_safer.
14351         * tests/test-pipe.c: Include <windows.h>.
14352         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
14353
14354         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
14355         from main.
14356         (test_pipe): Pass an extra argument for disambiguation.
14357         (main): Invoke parent_main or child_main.
14358
14359         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
14360         consistently.
14361
14362 2009-07-18  Eric Blake  <ebb9@byu.net>
14363
14364         test-pipe: fix mingw build
14365         * tests/test-pipe.c (main): Avoid fcntl on mingw.
14366
14367 2009-07-18  Bruno Haible  <bruno@clisp.org>
14368
14369         * modules/pipe-tests (Makefile.am): Fix typo.
14370
14371 2009-07-18  Eric Blake  <ebb9@byu.net>
14372
14373         error: fix mingw build
14374         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
14375         Reported by Bruno Haible.
14376
14377         error: avoid undefined use of stdout
14378         * lib/error.c (error, error_at_line): Check that fd 1 is open
14379         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
14380         is handling faults and the close_stdout module wants to report the
14381         detection of closed stdout as an error.
14382
14383 2009-07-17  Eric Blake  <ebb9@byu.net>
14384
14385         pipe: be robust in face of closed fds
14386         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
14387         should cause child to misbehave.
14388         * modules/pipe-tests: New module.
14389         * tests/test-pipe.c: New file.
14390         * tests/test-pipe.sh: New file.
14391         Reported by Akim Demaille.
14392
14393 2009-07-14  Bruno Haible  <bruno@clisp.org>
14394
14395         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
14396         Reported by anonymous kc.
14397
14398 2009-07-07  Jim Meyering  <meyering@redhat.com>
14399
14400         maint.mk: don't look for translatable strings in *.m4 or *.mk
14401         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
14402         when searching for translatable strings.
14403
14404 2009-07-05  Jim Meyering  <meyering@redhat.com>
14405
14406         remove superfluous parentheses in STREQ definition
14407         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
14408         * lib/getugroups.c (STREQ): Likewise.
14409         * lib/fnmatch.c (STREQ): Likewise.
14410         Spotted by Bruno Haible.
14411
14412 2009-07-04  Jim Meyering  <meyering@redhat.com>
14413
14414         argv-iter: new module
14415         * MODULES.html.sh: Add argv-iter.
14416         * lib/argv-iter.c, lib/argv-iter.h: New files.
14417         * modules/argv-iter: New file.
14418         * modules/argv-iter-tests: New file.
14419         * tests/test-argv-iter.c: Test it.
14420
14421 2009-07-04  Bruno Haible  <bruno@clisp.org>
14422
14423         Fix assertion.
14424         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
14425         contains more exact copies of a given entry than file2, leave the extra
14426         copies unpaired rather than aborting.
14427         Reported by Eric Blake.
14428
14429 2009-07-02  Bruno Haible  <bruno@clisp.org>
14430
14431         Speedup git-merge-changelog for git cherry-pick.
14432         * lib/git-merge-changelog.c (struct entries_mapping): New type.
14433         (entries_mapping_get): New function, extracted from compute_mapping.
14434         (entries_mapping_reverse_get): New function.
14435         (compute_mapping): Add a 'full' argument. Return the result in a
14436         'struct entries_mapping'.
14437         (main): Update. Access the mappings through entries_mapping_get.
14438         Reported by Eric Blake.
14439
14440 2009-07-02  Bruno Haible  <bruno@clisp.org>
14441
14442         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
14443         best_i.
14444
14445 2009-07-02  Bruno Haible  <bruno@clisp.org>
14446
14447         Speed up approximate search for matching ChangeLog entries.
14448         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
14449         argument. Call fstrcmp_bounded instead of fstrcmp.
14450         (compute_mapping, try_split_merged_entry, main): Update callers.
14451
14452 2009-07-02  Bruno Haible  <bruno@clisp.org>
14453
14454         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
14455
14456 2009-06-30  Bruno Haible  <bruno@clisp.org>
14457
14458         Reduce the number of uc_is_cased calls.
14459         * lib/unicase.h (casing_suffix_context_t): Add
14460         'first_char_except_ignorable' field.
14461         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
14462         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
14463         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
14464         Update initializer.
14465         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
14466         case-ignorable characters.
14467         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
14468         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
14469         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
14470         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
14471         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
14472
14473 2009-06-30  Bruno Haible  <bruno@clisp.org>
14474
14475         Tests for module 'unicase/ignorable'.
14476         * modules/unicase/ignorable-tests: New file.
14477         * tests/unicase/test-ignorable.c: New file, generated by
14478         gen-uni-tables.
14479
14480         Tests for module 'unicase/cased'.
14481         * modules/unicase/cased-tests: New file.
14482         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
14483         * tests/unicase/test-predicate-part1.h: New file, derived from
14484         tests/unictype/test-predicate-part1.h.
14485         * tests/unicase/test-predicate-part2.h: New file, same as
14486         tests/unictype/test-predicate-part2.h.
14487
14488         Fix evaluation of "Before C" condition of FINAL_SIGMA.
14489         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
14490         (output_casing_properties): New function.
14491         (main): Call it.
14492         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
14493         * lib/unicase/cased.c: Include unictype/bitmap.h.
14494         (uc_is_cased): Define through a bitmap lookup.
14495         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
14496         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
14497         (uc_is_case_ignorable): Define through a bitmap lookup.
14498         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
14499         lib/unictype/bitmap.h.
14500         (Depends-on): Add inline. Clean up.
14501         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
14502         lib/unictype/bitmap.h.
14503         (Depends-on): Add inline. Clean up.
14504         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
14505         recognition.
14506         * tests/unicase/test-u16-tolower.c (main): Likewise.
14507         * tests/unicase/test-u32-tolower.c (main): Likewise.
14508
14509 2009-06-30  Bruno Haible  <bruno@clisp.org>
14510
14511         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
14512         * lib/unicase/u16-casemap.c: Likewise.
14513         * lib/unicase/u32-casemap.c: Likewise.
14514
14515 2009-06-29  Bruno Haible  <bruno@clisp.org>
14516
14517         Define u32_casefold as a wrapper around u32_ct_casefold.
14518         * lib/unicase/u32-casefold.c: Update.
14519         * modules/unicase/u32-casefold (Depends-on): Add
14520         unicase/u32-ct-casefold, unicase/empty-prefix-context,
14521         unicase/empty-suffix-context. Clean up.
14522
14523         Define u16_casefold as a wrapper around u16_ct_casefold.
14524         * lib/unicase/u16-casefold.c: Update.
14525         * modules/unicase/u16-casefold (Depends-on): Add
14526         unicase/u16-ct-casefold, unicase/empty-prefix-context,
14527         unicase/empty-suffix-context. Clean up.
14528
14529         Define u8_casefold as a wrapper around u8_ct_casefold.
14530         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
14531         * lib/unicase/u8-casefold.c: Update.
14532         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
14533         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14534
14535         Define u32_totitle as a wrapper around u32_ct_totitle.
14536         * lib/unicase/u32-totitle.c: Update.
14537         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
14538         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14539
14540         Define u16_totitle as a wrapper around u16_ct_totitle.
14541         * lib/unicase/u16-totitle.c: Update.
14542         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
14543         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14544
14545         Define u8_totitle as a wrapper around u8_ct_totitle.
14546         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
14547         functions.
14548         (FUNC): Delegate to U_CT_TOTITLE.
14549         * lib/unicase/u8-totitle.c: Update.
14550         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
14551         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14552
14553         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
14554         invocation.
14555         * modules/unicase/u32-tolower (Depends-on): Add
14556         unicase/empty-prefix-context, unicase/empty-suffix-context.
14557
14558         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
14559         invocation.
14560         * modules/unicase/u16-tolower (Depends-on): Add
14561         unicase/empty-prefix-context, unicase/empty-suffix-context.
14562
14563         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
14564         * modules/unicase/u8-tolower (Depends-on): Add
14565         unicase/empty-prefix-context, unicase/empty-suffix-context.
14566
14567         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
14568         invocation.
14569         * modules/unicase/u32-toupper (Depends-on): Add
14570         unicase/empty-prefix-context, unicase/empty-suffix-context.
14571
14572         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
14573         invocation.
14574         * modules/unicase/u16-toupper (Depends-on): Add
14575         unicase/empty-prefix-context, unicase/empty-suffix-context.
14576
14577         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
14578         * modules/unicase/u8-toupper (Depends-on): Add
14579         unicase/empty-prefix-context, unicase/empty-suffix-context.
14580
14581         New module 'unicase/u32-ct-casefold'.
14582         * lib/unicase/u32-ct-casefold.c: New file.
14583         * modules/unicase/u32-ct-casefold: New file.
14584
14585         New module 'unicase/u16-ct-casefold'.
14586         * lib/unicase/u16-ct-casefold.c: New file.
14587         * modules/unicase/u16-ct-casefold: New file.
14588
14589         New module 'unicase/u8-ct-casefold'.
14590         * lib/unicase/u8-ct-casefold.c: New file.
14591         * lib/unicase/u-ct-casefold.h: New file, derived from
14592         lib/unicase/u-casefold.h.
14593         * modules/unicase/u8-ct-casefold: New file.
14594
14595         New module 'unicase/u32-ct-totitle'.
14596         * lib/unicase/u32-ct-totitle.c: New file.
14597         * modules/unicase/u32-ct-totitle: New file.
14598
14599         New module 'unicase/u16-ct-totitle'.
14600         * lib/unicase/u16-ct-totitle.c: New file.
14601         * modules/unicase/u16-ct-totitle: New file.
14602
14603         New module 'unicase/u8-ct-totitle'.
14604         * lib/unicase/u8-ct-totitle.c: New file.
14605         * lib/unicase/u-ct-totitle.h: New file, derived from
14606         lib/unicase/u-totitle.h.
14607         * modules/unicase/u8-ct-totitle: New file.
14608
14609         New module 'unicase/u32-ct-tolower'.
14610         * lib/unicase/u32-ct-tolower.c: New file.
14611         * modules/unicase/u32-ct-tolower: New file.
14612
14613         New module 'unicase/u16-ct-tolower'.
14614         * lib/unicase/u16-ct-tolower.c: New file.
14615         * modules/unicase/u16-ct-tolower: New file.
14616
14617         New module 'unicase/u8-ct-tolower'.
14618         * lib/unicase/u8-ct-tolower.c: New file.
14619         * modules/unicase/u8-ct-tolower: New file.
14620
14621         New module 'unicase/u32-ct-toupper'.
14622         * lib/unicase/u32-ct-toupper.c: New file.
14623         * modules/unicase/u32-ct-toupper: New file.
14624
14625         New module 'unicase/u16-ct-toupper'.
14626         * lib/unicase/u16-ct-toupper.c: New file.
14627         * modules/unicase/u16-ct-toupper: New file.
14628
14629         New module 'unicase/u8-ct-toupper'.
14630         * lib/unicase/u8-ct-toupper.c: New file.
14631         * modules/unicase/u8-ct-toupper: New file.
14632
14633         Add context arguments to u*_casemap functions.
14634         * lib/unicase/unicasemap.h: Include unicase.h.
14635         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
14636         suffix_context arguments.
14637         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
14638         functions.
14639         (FUNC): Add prefix_context and suffix_context arguments. Use
14640         uc_is_cased and uc_is_case_ignorable.
14641         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
14642         * lib/unicase/u16-casemap.c: Likewise.
14643         * lib/unicase/u32-casemap.c: Likewise.
14644         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
14645         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14646         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
14647         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14648         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
14649         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14650
14651         New module 'unicase/u32-suffix-context'.
14652         * lib/unicase/u32-suffix-context.c: New file.
14653         * modules/unicase/u32-suffix-context: New file.
14654
14655         New module 'unicase/u16-suffix-context'.
14656         * lib/unicase/u16-suffix-context.c: New file.
14657         * modules/unicase/u16-suffix-context: New file.
14658
14659         New module 'unicase/u8-suffix-context'.
14660         * lib/unicase/u8-suffix-context.c: New file.
14661         * lib/unicase/u-suffix-context.h: New file.
14662         * modules/unicase/u8-suffix-context: New file.
14663
14664         New module 'unicase/empty-suffix-context'.
14665         * lib/unicase/empty-suffix-context.c: New file.
14666         * modules/unicase/empty-suffix-context: New file.
14667
14668         New module 'unicase/u32-prefix-context'.
14669         * lib/unicase/u32-prefix-context.c: New file.
14670         * modules/unicase/u32-prefix-context: New file.
14671
14672         New module 'unicase/u16-prefix-context'.
14673         * lib/unicase/u16-prefix-context.c: New file.
14674         * modules/unicase/u16-prefix-context: New file.
14675
14676         New module 'unicase/u8-prefix-context'.
14677         * lib/unicase/u8-prefix-context.c: New file.
14678         * lib/unicase/u-prefix-context.h: New file.
14679         * lib/unicase/context.h: New file.
14680         * modules/unicase/u8-prefix-context: New file.
14681
14682         New module 'unicase/empty-prefix-context'.
14683         * lib/unicase/empty-prefix-context.c: New file.
14684         * modules/unicase/empty-prefix-context: New file.
14685
14686         New module 'unicase/ignorable'.
14687         * lib/unicase/ignorable.c: New file.
14688         * modules/unicase/ignorable: New file.
14689
14690         New module 'unicase/cased'.
14691         * lib/unicase/caseprop.h: New file.
14692         * lib/unicase/cased.c: New file.
14693         * modules/unicase/cased: New file.
14694
14695         New functions for case mapping of substrings.
14696         * lib/unicase.h (casing_prefix_context_t): New type.
14697         (unicase_empty_prefix_context): New variable.
14698         (u8_casing_prefix_context, u16_casing_prefix_context,
14699         u32_casing_prefix_context, u8_casing_prefixes_context,
14700         u16_casing_prefixes_context, u32_casing_prefixes_context): New
14701         declarations.
14702         (casing_suffix_context_t): New type.
14703         (unicase_empty_suffix_context): New variable.
14704         (u8_casing_suffix_context, u16_casing_suffix_context,
14705         u32_casing_suffix_context, u8_casing_suffixes_context,
14706         u16_casing_suffixes_context, u32_casing_suffixes_context,
14707         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
14708         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
14709         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
14710         declarations.
14711
14712 2009-06-28  Jim Meyering  <meyering@redhat.com>
14713
14714         boostrap: indent only with spaces
14715         * build-aux/bootstrap: Indent only with spaces, never TABs.
14716
14717         bootstrap: split long lines
14718         * build-aux/bootstrap: Keep line length < 80.
14719
14720         bootstrap: sync from coreutils
14721         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
14722         just as autoreconf does.  Verify a list of prerequisite
14723         package-name,version-number pairs if defined in bootstrap.conf.
14724         Refer to README-prereq, if prerequisites are not satisfied.
14725
14726 2009-06-27  Eric Blake  <ebb9@byu.net>
14727
14728         tests: add test for bogus NULL definition
14729         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
14730         * tests/test-stdlib.c: Likewise.
14731         * tests/test-string.c: Likewise.
14732         * tests/test-locale.c: Likewise.
14733         * tests/test-unistd.c: Likewise.
14734         * modules/stdio-tests (Depends-on): Add verify.
14735         * modules/stdlib-tests (Depends-on): Likewise.
14736         * modules/string-tests (Depends-on): Likewise.
14737         * modules/locale-tests (Depends-on): Likewise.
14738         * modules/unistd-tests (Depends-on): Likewise.
14739
14740 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
14741
14742         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
14743         self-explaining comment.
14744         * m4/selinux-selinux-h: Update serial.
14745         (gl_LIBSELINUX): New macro, adding a warning for missing development
14746         packages to code extracted from...
14747         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
14748         Add warning for missing development packages here, too.
14749
14750 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
14751
14752         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
14753
14754 2009-06-25  Eric Blake  <ebb9@byu.net>
14755
14756         version-etc: fix regression
14757         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
14758         gcc.
14759         (version_etc): Use it, to catch bugs with trailing NULL.
14760         * lib/version-etc.c (version_etc_arn): Delete unused argument.
14761         (version_etc_va): Fix logic bug.
14762         * modules/version-etc-tests: Add test.
14763         * tests/test-version-etc.c: New file.
14764         * tests/test-version-etc.sh: Likewise.
14765
14766 2009-06-25  Sam Steingold  <sds@gnu.org>
14767
14768         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
14769         mbtowc declaration.
14770
14771 2009-06-25  Eric Blake  <ebb9@byu.net>
14772
14773         fpurge: migrate into <stdio.h>
14774         * lib/fpurge.h: Delete...
14775         * lib/stdio.in.h (fpurge): ...and declare here, instead.
14776         * lib/fpurge.c (fpurge): Change declaring header.
14777         * modules/fpurge (Files): Drop deleted file.
14778         (Depends-on): Add stdio.
14779         (configure.ac): Set witness.
14780         * modules/stdio (Makefile.am): Support fpurge macros.
14781         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14782         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
14783         * lib/fflush.c: Update client.
14784         * tests/test-fpurge.c: Likewise.
14785         * NEWS: Mention the change.
14786
14787 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14788
14789         * lib/argp-version-etc.c (program_authors): Add const
14790         qualifier.
14791         * lib/version-etc.c: Fix typos in the comments.
14792         * modules/argp-version-etc: Depends on version-etc.
14793
14794 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14795
14796         argp-version-etc: new module.
14797
14798         * lib/argp-version-etc.c: New file.
14799         * lib/argp-version-etc.h: New file.
14800         * modules/argp-version-etc: New file.
14801         * modules/argp-version-etc-tests: New file.
14802         * tests/test-argp-version-etc.c: New test.
14803         * tests/test-argp-version-etc-1.sh: New test.
14804
14805 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14806
14807         Provide additional interfaces and documentation for version-etc
14808         module.
14809
14810         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
14811         interfaces.
14812         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
14813         prototypes.
14814
14815 2009-06-24  Bruno Haible  <bruno@clisp.org>
14816
14817         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
14818         HAVE_LIB${NAME} macro.
14819         Reported by Sam Steingold <sds@gnu.org>.
14820
14821 2009-06-23  Simon Josefsson  <simon@josefsson.org>
14822
14823         * modules/hash-tests (test_hash_LDADD): Link to libintl when
14824         needed.
14825
14826 2009-06-21  Bruno Haible  <bruno@clisp.org>
14827
14828         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
14829         work.
14830         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
14831         together with LIB${NAME}, LTLIB${NAME}.
14832         Reported by Sam Steingold <sds@gnu.org>.
14833
14834 2009-06-20  Jim Meyering  <meyering@redhat.com>
14835
14836         tests: make sc_require_test_exit_idiom more generic
14837         * top/maint.mk (Exit_witness_file): New overridable variable.
14838         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
14839         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
14840
14841 2009-06-19  Jim Meyering  <meyering@redhat.com>
14842
14843         hash: reverse order of src/dst parameters in an internal interface
14844         * lib/hash.c (transfer_entries): Reverse order of parameters to
14845         put DST before SRC.  Adjust callers.
14846
14847         tests: test-hash: avoid wholesale duplication
14848         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
14849         Instead, use a loop and add a single conditional.
14850
14851         tests: test-hash: allow seed selection via a command line argument
14852         * tests/test-hash.c (get_seed): New function.
14853         (main): Use it.
14854
14855 2009-06-19  Eric Blake  <ebb9@byu.net>
14856
14857         hash: avoid memory leak on allocation failure
14858         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
14859         failure.  Factor repeated algorithm...
14860         (transfer_entries): ...into new helper routine.
14861         (hash_delete): React to hash_rehash return value.
14862
14863         hash: reduce memory pressure in hash_rehash no-op case
14864         * lib/hash.c (next_prime): Avoid overflow.
14865         (hash_initialize): Factor bucket size computation...
14866         (compute_bucket_size): ...into new helper function.
14867         (hash_rehash): Use new function and open coding to reduce memory
14868         pressure, and avoid a memory leak in USE_OBSTACK code.
14869         Reported by Jim Meyering.
14870
14871 2009-06-18  Eric Blake  <ebb9@byu.net>
14872
14873         hash: make rotation more obvious
14874         * modules/hash (Depends-on): Add bitrotate and stdint.
14875         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
14876         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
14877         (SIZE_MAX): Rely on headers for definition.
14878         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
14879         (raw_hasher): Use rotr_sz.
14880         Suggested by Jim Meyering.
14881
14882         hash: fix memory leak in last patch
14883         * lib/hash.c (hash_rehash): Avoid memory leak.
14884
14885         hash: avoid no-op rehashing
14886         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
14887
14888         hash: provide default callback functions
14889         * lib/hash.c (raw_hasher, raw_comparator): New functions.
14890         (hash_initialize): Use them as defaults.
14891         * tests/test-hash.c (main): Test this.
14892
14893         hash: minor optimization
14894         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
14895         when possible.
14896         (hash_initialize): Document this promise.
14897         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
14898         * tests/test-hash.c (hash_compare_strings): Test this.
14899
14900 2009-06-18  Bruno Haible  <bruno@clisp.org>
14901
14902         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
14903         going to be replaced anyway.
14904
14905 2009-06-18  Bruno Haible  <bruno@clisp.org>
14906
14907         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
14908         in one place.
14909         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
14910         be replaced anyway.
14911
14912 2009-06-18  Eric Blake  <ebb9@byu.net>
14913
14914         hash: check for resize before insertion
14915         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
14916         threshold before insertion, so that a pathological hash_rehash
14917         that fills every bucket can still trigger another rehash.
14918
14919 2009-06-18  Jim Meyering  <meyering@redhat.com>
14920
14921         hash-tests: add a loop around the small tests
14922         * tests/test-hash.c (main): Repeat small tests with selected
14923         small initial table sizes.
14924
14925 2009-06-17  Eric Blake  <ebb9@byu.net>
14926
14927         hash: minor cleanups
14928         * lib/hash.h (hash_entry): Make opaque, by moving...
14929         * lib/hash.c (hash_entry): ...here.
14930         (hash_insert): Clarify restrictions on what can be inserted.
14931         (hash_get_next): Clarify when it is safe to remove an element
14932         during traversal.
14933         (check_tuning): Skip verification when tuning is known safe.
14934         (hash_initialize): Clarify restrictions on tuning.
14935
14936 2009-06-17  Jim Meyering  <jim@meyering.net>
14937         and Eric Blake  <ebb9@byu.net>
14938
14939         hash-tests: new module
14940         * modules/hash-tests: New file.
14941         * tests/test-hash.c: New file.
14942
14943 2009-06-17  Eric Blake  <ebb9@byu.net>
14944
14945         strstr-simple: document new module
14946         * MODULES.html.sh: Document new module.
14947
14948         strstr, strcasestr: replace on platforms with broken memchr
14949         * modules/strstr: Split into...
14950         * modules/strstr-simple: ...new module that does not care about
14951         performance, but does care about glibc bug.
14952         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
14953         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
14954         if platform memchr is broken, per Debian bug 521737.
14955         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
14956         memchr.
14957         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
14958         * doc/posix-functions/strstr.texi (strstr): Document the fix.
14959         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14960         * modules/mountlist (Depends-on): Add strstr-simple.
14961         * modules/gen-uni-tables (Depends-on): Likewise.
14962         * modules/argz (Depends-on): Add strstr.
14963
14964 2009-06-17  Bruno Haible  <bruno@clisp.org>
14965
14966         * modules/posix_spawn-internal (Depends-on): Add errno.
14967
14968 2009-06-17  Bruno Haible  <bruno@clisp.org>
14969
14970         Define missing ESTALE on Interix 3.5.
14971         * lib/errno.in.h (ESTALE): Assign a value if missing.
14972         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
14973         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
14974         missing.
14975         * doc/posix-headers/errno.texi: Mention the Interix bug.
14976         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
14977
14978 2009-06-15  Eric Blake  <ebb9@byu.net>
14979
14980         memchr, memchr2: add valgrind exception
14981         * lib/memchr.valgrind: New file.
14982         * lib/memchr2.valgrind: New file.
14983         * modules/memchr (Files): Distribute valgrind file.
14984         * modules/memchr2 (Files): Likewise.
14985
14986         docs: memchr is no longer obsolete
14987         * MODULES.html.sh: Move memchr from obsolete to string.h section.
14988         * lib/string.in.h (memchr): Simplify logic.
14989
14990 2009-06-14  Jim Meyering  <meyering@redhat.com>
14991
14992         link-follow: fix the "checking..." message to not mention trailing slash
14993         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
14994         never considered trailing slashes.
14995
14996 2009-06-14  Bruno Haible  <bruno@clisp.org>
14997
14998         * m4/memchr.m4: Mention also the bug on IA-64.
14999         * doc/posix-functions/memchr.texi: Likewise.
15000
15001 2009-06-12  Eric Blake  <ebb9@byu.net>
15002
15003         memchr: detect broken x86_64 and alpha implementations
15004         * modules/memchr-tests (Depends-on): Move mmap detection...
15005         * modules/memchr (Depends-on): ...here.
15006         (configure.ac): Set indicator.
15007         * lib/string.in.h (memchr): Declare replacement.
15008         * modules/string (Makefile.am): Trigger replacement.
15009         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
15010         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
15011         bugs.
15012         * doc/posix-functions/memchr.texi (memchr): Document the bug.
15013         * modules/getpagesize (License): Relax license.
15014
15015 2009-06-11  Bruno Haible  <bruno@clisp.org>
15016
15017         * lib/idpriv.h: Add more references.
15018
15019 2009-06-08  Bruno Haible  <bruno@clisp.org>
15020
15021         Tests for module 'idpriv-droptemp'.
15022         * modules/idpriv-droptemp-tests: New file.
15023         * tests/test-idpriv-droptemp.sh: New file.
15024         * tests/test-idpriv-droptemp.su.sh: New file.
15025         * tests/test-idpriv-droptemp.c: New file.
15026
15027         New module 'idpriv-droptemp'.
15028         * lib/idpriv-droptemp.c: New file.
15029         * modules/idpriv-droptemp: New file.
15030
15031 2009-06-08  Bruno Haible  <bruno@clisp.org>
15032
15033         Tests for module 'idpriv-drop'.
15034         * modules/idpriv-drop-tests: New file.
15035         * tests/test-idpriv-drop.sh: New file.
15036         * tests/test-idpriv-drop.su.sh: New file.
15037         * tests/test-idpriv-drop.c: New file.
15038
15039         New module 'idpriv-drop'.
15040         * lib/idpriv.h: New file.
15041         * lib-idpriv-drop.c: New file.
15042         * m4/idpriv.m4: New file.
15043         * modules/idpriv-drop: New file.
15044
15045 2009-06-08  Bruno Haible  <bruno@clisp.org>
15046
15047         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
15048         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
15049         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
15050         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
15051         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
15052         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
15053         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
15054
15055 2009-06-08  Eric Blake  <ebb9@byu.net>
15056
15057         test-strstr: use memory fence, when possible
15058         * tests/test-strstr.c (main): Use memory fence, in order to be
15059         more likely to trigger Debian bug 521737.
15060         * modules/strstr-tests (Files): Pull in additional files.
15061
15062         memchr: no longer obsolete, for wider field testing
15063         * modules/memchr (Status, Notice): Delete, this module is no
15064         longer obsolete.
15065         * modules/vasnprintf (Depends-on): Add memchr.
15066
15067 2009-06-07  Jim Meyering  <meyering@redhat.com>
15068
15069         hash: declare some functions with the warn_unused_result attribute
15070         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
15071
15072 2009-06-07  Bruno Haible  <bruno@clisp.org>
15073
15074         * tests/test-alignof.c: Don't test int64_t if it does not exist.
15075         Reported by Eric Blake.
15076
15077 2009-06-06  Eric Blake  <ebb9@byu.net>
15078
15079         test-alignof: fix typo with long double
15080         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
15081         compiler error.
15082
15083 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
15084
15085         Escape non-texinfo { and }s.
15086         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
15087         markup error.
15088
15089 2009-06-04  Jim Meyering  <meyering@redhat.com>
15090
15091         gitlog-to-changelog: don't infloop on an empty commit log
15092         * build-aux/gitlog-to-changelog: Warn about an empty log message.
15093         Reported by Boris Petersen <transacid@centerim.org>.
15094
15095 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
15096
15097         version-etc: extend for packagers
15098         Add three new configure options, intended for packagers:
15099           --with-packager="packager name"
15100           --with-packager-version="packager-specific version"
15101           --with-packager-bug-reports="packager bug reporting"
15102         An example with coreutils:
15103           $ ./configure \
15104             --with-packager=Gentoo \
15105             --with-packager-bug-report=http://bugs.gentoo.org/ \
15106             --with-packager-version="patchset 1.6"
15107           $ ./src/ls --version | head -n2
15108           ls (GNU coreutils) 7.1-dirty
15109           Packaged by Gentoo (patchset 1.6)
15110         Note that the bug reporting info via --help doesn't show up because
15111         coreutils uses its own custom emit_bug_reporting_address() implementation
15112         in src/system.h.  If it didn't, it'd look like:
15113           $ ./src/ls --help | tail -n4
15114           Report bugs to <bug-coreutils@gnu.org>.
15115           Report Gentoo bugs to <http://bugs.gentoo.org/>.
15116           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
15117           General help using GNU software: <http://www.gnu.org/gethelp/>.
15118         * lib/version-etc.c: Print new information, if provided.
15119         * m4/version-etc.m4: New file.
15120         * modules/version-etc (Files): Add m4/version-etc.m4.
15121         (configure.ac): Add gl_VERSION_ETC.
15122
15123 2009-05-31  Bruno Haible  <bruno@clisp.org>
15124
15125         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
15126         and 'int64_t'.
15127         * modules/alignof-tests (Dependencies): Add stdint.
15128         Reported by Eric Blake.
15129
15130 2009-05-31  Bruno Haible  <bruno@clisp.org>
15131
15132         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
15133         restriction due to compiler bugs.
15134         Reported by Eric Blake.
15135
15136 2009-05-31  Simon Josefsson  <simon@josefsson.org>
15137             Bruno Haible  <bruno@clisp.org>
15138
15139         Fix test-alignof failure.
15140         * lib/alignof.h (alignof_slot): New macro.
15141         (alignof_type): New macro, with the same semantics as the previous
15142         'alignof'.
15143         (alignof): Alias to alignof_slot.
15144         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
15145         check that the results are usable as constant expressions.
15146
15147 2009-05-31  Bruno Haible  <bruno@clisp.org>
15148
15149         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
15150         * tests/test-memchr.c (main): Check that memchr does not read past the
15151         first occurrence of the byte.
15152         * tests/test-strstr.c (main): Update comment.
15153         Suggested by Eric Blake.
15154
15155 2009-05-30  Bruno Haible  <bruno@clisp.org>
15156
15157         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
15158         detail how to use dumpbin.
15159         Reported by David Byron <dbyron@dbyron.com>.
15160
15161 2009-06-02  Simon Josefsson  <simon@josefsson.org>
15162
15163         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
15164
15165 2009-06-02  Simon Josefsson  <simon@josefsson.org>
15166
15167         * m4/manywarnings.m4: Add GCC 4.4 warnings.
15168
15169 2009-05-28  Bruno Haible  <bruno@clisp.org>
15170
15171         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
15172         build-aux/ files.
15173
15174 2009-05-28  Simon Josefsson  <simon@josefsson.org>
15175
15176         * gnulib-tool (func_import): Transform license on build-aux/ files too.
15177
15178 2009-05-27  Simon Josefsson  <simon@josefsson.org>
15179
15180         * gnulib-tool (sed_transform_main_lib_file)
15181         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
15182         regexps.
15183
15184 2009-05-26  Simon Josefsson  <simon@josefsson.org>
15185
15186         * tests/test-strstr.c: Add another self-test.
15187         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
15188         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
15189
15190 2009-05-23  Bruno Haible  <bruno@clisp.org>
15191
15192         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
15193         change.
15194
15195 2009-05-21  Bruno Haible  <bruno@clisp.org>
15196
15197         Simplify use of mode_t varargs.
15198         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
15199         uses 'mode_t' or 'int'.
15200         * lib/openat.c (openat): Likewise.
15201         * lib/open-safer.c (open_safer): Likewise.
15202         * m4/mode_t.m4: New file.
15203         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
15204         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
15205         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
15206         * modules/open (Files): Add m4/mode_t.m4.
15207         * modules/openat (Files): Likewise.
15208         * modules/fcntl-safer (Files): Likewise.
15209         Suggested by Eric Blake.
15210
15211 2009-05-21  Pádraig Brady  <P@draigbrady.com>
15212
15213         * doc/glibc-functions/fallocate.texi: New file.
15214         * doc/gnulib.texi: Include it.
15215
15216 2009-05-21  Eric Blake  <ebb9@byu.net>
15217             Bruno Haible  <bruno@clisp.org>
15218
15219         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
15220         invocations.
15221         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
15222
15223 2009-05-21  Eric Blake  <ebb9@byu.net>
15224             Bruno Haible  <bruno@clisp.org>
15225
15226         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
15227         include_next. Fix of 2008-11-20 commit.
15228         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
15229         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
15230         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
15231         NEXT_MATH_H.
15232         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
15233         instead of NEXT_MATH_H.
15234
15235 2009-05-21  Bruno Haible  <bruno@clisp.org>
15236
15237         Avoid redefinition warnings for SIZE_MAX.
15238         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
15239         Reported by Simon Josefsson.
15240
15241 2009-05-21  Bruno Haible  <bruno@clisp.org>
15242
15243         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
15244         AC_CACHE_VAL.
15245
15246 2009-05-20  Bruno Haible  <bruno@clisp.org>
15247
15248         Make zeroptr.h work on mingw.
15249         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
15250         mprotect.
15251         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
15252         * modules/memchr2-tests (configure.ac): Likewise.
15253         * modules/memcmp-tests (configure.ac): Likewise.
15254         * modules/memmem-tests (configure.ac): Likewise.
15255         * modules/memrchr-tests (configure.ac): Likewise.
15256         Reported by Simon Josefsson.
15257
15258 2009-05-20  Simon Josefsson  <simon@josefsson.org>
15259
15260         * tests/test-glob.c: Include string.h for strcmp prototype.
15261
15262 2009-05-20  Simon Josefsson  <simon@josefsson.org>
15263
15264         * modules/getdelim (Depends-on): Add explicit stdint, although it
15265         was implicitly already pulled in via realloc-posix.
15266         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
15267
15268 2009-05-20  Simon Josefsson  <simon@josefsson.org>
15269
15270         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
15271         G. Christensen" <tgc@jupiterrise.com>.
15272         * m4/sys_socket_h.m4: Check for sa_family_t.
15273         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
15274         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
15275         * tests/test-sys_socket.c: Check that sa_family_t works.
15276
15277 2009-05-18  Eric Blake  <ebb9@byu.net>
15278
15279         maint.mk: allow gnulib_dir in VPATH build
15280         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
15281
15282 2009-05-15  Jim Meyering  <meyering@redhat.com>
15283
15284         maint.mk: Give gnulib_dir a default definition.
15285         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
15286         Thus, most packages no longer need to specify this variable in cfg.mk
15287
15288 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
15289
15290         rename.m4: fix typos that would make non-mingw cross-configure fail
15291         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
15292
15293 2009-05-13  Eric Blake  <ebb9@byu.net>
15294
15295         mmap-anon: avoid out-of-order autoconf expansion
15296         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
15297         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
15298         * modules/memchr-tests (Depends-on): Add extensions.
15299         * modules/memchr2-tests (Depends-on): Add extensions.
15300         * modules/memcmp-tests (Depends-on): Add extensions.
15301         * modules/memmem-tests (Depends-on): Add extensions.
15302         * modules/memrchr-tests (Depends-on): Add extensions.
15303
15304 2009-05-13  Bruno Haible  <bruno@clisp.org>
15305
15306         Make some tests ISO C 99 compliant.
15307         * tests/zerosize-ptr.h: New file.
15308         * tests/test-memchr.c: Include zerosize-ptr.h.
15309         (main): Use a zero-size object pointer instead of NULL.
15310         * tests/test-memchr2.c: Include zerosize-ptr.h.
15311         (main): Use a zero-size object pointer instead of NULL.
15312         * tests/test-memcmp.c: Include zerosize-ptr.h.
15313         (main): Use a zero-size object pointer instead of NULL.
15314         * tests/test-memmem.c: Include zerosize-ptr.h.
15315         (main): Use a zero-size object pointer instead of NULL.
15316         * tests/test-memrchr.c: Include zerosize-ptr.h.
15317         (main): Use a zero-size object pointer instead of NULL.
15318         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
15319         m4/mmap-anon.m4.
15320         (Depends-on): Add getpagesize.
15321         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15322         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
15323         m4/mmap-anon.m4.
15324         (Depends-on): Add getpagesize.
15325         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15326         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
15327         m4/mmap-anon.m4.
15328         (Depends-on): Add getpagesize.
15329         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15330         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
15331         m4/mmap-anon.m4.
15332         (Depends-on): Add getpagesize.
15333         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15334         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
15335         m4/mmap-anon.m4.
15336         (Depends-on): Add getpagesize.
15337         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15338
15339 2009-05-12  Bruno Haible  <bruno@clisp.org>
15340
15341         Tests for module 'alignof'.
15342         * modules/alignof-tests: New file.
15343         * tests/test-alignof.c: New file.
15344
15345 2009-05-12  Bruno Haible  <bruno@clisp.org>
15346
15347         Fix alignof macro.
15348         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
15349         vendor compilers that are always correct.
15350
15351 2009-05-12  Bruno Haible  <bruno@clisp.org>
15352
15353         Make the MAP_ANONYMOUS detection work on HP-UX 11.
15354         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
15355         not whether its fully works.
15356
15357 2009-05-12  Bruno Haible  <bruno@clisp.org>
15358
15359         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
15360
15361 2009-05-12  Jim Meyering  <meyering@redhat.com>
15362
15363         * top/maint.mk: Adjust backslash alignment.
15364
15365 2009-05-11  Simon Josefsson  <simon@josefsson.org>
15366
15367         * top/maint.mk: Make $(srcdir)/build-aux configurable.
15368
15369 2009-05-11  Eric Blake  <ebb9@byu.net>
15370
15371         argp: avoid undefined behavior
15372         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
15373         macros.
15374
15375 2009-05-08  Simon Josefsson  <simon@josefsson.org>
15376
15377         * tests/test-vc-list-files-git.sh: Do git config of user.email and
15378         user.name to prevent git commit from complaining.
15379
15380 2009-05-10  Bruno Haible  <bruno@clisp.org>
15381
15382         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
15383         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
15384         it rewrites every file name only once.
15385         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
15386
15387 2009-05-08  Bruno Haible  <bruno@clisp.org>
15388
15389         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
15390         instead of 'max'.
15391
15392 2009-05-08  Simon Josefsson  <simon@josefsson.org>
15393
15394         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
15395         sockaddr_storage test.
15396
15397 2009-05-07  Simon Josefsson  <simon@josefsson.org>
15398
15399         * modules/sys_socket (Makefile.am): Substitute
15400         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
15401         * m4/sys_socket_h.m4: Check for sockaddr_storage.
15402         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
15403         * tests/test-sys_socket.c: Check sockaddr_storage.
15404
15405 2009-05-08  Bruno Haible  <bruno@clisp.org>
15406
15407         New module 'alignof'.
15408         * lib/alignof.h: New file.
15409         * modules/alignof: New file.
15410
15411 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
15412             Bruno Haible  <bruno@clisp.org>
15413
15414         Fix test-file-has-acl on FreeBSD.
15415         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
15416         mask is implicitly added.
15417         * tests/test-file-has-acl.c: Include <signal.h>.
15418         (main): Terminate the test after 5 seconds.
15419         * modules/acl-tests (configure.ac): Check for alarm function.
15420
15421 2009-05-04  Bruno Haible  <bruno@clisp.org>
15422
15423         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
15424         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
15425         * modules/errno (configure.ac): Drop AC_REQUIRE.
15426         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
15427         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
15428
15429 2009-05-04  Simon Josefsson  <simon@josefsson.org>
15430
15431         * modules/glob-tests: New module.
15432         * tests/test-glob.c: Add.
15433
15434 2009-05-04  Simon Josefsson  <simon@josefsson.org>
15435
15436         * modules/fnmatch-tests: New module.
15437         * tests/test-fnmatch.c: Add.
15438
15439 2009-05-04  Eric Blake  <ebb9@byu.net>
15440
15441         maint: make the new no-submodule-changes rule VPATH-safe
15442         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
15443
15444 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
15445             Bruno Haible  <bruno@clisp.org>
15446
15447         acl: Fix infinite loop on FreeBSD.
15448         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
15449         of return value from acl_get_entry.
15450         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
15451         Likewise.
15452
15453 2009-05-03  Bruno Haible  <bruno@clisp.org>
15454
15455         * lib/acl-internal.h (acl_entries): Clarify return value.
15456         * lib/acl_entries.c (acl_entries): Likewise.
15457
15458 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
15459
15460         Bug fix in acl module.
15461         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
15462
15463 2009-05-03  Bruno Haible  <bruno@clisp.org>
15464
15465         Create gperf-generated file in the source dir, not in the build dir.
15466         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
15467         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
15468         * modules/unicase/locale-language (unicase/locale-languages.h):
15469         Likewise.
15470         * modules/unicase/special-casing (unicase/special-casing-table.h):
15471         Likewise.
15472         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
15473         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
15474         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
15475         Reported by Ralf Wildenhues.
15476
15477 2009-05-03  Bruno Haible  <bruno@clisp.org>
15478
15479         * modules/fnmatch (Description, configure.ac): Taken from
15480         fnmatch-posix.
15481         * modules/fnmatch-posix: Turn into a symbolic reference to the
15482         'fnmatch' module, and deprecate.
15483         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
15484
15485 2009-05-03  Bruno Haible  <bruno@clisp.org>
15486
15487         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
15488         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
15489         Reported by Ralf Wildenhues.
15490
15491 2009-05-04  Simon Josefsson  <simon@josefsson.org>
15492
15493         * m4/fnmatch.m4: Fix fnmatch re-define.
15494
15495 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
15496
15497         priv-set: new module and tests; adapt write-any-file
15498         * lib/priv-set.c: New file.
15499         * lib/priv-set.h: New file.
15500         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
15501         * lib/write-any-file.c: Simplify by using priv-set module.
15502         * m4/priv-set.m4: New file.
15503         * modules/priv-set: New file.
15504         * modules/unlinkdir: Add dependency on priv-set module.
15505         * modules/write-any-file: Likewise.
15506
15507         Tests for module 'priv-set'.
15508         * modules/priv-set-tests: New file.
15509         * tests/test-priv-set.c: New file.
15510
15511 2009-05-03  Jim Meyering  <meyering@redhat.com>
15512             Bruno Haible  <bruno@clisp.org>
15513
15514         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
15515         use the converted UTF-8 variant of the name instead.
15516
15517 2009-05-03  Jim Meyering  <meyering@redhat.com>
15518
15519         tests: tighten some getdate tests
15520         * tests/test-getdate.c (main): Tighten tests: require equality,
15521         not just greater than.  Set TZ envvar to UTC0.
15522
15523 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
15524
15525         getdate: correctly interpret "next monday" when run on a Monday
15526         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
15527         that e.g., "next tues" (when run on a tuesday) results in a date
15528         that is one week in the future, and not today's date.
15529         I.e., add a week when the wday is the same as the current one.
15530         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
15531         and earlier by Martin Bernreuther and Jan Minář.
15532         * tests/test-getdate.c (main): Check that "next DAY" is always in
15533         the future and that "last DAY" is always in the past.
15534
15535 2009-05-02  Jim Meyering  <meyering@redhat.com>
15536
15537         build: ensure that a release build fails when a submodule is unclean
15538         * top/maint.mk (no-submodule-changes): New rule.
15539         (alpha beta major): Depend on it.
15540
15541 2009-05-02  Bruno Haible  <bruno@clisp.org>
15542
15543         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
15544         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
15545         shell variable gl_fnmatch_required to detect which variant is
15546         requested.
15547         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
15548         gl_FUNC_FNMATCH_POSIX.
15549         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
15550         exclude fnmatch-posix.
15551
15552 2009-05-02  Bruno Haible  <bruno@clisp.org>
15553
15554         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
15555         * modules/mbsrtowcs (License): Change to LGPLv2+.
15556         * modules/strnlen1 (License): Likewise.
15557         Reported by Simon Josefsson.
15558
15559 2009-05-02  Bruno Haible  <bruno@clisp.org>
15560
15561         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
15562         "cross".
15563         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
15564         gnulib-tool was called with option --source-base=lib.
15565
15566 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15567
15568         Use automake *-local hooks without commands, for extensibility.
15569         * modules/localcharset (Makefile.am): Rename install-exec-local
15570         rule to install-exec-localcharset, and make it a prerequisite of
15571         install-exec-local.  Likewise, rename the uninstall-local rule to
15572         uninstall-localcharset, and make it a prerequisite of the former.
15573
15574 2009-05-01  Bruno Haible  <bruno@clisp.org>
15575
15576         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
15577         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
15578         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
15579         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
15580         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
15581         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
15582         m4/locale-zh.m4, m4/codeset.m4.
15583
15584         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
15585         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
15586         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
15587         m4/locale-zh.m4.
15588
15589         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
15590         REPLACE_WCRTOMB if mbstate_t must be replaced.
15591         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
15592         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
15593
15594 2009-05-01  Bruno Haible  <bruno@clisp.org>
15595
15596         Avoid compiler warnings when redefining macros defined by <libintl.h>.
15597         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
15598         dngettext, dcngettext, textdomain, bindtextdomain,
15599         bind_textdomain_codeset): Undefine before redefining.
15600
15601 2009-04-30  Bruno Haible  <bruno@clisp.org>
15602
15603         Fix bug introduced on 2009-04-25.
15604         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
15605         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
15606         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
15607         is defined.
15608         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
15609         is defined.
15610         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
15611         is defined.
15612         Reported by Elbert_Pol <elbert.pol@gmail.com>.
15613
15614 2009-04-28  Bruno Haible  <bruno@clisp.org>
15615
15616         Comment tweaks.
15617         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
15618         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
15619         * lib/unicase.h (u*_casexfrm): Likewise.
15620         Reported by Paolo Bonzini.
15621
15622 2009-04-28  Bruno Haible  <bruno@clisp.org>
15623
15624         Fix a compilation error.
15625         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
15626         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
15627         Reported by Jim Meyering.
15628
15629 2009-04-27  Bruno Haible  <bruno@clisp.org>
15630
15631         New module 'libunistring'.
15632         * modules/libunistring: New file.
15633         * m4/libunistring.m4: New file.
15634         * MODULES.html.sh (Unicode string functions): Add it.
15635
15636 2009-04-27  Eric Blake  <ebb9@byu.net>
15637
15638         maint.mk: allow package-specific header to provide <config.h>
15639         * top/maint.mk (sc_require_config_h): New variable.
15640         (sc_require_config_h, sc_require_config_h_first): Use it.
15641
15642 2009-04-27  Simon Josefsson  <simon@josefsson.org>
15643
15644         * top/maint.mk (sc_avoid_if_before_free): Except
15645         useless-if-before-free script.
15646
15647 2009-04-27  Eric Blake  <ebb9@byu.net>
15648
15649         maintainer-makefile: depend on all required helper scripts
15650         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
15651         useless-if-before-free.
15652         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
15653         version, rather than assuming gnulib checkout is available.
15654         Reported by Simen Josefsson.
15655
15656 2009-04-26  Bruno Haible  <bruno@clisp.org>
15657
15658         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
15659         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
15660         "../" or "..".
15661
15662 2009-04-26  Bruno Haible  <bruno@clisp.org>
15663
15664         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
15665         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
15666         AC_LIB_HAVE_LINKFLAGS.
15667
15668 2009-04-26  Bruno Haible  <bruno@clisp.org>
15669
15670         Simplify calling convention of u*_conv_from_encoding.
15671         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
15672         u32_conv_from_encoding): Expect a resultbuf argument and return the
15673         result directly as a pointer.
15674         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
15675         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
15676         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
15677         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
15678         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
15679         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15680         Update.
15681         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
15682         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
15683         * lib/vasnprintf.c (VASNPRINTF): Update.
15684         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
15685         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
15686         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
15687         * NEWS: Mention the change.
15688
15689 2009-04-26  Bruno Haible  <bruno@clisp.org>
15690
15691         Simplify calling convention of u*_conv_to_encoding.
15692         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
15693         u32_conv_to_encoding): Expect a resultbuf argument and return the
15694         result directly as a pointer.
15695         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15696         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
15697         freeing scaled_offsets if mem_iconveha failed.
15698         * lib/unicase/u-casexfrm.h (FUNC): Update.
15699         * lib/uninorm/u-normxfrm.h (FUNC): Update.
15700         * lib/vasnprintf.c (VASNPRINTF): Update.
15701         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
15702         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
15703         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
15704         * NEWS: Mention the change.
15705
15706 2009-04-26  Bruno Haible  <bruno@clisp.org>
15707
15708         Avoid test failures on AIX and OSF/1.
15709         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
15710         malloc(0).
15711         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15712         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15713         Likewise.
15714         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
15715         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
15716         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
15717         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
15718         * doc/posix-functions/malloc.texi: Document the portability problem
15719         related to malloc(0).
15720
15721 2009-04-26  Bruno Haible  <bruno@clisp.org>
15722
15723         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
15724         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
15725         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
15726
15727 2009-04-25  Bruno Haible  <bruno@clisp.org>
15728
15729         Avoid link error when creating a namespace clean library.
15730         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
15731         as macro with arguments if already defined as an alias.
15732         * lib/signbitf.c (gl_signbitf): Don't undefine.
15733         * lib/signbitd.c (gl_signbitd): Don't undefine.
15734         * lib/signbitl.c (gl_signbitl): Don't undefine.
15735
15736 2009-04-25  Jim Meyering  <meyering@redhat.com>
15737
15738         vc-list-files: fix another quoting bug
15739         * build-aux/vc-list-files: Avoid sed backslash expansion
15740         of pathological directory names.
15741
15742 2009-04-25  Eric Blake  <ebb9@byu.net>
15743
15744         vc-list-files: fix shell quoting error
15745         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
15746         timestamp.
15747
15748 2009-04-25  Jim Meyering  <meyering@redhat.com>
15749
15750         vc-list-files: restore lost functionality with subdir argument
15751         * build-aux/vc-list-files: When given a non-"." sub-directory
15752         argument, substitute the $dir/ prefix back onto each resulting name.
15753         Otherwise, coreutils' root_tests check would fail.
15754
15755 2009-04-24  Eric Blake  <ebb9@byu.net>
15756
15757         vc-list-files: ignore git symlinks
15758         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
15759         than ls-files, to ignore git symlinks.
15760
15761         maint.mk: import improvements from m4
15762         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
15763         (move_if_change): Delete unused macro.
15764         (news-date-check, vc-diff-check): Support VPATH builds.
15765         (announcement): Likewise.  Split --bootstrap-tools list...
15766         (boostrap-tools): ...into separate list, which can be overridden
15767         in cfg.mk.
15768         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
15769         requiring dependency on useless-if-before-free module.
15770         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
15771         Support VPATH builds.
15772
15773 2009-04-24  Jim Meyering  <meyering@redhat.com>
15774
15775         maint.mk: remove coreutils-specific rules and variables
15776         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
15777         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
15778         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
15779
15780         maint.mk: remove obsolete rule
15781         * top/maint.mk (rel-check): Remove rule.
15782         (WGET, WGETFLAGS): Remove now-unused variables.
15783
15784 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15785
15786         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
15787         consistency.
15788
15789         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
15790         '$(PATH_SEPARATOR)' instead of ':'.
15791
15792 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15793
15794         * lib/getopt1.c (main): Use 'const' for static array.
15795
15796 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15797
15798         * top/maint.mk: Sync with coreutils.
15799         * NEWS: Explain incompatibilities.
15800
15801 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15802             Bruno Haible  <bruno@clisp.org>
15803
15804         Fix cross-compilation results.
15805         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
15806         statement, as third argument of AC_TRY_RUN.
15807         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
15808         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
15809         Likewise.
15810         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15811         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
15812         Likewise.
15813         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
15814         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
15815         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
15816
15817 2009-04-20  Bruno Haible  <bruno@clisp.org>
15818
15819         Avoid test failure on mingw.
15820         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
15821
15822 2009-04-20  Bruno Haible  <bruno@clisp.org>
15823
15824         Avoid compilation error on mingw.
15825         * modules/localename-tests (Depends-on): Add locale.
15826
15827 2009-04-19  Bruno Haible  <bruno@clisp.org>
15828
15829         Support for building a shared library on Windows platforms.
15830         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
15831         (main): Test the presence of UNINORM_NFC here.
15832         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
15833         (main): Test the presence of UNINORM_NFD here.
15834         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
15835         (main): Test the presence of UNINORM_NFKC here.
15836         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
15837         (main): Test the presence of UNINORM_NFKD here.
15838
15839 2009-04-19  Bruno Haible  <bruno@clisp.org>
15840
15841         Avoid a compiler warning.
15842         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
15843         Change type of variable 'sequence'.
15844
15845 2009-04-19  Bruno Haible  <bruno@clisp.org>
15846
15847         * modules/configmake (Makefile.am): When the contents of configmake.h
15848         does not change, arrange to preserve its modification time.
15849
15850 2009-04-17  Simon Josefsson  <simon@josefsson.org>
15851
15852         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
15853         gettext domain.
15854
15855 2009-04-16  Jim Meyering  <meyering@redhat.com>
15856
15857         useless-if-before-free: improve conversion code
15858         * build-aux/useless-if-before-free: Adjust code-in-comment to match
15859         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
15860
15861 2009-04-14  Bruno Haible  <bruno@clisp.org>
15862
15863         * modules/fcntl (Depends-on): Add extensions.
15864         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
15865
15866 2009-04-12  Ben Pfaff  <blp@gnu.org>
15867
15868         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
15869         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
15870
15871 2009-03-20  Ben Pfaff  <blp@gnu.org>
15872
15873         Make rename replace existing destinations on Windows.
15874         * m4/rename.m4: Add test for Mingw.
15875         * lib/rename.c: Add rename replacement that uses MoveFileEx with
15876         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
15877         * doc/posix-functions/rename.texi: Document.
15878
15879 2009-04-10  Bruno Haible  <bruno@clisp.org>
15880
15881         New include file "iconveh.h".
15882         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
15883         * lib/striconveh.h: Include it.
15884         (enum iconv_ilseq_handler): Remove definition.
15885         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
15886         striconveh.h.
15887         * lib/striconveha.c: Include striconveh.h.
15888         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
15889         * modules/striconveh (Files): Add lib/iconveh.h.
15890         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
15891         lib/striconveh.h.
15892
15893 2009-04-10  Bruno Haible  <bruno@clisp.org>
15894
15895         * lib/uniconv.h: Update comment.
15896
15897 2009-04-10  Bruno Haible  <bruno@clisp.org>
15898
15899         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
15900         always.
15901         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
15902         * lib/unistr/u16-mbtouc-aux.c: Likewise.
15903         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
15904         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
15905         "unistring-notinline.h", so that the function gets defined always.
15906         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
15907         * lib/unistr/u8-uctomb.c: Likewise.
15908         * lib/unistr/u16-mbtouc.c: Likewise.
15909         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
15910         * lib/unistr/u16-uctomb.c: Likewise.
15911         * lib/unistr/u32-mbtouc.c: Likewise.
15912         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
15913         * lib/unistr/u32-uctomb.c: Likewise.
15914
15915 2009-04-10  Bruno Haible  <bruno@clisp.org>
15916
15917         Mark 'utime' obsolete.
15918         * modules/utime (Status, Notice): New sections.
15919         Suggested by Jim Meyering.
15920
15921         Fix cross-compile guess for utime test.
15922         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
15923         autoconf.
15924         * doc/posix-functions/utime.texi: Give more precisions.
15925         Reported by Jan <ipif@ymail.com>.
15926
15927 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
15928
15929         filevercmp: correct today's change
15930         * lib/filevercmp.c: Also handle coreutils' test inputs.
15931         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
15932
15933         Fix regression in 'filevercmp' module. Thanks Sven Joachim
15934         for reporting it.
15935         * lib/filevercmp.c: Special handle for "", "." and "..".
15936         * tests/test-filevercmp.c: Enlarge the set suite.
15937
15938 2009-04-07  Jim Meyering  <meyering@redhat.com>
15939
15940         useless-if-before-free: show how to remove braced useless free, too
15941         * build-aux/useless-if-before-free: still only in a comment, though.
15942
15943 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
15944
15945         maint.mk: import changes to syntax-check macros from coreutils
15946         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
15947         Use them in the relevant macros.
15948
15949 2009-04-06  Bruno Haible  <bruno@clisp.org>
15950
15951         Fix unportable use of bit-fields.
15952         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
15953         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
15954         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
15955
15956 2009-04-06  Bruno Haible  <bruno@clisp.org>
15957
15958         Avoid test failures on AIX and OSF/1.
15959         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
15960         that malloc(0) = NULL.
15961         * tests/unicase/test-u8-tolower.c (check): Likewise.
15962         * tests/unicase/test-u8-totitle.c (check): Likewise.
15963         * tests/unicase/test-u8-toupper.c (check): Likewise.
15964         * tests/unicase/test-u16-casefold.c (check): Likewise.
15965         * tests/unicase/test-u16-tolower.c (check): Likewise.
15966         * tests/unicase/test-u16-totitle.c (check): Likewise.
15967         * tests/unicase/test-u16-toupper.c (check): Likewise.
15968         * tests/unicase/test-u32-casefold.c (check): Likewise.
15969         * tests/unicase/test-u32-tolower.c (check): Likewise.
15970         * tests/unicase/test-u32-totitle.c (check): Likewise.
15971         * tests/unicase/test-u32-toupper.c (check): Likewise.
15972         * tests/uninorm/test-u8-nfc.c (check): Likewise.
15973         * tests/uninorm/test-u8-nfd.c (check): Likewise.
15974         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
15975         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
15976         * tests/uninorm/test-u16-nfc.c (check): Likewise.
15977         * tests/uninorm/test-u16-nfd.c (check): Likewise.
15978         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
15979         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
15980         * tests/uninorm/test-u32-nfc.c (check): Likewise.
15981         * tests/uninorm/test-u32-nfd.c (check): Likewise.
15982         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
15983         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
15984
15985 2009-04-05  Bruno Haible  <bruno@clisp.org>
15986
15987         Work around an autoconf limitation.
15988         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
15989         comment line if it would be longer than 3 KB.
15990
15991 2009-04-05  Bruno Haible  <bruno@clisp.org>
15992
15993         Avoid test failure with libiconv-1.13.
15994         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
15995         of the expected test results.
15996
15997 2009-04-05  Bruno Haible  <bruno@clisp.org>
15998
15999         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
16000         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
16001         that it should be installed.
16002
16003 2009-04-05  Bruno Haible  <bruno@clisp.org>
16004
16005         * gnulib-tool: New option --copy-file.
16006         (func_usage): Document it.
16007         (func_dest_tmpfilename): Moved out of func_import.
16008         (func_add_file, func_update_file): New functions, extracted from
16009         func_import.
16010         (func_import): Update.
16011
16012 2009-04-05  Karl Berry  <karl@gnu.org>
16013
16014         * README: prominently mention gnulib-tool.
16015         Rearrange sections so getting the code is near the top.
16016
16017 2009-04-05  Bruno Haible  <bruno@clisp.org>
16018
16019         * lib/unicase.h: Mention u*_cmp2.
16020         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
16021         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
16022         * lib/unicase/ulc-casecmp.c: Likewise.
16023         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
16024         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
16025         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
16026         unistr/u8-cmp.
16027         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
16028         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
16029         unistr/u16-cmp.
16030         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
16031         unistr/u32-cmp.
16032
16033         * lib/uninorm.h: Mention u*_cmp2.
16034         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
16035         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
16036         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
16037         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
16038         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
16039         unistr/u8-cmp.
16040         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
16041         unistr/u16-cmp.
16042         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
16043         unistr/u32-cmp.
16044
16045         New module 'unistr/u32-cmp2'.
16046         * lib/unistr/u32-cmp2.c: New file.
16047         * modules/unistr/u32-cmp2: New file.
16048
16049         New module 'unistr/u16-cmp2'.
16050         * lib/unistr/u16-cmp2.c: New file.
16051         * modules/unistr/u16-cmp2: New file.
16052
16053         New module 'unistr/u8-cmp2'.
16054         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
16055         * lib/unistr/u8-cmp2.c: New file.
16056         * lib/unistr/u-cmp2.h: New file.
16057         * modules/unistr/u8-cmp2: New file.
16058
16059 2009-04-05  Bruno Haible  <bruno@clisp.org>
16060
16061         * lib/unictype.h (uc_property_is_valid): New macro.
16062         * tests/unictype/test-pr_byname.c (main): Use it.
16063
16064         * lib/unistr.h: Doc fixes.
16065         * lib/uniconv.h: Doc fixes.
16066         * lib/unictype.h: Doc fixes.
16067
16068 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
16069
16070         Port coreutils 7.2 to Solaris 8.
16071
16072         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
16073         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
16074         for Solaris 8.  This is a bit of a hack, as it means it's the
16075         caller's responsibility to add -lnsl if needed, but most likely it
16076         won't be needed since only getaddrinfo uses this and getaddrinfo
16077         isn't needed on Solaris 8.
16078
16079         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
16080         problem to Solaris 8 encountered with coreutils 7.2, which
16081         resulted in a message "fnmatch.c:292: warning: passing argument 4
16082         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
16083         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
16084
16085 2009-04-03  Simon Josefsson  <simon@josefsson.org>
16086
16087         * m4/ld-version-script.m4: Add FIXME comment.
16088
16089 2009-04-02  Simon Josefsson  <simon@josefsson.org>
16090
16091         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
16092         SOVERSION variable.
16093
16094 2009-04-02  Bruno Haible  <bruno@clisp.org>
16095
16096         * Makefile (info, html, dvi, pdf): Combine the rules.
16097         Suggested by Jim Meyering.
16098
16099 2009-04-01  Bruno Haible  <bruno@clisp.org>
16100
16101         * Makefile (info, html, dvi, pdf): New targets.
16102         Reported by Reuben Thomas <rrt@sc3d.org>.
16103
16104 2009-04-01  Bruno Haible  <bruno@clisp.org>
16105
16106         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
16107         can be put into PATH.
16108         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
16109
16110 2009-04-01  Bruno Haible  <bruno@clisp.org>
16111
16112         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
16113
16114 2009-04-01  Bruno Haible  <bruno@clisp.org>
16115
16116         Rename module 'visibility'.
16117         * modules/lib-symbol-visibility: Renamed from modules/visibility.
16118         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
16119         * doc/gnulib.texi: Update.
16120         * MODULES.html.sh (Misc): Update.
16121         * NEWS: Mention the change.
16122
16123 2009-04-01  Simon Josefsson  <simon@josefsson.org>
16124
16125         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
16126         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
16127         Eric Blake <ebb9@byu.net> for review.
16128         * MODULES.html.sh: Add lib-msvc-compat.
16129         * doc/gnulib.texi: Link to new section.
16130         * m4/ld-output-def.m4: New file.
16131         * doc/ld-output-def.texi: New file.
16132
16133 2009-04-01  Simon Josefsson  <simon@josefsson.org>
16134
16135         Rename ld-version-script to lib-symbol-versions.  Suggested by
16136         Bruno Haible <bruno@clisp.org>.
16137         * modules/ld-version-script: Renamed to lib-symbol-versions.
16138         * doc/ld-version-script.texi: Fix module name.
16139         * MODULES.html.sh: Add lib-symbol-versions.
16140
16141 2009-03-31  Simon Josefsson  <simon@josefsson.org>
16142
16143         * modules/u64-tests: New file.
16144         * tests/test-u64.c: New file.
16145
16146 2009-03-04  Simon Josefsson  <simon@josefsson.org>
16147
16148         * MODULES.html.sh: Mention u64.
16149         * modules/u64: New module.
16150         * modules/crypto/sha512: Depend on u64 module instead of providing
16151         u64.h.
16152
16153 2009-03-27  Eric Blake  <ebb9@byu.net>
16154
16155         test-strerror: make debugging EAI_SYSTEM easier
16156         * modules/getaddrinfo-tests (Depends-on): Add strerror.
16157         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
16158         failure was EAI_SYSTEM.
16159
16160 2009-03-25  Bruno Haible  <bruno@clisp.org>
16161
16162         Fix a problem with --enable-relocatable on Solaris 7.
16163         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
16164         since 2008-02-24.
16165
16166 2009-03-25  Eric Blake  <ebb9@byu.net>
16167
16168         test-sockets: avoid gcc warning
16169         * tests/test-sockets.c (main): Silence compiler warning.
16170
16171 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
16172
16173         New modules nproc, pthread, contributed by Glen Lenker.
16174
16175         * MODULES.html.sh: Add pthread, nproc.
16176         * lib/nproc.c: New file.
16177         * lib/nproc.h: New file.
16178         * lib/pthread.in.h: New file.
16179         * m4/pthread.m4: New file.
16180         * modules/nproc: New file.
16181         * modules/pthread: New file.
16182
16183 2009-03-24  Simon Josefsson  <simon@josefsson.org>
16184
16185         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
16186         New variable.
16187
16188 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
16189
16190         filevercmp: handle simple~ and numbered.~3~ backup suffixes
16191         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
16192         * tests/test-filevercmp.c: Add tests for backup suffixes.
16193
16194 2009-03-24  Simon Josefsson  <simon@josefsson.org>
16195
16196         * modules/stdlib (Depends-on): Add stdint, needed when defining
16197         struct random_data on, for example, HP-UX 10.20.  Reported by
16198         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16199
16200 2009-03-24  Simon Josefsson  <simon@josefsson.org>
16201
16202         * lib/readline.c (readline): Call fflush on stdout after printing
16203         prompt.
16204
16205 2009-03-20  Bruno Haible  <bruno@clisp.org>
16206
16207         Remove dependency from 'close' module to -lws2_32 on native Windows.
16208         * lib/close-hook.h: New file.
16209         * lib/close-hook.c: New file.
16210         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
16211         w32sock.h.
16212         (_gl_close_fd_maybe_socket): Remove function.
16213         (rpl_close): Invoke execute_all_close_hooks instead of
16214         _gl_close_fd_maybe_socket.
16215         * lib/sockets.c: Include close-hook.h, w32sock.h.
16216         (close_fd_maybe_socket): New function, essentially from lib/close.c.
16217         (close_sockets_hook): New variable.
16218         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
16219         (gl_sockets_cleanup): Unregister it.
16220         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
16221         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
16222         * modules/close-hook: New file.
16223         * modules/close (Files): Remove lib/w32sock.h.
16224         (Depends-on): Add close-hook.
16225         (Link): Remove section.
16226         * modules/sockets (Files): Add lib/w32sock.h.
16227         (Depends-on): Add close-hook.
16228         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
16229         invocation.
16230         * NEWS: Mention that LIB_CLOSE is gone.
16231
16232 2009-03-23  Eric Blake  <ebb9@byu.net>
16233
16234         signal-tests: test previous patch
16235         * tests/test-signal.c: New file.
16236         * modules/signal-tests: Likewise.
16237
16238         signal.h: always support 'volatile sig_atomic_t'
16239         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
16240         (gl_SIGNAL_H_DEFAULTS): Add a default.
16241         * modules/signal (Makefile.am): Substitute if needed.
16242         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
16243         users can blindly add volatile.
16244         * doc/posix-headers/signal.texi (signal.h): Document it.
16245         Reported by Matthew Woehlke.
16246
16247 2009-03-23  Jim Meyering  <meyering@redhat.com>
16248
16249         pathmax: PATH_MAX: use pathconf only when available
16250         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
16251         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
16252         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
16253         This avoids a link failure in a PSP cross-compilation environment
16254         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
16255
16256         * lib/vasnprintf.c (divide): Fix typo in comment.
16257
16258 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16259
16260         * gnulib-tool (func_filter_filelist): Fix comment.
16261
16262 2009-03-20  Bruno Haible  <bruno@clisp.org>
16263
16264         Make sockets.h self-contained.
16265         * lib/sockets.c: Include sockets.h first.
16266         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
16267
16268 2009-03-19  Eric Blake  <ebb9@byu.net>
16269
16270         doc: mention more functions added in cygwin 1.7.0
16271         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
16272         addition.
16273         * doc/posix-functions/log2f.texi: Likewise.
16274
16275 2009-03-19  Jim Meyering  <meyering@redhat.com>
16276
16277         fsusage: avoid syntax error due to statement-before-declaration
16278         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
16279         after all declarations.  Reported by Matthew Woehlke in
16280         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
16281
16282 2009-03-18  Eric Blake  <ebb9@byu.net>
16283
16284         build-aux/compile: sync from automake
16285         * build-aux/compile: New file, from automake.
16286         * config/srclist.txt: Mention build-aux/compile.
16287
16288 2009-03-17  Bruno Haible  <bruno@clisp.org>
16289
16290         * lib/git-merge-changelog.c: Fix typo in comment.
16291         Reported by Reuben Thomas <rrt@sc3d.org>.
16292
16293 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
16294
16295         * m4/regex.m4: update and improve help for
16296         --without-included-regex.
16297
16298 2009-03-17  Simon Josefsson  <simon@josefsson.org>
16299
16300         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
16301         failure on missing include files.
16302
16303 2009-03-17  Eric Blake  <ebb9@byu.net>
16304
16305         doc: mention more functions added in cygwin 1.7.0
16306         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
16307         addition.
16308         * doc/posix-functions/fwscanf.texi: Likewise.
16309         * doc/posix-functions/swprintf.texi: Likewise.
16310         * doc/posix-functions/swscanf.texi: Likewise.
16311         * doc/posix-functions/vfwprintf.texi: Likewise.
16312         * doc/posix-functions/vfwscanf.texi: Likewise.
16313         * doc/posix-functions/vswprintf.texi: Likewise.
16314         * doc/posix-functions/vswscanf.texi: Likewise.
16315         * doc/posix-functions/vwprintf.texi: Likewise.
16316         * doc/posix-functions/vwscanf.texi: Likewise.
16317         * doc/posix-functions/wcscasecmp.texi: Likewise.
16318         * doc/posix-functions/wcsdup.texi: Likewise.
16319         * doc/posix-functions/wcsftime.texi: Likewise.
16320         * doc/posix-functions/wcsncasecmp.texi: Likewise.
16321         * doc/posix-functions/wprintf.texi: Likewise.
16322         * doc/posix-functions/wscanf.texi: Likewise.
16323         * doc/glibc-functions/gethostbyname2.texi: Likewise.
16324
16325 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16326
16327         maint.mk: really add $(AM_MAKEFLAGS)
16328         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
16329         was inadvertently omitted in the last commit.
16330         Spotted by Bruno Haible.
16331
16332         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
16333         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
16334         $(AM_MAKEFLAGS)' rather than plain `make'.
16335
16336         gnulib-tool: execute $MAKE not make
16337         * gnulib-tool: Default $MAKE to 'make'.
16338         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
16339         than make.  Initialize $MAKE in the do-autobuild script.
16340
16341         gnulib-tool: use $MAKE not make in generated files
16342         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
16343         make, in generated files.  Initialize $MAKE in the do-autobuild
16344         script.
16345
16346         * top/GNUmakefile (_have-git-version-gen): Fix typo.
16347
16348         GNUmakefile: disable parallelism only for multiple, recursive targets
16349         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
16350         additions in the Makefile.
16351         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
16352         by Automake.
16353         (.NOTPARALLEL): Only disable parallel builds if multiple targets
16354         are listed on the command line and at least one of them is
16355         listed in $(ALL_RECURSIVE_TARGETS).
16356
16357 2009-03-14  Bruno Haible  <bruno@clisp.org>
16358
16359         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
16360         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
16361         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
16362         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
16363         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
16364         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
16365         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
16366         unistr/u8-uctomb.
16367         * modules/unistr/u8-strchr (Depends-on): Likewise.
16368         * modules/unistr/u8-strrchr (Depends-on): Likewise.
16369         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
16370         unistr/u16-uctomb.
16371         * modules/unistr/u16-strchr (Depends-on): Likewise.
16372         * modules/unistr/u16-strrchr (Depends-on): Likewise.
16373
16374 2009-03-12  Bruno Haible  <bruno@clisp.org>
16375
16376         Work around select() bug on Interix 3.5.
16377         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
16378         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
16379         * m4/select.m4: New file.
16380         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
16381         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
16382         * modules/select (Files): Add m4/select.m4.
16383         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
16384         * modules/nanosleep (Depends-on): Add select.
16385         * modules/poll (Depends-on): Likewise.
16386         * doc/posix-functions/select.texi: Mention the Interix bug.
16387         Reported by Markus Duft <mduft@gentoo.org>.
16388
16389         * lib/select.c: Renamed from lib/winsock-select.c.
16390         * modules/select (Files): Add lib/select.c, remove
16391         lib/winsock-select.c.
16392         (configure.ac): Update.
16393
16394 2009-03-12  Jim Meyering  <meyering@redhat.com>
16395
16396         avoid gcc warnings about unused macro definitions
16397         * lib/readtokens.c (STREQ): Remove unused definition.
16398         * lib/xmalloc.c (SIZE_MAX): Likewise.
16399         * lib/openat-die.c (N_): Likewise.
16400         * lib/mountlist.c (SIZE_MAX): Remove definition.
16401         Instead, include <stdint.h>.
16402         * lib/readutmp.c: Likewise.
16403         * modules/readutmp (Depends-on): Add stdint.
16404         * modules/mountlist (Depends-on): Add stdint.
16405         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
16406
16407 2009-03-10  Bruno Haible  <bruno@clisp.org>
16408
16409         Tests for module 'mbmemcasecoll'.
16410         * modules/mbmemcasecoll-tests: New file.
16411         * tests/test-mbmemcasecoll1.sh: New file.
16412         * tests/test-mbmemcasecoll2.sh: New file.
16413         * tests/test-mbmemcasecoll3.sh: New file.
16414         * tests/test-mbmemcasecoll.c: New file.
16415
16416         New module 'mbmemcasecoll'.
16417         * lib/mbmemcasecoll.h: New file.
16418         * lib/mbmemcasecoll.c: New file.
16419         * modules/mbmemcasecoll: New file.
16420
16421         * tests/test-mbmemcasecmp.h: New file, extracted from
16422         tests/test-mbmemcasecmp.c.
16423         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
16424         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
16425         (main): Update.
16426         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
16427
16428 2009-03-09  Bruno Haible  <bruno@clisp.org>
16429
16430         Tests for module 'mbmemcasecmp'.
16431         * modules/mbmemcasecmp-tests: New file.
16432         * tests/test-mbmemcasecmp1.sh: New file.
16433         * tests/test-mbmemcasecmp2.sh: New file.
16434         * tests/test-mbmemcasecmp3.sh: New file.
16435         * tests/test-mbmemcasecmp.c: New file.
16436
16437         New module 'mbmemcasecmp'.
16438         * lib/mbmemcasecmp.h: New file.
16439         * lib/mbmemcasecmp.c: New file.
16440         * modules/mbmemcasecmp: New file.
16441
16442 2009-03-09  Bruno Haible  <bruno@clisp.org>
16443
16444         Tests for module 'unicase/ulc-casecoll'.
16445         * modules/unicase/ulc-casecoll-tests: New file.
16446         * tests/unicase/test-ulc-casecoll1.sh: New file.
16447         * tests/unicase/test-ulc-casecoll2.sh: New file.
16448         * tests/unicase/test-ulc-casecoll.c: New file.
16449
16450         New module 'unicase/ulc-casecoll'.
16451         * lib/unicase.h (ulc_casecoll): New declaration.
16452         * lib/unicase/ulc-casecoll.c: New file.
16453         * modules/unicase/ulc-casecoll: New file.
16454
16455         New module 'unicase/ulc-casexfrm'.
16456         * lib/unicase.h (ulc_casexfrm): New declaration.
16457         * lib/unicase/ulc-casexfrm.c: New file.
16458         * modules/unicase/ulc-casexfrm: New file.
16459
16460 2009-03-09  Bruno Haible  <bruno@clisp.org>
16461
16462         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
16463         invocations.
16464
16465         * m4/mbscasecmp.m4: Remove file.
16466         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
16467         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
16468
16469         * m4/mbscasestr.m4: Remove file.
16470         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
16471         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
16472
16473         * m4/mbschr.m4: Remove file.
16474         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
16475         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
16476
16477         * m4/mbscspn.m4: Remove file.
16478         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
16479         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
16480
16481         * m4/mbslen.m4: Remove file.
16482         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
16483         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
16484
16485         * m4/mbsncasecmp.m4: Remove file.
16486         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
16487         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
16488
16489         * m4/mbsnlen.m4: Remove file.
16490         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
16491         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
16492
16493         * m4/mbspbrk.m4: Remove file.
16494         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
16495         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
16496
16497         * m4/mbspcasecmp.m4: Remove file.
16498         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
16499         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
16500
16501         * m4/mbsrchr.m4: Remove file.
16502         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
16503         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
16504
16505         * m4/mbssep.m4: Remove file.
16506         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
16507         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
16508
16509         * m4/mbsspn.m4: Remove file.
16510         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
16511         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
16512
16513         * m4/mbsstr.m4: Remove file.
16514         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
16515         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
16516
16517         * m4/mbstok_r.m4: Remove file.
16518         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
16519         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
16520
16521         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
16522
16523         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
16524         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
16525
16526         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
16527
16528 2009-03-08  Bruno Haible  <bruno@clisp.org>
16529
16530         Tests for module 'unicase/ulc-casecmp'.
16531         * modules/unicase/ulc-casecmp-tests: New file.
16532         * tests/unicase/test-ulc-casecmp1.sh: New file.
16533         * tests/unicase/test-ulc-casecmp2.sh: New file.
16534         * tests/unicase/test-ulc-casecmp.c: New file.
16535
16536         New module 'unicase/ulc-casecmp'.
16537         * lib/unicase.h (ulc_casecmp): New declaration.
16538         * lib/unicase/ulc-casecmp.c: New file.
16539         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
16540         'const SRC_UNIT *'.
16541         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
16542         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
16543         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
16544         * modules/unicase/ulc-casecmp: New file.
16545
16546         Tests for module 'unicase/u32-is-cased'.
16547         * modules/unicase/u32-is-cased-tests: New file.
16548         * tests/unicase/test-u32-is-cased.c: New file.
16549
16550         Tests for module 'unicase/u16-is-cased'.
16551         * modules/unicase/u16-is-cased-tests: New file.
16552         * tests/unicase/test-u16-is-cased.c: New file.
16553
16554         Tests for module 'unicase/u8-is-cased'.
16555         * modules/unicase/u8-is-cased-tests: New file.
16556         * tests/unicase/test-u8-is-cased.c: New file.
16557         * tests/unicase/test-is-cased.h: New file.
16558
16559         New module 'unicase/u32-is-cased'.
16560         * lib/unicase/u32-is-cased.c: New file.
16561         * modules/unicase/u32-is-cased: New file.
16562
16563         New module 'unicase/u16-is-cased'.
16564         * lib/unicase/u16-is-cased.c: New file.
16565         * modules/unicase/u16-is-cased: New file.
16566
16567         New module 'unicase/u8-is-cased'.
16568         * lib/unicase/u8-is-cased.c: New file.
16569         * lib/unicase/u-is-cased.h: New file.
16570         * modules/unicase/u8-is-cased: New file.
16571
16572         Tests for module 'unicase/u32-is-casefolded'.
16573         * modules/unicase/u32-is-casefolded-tests: New file.
16574         * tests/unicase/test-u32-is-casefolded.c: New file.
16575
16576         Tests for module 'unicase/u16-is-casefolded'.
16577         * modules/unicase/u16-is-casefolded-tests: New file.
16578         * tests/unicase/test-u16-is-casefolded.c: New file.
16579
16580         Tests for module 'unicase/u8-is-casefolded'.
16581         * modules/unicase/u8-is-casefolded-tests: New file.
16582         * tests/unicase/test-u8-is-casefolded.c: New file.
16583         * tests/unicase/test-is-casefolded.h: New file.
16584
16585         New module 'unicase/u32-is-casefolded'.
16586         * lib/unicase/u32-is-casefolded.c: New file.
16587         * modules/unicase/u32-is-casefolded: New file.
16588
16589         New module 'unicase/u16-is-casefolded'.
16590         * lib/unicase/u16-is-casefolded.c: New file.
16591         * modules/unicase/u16-is-casefolded: New file.
16592
16593         New module 'unicase/u8-is-casefolded'.
16594         * lib/unicase/u8-is-casefolded.c: New file.
16595         * modules/unicase/u8-is-casefolded: New file.
16596
16597         Tests for module 'unicase/u32-is-titlecase'.
16598         * modules/unicase/u32-is-titlecase-tests: New file.
16599         * tests/unicase/test-u32-is-titlecase.c: New file.
16600
16601         Tests for module 'unicase/u16-is-titlecase'.
16602         * modules/unicase/u16-is-titlecase-tests: New file.
16603         * tests/unicase/test-u16-is-titlecase.c: New file.
16604
16605         Tests for module 'unicase/u8-is-titlecase'.
16606         * modules/unicase/u8-is-titlecase-tests: New file.
16607         * tests/unicase/test-u8-is-titlecase.c: New file.
16608         * tests/unicase/test-is-titlecase.h: New file.
16609
16610         New module 'unicase/u32-is-titlecase'.
16611         * lib/unicase/u32-is-titlecase.c: New file.
16612         * modules/unicase/u32-is-titlecase: New file.
16613
16614         New module 'unicase/u16-is-titlecase'.
16615         * lib/unicase/u16-is-titlecase.c: New file.
16616         * modules/unicase/u16-is-titlecase: New file.
16617
16618         New module 'unicase/u8-is-titlecase'.
16619         * lib/unicase/u8-is-titlecase.c: New file.
16620         * modules/unicase/u8-is-titlecase: New file.
16621
16622         Tests for module 'unicase/u32-is-lowercase'.
16623         * modules/unicase/u32-is-lowercase-tests: New file.
16624         * tests/unicase/test-u32-is-lowercase.c: New file.
16625
16626         Tests for module 'unicase/u16-is-lowercase'.
16627         * modules/unicase/u16-is-lowercase-tests: New file.
16628         * tests/unicase/test-u16-is-lowercase.c: New file.
16629
16630         Tests for module 'unicase/u8-is-lowercase'.
16631         * modules/unicase/u8-is-lowercase-tests: New file.
16632         * tests/unicase/test-u8-is-lowercase.c: New file.
16633         * tests/unicase/test-is-lowercase.h: New file.
16634
16635         New module 'unicase/u32-is-lowercase'.
16636         * lib/unicase/u32-is-lowercase.c: New file.
16637         * modules/unicase/u32-is-lowercase: New file.
16638
16639         New module 'unicase/u16-is-lowercase'.
16640         * lib/unicase/u16-is-lowercase.c: New file.
16641         * modules/unicase/u16-is-lowercase: New file.
16642
16643         New module 'unicase/u8-is-lowercase'.
16644         * lib/unicase/u8-is-lowercase.c: New file.
16645         * modules/unicase/u8-is-lowercase: New file.
16646
16647         Tests for module 'unicase/u32-is-uppercase'.
16648         * modules/unicase/u32-is-uppercase-tests: New file.
16649         * tests/unicase/test-u32-is-uppercase.c: New file.
16650
16651         Tests for module 'unicase/u16-is-uppercase'.
16652         * modules/unicase/u16-is-uppercase-tests: New file.
16653         * tests/unicase/test-u16-is-uppercase.c: New file.
16654
16655         Tests for module 'unicase/u8-is-uppercase'.
16656         * modules/unicase/u8-is-uppercase-tests: New file.
16657         * tests/unicase/test-u8-is-uppercase.c: New file.
16658         * tests/unicase/test-is-uppercase.h: New file.
16659
16660         New module 'unicase/u32-is-uppercase'.
16661         * lib/unicase/u32-is-uppercase.c: New file.
16662         * modules/unicase/u32-is-uppercase: New file.
16663
16664         New module 'unicase/u16-is-uppercase'.
16665         * lib/unicase/u16-is-uppercase.c: New file.
16666         * modules/unicase/u16-is-uppercase: New file.
16667
16668         New module 'unicase/u8-is-uppercase'.
16669         * lib/unicase/u8-is-uppercase.c: New file.
16670         * modules/unicase/u8-is-uppercase: New file.
16671
16672         New module 'unicase/u32-is-invariant'.
16673         * lib/unicase/u32-is-invariant.c: New file.
16674         * modules/unicase/u32-is-invariant: New file.
16675
16676         New module 'unicase/u16-is-invariant'.
16677         * lib/unicase/u16-is-invariant.c: New file.
16678         * modules/unicase/u16-is-invariant: New file.
16679
16680         New module 'unicase/u8-is-invariant'.
16681         * lib/unicase/u8-is-invariant.c: New file.
16682         * lib/unicase/invariant.h: New file.
16683         * lib/unicase/u-is-invariant.h: New file.
16684         * modules/unicase/u8-is-invariant: New file.
16685
16686         Tests for module 'unicase/u32-casecoll'.
16687         * modules/unicase/u32-casecoll-tests: New file.
16688         * tests/unicase/test-u32-casecoll.c: New file.
16689
16690         Tests for module 'unicase/u16-casecoll'.
16691         * modules/unicase/u16-casecoll-tests: New file.
16692         * tests/unicase/test-u16-casecoll.c: New file.
16693
16694         Tests for module 'unicase/u8-casecoll'.
16695         * modules/unicase/u8-casecoll-tests: New file.
16696         * tests/unicase/test-u8-casecoll.c: New file.
16697
16698         New module 'unicase/u32-casecoll'.
16699         * lib/unicase/u32-casecoll.c: New file.
16700         * modules/unicase/u32-casecoll: New file.
16701
16702         New module 'unicase/u16-casecoll'.
16703         * lib/unicase/u16-casecoll.c: New file.
16704         * modules/unicase/u16-casecoll: New file.
16705
16706         New module 'unicase/u8-casecoll'.
16707         * lib/unicase/u8-casecoll.c: New file.
16708         * lib/unicase/u-casecoll.h: New file.
16709         * modules/unicase/u8-casecoll: New file.
16710
16711         New module 'unicase/u32-casexfrm'.
16712         * lib/unicase/u32-casexfrm.c: New file.
16713         * modules/unicase/u32-casexfrm: New file.
16714
16715         New module 'unicase/u16-casexfrm'.
16716         * lib/unicase/u16-casexfrm.c: New file.
16717         * modules/unicase/u16-casexfrm: New file.
16718
16719         New module 'unicase/u8-casexfrm'.
16720         * lib/unicase/u8-casexfrm.c: New file.
16721         * lib/unicase/u-casexfrm.h: New file.
16722         * modules/unicase/u8-casexfrm: New file.
16723
16724         Tests for module 'unicase/u32-casecmp'.
16725         * modules/unicase/u32-casecmp-tests: New file.
16726         * tests/unicase/test-u32-casecmp.c: New file.
16727
16728         Tests for module 'unicase/u16-casecmp'.
16729         * modules/unicase/u16-casecmp-tests: New file.
16730         * tests/unicase/test-u16-casecmp.c: New file.
16731
16732         Tests for module 'unicase/u8-casecmp'.
16733         * modules/unicase/u8-casecmp-tests: New file.
16734         * tests/unicase/test-u8-casecmp.c: New file.
16735         * tests/unicase/test-casecmp.h: New file.
16736
16737         New module 'unicase/u32-casecmp'.
16738         * lib/unicase/u32-casecmp.c: New file.
16739         * modules/unicase/u32-casecmp: New file.
16740
16741         New module 'unicase/u16-casecmp'.
16742         * lib/unicase/u16-casecmp.c: New file.
16743         * modules/unicase/u16-casecmp: New file.
16744
16745         New module 'unicase/u8-casecmp'.
16746         * lib/unicase/u8-casecmp.c: New file.
16747         * lib/unicase/u-casecmp.h: New file.
16748         * modules/unicase/u8-casecmp: New file.
16749
16750         Tests for module 'unicase/u32-casefold'.
16751         * modules/unicase/u32-casefold-tests: New file.
16752         * tests/unicase/test-u32-casefold.c: New file.
16753
16754         Tests for module 'unicase/u16-casefold'.
16755         * modules/unicase/u16-casefold-tests: New file.
16756         * tests/unicase/test-u16-casefold.c: New file.
16757
16758         Tests for module 'unicase/u8-casefold'.
16759         * modules/unicase/u8-casefold-tests: New file.
16760         * tests/unicase/test-u8-casefold.c: New file.
16761
16762         New module 'unicase/u32-casefold'.
16763         * lib/unicase/u32-casefold.c: New file.
16764         * modules/unicase/u32-casefold: New file.
16765
16766         New module 'unicase/u16-casefold'.
16767         * lib/unicase/u16-casefold.c: New file.
16768         * modules/unicase/u16-casefold: New file.
16769
16770         New module 'unicase/u8-casefold'.
16771         * lib/unicase/u8-casefold.c: New file.
16772         * lib/unicase/u-casefold.h: New file.
16773         * modules/unicase/u8-casefold: New file.
16774
16775         New module 'unicase/tocasefold'.
16776         * lib/unicase/casefold.h: New file.
16777         * lib/unicase/tocasefold.c: New file.
16778         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
16779         * modules/unicase/tocasefold: New file.
16780
16781         Tests for module 'unicase/u32-totitle'.
16782         * modules/unicase/u32-totitle-tests: New file.
16783         * tests/unicase/test-u32-totitle.c: New file.
16784
16785         Tests for module 'unicase/u16-totitle'.
16786         * modules/unicase/u16-totitle-tests: New file.
16787         * tests/unicase/test-u16-totitle.c: New file.
16788
16789         Tests for module 'unicase/u8-totitle'.
16790         * modules/unicase/u8-totitle-tests: New file.
16791         * tests/unicase/test-u8-totitle.c: New file.
16792
16793         New module 'unicase/u32-totitle'.
16794         * lib/unicase/u32-totitle.c: New file.
16795         * modules/unicase/u32-totitle: New file.
16796
16797         New module 'unicase/u16-totitle'.
16798         * lib/unicase/u16-totitle.c: New file.
16799         * modules/unicase/u16-totitle: New file.
16800
16801         New module 'unicase/u8-totitle'.
16802         * lib/unicase/u8-totitle.c: New file.
16803         * lib/unicase/u-totitle.h: New file.
16804         * modules/unicase/u8-totitle: New file.
16805
16806         Tests for module 'unicase/u32-tolower'.
16807         * modules/unicase/u32-tolower-tests: New file.
16808         * tests/unicase/test-u32-tolower.c: New file.
16809
16810         Tests for module 'unicase/u16-tolower'.
16811         * modules/unicase/u16-tolower-tests: New file.
16812         * tests/unicase/test-u16-tolower.c: New file.
16813
16814         Tests for module 'unicase/u8-tolower'.
16815         * modules/unicase/u8-tolower-tests: New file.
16816         * tests/unicase/test-u8-tolower.c: New file.
16817
16818         New module 'unicase/u32-tolower'.
16819         * lib/unicase/u32-tolower.c: New file.
16820         * modules/unicase/u32-tolower: New file.
16821
16822         New module 'unicase/u16-tolower'.
16823         * lib/unicase/u16-tolower.c: New file.
16824         * modules/unicase/u16-tolower: New file.
16825
16826         New module 'unicase/u8-tolower'.
16827         * lib/unicase/u8-tolower.c: New file.
16828         * modules/unicase/u8-tolower: New file.
16829
16830         Tests for module 'unicase/u32-toupper'.
16831         * modules/unicase/u32-toupper-tests: New file.
16832         * tests/unicase/test-u32-toupper.c: New file.
16833
16834         Tests for module 'unicase/u16-toupper'.
16835         * modules/unicase/u16-toupper-tests: New file.
16836         * tests/unicase/test-u16-toupper.c: New file.
16837
16838         Tests for module 'unicase/u8-toupper'.
16839         * modules/unicase/u8-toupper-tests: New file.
16840         * tests/unicase/test-u8-toupper.c: New file.
16841
16842         New module 'unicase/u32-toupper'.
16843         * lib/unicase/u32-toupper.c: New file.
16844         * modules/unicase/u32-toupper: New file.
16845
16846         New module 'unicase/u16-toupper'.
16847         * lib/unicase/u16-toupper.c: New file.
16848         * modules/unicase/u16-toupper: New file.
16849
16850         New module 'unicase/u8-toupper'.
16851         * lib/unicase/u8-toupper.c: New file.
16852         * modules/unicase/u8-toupper: New file.
16853
16854         New module 'unicase/u32-casemap'.
16855         * lib/unicase/u32-casemap.c: New file.
16856         * modules/unicase/u32-casemap: New file.
16857
16858         New module 'unicase/u16-casemap'.
16859         * lib/unicase/u16-casemap.c: New file.
16860         * modules/unicase/u16-casemap: New file.
16861
16862         New module 'unicase/u8-casemap'.
16863         * lib/unicase/unicasemap.h: New file.
16864         * lib/unicase/u8-casemap.c: New file.
16865         * lib/unicase/u-casemap.h: New file.
16866         * modules/unicase/u8-casemap: New file.
16867
16868         New module 'unicase/special-casing'.
16869         * lib/unicase/special-casing.h: New file.
16870         * lib/unicase/special-casing.c: New file.
16871         * lib/unicase/special-casing-table.gperf: New file, generated by
16872         gen-uni-tables.c.
16873         * modules/unicase/special-casing: New file.
16874
16875         Tests for module 'unicase/locale-language'.
16876         * modules/unicase/locale-language-tests: New file.
16877         * tests/unicase/test-locale-language.sh: New file.
16878         * tests/unicase/test-locale-language.c: New file.
16879
16880         New module 'unicase/locale-language'.
16881         * lib/unicase/locale-language.c: New file.
16882         * lib/unicase/locale-languages.gperf: New file.
16883         * modules/unicase/locale-language: New file.
16884
16885         Generate more tables for case conversion and case folding.
16886         * lib/gen-uni-tables.c (SCC_*): New enum items.
16887         (struct special_casing_rule): New type.
16888         (casing_rules, num_casing_rules, allocated_casing_rules): New
16889         variables.
16890         (add_casing_rule, fill_casing_rules): New functions.
16891         (struct casefold_rule): New type.
16892         (casefolding_rules, num_casefolding_rules,
16893         allocated_casefolding_rules): New variables.
16894         (fill_casefolding_rules): New function.
16895         (unicode_casefold): New variable.
16896         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
16897         sort_casing_rules, output_casing_rules): New functions.
16898         (main): Accept to more arguments: SpecialCasing.txt and
16899         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
16900         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
16901         Output mapping for casefolding.
16902
16903         * lib/unicase.h: Include stdbool.h, uninorm.h.
16904         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
16905         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
16906         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
16907         arguments.
16908         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
16909         resultp arguments.
16910         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
16911         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
16912         resultp arguments.
16913         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
16914         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
16915         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
16916         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
16917         declarations.
16918         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
16919
16920 2009-03-08  Bruno Haible  <bruno@clisp.org>
16921
16922         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16923         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
16924         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
16925         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16926
16927 2009-03-07  Bruno Haible  <bruno@clisp.org>
16928
16929         Adjust u*_normcmp, u*_normcoll API.
16930         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16931         u16_normcoll, u32_normcoll): Change failure conventions.
16932         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
16933         errno and return -1.
16934         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16935
16936 2009-03-07  Bruno Haible  <bruno@clisp.org>
16937
16938         Tests for module 'uninorm/u32-normcoll'.
16939         * modules/uninorm/u32-normcoll-tests: New file.
16940         * tests/uninorm/test-u32-normcoll.c: New file.
16941
16942         Tests for module 'uninorm/u16-normcoll'.
16943         * modules/uninorm/u16-normcoll-tests: New file.
16944         * tests/uninorm/test-u16-normcoll.c: New file.
16945
16946         Tests for module 'uninorm/u8-normcoll'.
16947         * modules/uninorm/u8-normcoll-tests: New file.
16948         * tests/uninorm/test-u8-normcoll.c: New file.
16949
16950 2009-03-07  Bruno Haible  <bruno@clisp.org>
16951
16952         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
16953         tests/uninorm/test-u32-normcmp.c.
16954         * tests/uninorm/test-u32-normcmp.c: Include it.
16955         (test_nonascii): New function, extracted from main. Add some more
16956         tests.
16957         (main): Invoke test_ascii and test_nonascii.
16958         * modules/uninorm/u32-normcmp-tests (Files): Add
16959         tests/uninorm/test-u32-normcmp.h.
16960         (Depends-on): Remove uninorm/u32-normcmp.
16961
16962         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
16963         tests/uninorm/test-u16-normcmp.c.
16964         * tests/uninorm/test-u16-normcmp.c: Include it.
16965         (test_nonascii): New function, extracted from main. Add some more
16966         tests.
16967         (main): Invoke test_ascii and test_nonascii.
16968         * modules/uninorm/u16-normcmp-tests (Files): Add
16969         tests/uninorm/test-u16-normcmp.h.
16970         (Depends-on): Remove uninorm/u16-normcmp.
16971
16972         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
16973         tests/uninorm/test-u8-normcmp.c.
16974         * tests/uninorm/test-u8-normcmp.c: Include it.
16975         (test_nonascii): New function, extracted from main. Add some more
16976         tests.
16977         (main): Invoke test_ascii and test_nonascii.
16978         * modules/uninorm/u8-normcmp-tests (Files): Add
16979         tests/uninorm/test-u8-normcmp.h.
16980         (Depends-on): Remove uninorm/u8-normcmp.
16981
16982 2009-03-07  Bruno Haible  <bruno@clisp.org>
16983
16984         New module 'uninorm/u32-normcoll'.
16985         * lib/uninorm/u32-normcoll.c: New file.
16986         * modules/uninorm/u32-normcoll: New file.
16987
16988         New module 'uninorm/u16-normcoll'.
16989         * lib/uninorm/u16-normcoll.c: New file.
16990         * modules/uninorm/u16-normcoll: New file.
16991
16992         New module 'uninorm/u8-normcoll'.
16993         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
16994         declarations.
16995         * lib/uninorm/u8-normcoll.c: New file.
16996         * lib/uninorm/u-normcoll.h: New file.
16997         * modules/uninorm/u8-normcoll: New file.
16998
16999         New module 'uninorm/u32-normxfrm'.
17000         * lib/uninorm/u32-normxfrm.c: New file.
17001         * modules/uninorm/u32-normxfrm: New file.
17002
17003         New module 'uninorm/u16-normxfrm'.
17004         * lib/uninorm/u16-normxfrm.c: New file.
17005         * modules/uninorm/u16-normxfrm: New file.
17006
17007         New module 'uninorm/u8-normxfrm'.
17008         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
17009         declarations.
17010         * lib/uninorm/u8-normxfrm.c: New file.
17011         * lib/uninorm/u-normxfrm.h: New file.
17012         * modules/uninorm/u8-normxfrm: New file.
17013
17014 2009-03-07  Bruno Haible  <bruno@clisp.org>
17015
17016         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
17017         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
17018         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
17019
17020 2009-03-07  Bruno Haible  <bruno@clisp.org>
17021
17022         New module 'memxfrm'.
17023         * lib/memxfrm.h: New file.
17024         * lib/memxfrm.c: New file.
17025         * modules/memxfrm: New file.
17026
17027 2009-03-07  Bruno Haible  <bruno@clisp.org>
17028
17029         New module 'memcmp2'.
17030         * lib/memcmp2.h: New file.
17031         * lib/memcmp2.c: New file.
17032         * modules/memcmp2: New file.
17033
17034 2009-03-07  Bruno Haible  <bruno@clisp.org>
17035
17036         Tests for module 'uninorm/decomposing-form'.
17037         * modules/uninorm/decomposing-form-tests: New file.
17038         * tests/uninorm/test-decomposing-form.c: New file.
17039
17040         New module 'uninorm/decomposing-form'.
17041         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
17042         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
17043         Add 'decomposing_variant' field.
17044         * lib/uninorm/decomposing-form.c: New file.
17045         * lib/uninorm/nfc.c (uninorm_nfc): Update.
17046         * lib/uninorm/nfd.c (uninorm_nfd): Update.
17047         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
17048         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
17049         * modules/uninorm/decomposing-form: New file.
17050         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
17051         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
17052
17053 2009-03-07  Bruno Haible  <bruno@clisp.org>
17054
17055         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
17056         strings.
17057
17058 2009-03-06  Bruno Haible  <bruno@clisp.org>
17059
17060         Tests for module 'uninorm/u32-normcmp'.
17061         * tests/uninorm/test-u32-normcmp.c: New file.
17062         * modules/uninorm/u32-normcmp-tests: New file.
17063
17064         Tests for module 'uninorm/u16-normcmp'.
17065         * tests/uninorm/test-u16-normcmp.c: New file.
17066         * modules/uninorm/u16-normcmp-tests: New file.
17067
17068         Tests for module 'uninorm/u8-normcmp'.
17069         * tests/uninorm/test-u8-normcmp.c: New file.
17070         * modules/uninorm/u8-normcmp-tests: New file.
17071
17072         New module 'uninorm/u32-normcmp'.
17073         * lib/uninorm/u32-normcmp.c: New file.
17074         * modules/uninorm/u32-normcmp: New file.
17075
17076         New module 'uninorm/u16-normcmp'.
17077         * lib/uninorm/u16-normcmp.c: New file.
17078         * modules/uninorm/u16-normcmp: New file.
17079
17080         New module 'uninorm/u8-normcmp'.
17081         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
17082         declarations.
17083         * lib/uninorm/u8-normcmp.c: New file.
17084         * lib/uninorm/u-normcmp.h: New file.
17085         * modules/uninorm/u8-normcmp: New file.
17086
17087 2009-03-06  Bruno Haible  <bruno@clisp.org>
17088
17089         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
17090         Reported by Eric Blake.
17091
17092 2009-03-06  Eric Blake  <ebb9@byu.net>
17093             Bruno Haible  <bruno@clisp.org>
17094
17095         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
17096         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
17097         condition.
17098         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
17099         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
17100         condition.
17101         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
17102
17103 2009-03-06  Eric Blake  <ebb9@byu.net>
17104
17105         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
17106         to avoid compiler warnings.
17107         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
17108
17109 2009-03-05  Bruno Haible  <bruno@clisp.org>
17110
17111         * tests/test-ftell.c (main): Disable test beyond end of file on
17112         FreeMiNT.
17113         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
17114
17115 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
17116
17117         * lib/filevercmp.c: Move hidden files up in ordering.
17118         * tests/test-filevercmp.c: Add tests for hidden files.
17119
17120 2009-03-04  Bruno Haible  <bruno@clisp.org>
17121
17122         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
17123         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
17124         AM_CFLAGS.
17125         Reported by Simon Josefsson.
17126
17127 2009-03-03  Bruno Haible  <bruno@clisp.org>
17128
17129         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
17130         Reported by Simon Josefsson.
17131
17132         * doc/ld-version-script.texi: Update node reference.
17133
17134 2009-03-03  Bruno Haible  <bruno@clisp.org>
17135
17136         * modules/visibility (License): Change to 'unlimited'.
17137         Suggested by Simon Josefsson.
17138
17139 2009-03-03  Jim Meyering  <meyering@redhat.com>
17140
17141         unlinkdir: cannot_unlink_dir may modify process state
17142         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
17143         it's neither thread-safe nor appropriate for use in a library.
17144
17145 2009-03-03  Eric Blake  <ebb9@byu.net>
17146
17147         test-closein: silence test under Darwin
17148         * tests/test-closein.sh: Ignore stderr from cat, since we don't
17149         care if it dies from EPIPE or EBADF.
17150
17151 2009-03-03  Bruno Haible  <bruno@clisp.org>
17152
17153         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
17154         earlier.
17155         * doc/visibility.texi: Fix @node and @section.
17156
17157 2009-03-03  Simon Josefsson  <simon@josefsson.org>
17158
17159         * doc/gnulib.texi: Link to sections for ld version script and
17160         visibility.
17161         * doc/visibility.texi: Add @node and @section.
17162         * modules/ld-version-script: New module.
17163         * m4/ld-version-script.m4: New file.
17164         * doc/ld-version-script.texi: New file.
17165
17166 2009-03-02  David Lutterkort  <lutter@redhat.com>
17167
17168         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
17169         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17170
17171 2009-03-02  Bruno Haible  <bruno@clisp.org>
17172
17173         * doc/visibility.texi: Mention libtool's -export-symbols option.
17174
17175 2009-03-02  Jim Meyering  <meyering@redhat.com>
17176
17177         announce-gen: new option: --no-print-checksums
17178         * build-aux/announce-gen (usage): Describe it.
17179         (print_checksums): Print a newline here, not in the [*] footnote.
17180         (main): Honor it.
17181
17182 2009-03-01  Bruno Haible  <bruno@clisp.org>
17183
17184         Use socklen_t in the native Windows replacements prototypes.
17185         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
17186         instead of 'int'.
17187         * lib/getsockopt.c (rpl_getsockopt): Likewise.
17188         * lib/setsockopt.c (rpl_setsockopt): Likewise.
17189         * modules/getsockopt (Depends-on): Add socklen.
17190         * modules/setsockopt (Depends-on): Add socklen.
17191
17192 2009-03-01  Bruno Haible  <bruno@clisp.org>
17193
17194         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
17195         least 4.2.
17196
17197 2009-03-01  Eric Blake  <ebb9@byu.net>
17198             Bruno Haible  <bruno@clisp.org>
17199
17200         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
17201         error messages.
17202         * lib/wait-process.c (wait_subprocess): Omit error message about
17203         deadly signal sent to the child of termsigp != NULL.
17204
17205 2009-03-01  Eric Blake  <ebb9@byu.net>
17206
17207         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
17208
17209 2009-03-01  Bruno Haible  <bruno@clisp.org>
17210
17211         Avoid a gcc warning.
17212         * tests/test-sched.c (b): Make global.
17213         Reported by Eric Blake.
17214
17215 2009-01-19  Martin Lambers  <marlam@marlam.de>
17216
17217         Provide POSIX semantics for socket timeout options on W32.
17218         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
17219         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
17220         * modules/setsockopt: Depend on sys_time module for struct timeval.
17221         * modules/getsockopt: Depend on sys_time module for struct timeval.
17222
17223 2009-03-01  Simon Josefsson  <simon@josefsson.org>
17224
17225         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
17226         __USE_GNU, for consistency with netdb.in.h.
17227         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
17228
17229 2009-03-01  Bruno Haible  <bruno@clisp.org>
17230
17231         More support for FreeMiNT.
17232         * lib/fseeko.c (rpl_fseeko): Complete last commit.
17233         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
17234
17235 2009-03-01  Bruno Haible  <bruno@clisp.org>
17236
17237         More support for FreeMiNT.
17238         * lib/fpurge.c (fpurge): Correct last commit.
17239         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
17240
17241 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17242
17243         Fix unportable awk script in vc-list-files.
17244         * build-aux/vc-list-files: In the replacement awk script, use
17245         substr with a second argument of 1, not zero.
17246         Report by Simon Josefsson.
17247
17248 2009-02-28  Bruno Haible  <bruno@clisp.org>
17249
17250         More support for FreeMiNT.
17251         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
17252         to FreeMiNT today.
17253         * lib/fwriting.c (fwriting): Likewise.
17254         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
17255
17256 2009-02-28  Bruno Haible  <bruno@clisp.org>
17257
17258         * tests/test-freadseek.c (main): Disable test beyond end of file on
17259         FreeMiNT.
17260         * tests/test-ftello.c (main): Likewise.
17261         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
17262
17263 2009-02-28  Bruno Haible  <bruno@clisp.org>
17264
17265         Add tentative support for FreeMiNT.
17266         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
17267         * lib/fpurge.c (fpurge): Likewise.
17268         * lib/freadable.c (freadable): Likewise.
17269         * lib/freading.c (freading): Likewise.
17270         * lib/freadptr.c (freadptr): Likewise.
17271         * lib/freadseek.c (freadptrinc): Likewise.
17272         * lib/fseeko.c (rpl_fseeko): Likewise.
17273         * lib/fseterr.c (fseterr): Likewise.
17274         * lib/fwritable.c (fwritable): Likewise.
17275         * lib/fwriting.c (fwriting): Likewise.
17276         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
17277         Hourihane.
17278         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
17279
17280 2009-02-28  Bruno Haible  <bruno@clisp.org>
17281
17282         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
17283         SIGCHLD.
17284         Reported by Jim Meyering.
17285
17286 2009-02-28  Bruno Haible  <bruno@clisp.org>
17287
17288         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
17289         Mention the results of these tests on various platforms.
17290         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
17291         order.
17292         * doc/posix-functions/printf.texi: Likewise.
17293         * doc/posix-functions/snprintf.texi: Likewise.
17294         * doc/posix-functions/sprintf.texi: Likewise.
17295         * doc/posix-functions/vfprintf.texi: Likewise.
17296         * doc/posix-functions/vprintf.texi: Likewise.
17297         * doc/posix-functions/vsnprintf.texi: Likewise.
17298         * doc/posix-functions/vsprintf.texi: Likewise.
17299         * doc/glibc-functions/obstack_printf.texi: Likewise.
17300         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17301
17302 2009-02-28  Bruno Haible  <bruno@clisp.org>
17303
17304         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
17305         Reported by Loïc Minier <lool@dooz.org>.
17306
17307 2009-02-27  Bruno Haible  <bruno@clisp.org>
17308
17309         * gnulib-tool (func_import): Make the sed expression used to create the
17310         sed script for updating the .gitignore file POSIX compliant.
17311         Reported by Eric Blake.
17312
17313 2009-02-27  Bruno Haible  <bruno@clisp.org>
17314
17315         * gnulib-tool (sed): Don't alias as "sed --posix".
17316         Reported by Eric Blake.
17317
17318 2009-02-27  Bruno Haible  <bruno@clisp.org>
17319
17320         Avoid test link errors.
17321         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
17322         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
17323         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
17324         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
17325         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17326
17327 2009-02-27  Bruno Haible  <bruno@clisp.org>
17328
17329         Avoid spurious "(cached)" in configure output.
17330         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
17331         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
17332         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
17333         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
17334         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
17335         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
17336         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
17337         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
17338         Reported by Eric Blake.
17339
17340 2009-02-27  Eric Blake  <ebb9@byu.net>
17341
17342         printf: fix regression in previous patch
17343         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
17344
17345 2009-02-27  Bruno Haible  <bruno@clisp.org>
17346
17347         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
17348         value.
17349         * lib/stdint.in.h: Likewise.
17350         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
17351
17352 2009-02-27  Eric Blake  <ebb9@byu.net>
17353
17354         doc: mention more functions added in cygwin 1.7.0
17355         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
17356         addition.
17357         * doc/posix-functions/open_wmemstream.texi: Likewise.
17358         * doc/posix-functions/wcsnlen.texi: Likewise.
17359         * doc/posix-functions/wcsnrtombs.texi: Likewise.
17360         * doc/posix-functions/wcstod.texi: Likewise.
17361         * doc/posix-functions/wcstof.texi: Likewise.
17362         * doc/posix-functions/wcstoimax.texi: Likewise.
17363         * doc/posix-functions/wcstok.texi: Likewise.
17364         * doc/posix-functions/wcstoumax.texi: Likewise.
17365
17366         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
17367         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
17368         * doc/posix-functions/fprintf.texi: Update.
17369         * doc/posix-functions/printf.texi: Update.
17370         * doc/posix-functions/snprintf.texi: Update.
17371         * doc/posix-functions/sprintf.texi: Update.
17372         * doc/posix-functions/vfprintf.texi: Update.
17373         * doc/posix-functions/vprintf.texi: Update.
17374         * doc/posix-functions/vsnprintf.texi: Update.
17375         * doc/posix-functions/vsprintf.texi: Update.
17376         * doc/glibc-functions/obstack_printf.texi: Update.
17377         * doc/glibc-functions/obstack_vprintf.texi: Update.
17378
17379 2009-02-26  Eric Blake  <ebb9@byu.net>
17380
17381         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
17382         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
17383         compilation bug by using runtime conversion.
17384         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
17385         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
17386         * modules/ceill-tests (Files): Use nan.h.
17387         * modules/floorl-tests (Files): Likewise.
17388         * modules/frexpl-tests (Files): Likewise.
17389         * modules/isnanl-tests (Files): Likewise.
17390         * modules/ldexpl-tests (Files): Likewise.
17391         * modules/roundl-tests (Files): Likewise.
17392         * modules/truncl-tests (Files): Likewise.
17393         * tests/test-ceill.c (main): Use a working NaN.
17394         * tests/test-floorl.c (main): Likewise.
17395         * tests/test-frexpl.c (main): Likewise.
17396         * tests/test-isnan.c (test_long_double): Likewise.
17397         * tests/test-isnanl.h (main): Likewise.
17398         * tests/test-ldexpl.h (main): Likewise.
17399         * tests/test-roundl.h (main): Likewise.
17400         * tests/test-truncl.h (main): Likewise.
17401         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
17402
17403 2009-02-26  Eric Blake  <ebb9@byu.net>
17404             Bruno Haible  <bruno@clisp.org>
17405
17406         Work around a *printf bug with %ls on Solaris.
17407         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
17408         precision is specified, sprintf stops converting the wide string
17409         argument when the number of bytes that have been produced by this
17410         conversion equals or exceeds the precision.
17411         * doc/posix-functions/fprintf.texi: Update.
17412         * doc/posix-functions/printf.texi: Update.
17413         * doc/posix-functions/snprintf.texi: Update.
17414         * doc/posix-functions/sprintf.texi: Update.
17415         * doc/posix-functions/vfprintf.texi: Update.
17416         * doc/posix-functions/vprintf.texi: Update.
17417         * doc/posix-functions/vsnprintf.texi: Update.
17418         * doc/posix-functions/vsprintf.texi: Update.
17419         * doc/glibc-functions/obstack_printf.texi: Update.
17420         * doc/glibc-functions/obstack_vprintf.texi: Update.
17421
17422 2009-02-26  Eric Blake  <ebb9@byu.net>
17423
17424         stdlib: favor compiler check of random.h
17425         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
17426         to avoid an ObjC random.h installed by Swarm.
17427
17428 2009-02-26  Bruno Haible  <bruno@clisp.org>
17429
17430         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
17431         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
17432         Reported by Gary V. Vaughan <gary@gnu.org>.
17433
17434 2009-02-26  Bruno Haible  <bruno@clisp.org>
17435
17436         Fix *printf behaviour regarding the %ls directive.
17437         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
17438         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
17439         NEED_PRINTF_DIRECTIVE_LS.
17440         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
17441         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
17442         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
17443         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
17444         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
17445         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
17446         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
17447         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
17448         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
17449         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
17450         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
17451         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
17452         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
17453         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17454         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
17455         * doc/posix-functions/fprintf.texi: Update.
17456         * doc/posix-functions/printf.texi: Update.
17457         * doc/posix-functions/snprintf.texi: Update.
17458         * doc/posix-functions/sprintf.texi: Update.
17459         * doc/posix-functions/vfprintf.texi: Update.
17460         * doc/posix-functions/vprintf.texi: Update.
17461         * doc/posix-functions/vsnprintf.texi: Update.
17462         * doc/posix-functions/vsprintf.texi: Update.
17463         * doc/glibc-functions/obstack_printf.texi: Update.
17464         * doc/glibc-functions/obstack_vprintf.texi: Update.
17465         Reported by Eric Blake.
17466
17467 2009-02-25  Bruno Haible  <bruno@clisp.org>
17468
17469         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
17470         with known value.
17471         Reported by Gary V. Vaughan <gary@gnu.org>.
17472
17473 2009-02-25  Bruno Haible  <bruno@clisp.org>
17474
17475         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
17476         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
17477         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
17478         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
17479         Reported by Gary V. Vaughan <gary@gnu.org>.
17480
17481 2009-02-25  Bruno Haible  <bruno@clisp.org>
17482
17483         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
17484         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
17485         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
17486         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
17487         Reported by Gary V. Vaughan <gary@gnu.org>.
17488
17489 2009-02-25  Eric Blake  <ebb9@byu.net>
17490
17491         tests: skip fseek/ftell tests if ungetc is broken
17492         * m4/ungetc.m4: New file.
17493         * modules/fseek-tests: Split test, so ungetc dependency is
17494         separate from rest of test.
17495         * modules/fseeko-tests: Likewise.
17496         * modules/ftell-tests: Likewise.
17497         * modules/ftello-tests: Likewise.
17498         * tests/test-fseek.c (main): Isolate ungetc dependency.
17499         * tests/test-fseeko.c (main): Likewise.
17500         * tests/test-ftell.c (main): Likewise.
17501         * tests/test-ftello.c (main): Likewise.
17502         * tests/test-fseek2.sh: New file.
17503         * tests/test-fseeko2.sh: Likewise.
17504         * tests/test-ftell2.sh: Likewise.
17505         * tests/test-ftello2.sh: Likewise.
17506
17507 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
17508
17509         test-getaddrinfo: fix usage of skip return code 77
17510         * tests/test-gettaddrinfo.c: Return skip code 77 only
17511         for first occurance of skip (4x77 is not 77)
17512
17513 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
17514
17515         strtod: avoid C99 decl-after-statement
17516         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
17517
17518 2009-02-24  Eric Blake  <ebb9@byu.net>
17519
17520         strtod: detect HP-UX 11.31 bug
17521         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
17522         Reported by Gary V. Vaughan.
17523
17524 2009-02-23  Bruno Haible  <bruno@clisp.org>
17525
17526         Fix invalid read past end of memory block.
17527         * lib/vasnprintf.c (DCHAR_SET): Define.
17528         (local_wcslen): Define only when needed.
17529         (local_strnlen, local_wcsnlen): New functions.
17530         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
17531         directives that involve a conversion ourselves.
17532         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
17533         wcsnlen, mbrtowc, wcrtomb.
17534         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
17535         * tests/test-vasprintf-posix.c (test_function): Likewise.
17536         * tests/test-snprintf-posix.h (test_function): Likewise.
17537         * tests/test-sprintf-posix.h (test_function): Likewise.
17538         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17539
17540 2009-02-22  Bruno Haible  <bruno@clisp.org>
17541
17542         Implement new clarified decomposition of Hangul syllables.
17543         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
17544         of type LTV, return only a pairwise decomposition.
17545         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
17546         Likewise.
17547         * tests/uninorm/test-decomposition.c (main): Updated expected result.
17548         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
17549         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
17550
17551 2009-02-22  Bruno Haible  <bruno@clisp.org>
17552
17553         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
17554         zero-length results and shrink excess allocated memory.
17555         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
17556         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
17557         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
17558         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
17559         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
17560         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
17561         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
17562         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
17563         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
17564         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
17565         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
17566         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
17567
17568 2009-02-21  Bruno Haible  <bruno@clisp.org>
17569
17570         * doc/gnulib.texi: Include safe-alloc.texi earlier.
17571         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
17572         spaces after a period. Put a space between a macro name and its
17573         argument list. Trivial rewordings.
17574         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
17575         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
17576         (main): Return 0 explicitly.
17577
17578 2009-02-21  Bruno Haible  <bruno@clisp.org>
17579
17580         Tests for module 'uninorm/filter'.
17581         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
17582         * modules/uninorm/filter-tests: New file.
17583
17584         New module 'uninorm/filter'.
17585         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
17586         uninorm_filter_flush, uninorm_filter_free): New declarations.
17587         * lib/uninorm/uninorm-filter.c: New file.
17588         * modules/uninorm/filter: New file.
17589
17590 2009-02-21  Bruno Haible  <bruno@clisp.org>
17591
17592         Tests for module 'uninorm/nfkc'.
17593         * tests/uninorm/test-nfkc.c: New file.
17594         * tests/uninorm/test-u8-nfkc.c: New file.
17595         * tests/uninorm/test-u16-nfkc.c: New file.
17596         * tests/uninorm/test-u32-nfkc.c: New file.
17597         * tests/uninorm/test-u32-nfkc-big.sh: New file.
17598         * tests/uninorm/test-u32-nfkc-big.c: New file.
17599         * modules/uninorm/nfkc-tests: New file.
17600
17601         New module 'uninorm/nfkc'.
17602         * lib/uninorm/nfkc.c: New file.
17603         * modules/uninorm/nfkc: New file.
17604
17605         Tests for module 'uninorm/nfkd'.
17606         * tests/uninorm/test-nfkd.c: New file.
17607         * tests/uninorm/test-u8-nfkd.c: New file.
17608         * tests/uninorm/test-u16-nfkd.c: New file.
17609         * tests/uninorm/test-u32-nfkd.c: New file.
17610         * tests/uninorm/test-u32-nfkd-big.sh: New file.
17611         * tests/uninorm/test-u32-nfkd-big.c: New file.
17612         * modules/uninorm/nfkd-tests: New file.
17613
17614         New module 'uninorm/nfkd'.
17615         * lib/uninorm/nfkd.c: New file.
17616         * modules/uninorm/nfkd: New file.
17617
17618         Tests for module 'uninorm/nfc'.
17619         * tests/uninorm/test-nfc.c: New file.
17620         * tests/uninorm/test-u8-nfc.c: New file.
17621         * tests/uninorm/test-u16-nfc.c: New file.
17622         * tests/uninorm/test-u32-nfc.c: New file.
17623         * tests/uninorm/test-u32-nfc-big.sh: New file.
17624         * tests/uninorm/test-u32-nfc-big.c: New file.
17625         * modules/uninorm/nfc-tests: New file.
17626
17627         New module 'uninorm/nfc'.
17628         * lib/uninorm/nfc.c: New file.
17629         * modules/uninorm/nfc: New file.
17630
17631         Tests for module 'uninorm/nfd'.
17632         * tests/uninorm/test-nfd.c: New file.
17633         * tests/uninorm/test-u8-nfd.c: New file.
17634         * tests/uninorm/test-u16-nfd.c: New file.
17635         * tests/uninorm/test-u32-nfd.c: New file.
17636         * tests/uninorm/test-u32-nfd-big.sh: New file.
17637         * tests/uninorm/test-u32-nfd-big.c: New file.
17638         * tests/uninorm/test-u32-normalize-big.h: New file.
17639         * tests/uninorm/test-u32-normalize-big.c: New file.
17640         * tests/uninorm/NormalizationTest.txt: New file, created from
17641         Unicode 5.1.0 NormalizationTest.txt.
17642         * modules/uninorm/nfd-tests: New file.
17643
17644         New module 'uninorm/nfd'.
17645         * lib/uninorm/nfd.c: New file.
17646         * modules/uninorm/nfd: New file.
17647
17648         New module 'uninorm/u32-normalize'.
17649         * lib/uninorm/u32-normalize.c: New file.
17650         * modules/uninorm/u32-normalize: New file.
17651
17652         New module 'uninorm/u16-normalize'.
17653         * lib/uninorm/u16-normalize.c: New file.
17654         * modules/uninorm/u16-normalize: New file.
17655
17656         New module 'uninorm/u8-normalize'.
17657         * lib/uninorm/u8-normalize.c: New file.
17658         * lib/uninorm/normalize-internal.h: New file.
17659         * lib/uninorm/u-normalize-internal.h: New file.
17660         * modules/uninorm/u8-normalize: New file.
17661
17662         New module 'uninorm/decompose-internal'.
17663         * lib/uninorm/decompose-internal.c: New file.
17664         * modules/uninorm/decompose-internal: New file.
17665
17666         Tests for module 'uninorm/composition'.
17667         * tests/uninorm/test-composition.c: New file.
17668         * modules/uninorm/composition-tests: New file.
17669
17670         New module 'uninorm/composition'.
17671         * lib/uninorm/composition.c: New file.
17672         * lib/uninorm/composition-table.gperf: New file, generated by
17673         gen-uni-tables.
17674         * modules/uninorm/composition: New file.
17675
17676         Tests for module 'uninorm/compat-decomposition'.
17677         * tests/uninorm/test-compat-decomposition.c: New file.
17678         * modules/uninorm/compat-decomposition-tests: New file.
17679
17680         New module 'uninorm/compat-decomposition'.
17681         * lib/uninorm/decompose-internal.h: New file.
17682         * lib/uninorm/compat-decomposition.c: New file.
17683         * modules/uninorm/compat-decomposition: New file.
17684
17685         Tests for module 'uninorm/canonical-decomposition'.
17686         * tests/uninorm/test-canonical-decomposition.c: New file.
17687         * modules/uninorm/canonical-decomposition-tests: New file.
17688
17689         New module 'uninorm/canonical-decomposition'.
17690         * lib/uninorm/canonical-decomposition.c: New file.
17691         * modules/uninorm/canonical-decomposition: New file.
17692
17693         Tests for module 'uninorm/decomposition'.
17694         * tests/uninorm/test-decomposition.c: New file.
17695         * modules/uninorm/decomposition-tests: New file.
17696
17697         New module 'uninorm/decomposition'.
17698         * lib/uninorm/decomposition.c: New file.
17699         * modules/uninorm/decomposition: New file.
17700
17701         New module 'uninorm/decomposition-table'.
17702         * lib/uninorm/decomposition-table.h: New file.
17703         * lib/uninorm/decomposition-table.c: New file.
17704         * lib/uninorm/decomposition-table1.h: New file, generated by
17705         gen-uni-tables.
17706         * lib/uninorm/decomposition-table2.h: New file, generated by
17707         gen-uni-tables.
17708         * modules/uninorm/decomposition-table: New file.
17709
17710         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
17711         (UC_DECOMP_*): New enumeration items.
17712         (get_decomposition): New function.
17713         (struct decomp_table): New type.
17714         (output_decomposition, output_decomposition_tables): New functions.
17715         (unicode_composition_exclusions): New variable.
17716         (fill_composition_exclusions, debug_output_composition_tables): New
17717         functions.
17718         (main): Accept one more argument. Invoke fill_composition_exclusions.
17719         Output decomposition and composition tables.
17720
17721         New module 'uninorm/base'.
17722         * lib/uninorm.h: New file.
17723         * lib/unictype.h: Update comment.
17724         * modules/uninorm/base: New file.
17725
17726 2009-02-21  David Lutterkort  <lutter@redhat.com>
17727
17728         Tests for module 'safe-alloc'.
17729         * tests/test-safe-alloc.c: New file.
17730         * modules/safe-alloc-tests: New file.
17731
17732         New module 'safe-alloc'.
17733         * lib/safe-alloc.h: New file.
17734         * lib/safe-alloc.c: New file.
17735         * m4/safe-alloc.m4: New file.
17736         * modules/safe-alloc: New file.
17737         * doc/safe-alloc.texi: New file.
17738         * doc/gnulib.texi: Include it.
17739         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
17740         safe-alloc.
17741
17742 2009-02-18  Bruno Haible  <bruno@clisp.org>
17743
17744         Fix link error on non-glibc systems.
17745         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
17746         variable.
17747         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17748
17749 2009-02-18  Jim Meyering  <meyering@redhat.com>
17750
17751         fts: avoid used-uninitialized error due to recent change
17752         * lib/fts.c (fts_read): Guard uses of the new member,
17753         parent->fts_n_dirs_remaining, since it's not relevant for
17754         the parent of a directory specified on the command-line.
17755
17756 2009-02-17  James Youngman  <jay@gnu.org>
17757             Bruno Haible  <bruno@clisp.org>
17758
17759         * m4/include_next.m4: Reformulate comment.
17760
17761 2009-02-16  Jim Meyering  <meyering@redhat.com>
17762
17763         fts: add #if guards so that the fts_lgpl module still builds
17764         * lib/fts.c: Guard just-added hash-table-using parts with
17765         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
17766         Reported by Simon Josefsson.
17767
17768 2009-02-15  Bruno Haible  <bruno@clisp.org>
17769
17770         * modules/array-mergesort-tests: New file.
17771         * tests/test-array-mergesort.c: New file.
17772
17773         New module 'array-mergesort'.
17774         * modules/array-mergesort: New file.
17775         * lib/array-mergesort.h: New file.
17776
17777 2009-02-15  Bruno Haible  <bruno@clisp.org>
17778
17779         Fix 2009-02-07 commit.
17780         * lib/gen-uni-tables.c (output_predicate, output_category,
17781         output_combclass, output_bidi_category, output_decimal_digit,
17782         output_digit, output_numeric, output_mirror, output_scripts,
17783         output_ident_category, output_simple_mapping): Fix format directives.
17784         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
17785
17786 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
17787
17788         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
17789         fixes are available from IBM.
17790
17791 2009-02-13  Jim Meyering  <meyering@redhat.com>
17792
17793         fts: arrange not to stat non-directories in more cases
17794         This makes GNU find (when it doesn't need to stat each file)
17795         *much* more efficient at traversing reiserfs file systems.
17796         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
17797         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
17798         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
17799         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
17800         (leaf_optimization_applies): New function.
17801         (LCO_hash, LCO_compare): New helper functions.
17802         (link_count_optimize_ok): New function.
17803         (fts_stat): Initialize new member (if dir).
17804         (fts_read): Decrement parent's fts_n_dirs_remaining count if
17805         we've just stat'ed a directory.  Skip the stat call when possible.
17806         ---
17807         Note this AFS-related exchange:
17808         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
17809         and note find's pioctl call in find/fstype.c.
17810         But that is necessary only if you want to enable the
17811         optimization for AFS, and for now, I don't.
17812
17813         fts: move a function definition "up" (no semantic change)
17814         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
17815         "up" to precede upcoming use of a related function.
17816
17817 2009-02-11  Jim Meyering  <meyering@redhat.com>
17818
17819         fts: correct internal computation of nlinks (optimization-related)
17820         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
17821         whether the current entry is a directory, so don't test it.
17822
17823 2009-02-10  Bruno Haible  <bruno@clisp.org>
17824
17825         Tests for module 'uniwbrk/ulc-wordbreaks'.
17826         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
17827         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
17828         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
17829
17830         Tests for module 'uniwbrk/u32-wordbreaks'.
17831         * modules/uniwbrk/u32-wordbreaks-tests: New file.
17832         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
17833
17834         Tests for module 'uniwbrk/u16-wordbreaks'.
17835         * modules/uniwbrk/u16-wordbreaks-tests: New file.
17836         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
17837
17838         Tests for module 'uniwbrk/u8-wordbreaks'.
17839         * modules/uniwbrk/u8-wordbreaks-tests: New file.
17840         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
17841
17842 2009-02-10  Bruno Haible  <bruno@clisp.org>
17843
17844         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
17845         property.
17846         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
17847         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
17848         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
17849
17850 2009-02-10  Simon Josefsson  <simon@josefsson.org>
17851
17852         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
17853         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
17854
17855 2009-02-10  Bruno Haible  <bruno@clisp.org>
17856
17857         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
17858         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
17859         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
17860         * lib/unilbrk/u8-possible-linebreaks.c: Update.
17861         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
17862         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
17863
17864 2009-02-09  Simon Josefsson  <simon@josefsson.org>
17865
17866         * lib/sockets.h (gl_fd_to_handle): New function.
17867
17868         * tests/test-sockets.c: Call gl_fd_to_handle.
17869
17870 2009-02-09  Bruno Haible  <bruno@clisp.org>
17871
17872         * doc/havelib.texi: Document the conventions on bi-arch systems.
17873
17874 2009-02-08  Bruno Haible  <bruno@clisp.org>
17875
17876         Document the AC_LIB_LINKFLAGS macro.
17877         * doc/havelib.texi: New file, mostly written on 2005-05-24.
17878         * doc/gnulib.texi: Include it.
17879
17880 2009-02-08  Bruno Haible  <bruno@clisp.org>
17881
17882         Fix wrong order of sections, compared to TOC.
17883         * doc/gnulib.texi: Include relocatable-maint.texi after the
17884         "Regular expressions" node, not before.
17885
17886 2009-02-08  Bruno Haible  <bruno@clisp.org>
17887
17888         Tests for module 'unicase/totitle'.
17889         * modules/unicase/totitle-tests: New file.
17890
17891         Tests for module 'unicase/tolower'.
17892         * modules/unicase/tolower-tests: New file.
17893
17894         Tests for module 'unicase/toupper'.
17895         * modules/unicase/toupper-tests: New file.
17896         * tests/unicase/test-mapping-part1.h: New file.
17897         * tests/unicase/test-mapping-part2.h: New file.
17898
17899         New module 'unicase/totitle'.
17900         * modules/unicase/totitle: New file.
17901         * lib/unicase/totitle.c: New file.
17902
17903         New module 'unicase/tolower'.
17904         * modules/unicase/tolower: New file.
17905         * lib/unicase/tolower.c: New file.
17906
17907         New module 'unicase/toupper'.
17908         * modules/unicase/toupper: New file.
17909         * lib/unicase/toupper.c: New file.
17910         * lib/unicase/simple-mapping.h: New file.
17911
17912         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
17913         (mapping_table): New structure.
17914         (output_simple_mapping): New function.
17915         (main): Invoke output_simple_mapping_test and output_simple_mapping.
17916         * modules/gen-uni-tables (Description): Update.
17917         * lib/unicase/toupper.h: New file, automatically generated by
17918         gen-uni-tables.
17919         * lib/unicase/tolower.h: New file, automatically generated by
17920         gen-uni-tables.
17921         * lib/unicase/totitle.h: New file, automatically generated by
17922         gen-uni-tables.
17923         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
17924         gen-uni-tables.
17925         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
17926         gen-uni-tables.
17927         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
17928         gen-uni-tables.
17929
17930         New module 'unicase/base'.
17931         * modules/unicase/base: New file.
17932         * lib/unicase.h: New file.
17933
17934 2009-02-08  Bruno Haible  <bruno@clisp.org>
17935
17936         New module 'uniwbrk/ulc-wordbreaks'.
17937         * modules/uniwbrk/ulc-wordbreaks: New file.
17938         * lib/uniwbrk/ulc-wordbreaks.c: New file.
17939
17940         New module 'uniwbrk/u32-wordbreaks'.
17941         * modules/uniwbrk/u32-wordbreaks: New file.
17942         * lib/uniwbrk/u32-wordbreaks.c: New file.
17943
17944         New module 'uniwbrk/u16-wordbreaks'.
17945         * modules/uniwbrk/u16-wordbreaks: New file.
17946         * lib/uniwbrk/u16-wordbreaks.c: New file.
17947
17948         New module 'uniwbrk/u8-wordbreaks'.
17949         * modules/uniwbrk/u8-wordbreaks: New file.
17950         * lib/uniwbrk/u8-wordbreaks.c: New file.
17951         * lib/uniwbrk/u-wordbreaks.h: New file.
17952
17953         New module 'uniwbrk/table'.
17954         * modules/uniwbrk/table: New file.
17955         * lib/uniwbrk/wbrktable.h: New file.
17956         * lib/uniwbrk/wbrktable.c: New file.
17957
17958         New module 'uniwbrk/wordbreak-property'.
17959         * modules/uniwbrk/wordbreak-property: New file.
17960         * lib/uniwbrk/wordbreak-property.c: New file.
17961
17962         * lib/gen-uni-tables.c (WBP_*): New enum items.
17963         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
17964         (unicode_org_wbp): New variable.
17965         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
17966         New functions.
17967         (wbp_table): New structure.
17968         (output_wbp, output_wbrk_tables): New functions.
17969         (main): Accept additional argument. Invoke fill_org_wbp,
17970         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
17971         output_wbrk_tables.
17972         * modules/gen-uni-tables (Description): Update.
17973         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
17974         gen-uni-tables.
17975
17976         New module 'uniwbrk/base'.
17977         * modules/uniwbrk/base: New file.
17978         * lib/uniwbrk.h: New file.
17979
17980 2009-02-08  Bruno Haible  <bruno@clisp.org>
17981
17982         Update to Unicode 5.1.0.
17983         * lib/gen-uni-tables.c (is_property_alphabetic): Include
17984         U+2185..U+2188.
17985         (is_property_default_ignorable_code_point): Don't include characters
17986         of category Cc or Cs and not-a-characters.
17987         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
17988         U+0D79, U+109E, U+109F, U+A60C.
17989         * lib/unictype/bidi_of.h: Regenerated.
17990         * lib/unictype/blocks.h: Regenerated.
17991         * lib/unictype/categ_C.h: Regenerated.
17992         * lib/unictype/categ_Cf.h: Regenerated.
17993         * lib/unictype/categ_Cn.h: Regenerated.
17994         * lib/unictype/categ_L.h: Regenerated.
17995         * lib/unictype/categ_Ll.h: Regenerated.
17996         * lib/unictype/categ_Lm.h: Regenerated.
17997         * lib/unictype/categ_Lo.h: Regenerated.
17998         * lib/unictype/categ_Lu.h: Regenerated.
17999         * lib/unictype/categ_M.h: Regenerated.
18000         * lib/unictype/categ_Mc.h: Regenerated.
18001         * lib/unictype/categ_Me.h: Regenerated.
18002         * lib/unictype/categ_Mn.h: Regenerated.
18003         * lib/unictype/categ_N.h: Regenerated.
18004         * lib/unictype/categ_Nd.h: Regenerated.
18005         * lib/unictype/categ_Nl.h: Regenerated.
18006         * lib/unictype/categ_No.h: Regenerated.
18007         * lib/unictype/categ_P.h: Regenerated.
18008         * lib/unictype/categ_Pd.h: Regenerated.
18009         * lib/unictype/categ_Pe.h: Regenerated.
18010         * lib/unictype/categ_Pf.h: Regenerated.
18011         * lib/unictype/categ_Pi.h: Regenerated.
18012         * lib/unictype/categ_Po.h: Regenerated.
18013         * lib/unictype/categ_Ps.h: Regenerated.
18014         * lib/unictype/categ_S.h: Regenerated.
18015         * lib/unictype/categ_Sk.h: Regenerated.
18016         * lib/unictype/categ_Sm.h: Regenerated.
18017         * lib/unictype/categ_So.h: Regenerated.
18018         * lib/unictype/categ_of.h: Regenerated.
18019         * lib/unictype/combining.h: Regenerated.
18020         * lib/unictype/ctype_alnum.h: Regenerated.
18021         * lib/unictype/ctype_alpha.h: Regenerated.
18022         * lib/unictype/ctype_graph.h: Regenerated.
18023         * lib/unictype/ctype_lower.h: Regenerated.
18024         * lib/unictype/ctype_print.h: Regenerated.
18025         * lib/unictype/ctype_punct.h: Regenerated.
18026         * lib/unictype/ctype_upper.h: Regenerated.
18027         * lib/unictype/decdigit.h: Regenerated.
18028         * lib/unictype/digit.h: Regenerated.
18029         * lib/unictype/mirror.h: Regenerated.
18030         * lib/unictype/numeric.h: Regenerated.
18031         * lib/unictype/pr_alphabetic.h: Regenerated.
18032         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
18033         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
18034         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
18035         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
18036         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
18037         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
18038         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
18039         * lib/unictype/pr_combining.h: Regenerated.
18040         * lib/unictype/pr_dash.h: Regenerated.
18041         * lib/unictype/pr_decimal_digit.h: Regenerated.
18042         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
18043         * lib/unictype/pr_deprecated.h: Regenerated.
18044         * lib/unictype/pr_diacritic.h: Regenerated.
18045         * lib/unictype/pr_extender.h: Regenerated.
18046         * lib/unictype/pr_format_control.h: Regenerated.
18047         * lib/unictype/pr_grapheme_base.h: Regenerated.
18048         * lib/unictype/pr_grapheme_extend.h: Regenerated.
18049         * lib/unictype/pr_grapheme_link.h: Regenerated.
18050         * lib/unictype/pr_id_continue.h: Regenerated.
18051         * lib/unictype/pr_id_start.h: Regenerated.
18052         * lib/unictype/pr_ideographic.h: Regenerated.
18053         * lib/unictype/pr_ignorable_control.h: Regenerated.
18054         * lib/unictype/pr_lowercase.h: Regenerated.
18055         * lib/unictype/pr_math.h: Regenerated.
18056         * lib/unictype/pr_numeric.h: Regenerated.
18057         * lib/unictype/pr_other_alphabetic.h: Regenerated.
18058         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
18059         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
18060         * lib/unictype/pr_other_id_continue.h: Regenerated.
18061         * lib/unictype/pr_other_lowercase.h: Regenerated.
18062         * lib/unictype/pr_other_math.h: Regenerated.
18063         * lib/unictype/pr_punctuation.h: Regenerated.
18064         * lib/unictype/pr_sentence_terminal.h: Regenerated.
18065         * lib/unictype/pr_soft_dotted.h: Regenerated.
18066         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
18067         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
18068         * lib/unictype/pr_unified_ideograph.h: Regenerated.
18069         * lib/unictype/pr_uppercase.h: Regenerated.
18070         * lib/unictype/pr_xid_continue.h: Regenerated.
18071         * lib/unictype/pr_xid_start.h: Regenerated.
18072         * lib/unictype/pr_zero_width.h: Regenerated.
18073         * lib/unictype/scripts.h: Regenerated.
18074         * lib/unictype/scripts_byname.gperf: Regenerated.
18075         * lib/unictype/sy_java_ident.h: Regenerated.
18076         * lib/unilbrk/lbrkprop1.h: Regenerated.
18077         * lib/unilbrk/lbrkprop2.h: Regenerated.
18078         * tests/unictype/test-categ_C.c: Regenerated.
18079         * tests/unictype/test-categ_Cf.c: Regenerated.
18080         * tests/unictype/test-categ_Cn.c: Regenerated.
18081         * tests/unictype/test-categ_L.c: Regenerated.
18082         * tests/unictype/test-categ_Ll.c: Regenerated.
18083         * tests/unictype/test-categ_Lm.c: Regenerated.
18084         * tests/unictype/test-categ_Lo.c: Regenerated.
18085         * tests/unictype/test-categ_Lu.c: Regenerated.
18086         * tests/unictype/test-categ_M.c: Regenerated.
18087         * tests/unictype/test-categ_Mc.c: Regenerated.
18088         * tests/unictype/test-categ_Me.c: Regenerated.
18089         * tests/unictype/test-categ_Mn.c: Regenerated.
18090         * tests/unictype/test-categ_N.c: Regenerated.
18091         * tests/unictype/test-categ_Nd.c: Regenerated.
18092         * tests/unictype/test-categ_Nl.c: Regenerated.
18093         * tests/unictype/test-categ_No.c: Regenerated.
18094         * tests/unictype/test-categ_P.c: Regenerated.
18095         * tests/unictype/test-categ_Pd.c: Regenerated.
18096         * tests/unictype/test-categ_Pe.c: Regenerated.
18097         * tests/unictype/test-categ_Pf.c: Regenerated.
18098         * tests/unictype/test-categ_Pi.c: Regenerated.
18099         * tests/unictype/test-categ_Po.c: Regenerated.
18100         * tests/unictype/test-categ_Ps.c: Regenerated.
18101         * tests/unictype/test-categ_S.c: Regenerated.
18102         * tests/unictype/test-categ_Sk.c: Regenerated.
18103         * tests/unictype/test-categ_Sm.c: Regenerated.
18104         * tests/unictype/test-categ_So.c: Regenerated.
18105         * tests/unictype/test-ctype_alnum.c: Regenerated.
18106         * tests/unictype/test-ctype_alpha.c: Regenerated.
18107         * tests/unictype/test-ctype_graph.c: Regenerated.
18108         * tests/unictype/test-ctype_lower.c: Regenerated.
18109         * tests/unictype/test-ctype_print.c: Regenerated.
18110         * tests/unictype/test-ctype_punct.c: Regenerated.
18111         * tests/unictype/test-ctype_upper.c: Regenerated.
18112         * tests/unictype/test-decdigit.h: Regenerated.
18113         * tests/unictype/test-digit.h: Regenerated.
18114         * tests/unictype/test-numeric.h: Regenerated.
18115         * tests/unictype/test-pr_alphabetic.c: Regenerated.
18116         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
18117         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
18118         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
18119         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
18120         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
18121         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
18122         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
18123         * tests/unictype/test-pr_combining.c: Regenerated.
18124         * tests/unictype/test-pr_dash.c: Regenerated.
18125         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
18126         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
18127         * tests/unictype/test-pr_deprecated.c: Regenerated.
18128         * tests/unictype/test-pr_diacritic.c: Regenerated.
18129         * tests/unictype/test-pr_extender.c: Regenerated.
18130         * tests/unictype/test-pr_format_control.c: Regenerated.
18131         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
18132         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
18133         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
18134         * tests/unictype/test-pr_id_continue.c: Regenerated.
18135         * tests/unictype/test-pr_id_start.c: Regenerated.
18136         * tests/unictype/test-pr_ideographic.c: Regenerated.
18137         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
18138         * tests/unictype/test-pr_lowercase.c: Regenerated.
18139         * tests/unictype/test-pr_math.c: Regenerated.
18140         * tests/unictype/test-pr_numeric.c: Regenerated.
18141         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
18142         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
18143         Regenerated.
18144         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
18145         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
18146         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
18147         * tests/unictype/test-pr_other_math.c: Regenerated.
18148         * tests/unictype/test-pr_punctuation.c: Regenerated.
18149         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
18150         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
18151         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
18152         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
18153         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
18154         * tests/unictype/test-pr_uppercase.c: Regenerated.
18155         * tests/unictype/test-pr_xid_continue.c: Regenerated.
18156         * tests/unictype/test-pr_xid_start.c: Regenerated.
18157         * tests/unictype/test-pr_zero_width.c: Regenerated.
18158
18159         Update to Unicode 5.1.0.
18160         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
18161         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
18162         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
18163         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
18164         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
18165         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
18166         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
18167         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
18168         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
18169         (nonspacing_table_ind): Update.
18170         * tests/uniwidth/test-uc_width2.sh: Update expected result.
18171
18172         Update to Unicode 5.1.0.
18173         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
18174         code transform.
18175         * lib/uniname/uniname.c (unicode_character_name,
18176         unicode_name_character): Add the range 0x1Fxxx to the code transform.
18177         * lib/uniname/uninames.h: Regenerated.
18178         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
18179
18180 2009-02-07  Bruno Haible  <bruno@clisp.org>
18181
18182         Merge gen-ctype and gen-lbrk into a single program.
18183         * lib/gen-uni-tables.c: New file, incorporating
18184         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
18185         Add directory prefixes to the names of the generated files.
18186         * lib/unictype/gen-ctype.c: Remove file.
18187         * lib/unilbrk/gen-lbrk.c: Remove file.
18188         * modules/gen-uni-tables: New file.
18189         * modules/unictype/gen-ctype: Remove file.
18190         * modules/unilbrk/gen-lbrk: Remove file.
18191
18192 2009-02-07  Bruno Haible  <bruno@clisp.org>
18193
18194         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
18195
18196         New module 'unistr/u32-strcoll'.
18197         * modules/unistr/u32-strcoll: New file.
18198         * lib/unistr/u32-strcoll.c: New file.
18199
18200         New module 'unistr/u16-strcoll'.
18201         * modules/unistr/u16-strcoll: New file.
18202         * lib/unistr/u16-strcoll.c: New file.
18203
18204         New module 'unistr/u8-strcoll'.
18205         * modules/unistr/u8-strcoll: New file.
18206         * lib/unistr/u8-strcoll.c: New file.
18207         * lib/unistr/u-strcoll.h: New file.
18208
18209 2009-02-07  Bruno Haible  <bruno@clisp.org>
18210
18211         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
18212         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
18213         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
18214         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
18215         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
18216         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
18217
18218 2009-02-07  Bruno Haible  <bruno@clisp.org>
18219
18220         Make 64-bit clean.
18221         * lib/unictype/gen-ctype.c (output_predicate, output_category,
18222         output_combclass, output_bidi_category, output_decimal_digit,
18223         output_digit, output_numeric, output_mirror, output_scripts,
18224         output_ident_category): Use proper width specifier in format strings.
18225
18226 2009-02-07  Bruno Haible  <bruno@clisp.org>
18227
18228         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
18229         failure behaviour.
18230
18231 2009-02-07  Jim Meyering  <meyering@redhat.com>
18232
18233         regex: avoid compilation failure with upcoming gcc-4.4
18234         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
18235         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
18236         "... error: integer overflow in preprocessor expression".
18237
18238 2009-02-05  Ben Pfaff  <blp@gnu.org>
18239
18240         Fix link errors on Windows when close module is used.
18241         * modules/close: Add $(LIB_CLOSE) to Link section.
18242         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
18243         $(LIB_CLOSE) on Windows.
18244
18245 2009-02-05  Jim Meyering  <meyering@redhat.com>
18246
18247         still avoid unused-parameter warnings, but do it cleanly
18248         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
18249         (get_fs_usage): Cast to void instead.
18250         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
18251         (dev_from_mount_options, read_file_system_list): Cast to void.
18252         Prompted by Bruno Haible.
18253
18254 2009-02-04  Jim Meyering  <meyering@redhat.com>
18255
18256         fsusage.c: correct copyright year
18257         * lib/fsusage.c: Reflect year in which the change is pushed into
18258
18259         avoid misc. warnings
18260         * lib/fsusage.c (UNUSED_PARAM): Define.
18261         (get_fs_usage): Mark parameter "disk" as unused.
18262         * lib/getugroups.c (getgrent): Use "void" in prototype.
18263         * lib/mountlist.c: Mark unused parameters.
18264         (read_file_system_list): Declare a local with "const".
18265         * lib/nanosleep.c (getnow): Declare static.
18266         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
18267
18268         dirfd: set errno upon failure
18269         * lib/dirfd.c: Include <errno.h>.
18270         Set errno to ENOTSUP when returning -1.
18271         * modules/dirfd (Depends-on): Add errno.
18272         Suggested by John Kodis <kodis@comcast.net>.
18273
18274 2009-02-01  Bruno Haible  <bruno@clisp.org>
18275
18276         Don't assume sizeof (long) >= sizeof (void *).
18277         * lib/memcmp.c: Include stdint.h.
18278         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
18279         srcp2 to 'const byte *'.
18280         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
18281         types to uintptr_t.
18282         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
18283         * modules/memcmp (Depends-on): Add stdint.
18284         Reported by Ozkan Sezer <sezeroz@gmail.com>.
18285
18286 2009-01-30  Eric Blake  <ebb9@byu.net>
18287
18288         fix more require-before-expand issues
18289         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
18290         expand, AC_PROG_AWK.
18291         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
18292
18293 2009-01-28  Eric Blake  <ebb9@byu.net>
18294
18295         version-etc: use consistent URL formatting
18296         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
18297         Improve formatting.  Use fputs for string without %.
18298
18299 2009-01-28  Jim Meyering  <meyering@redhat.com>
18300
18301         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
18302         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
18303         "underquoted definition of NAME" from autoconf-2.59.
18304
18305 2009-01-28  Bruno Haible  <bruno@clisp.org>
18306
18307         * doc/gnulib.texi: Add "Obsolete modules" to index.
18308
18309 2009-01-28  Jim Meyering  <meyering@redhat.com>
18310
18311         useless-if-before-free: recognize more variants
18312         * build-aux/useless-if-before-free: Also recognize e.g.,
18313         if (NULL != p) free (p);
18314
18315 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
18316
18317         test-getaddrinfo: skip (don't fail) this test when there's no network
18318         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
18319         on the presumption that it means you lack network access.
18320
18321 2009-01-26  Jim Meyering  <meyering@redhat.com>
18322
18323         fflush: avoid warnings on modern systems
18324         * lib/fflush.c (rpl_fflush): Move declarations of locals,
18325         pos and result, into scopes where they're used.
18326
18327 2009-01-26  Eric Blake  <ebb9@byu.net>
18328
18329         Silence warning reintroduced by recent extensions patch.
18330         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
18331         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
18332         autoconf.
18333
18334         Backport improved autoconf semantics of AC_DEFUN_ONCE.
18335         * m4/00gnulib.m4: New file.
18336         * gnulib-tool (func_get_filelist): Always use it.
18337         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
18338         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
18339
18340 2009-01-25  Bruno Haible  <bruno@clisp.org>
18341
18342         Make test-quotearg work on MacOS X and AIX.
18343         * tests/test-quotearg.sh: New file.
18344         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
18345         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
18346         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
18347         include <libintl.h>.
18348         (fake_locale): Remove variable.
18349         (gettext, dgettext, dcgettext): Remove functions.
18350         (main): Instead of setting a fake locale, set a real locale. Call
18351         textdomain and bindtextdomain.
18352         * modules/quotearg-tests (Files): Add the new files.
18353         (Depends-on): Add gettext, setenv, unsetenv.
18354         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
18355         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
18356         Augment TESTS_ENVIRONMENT.
18357
18358 2009-01-25  Bruno Haible  <bruno@clisp.org>
18359
18360         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
18361         fr_FR.ISO8859-1 locale on MacOS X.
18362         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
18363         ja_JP.eucJP locale on MacOS X.
18364         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
18365         zh_CN.GB18030 locale on MacOS X.
18366
18367 2009-01-25  Bruno Haible  <bruno@clisp.org>
18368
18369         Avoid link errors on MacOS X 10.3.
18370         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
18371         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
18372
18373 2009-01-25  Bruno Haible  <bruno@clisp.org>
18374
18375         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
18376         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
18377         * modules/pipe (Files): Remove m4/posix_spawn.m4.
18378         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
18379         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
18380         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
18381         posix_spawnattr_init, posix_spawnattr_setsigmask,
18382         posix_spawnattr_setflags, posix_spawnattr_destroy.
18383
18384         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
18385         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
18386         * modules/execute (Files): Remove m4/posix_spawn.m4.
18387         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
18388         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
18389         posix_spawnattr_init, posix_spawnattr_setsigmask,
18390         posix_spawnattr_setflags, posix_spawnattr_destroy.
18391
18392 2009-01-25  Bruno Haible  <bruno@clisp.org>
18393
18394         * lib/glthread/threadlib.c: Include <stdlib.h>.
18395
18396 2009-01-25  Bruno Haible  <bruno@clisp.org>
18397
18398         * lib/glthread/threadlib.c (dummy): New declaration.
18399
18400 2009-01-25  Bruno Haible  <bruno@clisp.org>
18401
18402         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
18403         multibyte characters also for the GB18030 encoding. Don't crash when
18404         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
18405
18406 2009-01-25  Bruno Haible  <bruno@clisp.org>
18407
18408         Avoid redefining 'struct random_data' on OSF/1 5.1.
18409         * lib/stdlib.in.h: Include <random.h> if it exists.
18410         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
18411         HAVE_RANDOM_H. Include <random.h> when testing whether
18412         'struct random_data' exists.
18413         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
18414
18415 2009-01-25  Bruno Haible  <bruno@clisp.org>
18416
18417         Don't install charset.alias on MacOS X >= 10.3.
18418         * lib/localcharset.c (DARWIN7): New macro.
18419         (get_charset_aliases): Hardcode the result for Darwin7.
18420         * modules/localcharset (install-exec-local): Don't install
18421         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
18422
18423 2009-01-25  Bruno Haible  <bruno@clisp.org>
18424
18425         Don't install charset.alias on mingw and Cygwin.
18426         * modules/localcharset (install-exec-local): Don't install
18427         charset.alias on mingw and Cygwin, if the file does not yet exist.
18428         The result for these platforms is hardcoded in localcharset.c.
18429
18430 2009-01-25  Bruno Haible  <bruno@clisp.org>
18431
18432         Make it possible again to use AC_GNU_SOURCE together with gnulib.
18433         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
18434         before requiring AC_USE_SYSTEM_EXTENSIONS.
18435
18436 2009-01-25  Jim Meyering  <meyering@redhat.com>
18437
18438         c-strtod: avoid warnings
18439         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
18440         "assignment discards qualifiers from pointer target type" warnings.
18441
18442 2009-01-24  Bruno Haible  <bruno@clisp.org>
18443
18444         Add support for non-UTF-8 locales on MacOS X.
18445         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
18446         canonical encodings. For Darwin 7 and newer, don't map traditional
18447         encodings to UTF-8.
18448         Reported by Vincent Lefevre <vincent@vinc17.org>
18449         at <http://savannah.gnu.org/bugs/?25235>.
18450
18451 2009-01-24  Bruno Haible  <bruno@clisp.org>
18452
18453         * doc/gnulib.texi (Obsolete modules): New section.
18454         Reported by Mike Frysinger <vapier@gentoo.org>.
18455
18456 2009-01-24  Bruno Haible  <bruno@clisp.org>
18457
18458         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
18459         (%.dvi): New rule.
18460
18461 2009-01-24  Bruno Haible  <bruno@clisp.org>
18462
18463         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
18464         Reported by Eric Blake.
18465
18466 2009-01-24  Bruno Haible  <bruno@clisp.org>
18467
18468         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
18469         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
18470         Reported by Gary V. Vaughan <gary@gnu.org>.
18471
18472 2009-01-24  Bruno Haible  <bruno@clisp.org>
18473
18474         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
18475
18476 2009-01-23  Bruno Haible  <bruno@clisp.org>
18477
18478         Make c-strtod, c-strtold usable in libraries.
18479         * lib/c-strtod.c: Include string.h instead of xalloc.h.
18480         (C_STRTOD): Call strdup instead of xstrdup.
18481         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
18482         * modules/c-strtold (Depends-on): Likewise.
18483         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
18484         * NEWS: Mention the change.
18485         Reported by Michael Gold <mgold@ncf.ca>.
18486
18487 2009-01-23  Jim Meyering  <meyering@redhat.com>
18488
18489         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
18490         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
18491         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
18492
18493 2009-01-23  Simon Josefsson  <simon@josefsson.org>
18494
18495         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
18496         GNU CoreUtils.
18497         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
18498         * modules/version-etc (Description): Update.
18499
18500 2009-01-22  Bruno Haible  <bruno@clisp.org>
18501
18502         Cache the C locale object.
18503         * lib/c-strtod.c (c_locale_cache): New variable.
18504         (c_locale): New function.
18505         (C_STRTOD): Use it, and don't call freelocale.
18506         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
18507         Suggested by Paolo Bonzini.
18508
18509 2009-01-21  Bruno Haible  <bruno@clisp.org>
18510
18511         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
18512         conditions other than overflow.
18513
18514 2009-01-21  Bruno Haible  <bruno@clisp.org>
18515
18516         * lib/c-strtod.c: Include errno.h.
18517         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
18518         value from STRTOD_L and STRTOD.
18519
18520 2009-01-21  Bruno Haible  <bruno@clisp.org>
18521         and Jim Meyering  <meyering@redhat.com>
18522
18523         nanosleep: skip configure test (fail it) for apple universal builds
18524         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
18525         universal builds, assume that nanosleep does not work.
18526         * modules/nanosleep (Depends-on): Add multiarch.
18527
18528         mktime: skip configure test (fail it) for apple universal builds
18529         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
18530         universal builds, assume that mktime does not work.
18531         * modules/mktime (Depends-on): Add multiarch.
18532
18533 2009-01-21  Eric Blake  <ebb9@byu.net>
18534
18535         multiarch: avoid expand-before-require warning
18536         * modules/multiarch (configure.ac): Require, rather than expand,
18537         gl_MULTIARCH.
18538         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
18539         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
18540         enforce that all clients require it.  Partial reversion of
18541         2008-12-29 patch.
18542
18543         error: avoid expand-before-require warning
18544         * modules/errno (configure.ac): Require, rather than expand,
18545         gl_HEADER_ERRNO_H.
18546         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
18547         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
18548         enforce that all clients require it.
18549
18550         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
18551         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
18552         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
18553         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
18554
18555 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
18556
18557         Revert:
18558         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
18559
18560         regex: do not depend on obsolete modules.
18561         * modules/regex: Remove memcmp and memmove.
18562
18563 2009-01-20  Bruno Haible  <bruno@clisp.org>
18564
18565         Make the 'link' module link on Windows NT 4.
18566         * lib/link.c (_WIN32_WINNT): Don't define.
18567         (CreateHardLinkFuncType): New type.
18568         (CreateHardLinkFunc, initialized): New variables.
18569         (initialize): New function.
18570         (link): Invoke CreateHardLink indirectly through the function pointer.
18571
18572 2009-01-20  Bruno Haible  <bruno@clisp.org>
18573
18574         Fix compilation failure on mingw.
18575         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
18576
18577 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
18578
18579         * doc/c-strtod.texi: Mention a couple of restrictions.
18580
18581 2009-01-20  Jim Meyering  <meyering@redhat.com>
18582
18583         gettimeofday: move more declarations out of functions
18584         * lib/gettimeofday.c: Move extern declarations of tzset and
18585         gmtime out of containing functions.  Prompted by Bruno Haible.
18586
18587 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
18588
18589         regex: do not depend on obsolete modules.
18590         * modules/regex: Remove memcmp and memmove.
18591
18592 2009-01-19  Bruno Haible  <bruno@clisp.org>
18593
18594         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
18595         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
18596         gl_BIGENDIAN, not AC_C_BIGENDIAN.
18597         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
18598         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
18599
18600 2009-01-19  Bruno Haible  <bruno@clisp.org>
18601
18602         * tests/test-link.c: Include <errno.h>.
18603         (main): Exit with code 77 when a hard link cannot be created due to
18604         the file system.
18605         * tests/test-link.sh: Skip test when a hard link cannot be created due
18606         to the file system.
18607         Suggested by Eric Blake.
18608
18609 2009-01-19  Martin Lambers  <marlam@marlam.de>
18610
18611         * modules/link-tests: New file.
18612         * tests/test-link.sh: New file.
18613         * tests/test-link.c: New file.
18614
18615 2009-01-19  Eric Blake  <ebb9@byu.net>
18616
18617         doc: mention another function added in cygwin 1.7.0
18618         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
18619         Another new function in cygwin 1.7.
18620
18621 2009-01-19  Bruno Haible  <bruno@clisp.org>
18622
18623         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
18624         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
18625         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
18626         gl_BIGENDIAN, not AC_C_BIGENDIAN.
18627         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
18628         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
18629         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
18630         * m4/md4.m4 (gl_MD4): Likewise.
18631         * m4/md5.m4 (gl_MD5): Likewise.
18632         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
18633         * m4/sha1.m4 (gl_SHA1): Likewise.
18634         * m4/sha256.m4 (gl_SHA256): Likewise.
18635         * m4/sha512.m4 (gl_SHA512): Likewise.
18636
18637 2009-01-19  Bruno Haible  <bruno@clisp.org>
18638
18639         * modules/uniname/uniname-tests (Depends-on): Add progname.
18640         * tests/uniname/test-uninames.c: Include progname.h.
18641         (main): Call set_program_name.
18642
18643         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
18644         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
18645         (main): Call set_program_name.
18646
18647         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
18648         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
18649         (main): Call set_program_name.
18650
18651         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
18652         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
18653         (main): Call set_program_name.
18654
18655         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
18656         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
18657         (main): Call set_program_name.
18658
18659         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
18660         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
18661         (main): Call set_program_name.
18662
18663         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
18664         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
18665         (main): Call set_program_name.
18666
18667         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
18668         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
18669         (main): Call set_program_name.
18670
18671         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
18672         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
18673         (main): Call set_program_name.
18674
18675 2009-01-19  Eric Blake  <ebb9@byu.net>
18676
18677         test-unistd: test previous patch
18678         * tests/test-unistd.c: Test *_FILENO macros.
18679
18680         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
18681         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18682         Guarantee a definition.
18683         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
18684         * modules/unistd-safer (Depends-on): Add dependency on unistd.
18685         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
18686         * lib/dup-safer.c (STDERR_FILENO): Likewise.
18687         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18688         Likewise.
18689         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
18690         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
18691         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18692         Likewise.
18693         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
18694         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
18695         (STDERR_FILENO): Likewise.
18696         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
18697         (STDERR_FILENO): Likewise.
18698         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
18699         (STDERR_FILENO): Likewise.
18700         Reported by Elbert Pol.
18701
18702 2009-01-19  Eric Blake  <ebb9@byu.net>
18703
18704         doc: mention more functions added in cygwin 1.7.0
18705         * doc/posix-functions/abort.texi (abort): Update wording related
18706         to cygwin.
18707         * doc/posix-functions/daylight.texi (daylight): Likewise.
18708         * doc/posix-functions/optarg.texi (optarg): Likewise.
18709         * doc/posix-functions/optarg.texi (opterr): Likewise.
18710         * doc/posix-functions/optarg.texi (optind): Likewise.
18711         * doc/posix-functions/optarg.texi (optopt): Likewise.
18712         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
18713         worked in 1.5.x, and was withdrawn in 1.7.
18714         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
18715         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
18716         cygwin versions.
18717         * doc/posix-functions/perror.texi (perror): Likewise.
18718         * doc/posix-functions/printf.texi (printf): Likewise.
18719         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
18720         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
18721         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18722         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18723         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
18724         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
18725         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
18726         Likewise.
18727         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
18728         Likewise.
18729         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
18730         this function.
18731         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
18732         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
18733         Likewise.
18734         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
18735         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
18736         * doc/posix-functions/confstr.texi (confstr): Likewise.
18737         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
18738         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
18739         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
18740         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
18741         * doc/posix-functions/fputws.texi (fputws): Likewise.
18742         * doc/posix-functions/fwide.texi (fwide): Likewise.
18743         * doc/posix-functions/getwc.texi (getwc): Likewise.
18744         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
18745         * doc/posix-functions/putwc.texi (putwc): Likewise.
18746         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
18747         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
18748         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
18749         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
18750         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
18751         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
18752         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
18753         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
18754         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
18755         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
18756         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
18757
18758 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18759
18760         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
18761         * lib/ioctl.c: Include <sys/ioctl.h>.
18762
18763 2009-01-19  Simon Josefsson  <simon@josefsson.org>
18764
18765         * modules/getdate-tests (Depends-on): Add progname.
18766         * tests/test-getdate.c: Use progname module, to avoid link errors
18767         on non-glibc systems.
18768
18769 2009-01-18  Simon Josefsson  <simon@josefsson.org>
18770
18771         * modules/filenamecat-tests (Depends-on): Add progname.
18772         * modules/fstrcmp-tests (Depends-on): Likewise.
18773
18774         * tests/test-filenamecat.c: Use progname module, to avoid link
18775         errors on non-glibc systems.
18776         * tests/test-fstrcmp.c: Likewise.
18777
18778 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18779
18780         gettimeofday: avoid warning: nested extern declaration of 'localtime'
18781         * lib/gettimeofday.c: Move extern declaration out of function.
18782
18783 2009-01-18  Bruno Haible  <bruno@clisp.org>
18784
18785         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
18786         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
18787         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
18788
18789 2009-01-18  Bruno Haible  <bruno@clisp.org>
18790
18791         * lib/strftime.c (MEMPCPY): Remove unused macro.
18792         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
18793
18794 2009-01-18  Martin Lambers  <marlam@marlam.de>
18795
18796         New module 'link'.
18797         * lib/unistd.in.h (link): New declaration.
18798         * lib/link.c: New file.
18799         * m4/link.m4: New file.
18800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
18801         HAVE_LINK.
18802         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
18803         * modules/link: New file.
18804         * doc/posix-functions/link.texi: Mention the new module.
18805
18806 2009-01-18  Bruno Haible  <bruno@clisp.org>
18807
18808         * tests/test-avltree_list.c (main): Call set_program_name.
18809         * tests/test-avltree_oset.c (main): Likewise.
18810         * tests/test-obstack-printf.c: Include progname.h.
18811         (main): Call set_program_name.
18812         * tests/test-quotearg.c: Include progname.h.
18813         (main): Call set_program_name.
18814         * tests/test-xmemdup0.c: Include progname.h.
18815         (main): Call set_program_name.
18816
18817 2009-01-18  Bruno Haible  <bruno@clisp.org>
18818
18819         New module 'alphasort'.
18820         * lib/dirent.in.h (alphasort): New declaration.
18821         * lib/alphasort.c: New file, from glibc with modifications.
18822         * m4/alphasort.m4: New file.
18823         * modules/alphasort: New file.
18824         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
18825         HAVE_ALPHASORT.
18826         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
18827         HAVE_ALPHASORT.
18828         * doc/posix-functions/alphasort.texi: Mention the new module and the
18829         portability problems.
18830
18831 2009-01-18  Bruno Haible  <bruno@clisp.org>
18832
18833         New module 'scandir'.
18834         * lib/dirent.in.h (scandir): New declaration.
18835         * lib/scandir.c: New file, from glibc with modifications.
18836         * m4/scandir.m4: New file.
18837         * modules/scandir: New file.
18838         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
18839         HAVE_SCANDIR.
18840         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
18841         HAVE_SCANDIR.
18842         * doc/posix-functions/scandir.texi: Mention the new module and the
18843         portability problems.
18844
18845 2009-01-17  Bruno Haible  <bruno@clisp.org>
18846
18847         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
18848         Update documentation.
18849         (func_remove_suffix): Escape all dots in the suffix. Update
18850         documentation.
18851         (func_filter_filelist): Update documentation.
18852         Reported by Ralf Wildenhues.
18853
18854 2009-01-17  Bruno Haible  <bruno@clisp.org>
18855
18856         * modules/dprintf-posix-tests: New file.
18857         * tests/test-dprintf-posix.sh: New file.
18858         * tests/test-dprintf-posix.c: New file.
18859
18860         New modules 'dprintf', 'dprintf-posix'.
18861         * lib/stdio.in.h (dprintf): New declaration.
18862         * lib/dprintf.c: New file.
18863         * m4/dprintf.m4: New file.
18864         * m4/dprintf-posix.m4: New file.
18865         * modules/dprintf: New file.
18866         * modules/dprintf-posix: New file.
18867         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
18868         HAVE_DPRINTF, REPLACE_DPRINTF.
18869         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
18870         HAVE_DPRINTF, REPLACE_DPRINTF.
18871         * doc/posix-functions/dprintf.texi: Mention the new modules.
18872
18873 2009-01-17  Bruno Haible  <bruno@clisp.org>
18874
18875         * modules/vdprintf-posix-tests: New file.
18876         * tests/test-vdprintf-posix.sh: New file.
18877         * tests/test-vdprintf-posix.c: New file.
18878
18879         New modules 'vdprintf', 'vdprintf-posix'.
18880         * lib/stdio.in.h (vdprintf): New declaration.
18881         * lib/vdprintf.c: New file.
18882         * m4/vdprintf.m4: New file.
18883         * m4/vdprintf-posix.m4: New file.
18884         * modules/vdprintf: New file.
18885         * modules/vdprintf-posix: New file.
18886         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
18887         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18888         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
18889         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18890         * doc/posix-functions/vdprintf.texi: Mention the new modules.
18891
18892 2009-01-17  Bruno Haible  <bruno@clisp.org>
18893
18894         Fix replacement of fopen on mingw.
18895         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
18896         mingw.
18897
18898 2009-01-17  Bruno Haible  <bruno@clisp.org>
18899
18900         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
18901         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
18902
18903 2009-01-17  Bruno Haible  <bruno@clisp.org>
18904
18905         Avoid test-fflush2.sh failure on mingw.
18906         * tests/test-fflush2.c: Include binary-io.h.
18907         (main): Put standard input into binary mode.
18908         * modules/fflush-tests (Depends-on): Add binary-io.
18909
18910 2009-01-17  Bruno Haible  <bruno@clisp.org>
18911
18912         * lib/wchar.in.h: In another particular situation, include only the
18913         system's <wchar.h> file.
18914         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
18915         Reported by Albert Chin-A-Young <china@thewrittenword.com>
18916         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
18917
18918 2009-01-17  Bruno Haible  <bruno@clisp.org>
18919
18920         Support for stripping executables in --enable-relocatable.
18921         * build-aux/install-reloc: Expect one more argument, or an environment
18922         variable RELOC_STRIP_PROG. If set, strip the destination program and
18923         its wrapper.
18924         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
18925         RELOC_STRIP_PROG.
18926         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
18927         to set RELOCATABLE_STRIP.
18928         * NEWS: Mention the new Makefile requirement.
18929
18930 2009-01-17  Bruno Haible  <bruno@clisp.org>
18931
18932         * build-aux/install-reloc: Remove debugging information left over by
18933         C compiler on MacOS X.
18934
18935 2009-01-17  Bruno Haible  <bruno@clisp.org>
18936
18937         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
18938         * lib/progreloc.c (find_executable): Fix type of pointer passed to
18939         _NSGetExecutablePath.
18940
18941 2009-01-16  Jim Meyering  <meyering@redhat.com>
18942
18943         strerror: avoid warnings about discarding "const"
18944         * lib/strerror.c (rpl_strerror): Instead of returning a const
18945         string from each and every "case", use a variable, and add a single
18946         cast after the switch.
18947
18948 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
18949
18950         * lib/arpa_inet.in.h: Add extern "C" block for C++.
18951
18952 2009-01-16  Bruno Haible  <bruno@clisp.org>
18953
18954         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
18955         array initializer syntax that also works in C++ mode.
18956         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18957
18958 2009-01-16  Jim Meyering  <meyering@redhat.com>
18959
18960         poll: suppress a warning
18961         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
18962         to ignore "...unsigned expression < 0 is always false" warnings.
18963
18964 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
18965
18966         poll: remove declarations of unused variables
18967         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
18968         sockbuf and optlen.
18969
18970 2009-01-15  Bruno Haible  <bruno@clisp.org>
18971
18972         Make fflush-after-ungetc POSIX compliant on BSD systems.
18973         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
18974         (clear_ungetc_buffer): Implement also for other systems.
18975         (rpl_fflush): On glibc systems, invoke
18976         clear_ungetc_buffer_preserving_position. Otherwise, invoke
18977         clear_ungetc_buffer after fetching the stream's position, not before.
18978
18979 2009-01-15  Bruno Haible  <bruno@clisp.org>
18980
18981         Make fflush-after-ungetc POSIX compliant on glibc systems.
18982         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
18983         after ungetc.
18984         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
18985         (rpl_fflush): On glibc systems, simply call the system's fflush
18986         function after clearing the ungetc buffer.
18987         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
18988         Instead, lseek only to the end of file, then use the system's fseeko
18989         for the rest. On glibc systems, reset the EOF indicator bit.
18990
18991 2009-01-15  Jim Meyering  <meyering@redhat.com>
18992
18993         openmp.m4: revert quote-adding change, for portability to older autoconf
18994         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
18995         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
18996         Simon Josefsson noticed the problem when using autoconf-2.61.
18997
18998 2009-01-15  Bruno Haible  <bruno@clisp.org>
18999
19000         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
19001         * tests/test-fflush2.c (ASSERT): Always fail.
19002         (main): Add two tests for fflush() after ungetc(), taking into account
19003         the Austin Group's clarification.
19004         Suggested by Eric Blake.
19005
19006 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
19007
19008         mktime.m4: remove K&R-style function prototypes
19009         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
19010         for the Sun C++ compiler.
19011
19012 2009-01-14  Bruno Haible  <bruno@clisp.org>
19013
19014         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
19015         while including <wchar.h>.
19016         * lib/wchar.in.h: In two particular situations on HP-UX, include only
19017         the system's <wchar.h> file.
19018         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19019
19020 2009-01-14  Bruno Haible  <bruno@clisp.org>
19021
19022         * m4/csharp.m4: Don't mention gettext on the serial number line.
19023         * m4/csharpexec.m4: Likewise.
19024         * m4/eaccess.m4: Likewise.
19025         * m4/javaexec.m4: Likewise.
19026         * m4/sig_atomic_t.m4: Likewise.
19027         * m4/tmpdir.m4: Likewise.
19028         * m4/intldir.m4: Bump gettext version.
19029         * m4/lib-ld.m4: Likewise.
19030
19031 2009-01-14  Bruno Haible  <bruno@clisp.org>
19032
19033         * lib/progname.c (set_program_name): Add more comments.
19034         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
19035
19036 2009-01-14  Simon Josefsson  <simon@josefsson.org>
19037
19038         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
19039         were sys/stat.h does not define it.
19040
19041 2009-01-14  Jim Meyering  <meyering@redhat.com>
19042
19043         many *.m4 files: improve m4 quoting
19044         99% of this change was performed by running the following commands:
19045         git ls-files | grep '\.m4$' | xargs perl -pi \
19046           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
19047           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
19048           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
19049           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
19050         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
19051         The remainder were to add Copyright dates, increment serial numbers,
19052         undo some changes in comments, exclude m4/intl.m4, and add quotes
19053         around the "1" in ",1" where the unusual spacing prohibited the
19054         above regexps from doing the job.  For more details, see
19055         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
19056         * m4/acl.m4: Modified.
19057         * m4/afs.m4: Likewise.
19058         * m4/alloca.m4: Likewise.
19059         * m4/argp.m4: Likewise.
19060         * m4/argz.m4: Likewise.
19061         * m4/atexit.m4: Likewise.
19062         * m4/bison-i18n.m4: Likewise.
19063         * m4/bison.m4: Likewise.
19064         * m4/byteswap.m4: Likewise.
19065         * m4/c-stack.m4: Likewise.
19066         * m4/c-strtod.m4: Likewise.
19067         * m4/calloc.m4: Likewise.
19068         * m4/canonicalize-lgpl.m4: Likewise.
19069         * m4/chown.m4: Likewise.
19070         * m4/clock_time.m4: Likewise.
19071         * m4/codeset.m4: Likewise.
19072         * m4/copy-file.m4: Likewise.
19073         * m4/csharp.m4: Likewise.
19074         * m4/csharpcomp.m4: Likewise.
19075         * m4/csharpexec.m4: Likewise.
19076         * m4/d-ino.m4: Likewise.
19077         * m4/d-type.m4: Likewise.
19078         * m4/dirfd.m4: Likewise.
19079         * m4/double-slash-root.m4: Likewise.
19080         * m4/eaccess.m4: Likewise.
19081         * m4/eealloc.m4: Likewise.
19082         * m4/environ.m4: Likewise.
19083         * m4/errno_h.m4: Likewise.
19084         * m4/euidaccess.m4: Likewise.
19085         * m4/execute.m4: Likewise.
19086         * m4/fatal-signal.m4: Likewise.
19087         * m4/fchdir.m4: Likewise.
19088         * m4/fcntl_h.m4: Likewise.
19089         * m4/fileblocks.m4: Likewise.
19090         * m4/filenamecat.m4: Likewise.
19091         * m4/findprog.m4: Likewise.
19092         * m4/flexmember.m4: Likewise.
19093         * m4/fnmatch.m4: Likewise.
19094         * m4/fopen.m4: Likewise.
19095         * m4/fpending.m4: Likewise.
19096         * m4/fprintf-posix.m4: Likewise.
19097         * m4/free.m4: Likewise.
19098         * m4/frexp.m4: Likewise.
19099         * m4/frexpl.m4: Likewise.
19100         * m4/fsusage.m4: Likewise.
19101         * m4/ftruncate.m4: Likewise.
19102         * m4/gc-camellia.m4: Likewise.
19103         * m4/gc-random.m4: Likewise.
19104         * m4/gc.m4: Likewise.
19105         * m4/getaddrinfo.m4: Likewise.
19106         * m4/getcwd-abort-bug.m4: Likewise.
19107         * m4/getcwd-path-max.m4: Likewise.
19108         * m4/getdate.m4: Likewise.
19109         * m4/getdomainname.m4: Likewise.
19110         * m4/getgroups.m4: Likewise.
19111         * m4/gethostname.m4: Likewise.
19112         * m4/gethrxtime.m4: Likewise.
19113         * m4/getline.m4: Likewise.
19114         * m4/getloadavg.m4: Likewise.
19115         * m4/getndelim2.m4: Likewise.
19116         * m4/getpass.m4: Likewise.
19117         * m4/gettext.m4: Likewise.
19118         * m4/gettime.m4: Likewise.
19119         * m4/gettimeofday.m4: Likewise.
19120         * m4/gnulib-common.m4: Likewise.
19121         * m4/group-member.m4: Likewise.
19122         * m4/host-os.m4: Likewise.
19123         * m4/iconv.m4: Likewise.
19124         * m4/iconv_open.m4: Likewise.
19125         * m4/inet_ntop.m4: Likewise.
19126         * m4/inet_pton.m4: Likewise.
19127         * m4/inline.m4: Likewise.
19128         * m4/intldir.m4: Likewise.
19129         * m4/intlmacosx.m4: Likewise.
19130         * m4/intmax.m4: Likewise.
19131         * m4/intmax_t.m4: Likewise.
19132         * m4/inttypes.m4: Likewise.
19133         * m4/inttypes_h.m4: Likewise.
19134         * m4/inttypes-pri.m4: Likewise.
19135         * m4/isapipe.m4: Likewise.
19136         * m4/isnand.m4: Likewise.
19137         * m4/isnanf.m4: Likewise.
19138         * m4/isnanl.m4: Likewise.
19139         * m4/javacomp.m4: Likewise.
19140         * m4/javaexec.m4: Likewise.
19141         * m4/jm-winsz1.m4: Likewise.
19142         * m4/jm-winsz2.m4: Likewise.
19143         * m4/lchown.m4: Likewise.
19144         * m4/lcmessage.m4: Likewise.
19145         * m4/ldexpl.m4: Likewise.
19146         * m4/lib-ld.m4: Likewise.
19147         * m4/lib-link.m4: Likewise.
19148         * m4/libsigsegv.m4: Likewise.
19149         * m4/link-follow.m4: Likewise.
19150         * m4/localcharset.m4: Likewise.
19151         * m4/locale-fr.m4: Likewise.
19152         * m4/locale-ja.m4: Likewise.
19153         * m4/locale-tr.m4: Likewise.
19154         * m4/locale-zh.m4: Likewise.
19155         * m4/lock.m4: Likewise.
19156         * m4/longlong.m4: Likewise.
19157         * m4/ls-mntd-fs.m4: Likewise.
19158         * m4/lstat.m4: Likewise.
19159         * m4/malloc.m4: Likewise.
19160         * m4/mathl.m4: Likewise.
19161         * m4/mbrtowc.m4: Likewise.
19162         * m4/mbstate_t.m4: Likewise.
19163         * m4/mbswidth.m4: Likewise.
19164         * m4/memchr.m4: Likewise.
19165         * m4/memcmp.m4: Likewise.
19166         * m4/memcpy.m4: Likewise.
19167         * m4/memmem.m4: Likewise.
19168         * m4/memmove.m4: Likewise.
19169         * m4/mempcpy.m4: Likewise.
19170         * m4/memrchr.m4: Likewise.
19171         * m4/memset.m4: Likewise.
19172         * m4/minmax.m4: Likewise.
19173         * m4/mkdir-slash.m4: Likewise.
19174         * m4/mkdtemp.m4: Likewise.
19175         * m4/mktime.m4: Likewise.
19176         * m4/mmap-anon.m4: Likewise.
19177         * m4/mountlist.m4: Likewise.
19178         * m4/nanosleep.m4: Likewise.
19179         * m4/nls.m4: Likewise.
19180         * m4/nocrash.m4: Likewise.
19181         * m4/open.m4: Likewise.
19182         * m4/openat.m4: Likewise.
19183         * m4/openmp.m4: Likewise.
19184         * m4/pathmax.m4: Likewise.
19185         * m4/perl.m4: Likewise.
19186         * m4/physmem.m4: Likewise.
19187         * m4/pipe.m4: Likewise.
19188         * m4/po.m4: Likewise.
19189         * m4/poll.m4: Likewise.
19190         * m4/posixtm.m4: Likewise.
19191         * m4/posixver.m4: Likewise.
19192         * m4/printf-frexp.m4: Likewise.
19193         * m4/printf-frexpl.m4: Likewise.
19194         * m4/printf-posix.m4: Likewise.
19195         * m4/printf-posix-rpl.m4: Likewise.
19196         * m4/printf.m4: Likewise.
19197         * m4/progtest.m4: Likewise.
19198         * m4/putenv.m4: Likewise.
19199         * m4/readline.m4: Likewise.
19200         * m4/readlink.m4: Likewise.
19201         * m4/readutmp.m4: Likewise.
19202         * m4/realloc.m4: Likewise.
19203         * m4/regex.m4: Likewise.
19204         * m4/relocatable.m4: Likewise.
19205         * m4/relocatable-lib.m4: Likewise.
19206         * m4/rename-dest-slash.m4: Likewise.
19207         * m4/rename.m4: Likewise.
19208         * m4/rmdir-errno.m4: Likewise.
19209         * m4/rmdir.m4: Likewise.
19210         * m4/roundf.m4: Likewise.
19211         * m4/roundl.m4: Likewise.
19212         * m4/rpmatch.m4: Likewise.
19213         * m4/save-cwd.m4: Likewise.
19214         * m4/selinux-selinux-h.m4: Likewise.
19215         * m4/setenv.m4: Likewise.
19216         * m4/settime.m4: Likewise.
19217         * m4/sig2str.m4: Likewise.
19218         * m4/sig_atomic_t.m4: Likewise.
19219         * m4/signalblocking.m4: Likewise.
19220         * m4/signbit.m4: Likewise.
19221         * m4/sigpipe.m4: Likewise.
19222         * m4/sockets.m4: Likewise.
19223         * m4/sockpfaf.m4: Likewise.
19224         * m4/st_dm_mode.m4: Likewise.
19225         * m4/stat-time.m4: Likewise.
19226         * m4/stdbool.m4: Likewise.
19227         * m4/stdint.m4: Likewise.
19228         * m4/stdint_h.m4: Likewise.
19229         * m4/stpcpy.m4: Likewise.
19230         * m4/stpncpy.m4: Likewise.
19231         * m4/strcase.m4: Likewise.
19232         * m4/strchrnul.m4: Likewise.
19233         * m4/strcspn.m4: Likewise.
19234         * m4/strdup.m4: Likewise.
19235         * m4/strftime.m4: Likewise.
19236         * m4/strndup.m4: Likewise.
19237         * m4/strnlen.m4: Likewise.
19238         * m4/strpbrk.m4: Likewise.
19239         * m4/strptime.m4: Likewise.
19240         * m4/strsep.m4: Likewise.
19241         * m4/strtod.m4: Likewise.
19242         * m4/strtoimax.m4: Likewise.
19243         * m4/strtok_r.m4: Likewise.
19244         * m4/strtol.m4: Likewise.
19245         * m4/strtoll.m4: Likewise.
19246         * m4/strtoul.m4: Likewise.
19247         * m4/strtoull.m4: Likewise.
19248         * m4/strtoumax.m4: Likewise.
19249         * m4/strverscmp.m4: Likewise.
19250         * m4/threadlib.m4: Likewise.
19251         * m4/timegm.m4: Likewise.
19252         * m4/tm_gmtoff.m4: Likewise.
19253         * m4/tmpdir.m4: Likewise.
19254         * m4/tmpfile.m4: Likewise.
19255         * m4/tzset.m4: Likewise.
19256         * m4/uintmax_t.m4: Likewise.
19257         * m4/unlinkdir.m4: Likewise.
19258         * m4/unlocked-io.m4: Likewise.
19259         * m4/uptime.m4: Likewise.
19260         * m4/userspec.m4: Likewise.
19261         * m4/utimbuf.m4: Likewise.
19262         * m4/utime.m4: Likewise.
19263         * m4/utimes-null.m4: Likewise.
19264         * m4/utimes.m4: Likewise.
19265         * m4/vararrays.m4: Likewise.
19266         * m4/vasnprintf.m4: Likewise.
19267         * m4/vfprintf-posix.m4: Likewise.
19268         * m4/vprintf-posix.m4: Likewise.
19269         * m4/wait-process.m4: Likewise.
19270         * m4/wchar_t.m4: Likewise.
19271         * m4/wint_t.m4: Likewise.
19272         * m4/write-any-file.m4: Likewise.
19273         * m4/yield.m4: Likewise.
19274
19275 2009-01-13  Bruno Haible  <bruno@clisp.org>
19276
19277         Avoid test-copy-file.sh failures when ACL support insufficient.
19278         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
19279         TESTS_ENVIRONMENT.
19280         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
19281         Reported by Jim Meyering.
19282
19283 2009-01-13  Bruno Haible  <bruno@clisp.org>
19284
19285         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
19286         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
19287         * modules/unistdio/u8-printf-parse (Files): Likewise.
19288         * modules/unistdio/u32-printf-parse (Files): Likewise.
19289         * modules/unistdio/ulc-printf-parse (Files): Likewise.
19290
19291 2009-01-13  Simon Josefsson  <simon@josefsson.org>
19292
19293         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
19294         and m4/inttypes_h.m4 too.
19295
19296 2009-01-12  Eric Blake  <ebb9@byu.net>
19297
19298         tests: IRIX 6.2 cc can't compile -0.0 into .data
19299         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
19300         rather than at compile-time.
19301         * tests/test-floorl.c (minus_zero): Likewise.
19302         * tests/test-frexpl.c (minus_zero): Likewise.
19303         * tests/test-isnan.c (minus_zerol): Likewise.
19304         * tests/test-isnanl.h (minus_zero): Likewise.
19305         * tests/test-ldexpl.c (minus_zero): Likewise.
19306         * tests/test-roundl.c (minus_zero): Likewise.
19307         * tests/test-signbit.c (minus_zerol): Likewise.
19308         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
19309         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
19310         * tests/test-truncl.c (minus_zero): Likewise.
19311         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
19312         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
19313         Reported by Tom G. Christensen and Nelson H. F. Beebe.
19314
19315 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
19316
19317         regex: fix glibc bug 9697
19318         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
19319         handling.
19320
19321 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
19322
19323         regex: fix glibc bug 697
19324         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
19325         being NULL also if there are no backreferences.
19326
19327 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
19328
19329         regex: merge glibc changes
19330         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
19331         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
19332         re_string_skip_chars, re_string_reconstruct): Likewise.
19333         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
19334
19335 2009-01-07  Jim Meyering  <meyering@redhat.com>
19336
19337         poll: filter through cppi
19338         * lib/poll.c: Indent cpp directives to reflect nesting.
19339
19340 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
19341
19342         poll: don't return uninitialized
19343         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
19344
19345 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
19346
19347         avoid compile failure on AIX 6.1
19348         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
19349         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
19350
19351 2009-01-04  Jim Meyering  <meyering@redhat.com>
19352
19353         remove duplicate inclusion of <stdio.h>
19354         * tests/test-fprintf-posix.c: Likewise.
19355         * tests/test-printf-posix.c: Likewise.
19356         * tests/test-snprintf-posix.c: Likewise.
19357         * tests/test-sprintf-posix.c: Likewise.
19358         * tests/test-vasprintf-posix.c: Likewise.
19359         * tests/test-vfprintf-posix.c: Likewise.
19360         * tests/test-vprintf-posix.c: Likewise.
19361         * tests/test-vsnprintf-posix.c: Likewise.
19362         * tests/test-vsprintf-posix.c: Likewise.
19363
19364 2009-01-03  Jim Meyering  <meyering@redhat.com>
19365
19366         gnulib-tool: fix sed-based filtering
19367         * gnulib-tool (func_filter_filelist): Remove extra backslash
19368         in sed_fff_filter definition.
19369
19370 2009-01-02  Jim Meyering  <meyering@redhat.com>
19371
19372         strftime: avoid compilation failure on Solaris 2.6
19373         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
19374         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
19375         Don't #define mbrlen or mbsinit, since now they're guaranteed to
19376         be available.  Reported by Tom G. Christensen.  Details in
19377         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
19378
19379 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19380             Bruno Haible  <bruno@clisp.org>
19381
19382         Speed up gnulib-tool by doing more string processing through shell
19383         built-ins.
19384         * gnulib-tool (fast_func_append): New variable.
19385         (func_remove_prefix, func_remove_suffix): New functions.
19386         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
19387         (func_filter_filelist): New function.
19388         (func_get_dependencies): Use func_remove_suffix instead of sed.
19389         (func_get_automake_snippet): Use func_filter_filelist instead of a
19390         subshell and sed invocation.
19391
19392 2009-01-01  Bruno Haible  <bruno@clisp.org>
19393
19394         Fix a security bug.
19395         * gnulib-tool (func_import, import, update): Don't allow the characters
19396         '"', '$', '`', '\' in macro arguments that become part of commands that
19397         are evaluated.
19398
19399 2009-01-01  Bruno Haible  <bruno@clisp.org>
19400
19401         * gnulib-tool (func_reset_sigpipe): Add more comments.
19402
19403 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19404
19405         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
19406         func_emit_tests_Makefile_am, func_import): Abort loops early if we
19407         already know the answer.
19408
19409 2009-01-01  Jim Meyering  <meyering@redhat.com>
19410
19411         * lib/version-etc.c (version_etc_va): Update copyright year.
19412
19413 2008-12-30  Bruno Haible  <bruno@clisp.org>
19414
19415         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
19416         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
19417         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
19418
19419 2008-12-29  Eric Blake  <ebb9@byu.net>
19420
19421         multiarch: avoid autoconf AC_REQUIRE bug
19422         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
19423         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
19424         2.63 and older.
19425         Reported by Bruno Haible, and analyzed in
19426         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
19427
19428 2008-12-29  Bruno Haible  <bruno@clisp.org>
19429
19430         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
19431         files in subdirectories correctly.
19432         Reported by Ralf Wildenhues.
19433
19434 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19435
19436         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
19437         rather than 'join FILE -', for Solaris join.
19438
19439 2008-12-29  Bruno Haible  <bruno@clisp.org>
19440
19441         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
19442         quoting.
19443         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
19444         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
19445         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
19446         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
19447         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
19448         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
19449         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
19450         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
19451         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
19452         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
19453         * m4/nls.m4 (AM_NLS): Likewise.
19454         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
19455         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
19456         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19457         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
19458         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
19459         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
19460         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
19461         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
19462         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
19463         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
19464         * m4/xsize.m4 (gl_XSIZE): Likewise.
19465         Suggested by Jim Meyering.
19466
19467 2008-11-17  Bruce Korb  <bkorb@gnu.org>
19468
19469         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
19470         * lib/parse-duration.c: use a switch instead of cascading if's.
19471
19472 2008-12-29  Eric Blake  <ebb9@byu.net>
19473
19474         wchar.h: supply WEOF on Irix 5.3
19475         * lib/wchar.in.h (wint_t): Also supply WEOF.
19476         * lib/wctype.in.h (wint_t): Likewise.
19477         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
19478         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
19479         Reported by Tom G. Christensen.
19480
19481 2008-12-26  Bruno Haible  <bruno@clisp.org>
19482
19483         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
19484         i486, i586, i686.
19485
19486 2008-12-26  Bruno Haible  <bruno@clisp.org>
19487
19488         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
19489
19490 2008-12-26  Bruno Haible  <bruno@clisp.org>
19491
19492         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
19493         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
19494         not __STDC_CONSTANT_MACROS.
19495         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
19496
19497 2008-12-25  Bruno Haible  <bruno@clisp.org>
19498
19499         Add support for universal builds to vasnprintf.
19500         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
19501         universal builds, guess no.
19502         * modules/vasnprintf-posix (Depends-on): Add multiarch.
19503         * modules/vasprintf-posix (Depends-on): Likewise.
19504         * modules/fprintf-posix (Depends-on): Likewise.
19505         * modules/vfprintf-posix (Depends-on): Likewise.
19506         * modules/snprintf-posix (Depends-on): Likewise.
19507         * modules/vsnprintf-posix (Depends-on): Likewise.
19508         * modules/sprintf-posix (Depends-on): Likewise.
19509         * modules/vsprintf-posix (Depends-on): Likewise.
19510         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19511         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19512         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19513         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19514         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19515         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19516         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19517
19518         Add support for universal builds to <inttypes.h>.
19519         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
19520         _SCNu64_PREFIX): In Apple
19521         universal builds, define directly, using _LP64.
19522         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
19523         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
19524         * modules/inttypes (Depends-on): Add multiarch.
19525         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
19526
19527         Add support for universal builds to <stdint.h>.
19528         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
19529         universal builds, define directly, using _LP64.
19530         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
19531         Apple universal builds, don't test for the size and suffix of ptrdiff_t
19532         and size_t.
19533         * modules/stdint (Depends-on): Add multiarch.
19534         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
19535
19536         New module 'multiarch'.
19537         * modules/multiarch: New file.
19538         * m4/multiarch.m4: New file.
19539
19540 2008-12-25  Bruno Haible  <bruno@clisp.org>
19541
19542         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
19543
19544 2008-12-25  Bruno Haible  <bruno@clisp.org>
19545
19546         * modules/btowc (License): Relicense under LGPLv2+.
19547         * modules/mbsinit (License): Likewise.
19548         * modules/mbrtowc (License): Likewise.
19549         * modules/wcrtomb (License): Likewise.
19550         * modules/streq (License): Likewise.
19551         Reported by David Lutterkort <lutter@redhat.com>.
19552
19553 2008-12-23  Bruno Haible  <bruno@clisp.org>
19554
19555         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
19556
19557 2008-12-23  Bruno Haible  <bruno@clisp.org>
19558
19559         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
19560         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
19561         GETADDRINFO_LIB, not in LIBS.
19562         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
19563         * modules/canon-host (Link): Likewise.
19564         * NEWS: Mention the change.
19565         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
19566         GETADDRINFO_LIB.
19567
19568 2008-12-22  Bruno Haible  <bruno@clisp.org>
19569
19570         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
19571         * doc/posix-functions/iswalpha_l.texi: Likewise.
19572         * doc/posix-functions/iswblank_l.texi: Likewise.
19573         * doc/posix-functions/iswcntrl_l.texi: Likewise.
19574         * doc/posix-functions/iswctype_l.texi: Likewise.
19575         * doc/posix-functions/iswdigit_l.texi: Likewise.
19576         * doc/posix-functions/iswgraph_l.texi: Likewise.
19577         * doc/posix-functions/iswlower_l.texi: Likewise.
19578         * doc/posix-functions/iswprint_l.texi: Likewise.
19579         * doc/posix-functions/iswpunct_l.texi: Likewise.
19580         * doc/posix-functions/iswspace_l.texi: Likewise.
19581         * doc/posix-functions/iswupper_l.texi: Likewise.
19582         * doc/posix-functions/iswxdigit_l.texi: Likewise.
19583         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
19584         * doc/posix-functions/open_wmemstream.texi: Likewise.
19585         * doc/posix-functions/swscanf.texi: Likewise.
19586         * doc/posix-functions/towctrans_l.texi: Likewise.
19587         * doc/posix-functions/towlower.texi: Likewise.
19588         * doc/posix-functions/towlower_l.texi: Likewise.
19589         * doc/posix-functions/towupper.texi: Likewise.
19590         * doc/posix-functions/towupper_l.texi: Likewise.
19591         * doc/posix-functions/vfwprintf.texi: Likewise.
19592         * doc/posix-functions/vfwscanf.texi: Likewise.
19593         * doc/posix-functions/vswscanf.texi: Likewise.
19594         * doc/posix-functions/vwprintf.texi: Likewise.
19595         * doc/posix-functions/vwscanf.texi: Likewise.
19596         * doc/posix-functions/wcpcpy.texi: Likewise.
19597         * doc/posix-functions/wcpncpy.texi: Likewise.
19598         * doc/posix-functions/wcscasecmp.texi: Likewise.
19599         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
19600         * doc/posix-functions/wcscoll_l.texi: Likewise.
19601         * doc/posix-functions/wcsdup.texi: Likewise.
19602         * doc/posix-functions/wcsncasecmp.texi: Likewise.
19603         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
19604         * doc/posix-functions/wcsnlen.texi: Likewise.
19605         * doc/posix-functions/wcsnrtombs.texi: Likewise.
19606         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
19607         * doc/posix-functions/wctrans_l.texi: Likewise.
19608         * doc/posix-functions/wctype_l.texi: Likewise.
19609         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
19610         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
19611         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
19612         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
19613         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
19614         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
19615         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
19616         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
19617         * doc/glibc-functions/wcschrnul.texi: Likewise.
19618         * doc/glibc-functions/wcsftime_l.texi: Likewise.
19619         * doc/glibc-functions/wcstod_l.texi: Likewise.
19620         * doc/glibc-functions/wcstof_l.texi: Likewise.
19621         * doc/glibc-functions/wcstol_l.texi: Likewise.
19622         * doc/glibc-functions/wcstold_l.texi: Likewise.
19623         * doc/glibc-functions/wcstoll_l.texi: Likewise.
19624         * doc/glibc-functions/wcstoq.texi: Likewise.
19625         * doc/glibc-functions/wcstoul_l.texi: Likewise.
19626         * doc/glibc-functions/wcstoull_l.texi: Likewise.
19627         * doc/glibc-functions/wcstouq.texi: Likewise.
19628         * doc/glibc-functions/wmempcpy.texi: Likewise.
19629
19630 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
19631             Eric Blake  <ebb9@byu.net>
19632             Paolo Bonzini  <bonzini@gnu.org>
19633             Bruno Haible  <bruno@clisp.org>
19634
19635         Make c-stack work on Haiku.
19636         * lib/c-stack.c (SA_ONSTACK): Define fallback.
19637         (c_stack_action): Use SA_ONSTACK flag.
19638
19639 2008-12-22  Bruno Haible  <bruno@clisp.org>
19640
19641         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
19642
19643 2008-12-22  Bruno Haible  <bruno@clisp.org>
19644
19645         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
19646         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
19647         being overridden.
19648         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
19649         New macros.
19650         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
19651         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
19652         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
19653         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
19654
19655 2008-12-22  Bruno Haible  <bruno@clisp.org>
19656
19657         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
19658         from test code.
19659
19660 2008-12-22  Eric Blake  <ebb9@byu.net>
19661
19662         Avoid gcc warnings on cygwin.
19663         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
19664         Avoid unused variable.
19665         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
19666         Likewise.
19667
19668 2008-12-22  Bruno Haible  <bruno@clisp.org>
19669
19670         Remove HAVE_MBRTOWC conditionals.
19671         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
19672         (mbscasecmp): Assume mbrtowc function.
19673         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
19674         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
19675         * lib/mbschr.c: Include mbuiter.h unconditionally.
19676         (mbschr): Assume mbrtowc function.
19677         * lib/mbscspn.c: Include mbuiter.h unconditionally.
19678         (mbscspn): Assume mbrtowc function.
19679         * lib/mbslen.c: Include mbuiter.h unconditionally.
19680         (mbslen): Assume mbrtowc function.
19681         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
19682         (mbsncasecmp): Assume mbrtowc function.
19683         * lib/mbsnlen.c: Include mbiter.h unconditionally.
19684         (mbsnlen): Assume mbrtowc function.
19685         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
19686         (mbspbrk): Assume mbrtowc function.
19687         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
19688         (mbspcasecmp): Assume mbrtowc function.
19689         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
19690         (mbsrchr): Assume mbrtowc function.
19691         * lib/mbssep.c: Include mbuiter.h unconditionally.
19692         (mbssep): Assume mbrtowc function.
19693         * lib/mbsspn.c: Include mbuiter.h unconditionally.
19694         (mbsspn): Assume mbrtowc function.
19695         * lib/mbsstr.c: Include mbuiter.h unconditionally.
19696         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
19697         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
19698         (mbstok_r): Assume mbrtowc function.
19699         * lib/propername.c: Include mbuiter.h unconditionally.
19700         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
19701         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
19702         (trim2): Assume mbrtowc function.
19703         * lib/mbswidth.c (mbsinit): Remove fallback definition.
19704         (mbsnwidth): Assume mbrtowc function.
19705         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
19706         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
19707         fallback definitions.
19708         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
19709
19710 2008-12-22  Bruno Haible  <bruno@clisp.org>
19711
19712         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
19713
19714 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
19715
19716         * modules/regex: Request emulations for the mb*/wc* functions we need.
19717         * m4/regex.m4: Don't look for those functions here.
19718         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
19719
19720 2008-12-22  Bruno Haible  <bruno@clisp.org>
19721
19722         * modules/fnmatch (Depends-on): Remove duplicated dependency.
19723
19724 2008-12-21  Bruno Haible  <bruno@clisp.org>
19725
19726         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
19727         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
19728         (Include): Remove conditionalization.
19729         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
19730         (Include): Remove conditionalization.
19731         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
19732         (Include): Remove conditionalization.
19733         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
19734         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19735         * NEWS: Mention the change.
19736         Reported by Alan Hourihane <alanh@fairlite.co.uk>
19737         via Sergey Poznyakoff <gray@gnu.org.ua>.
19738
19739 2008-12-21  Bruno Haible  <bruno@clisp.org>
19740
19741         * MODULES.html.sh (Extended multibyte and wide character utilities
19742         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
19743         wcrtomb, wcsrtombs.
19744         (Support for systems lacking POSIX:2008): Add accept, bind, close,
19745         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
19746         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
19747         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
19748
19749 2008-12-21  Bruno Haible  <bruno@clisp.org>
19750
19751         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
19752
19753 2008-12-21  Bruno Haible  <bruno@clisp.org>
19754
19755         * modules/wcsnrtombs-tests: New file.
19756         * tests/test-wcsnrtombs1.sh: New file.
19757         * tests/test-wcsnrtombs2.sh: New file.
19758         * tests/test-wcsnrtombs3.sh: New file.
19759         * tests/test-wcsnrtombs4.sh: New file.
19760         * tests/test-wcsnrtombs.c: New file.
19761
19762         New module 'wcsnrtombs'.
19763         * lib/wchar.in.h (wcsnrtombs): New declaration.
19764         * lib/wcsnrtombs.c: New file.
19765         * lib/wcsrtombs-state.c: New file.
19766         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
19767         (internal_state): Remove variable.
19768         * m4/wcsnrtombs.m4: New file.
19769         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
19770         compilation units.
19771         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
19772         HAVE_WCSNRTOMBS.
19773         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
19774         HAVE_WCSNRTOMBS.
19775         * modules/wcsnrtombs: New file.
19776         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
19777         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
19778
19779 2008-12-21  Bruno Haible  <bruno@clisp.org>
19780
19781         * modules/wcsrtombs-tests: New file.
19782         * tests/test-wcsrtombs1.sh: New file.
19783         * tests/test-wcsrtombs2.sh: New file.
19784         * tests/test-wcsrtombs3.sh: New file.
19785         * tests/test-wcsrtombs4.sh: New file.
19786         * tests/test-wcsrtombs.c: New file.
19787
19788         New module 'wcsrtombs'.
19789         * lib/wchar.in.h (wcsrtombs): New declaration.
19790         * lib/wcsrtombs.c: New file.
19791         * m4/wcsrtombs.m4: New file.
19792         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
19793         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19794         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
19795         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19796         * modules/wcsrtombs: New file.
19797         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
19798         bugs.
19799
19800 2008-12-21  Bruno Haible  <bruno@clisp.org>
19801
19802         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
19803         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
19804         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
19805         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
19806         if not correct.
19807         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
19808         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
19809         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19810         m4/locale-zh.m4, m4/codeset.m4.
19811         * doc/posix-functions/wcrtomb.texi: Document the bug.
19812
19813 2008-12-21  Bruno Haible  <bruno@clisp.org>
19814
19815         Work around a btowc() bug on IRIX 6.5.
19816         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
19817         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
19818         REPLACE_WTOBC if not.
19819         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
19820         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
19821         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
19822
19823 2008-12-21  Bruno Haible  <bruno@clisp.org>
19824
19825         * modules/wcrtomb-tests: New file.
19826         * tests/test-wcrtomb.sh: New file.
19827         * tests/test-wcrtomb.c: New file.
19828
19829         New module 'wcrtomb'.
19830         * lib/wchar.in.h (wcrtomb): New declaration.
19831         * lib/wcrtomb.c: New file.
19832         * m4/wcrtomb.m4: New file.
19833         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
19834         HAVE_WCRTOMB.
19835         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
19836         HAVE_WCRTOMB.
19837         * modules/wcrtomb: New file.
19838         * doc/posix-functions/wcrtomb.texi: Mention the new module.
19839
19840 2008-12-21  Bruno Haible  <bruno@clisp.org>
19841
19842         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
19843         * modules/mbsrtowcs (Files): Likewise.
19844         * modules/wctob (Files): Likewise.
19845         * modules/c-strcase-tests (Files): Likewise.
19846         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19847         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19848         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19849         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19850         * modules/vasnprintf-posix-tests (Files): Likewise.
19851
19852 2008-12-21  William Pursell  <bill.pursell@gmail.com>
19853
19854         gitlog-to-changelog: pass all command-line arguments to git-log
19855         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
19856         it is sometimes convenient to filter the commits in various ways.
19857         gitlog-to-changelog only allows --since to specify a start date,
19858         but git-log itself supports many other filtering mechanisms.
19859         At the moment, I want to filter by branch name.  Rather than
19860         adding a --branch option to gitlog-to-changelog, it seems more
19861         flexible to simply pass all options directly to git-log and let
19862         git do the work.  Notice that this effectively makes --since a
19863         redundant option for gitlog-to-changelog, but removing it would
19864         require current usage to change since calls would then require
19865         an additional '--'.
19866
19867 2008-12-21  Bruno Haible  <bruno@clisp.org>
19868
19869         * modules/mbsnrtowcs-tests: New file.
19870         * tests/test-mbsnrtowcs1.sh: New file.
19871         * tests/test-mbsnrtowcs2.sh: New file.
19872         * tests/test-mbsnrtowcs3.sh: New file.
19873         * tests/test-mbsnrtowcs4.sh: New file.
19874         * tests/test-mbsnrtowcs.c: New file.
19875
19876         New module 'mbsnrtowcs'.
19877         * lib/wchar.in.h (mbsnrtowcs): New declaration.
19878         * lib/mbsnrtowcs.c: New file.
19879         * lib/mbsrtowcs-state.c: New file.
19880         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
19881         (internal_state): Remove variable.
19882         * m4/mbsnrtowcs.m4: New file.
19883         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
19884         compilation units.
19885         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
19886         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19887         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
19888         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19889         * modules/mbsnrtowcs: New file.
19890         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
19891         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
19892         portability problem.
19893
19894 2008-12-21  Bruno Haible  <bruno@clisp.org>
19895
19896         Work around mbsrtowcs bug.
19897         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
19898         (gl_FUNC_MBSRTOWCS): Invoke it.
19899         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19900         m4/locale-zh.m4.
19901         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
19902
19903 2008-12-21  Bruno Haible  <bruno@clisp.org>
19904
19905         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
19906
19907 2008-12-21  Bruno Haible  <bruno@clisp.org>
19908
19909         Update doc for AIX.
19910         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
19911         16-bit wchar_t type.
19912         * doc/posix-functions/btowc.texi: Likewise.
19913         * doc/posix-functions/fgetwc.texi: Likewise.
19914         * doc/posix-functions/fgetws.texi: Likewise.
19915         * doc/posix-functions/fputwc.texi: Likewise.
19916         * doc/posix-functions/fputws.texi: Likewise.
19917         * doc/posix-functions/fwide.texi: Likewise.
19918         * doc/posix-functions/fwprintf.texi: Likewise.
19919         * doc/posix-functions/fwscanf.texi: Likewise.
19920         * doc/posix-functions/getwchar.texi: Likewise.
19921         * doc/posix-functions/getwc.texi: Likewise.
19922         * doc/posix-functions/iswalnum.texi: Likewise.
19923         * doc/posix-functions/iswalpha.texi: Likewise.
19924         * doc/posix-functions/iswblank.texi: Likewise.
19925         * doc/posix-functions/iswcntrl.texi: Likewise.
19926         * doc/posix-functions/iswctype.texi: Likewise.
19927         * doc/posix-functions/iswdigit.texi: Likewise.
19928         * doc/posix-functions/iswgraph.texi: Likewise.
19929         * doc/posix-functions/iswlower.texi: Likewise.
19930         * doc/posix-functions/iswprint.texi: Likewise.
19931         * doc/posix-functions/iswpunct.texi: Likewise.
19932         * doc/posix-functions/iswspace.texi: Likewise.
19933         * doc/posix-functions/iswupper.texi: Likewise.
19934         * doc/posix-functions/iswxdigit.texi: Likewise.
19935         * doc/posix-functions/mbrtowc.texi: Likewise.
19936         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19937         * doc/posix-functions/mbstowcs.texi: Likewise.
19938         * doc/posix-functions/mbtowc.texi: Likewise.
19939         * doc/posix-functions/putwchar.texi: Likewise.
19940         * doc/posix-functions/putwc.texi: Likewise.
19941         * doc/posix-functions/swprintf.texi: Likewise.
19942         * doc/posix-functions/tolower.texi: Likewise.
19943         * doc/posix-functions/toupper.texi: Likewise.
19944         * doc/posix-functions/towctrans.texi: Likewise.
19945         * doc/posix-functions/ungetwc.texi: Likewise.
19946         * doc/posix-functions/vswprintf.texi: Likewise.
19947         * doc/posix-functions/wcrtomb.texi: Likewise.
19948         * doc/posix-functions/wcscat.texi: Likewise.
19949         * doc/posix-functions/wcschr.texi: Likewise.
19950         * doc/posix-functions/wcscmp.texi: Likewise.
19951         * doc/posix-functions/wcscoll.texi: Likewise.
19952         * doc/posix-functions/wcscpy.texi: Likewise.
19953         * doc/posix-functions/wcscspn.texi: Likewise.
19954         * doc/posix-functions/wcsftime.texi: Likewise.
19955         * doc/posix-functions/wcslen.texi: Likewise.
19956         * doc/posix-functions/wcsncat.texi: Likewise.
19957         * doc/posix-functions/wcsncmp.texi: Likewise.
19958         * doc/posix-functions/wcsncpy.texi: Likewise.
19959         * doc/posix-functions/wcspbrk.texi: Likewise.
19960         * doc/posix-functions/wcsrchr.texi: Likewise.
19961         * doc/posix-functions/wcsrtombs.texi: Likewise.
19962         * doc/posix-functions/wcsspn.texi: Likewise.
19963         * doc/posix-functions/wcsstr.texi: Likewise.
19964         * doc/posix-functions/wcstod.texi: Likewise.
19965         * doc/posix-functions/wcstof.texi: Likewise.
19966         * doc/posix-functions/wcstoimax.texi: Likewise.
19967         * doc/posix-functions/wcstok.texi: Likewise.
19968         * doc/posix-functions/wcstold.texi: Likewise.
19969         * doc/posix-functions/wcstoll.texi: Likewise.
19970         * doc/posix-functions/wcstol.texi: Likewise.
19971         * doc/posix-functions/wcstombs.texi: Likewise.
19972         * doc/posix-functions/wcstoull.texi: Likewise.
19973         * doc/posix-functions/wcstoul.texi: Likewise.
19974         * doc/posix-functions/wcstoumax.texi: Likewise.
19975         * doc/posix-functions/wcswidth.texi: Likewise.
19976         * doc/posix-functions/wcsxfrm.texi: Likewise.
19977         * doc/posix-functions/wctob.texi: Likewise.
19978         * doc/posix-functions/wctomb.texi: Likewise.
19979         * doc/posix-functions/wctrans.texi: Likewise.
19980         * doc/posix-functions/wctype.texi: Likewise.
19981         * doc/posix-functions/wcwidth.texi: Likewise.
19982         * doc/posix-functions/wmemchr.texi: Likewise.
19983         * doc/posix-functions/wmemcmp.texi: Likewise.
19984         * doc/posix-functions/wmemcpy.texi: Likewise.
19985         * doc/posix-functions/wmemmove.texi: Likewise.
19986         * doc/posix-functions/wmemset.texi: Likewise.
19987         * doc/posix-functions/wprintf.texi: Likewise.
19988         * doc/posix-functions/wscanf.texi: Likewise.
19989
19990 2008-12-21  Bruno Haible  <bruno@clisp.org>
19991
19992         Update doc for HP-UX 11.11.
19993         * doc/posix-functions/btowc.texi: Clarify that the function is missing
19994         in HP-UX version 11.00, not in all versions of HP-UX 11.
19995         * doc/posix-functions/fwide.texi: Likewise.
19996         * doc/posix-functions/fwprintf.texi: Likewise.
19997         * doc/posix-functions/fwscanf.texi: Likewise.
19998         * doc/posix-functions/inet_ntop.texi: Likewise.
19999         * doc/posix-functions/inet_pton.texi: Likewise.
20000         * doc/posix-functions/mbrlen.texi: Likewise.
20001         * doc/posix-functions/mbrtowc.texi: Likewise.
20002         * doc/posix-functions/mbsinit.texi: Likewise.
20003         * doc/posix-functions/mbsrtowcs.texi: Likewise.
20004         * doc/posix-functions/swprintf.texi: Likewise.
20005         * doc/posix-functions/swscanf.texi: Likewise.
20006         * doc/posix-functions/towctrans.texi: Likewise.
20007         * doc/posix-functions/vfwprintf.texi: Likewise.
20008         * doc/posix-functions/vswprintf.texi: Likewise.
20009         * doc/posix-functions/vwprintf.texi: Likewise.
20010         * doc/posix-functions/wcrtomb.texi: Likewise.
20011         * doc/posix-functions/wcsrtombs.texi: Likewise.
20012         * doc/posix-functions/wcsstr.texi: Likewise.
20013         * doc/posix-functions/wctob.texi: Likewise.
20014         * doc/posix-functions/wctrans.texi: Likewise.
20015         * doc/posix-functions/wmemchr.texi: Likewise.
20016         * doc/posix-functions/wmemcmp.texi: Likewise.
20017         * doc/posix-functions/wmemcpy.texi: Likewise.
20018         * doc/posix-functions/wmemmove.texi: Likewise.
20019         * doc/posix-functions/wmemset.texi: Likewise.
20020         * doc/posix-functions/wprintf.texi: Likewise.
20021         * doc/posix-functions/wscanf.texi: Likewise.
20022
20023 2008-12-21  Bruno Haible  <bruno@clisp.org>
20024
20025         Work around a portability problem.
20026         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
20027         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
20028
20029 2008-12-20  Bruno Haible  <bruno@clisp.org>
20030
20031         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
20032         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
20033         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
20034         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
20035         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
20036
20037         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
20038         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
20039         set.
20040         (GNULIB_defined_mbstate_t): New macro.
20041         (mbsinit): Redefine if REPLACE_MBSINIT is set.
20042         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
20043         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
20044         reuses the system's mbrtowc function but works around the bugs.
20045         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
20046         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
20047         macros.
20048         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
20049         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
20050         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
20051         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
20052         REPLACE_MBSINIT if mbsinit needs to be overridden.
20053         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
20054         REPLACE_MBSINIT, REPLACE_MBRTOWC.
20055         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
20056         REPLACE_MBSINIT, REPLACE_MBRTOWC.
20057         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
20058         m4/locale-zh.m4.
20059         (Depends): Add mbsinit.
20060         * modules/mbsinit (Depends): Add mbrtowc.
20061         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
20062
20063 2008-12-20  Bruno Haible  <bruno@clisp.org>
20064
20065         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
20066         so that there are no conversion errors on AIX.
20067         * tests/test-mbsrtowcs.c (main): LIkewise.
20068
20069 2008-12-20  Bruno Haible  <bruno@clisp.org>
20070
20071         Work around wctob bug on Solaris <= 9.
20072         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
20073         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
20074         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
20075         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
20076         * modules/wctob (Files): Add m4/locale-fr.m4.
20077         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
20078
20079 2008-12-20  Bruno Haible  <bruno@clisp.org>
20080
20081         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
20082         /dev/null.
20083         * tests/test-select-in.sh: Likewise.
20084         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20085
20086 2008-12-20  Bruno Haible  <bruno@clisp.org>
20087
20088         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
20089         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
20090         Cygwin 1.5.x.
20091
20092 2008-12-20  Bruno Haible  <bruno@clisp.org>
20093
20094         Ensure mbstate_t is defined on HP-UX 11.11.
20095         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
20096         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
20097         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
20098         AC_USE_SYSTEM_EXTENSIONS.
20099         * modules/fnmatch (Depends-on): Add extensions.
20100         * modules/mbrlen (Depends-on): Likewise.
20101         * modules/mbrtowc (Depends-on): Likewise.
20102         * modules/mbsinit (Depends-on): Likewise.
20103         * modules/mbsrtowcs (Depends-on): Likewise.
20104         * modules/mbswidth (Depends-on): Likewise.
20105         * modules/quotearg (Depends-on): Likewise.
20106         * modules/strftime (Depends-on): Likewise.
20107
20108 2008-12-20  Bruno Haible  <bruno@clisp.org>
20109
20110         Ensure wctob is declared on IRIX 6.5.
20111         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
20112         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
20113         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
20114         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
20115         of HAVE_WCTOB.
20116         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
20117         HAVE_WCTOB.
20118         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
20119
20120 2008-12-19  Bruno Haible  <bruno@clisp.org>
20121
20122         * modules/mbsrtowcs-tests: New file.
20123         * tests/test-mbsrtowcs1.sh: New file.
20124         * tests/test-mbsrtowcs2.sh: New file.
20125         * tests/test-mbsrtowcs3.sh: New file.
20126         * tests/test-mbsrtowcs4.sh: New file.
20127         * tests/test-mbsrtowcs.c: New file.
20128
20129         New module 'mbsrtowcs'.
20130         * lib/wchar.in.h (mbsrtowcs): New declaration.
20131         * lib/mbsrtowcs.c: New file.
20132         * m4/mbsrtowcs.m4: New file.
20133         * modules/mbsrtowcs: New file.
20134         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
20135         HAVE_MBSRTOWCS.
20136         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
20137         HAVE_MBSRTOWCS.
20138         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
20139
20140 2008-12-19  Bruno Haible  <bruno@clisp.org>
20141
20142         New module 'mbrlen'.
20143         * lib/wchar.in.h (mbrlen): New declaration.
20144         * lib/mbrlen.c: New file.
20145         * m4/mbrlen.m4: New file.
20146         * modules/mbrlen: New file.
20147         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
20148         HAVE_MBRLEN.
20149         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
20150         HAVE_MBRLEN.
20151         * doc/posix-functions/mbrlen.texi: Document the new module.
20152
20153 2008-12-19  Bruno Haible  <bruno@clisp.org>
20154
20155         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
20156         * modules/mbrtowc (Depends-on): Add verify.
20157         Suggested by Paul Eggert.
20158
20159 2008-12-18  Bruno Haible  <bruno@clisp.org>
20160
20161         * modules/mbsinit-tests: New file.
20162         * tests/test-mbsinit.sh: New file.
20163         * tests/test-mbsinit.c: New file.
20164
20165 2008-12-18  Bruno Haible  <bruno@clisp.org>
20166
20167         * modules/mbrtowc-tests: New file.
20168         * tests/test-mbrtowc1.sh: New file.
20169         * tests/test-mbrtowc2.sh: New file.
20170         * tests/test-mbrtowc3.sh: New file.
20171         * tests/test-mbrtowc4.sh: New file.
20172         * tests/test-mbrtowc.c: New file.
20173
20174         New module 'mbrtowc'.
20175         * lib/wchar.in.h (mbstate_t): Override when the system does not have
20176         mbsinit and mbrtowc.
20177         (mbrtowc): New declaration.
20178         * lib/mbrtowc.c: New file.
20179         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
20180         * modules/mbrtowc: New file.
20181         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
20182         HAVE_MBRTOWC.
20183         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
20184         HAVE_MBRTOWC.
20185         * doc/posix-functions/mbrtowc.texi: Document the new module.
20186
20187 2008-12-18  Bruno Haible  <bruno@clisp.org>
20188
20189         New module 'wctob'.
20190         * lib/wchar.in.h (wctob): New declaration.
20191         * lib/wctob.c: New file.
20192         * m4/wctob.m4: New file.
20193         * modules/wctob: New file.
20194         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
20195         HAVE_WCTOB.
20196         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
20197         * doc/posix-functions/wctob.texi: Document the new module.
20198
20199 2008-12-18  Bruno Haible  <bruno@clisp.org>
20200
20201         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
20202         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
20203
20204 2008-12-18  Simon Josefsson  <simon@josefsson.org>
20205
20206         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
20207         G. Christensen" <tgc@jupiterrise.com>.
20208
20209         * lib/flock.c: Need to include errno.h.  Reported by "Tom
20210         G. Christensen" <tgc@jupiterrise.com>.
20211
20212         * lib/flock.c: Need to include string.h.  Reported by "Tom
20213         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
20214         <ebb9@byu.net>.
20215
20216 2008-12-18  Bruno Haible  <bruno@clisp.org>
20217
20218         * m4/locale-ja.m4: New file, from GNU gettext.
20219
20220 2008-12-17  Bruno Haible  <bruno@clisp.org>
20221
20222         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
20223         Suggested by Eric Blake.
20224
20225 2008-12-17  Bruno Haible  <bruno@clisp.org>
20226
20227         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
20228
20229 2008-12-17  Bruno Haible  <bruno@clisp.org>
20230
20231         * lib/mbsinit.c: Include verify.h. Verify an assumption.
20232         * modules/mbsinit (Depends-on): Add verify.
20233         Suggested by Paul Eggert.
20234
20235 2008-12-17  Bruno Haible  <bruno@clisp.org>
20236
20237         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
20238         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
20239         gl_FUNC_MBRTOWC.
20240         * m4/mbiter.m4 (gl_MBITER): LIkewise.
20241         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
20242         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
20243         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
20244         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
20245         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
20246         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
20247         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
20248         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
20249         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
20250         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
20251         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
20252         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
20253         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
20254         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
20255         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20256         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
20257         * modules/trim (configure.ac): Likewise.
20258
20259 2008-12-17  Bruno Haible  <bruno@clisp.org>
20260
20261         * modules/btowc-tests: New file.
20262         * tests/test-btowc1.sh: New file.
20263         * tests/test-btowc2.sh: New file.
20264         * tests/test-btowc.c: New file.
20265
20266         New module 'btowc'.
20267         * lib/wchar.in.h (btowc): New declaration.
20268         * lib/btowc.c: New file.
20269         * m4/btowc.m4: New file.
20270         * modules/btowc: New file.
20271         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
20272         HAVE_BTOWC.
20273         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
20274         * doc/posix-functions/btowc.texi: Document the new module.
20275
20276 2008-12-17  Bruno Haible  <bruno@clisp.org>
20277
20278         New module 'mbsinit'.
20279         * lib/wchar.in.h (mbsinit): New declaration.
20280         * lib/mbsinit.c: New file.
20281         * m4/mbsinit.m4: New file.
20282         * modules/mbsinit: New file.
20283         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
20284         HAVE_MBSINIT.
20285         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
20286         HAVE_MBSINIT.
20287         * doc/posix-functions/mbsinit.texi: Document the new module.
20288
20289 2008-12-16  Bruno Haible  <bruno@clisp.org>
20290
20291         * lib/unistd.in.h: Add comment.
20292         * tests/test-environ.c: Don't include <stdlib.h>.
20293
20294 2008-12-16  Bruno Haible  <bruno@clisp.org>
20295
20296         * lib/parse-duration.h (parse_duration): Document return value
20297         convention.
20298         * lib/parse-duration.c: Include specification header first. Add
20299         comments.
20300         (_): Remove macro.
20301         (parse_year_month_day, parse_hour_minute_second): Move side effects
20302         outside of strchr call.
20303         (parse_non_iso8601): Move side effects outside of isspace call.
20304         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
20305         call.
20306
20307 2008-12-16  Bruno Haible  <bruno@clisp.org>
20308
20309         * tests/test-parse-duration.sh: Produce no output when the test
20310         succeeds.
20311
20312 2008-12-16  Bruno Haible  <bruno@clisp.org>
20313
20314         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
20315         expressions.
20316
20317 2008-12-15  Bruno Haible  <bruno@clisp.org>
20318
20319         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
20320         * doc/glibc-functions/flistxattr.texi: Likewise.
20321         * doc/glibc-functions/fopencookie.texi: Likewise.
20322         * doc/glibc-functions/fremovexattr.texi: Likewise.
20323         * doc/glibc-functions/fsetxattr.texi: Likewise.
20324         * doc/glibc-functions/getxattr.texi: Likewise.
20325         * doc/glibc-functions/lgetxattr.texi: Likewise.
20326         * doc/glibc-functions/listxattr.texi: Likewise.
20327         * doc/glibc-functions/llistxattr.texi: Likewise.
20328         * doc/glibc-functions/lremovexattr.texi: Likewise.
20329         * doc/glibc-functions/lsetxattr.texi: Likewise.
20330         * doc/glibc-functions/removexattr.texi: Likewise.
20331         * doc/glibc-functions/setxattr.texi: Likewise.
20332         * doc/posix-functions/open_memstream.texi: Likewise.
20333
20334 2008-12-15  Eric Blake  <ebb9@byu.net>
20335
20336         Update doc for cygwin 1.7.
20337         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
20338         functions.
20339         * doc/posix-functions/fchmodat.texi: Likewise.
20340         * doc/posix-functions/fchownat.texi: Likewise.
20341         * doc/posix-functions/fdopendir.texi: Likewise.
20342         * doc/posix-functions/fmemopen.texi: Likewise.
20343         * doc/posix-functions/freeaddrinfo.texi: Likewise.
20344         * doc/posix-functions/fstatat.texi: Likewise.
20345         * doc/posix-functions/futimens.texi: Likewise.
20346         * doc/posix-functions/gai_strerror.texi: Likewise.
20347         * doc/posix-functions/getaddrinfo.texi: Likewise.
20348         * doc/posix-functions/getnameinfo.texi: Likewise.
20349         * doc/posix-functions/if_freenameindex.texi: Likewise.
20350         * doc/posix-functions/if_indextoname.texi: Likewise.
20351         * doc/posix-functions/if_nameindex.texi: Likewise.
20352         * doc/posix-functions/if_nametoindex.texi: Likewise.
20353         * doc/posix-functions/insque.texi: Likewise.
20354         * doc/posix-functions/linkat.texi: Likewise.
20355         * doc/posix-functions/llrint.texi: Likewise.
20356         * doc/posix-functions/llrintf.texi: Likewise.
20357         * doc/posix-functions/llrintl.texi: Likewise.
20358         * doc/posix-functions/lockf.texi: Likewise.
20359         * doc/posix-functions/lrintl.texi: Likewise.
20360         * doc/posix-functions/mkdirat.texi: Likewise.
20361         * doc/posix-functions/mkfifoat.texi: Likewise.
20362         * doc/posix-functions/mknodat.texi: Likewise.
20363         * doc/posix-functions/mq_close.texi: Likewise.
20364         * doc/posix-functions/mq_getattr.texi: Likewise.
20365         * doc/posix-functions/mq_notify.texi: Likewise.
20366         * doc/posix-functions/mq_open.texi: Likewise.
20367         * doc/posix-functions/mq_receive.texi: Likewise.
20368         * doc/posix-functions/mq_send.texi: Likewise.
20369         * doc/posix-functions/mq_setattr.texi: Likewise.
20370         * doc/posix-functions/mq_timedreceive.texi: Likewise.
20371         * doc/posix-functions/mq_timedsend.texi: Likewise.
20372         * doc/posix-functions/mq_unlink.texi: Likewise.
20373         * doc/posix-functions/open_memstream.texi: Likewise.
20374         * doc/posix-functions/openat.texi: Likewise.
20375         * doc/posix-functions/posix_fadvise.texi: Likewise.
20376         * doc/posix-functions/posix_fallocate.texi: Likewise.
20377         * doc/posix-functions/posix_madvise.texi: Likewise.
20378         * doc/posix-functions/posix_memalign.texi: Likewise.
20379         * doc/posix-functions/posix_openpt.texi: Likewise.
20380         * doc/posix-functions/readlinkat.texi: Likewise.
20381         * doc/posix-functions/remque.texi: Likewise.
20382         * doc/posix-functions/renameat.texi: Likewise.
20383         * doc/posix-functions/rintl.texi: Likewise.
20384         * doc/posix-functions/sem_unlink.texi: Likewise.
20385         * doc/posix-functions/shm_open.texi: Likewise.
20386         * doc/posix-functions/shm_unlink.texi: Likewise.
20387         * doc/posix-functions/signgam.texi: Likewise.
20388         * doc/posix-functions/sigset.texi: Likewise.
20389         * doc/posix-functions/stpcpy.texi: Likewise.
20390         * doc/posix-functions/stpncpy.texi: Likewise.
20391         * doc/posix-functions/strerror.texi: Likewise.
20392         * doc/posix-functions/strtod.texi: Likewise.
20393         * doc/posix-functions/symlinkat.texi: Likewise.
20394         * doc/posix-functions/unlinkat.texi: Likewise.
20395         * doc/posix-functions/utimensat.texi: Likewise.
20396         * doc/glibc-functions/bindresvport.texi: Likewise.
20397         * doc/glibc-functions/dn_expand.texi: Likewise.
20398         * doc/glibc-functions/exp10.texi: Likewise.
20399         * doc/glibc-functions/exp10f.texi: Likewise.
20400         * doc/glibc-functions/fgetxattr.texi: Likewise.
20401         * doc/glibc-functions/flistxattr.texi: Likewise.
20402         * doc/glibc-functions/fopencookie.texi: Likewise.
20403         * doc/glibc-functions/freeifaddrs.texi: Likewise.
20404         * doc/glibc-functions/fremovexattr.texi: Likewise.
20405         * doc/glibc-functions/fsetxattr.texi: Likewise.
20406         * doc/glibc-functions/getifaddrs.texi: Likewise.
20407         * doc/glibc-functions/getxattr.texi: Likewise.
20408         * doc/glibc-functions/lgetxattr.texi: Likewise.
20409         * doc/glibc-functions/listxattr.texi: Likewise.
20410         * doc/glibc-functions/llistxattr.texi: Likewise.
20411         * doc/glibc-functions/lremovexattr.texi: Likewise.
20412         * doc/glibc-functions/lsetxattr.texi: Likewise.
20413         * doc/glibc-functions/pow10.texi: Likewise.
20414         * doc/glibc-functions/pow10f.texi: Likewise.
20415         * doc/glibc-functions/rcmd_af.texi: Likewise.
20416         * doc/glibc-functions/removexattr.texi: Likewise.
20417         * doc/glibc-functions/res_init.texi: Likewise.
20418         * doc/glibc-functions/res_mkquery.texi: Likewise.
20419         * doc/glibc-functions/res_query.texi: Likewise.
20420         * doc/glibc-functions/res_querydomain.texi: Likewise.
20421         * doc/glibc-functions/res_send.texi: Likewise.
20422         * doc/glibc-functions/rresvport_af.texi: Likewise.
20423         * doc/glibc-functions/setxattr.texi: Likewise.
20424         * doc/glibc-functions/strcasestr.texi: Likewise.
20425
20426 2008-12-15  Bruno Haible  <bruno@clisp.org>
20427
20428         Fix compilation error on OSF/1 4.0.
20429         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
20430         <sys/time.h>, simply delegate to the system header.
20431         Reported by Daniel Richard G. <oss@teragram.com>.
20432
20433 2008-12-15  Bruno Haible  <bruno@clisp.org>
20434
20435         * doc/posix-functions/openat.texi: Mention the 'openat' module.
20436         * doc/posix-functions/fchmodat.texi: Likewise.
20437         * doc/posix-functions/fchownat.texi: Likewise.
20438         * doc/posix-functions/fdopendir.texi: Likewise.
20439         * doc/posix-functions/fstatat.texi: Likewise.
20440         * doc/posix-functions/mkdirat.texi: Likewise.
20441         * doc/posix-functions/unlinkat.texi: Likewise.
20442
20443 2008-12-14  Bruno Haible  <bruno@clisp.org>
20444
20445         Update doc for POSIX:2008.
20446         * doc/posix-functions/faccessat.texi: New file.
20447         * doc/posix-functions/fchmodat.texi: New file.
20448         * doc/posix-functions/fchownat.texi: New file.
20449         * doc/posix-functions/fdopendir.texi: New file.
20450         * doc/posix-functions/fstatat.texi: New file.
20451         * doc/posix-functions/futimens.texi: New file.
20452         * doc/posix-functions/linkat.texi: New file.
20453         * doc/posix-functions/mkdirat.texi: New file.
20454         * doc/posix-functions/mkfifoat.texi: New file.
20455         * doc/posix-functions/mknodat.texi: New file.
20456         * doc/posix-functions/open_wmemstream.texi: New file.
20457         * doc/posix-functions/openat.texi: New file.
20458         * doc/posix-functions/psiginfo.texi: New file.
20459         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
20460         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
20461         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
20462         * doc/posix-functions/readlinkat.texi: New file.
20463         * doc/posix-functions/renameat.texi: New file.
20464         * doc/posix-functions/strerror_l.texi: New file.
20465         * doc/posix-functions/symlinkat.texi: New file.
20466         * doc/posix-functions/unlinkat.texi: New file.
20467         * doc/posix-functions/utimensat.texi: New file.
20468         * doc/gnulib.texi (Function Substitutes): Add these subsections.
20469
20470 2008-12-14  Bruno Haible  <bruno@clisp.org>
20471
20472         Update doc for POSIX:2008.
20473         * doc/posix-functions/alphasort.texi: Renamed from
20474         doc/glibc-functions/alphasort.texi.
20475         * doc/posix-functions/dirfd.texi: Renamed from
20476         doc/glibc-functions/dirfd.texi.
20477         * doc/posix-functions/dprintf.texi: Renamed from
20478         doc/glibc-functions/dprintf.texi.
20479         * doc/posix-functions/duplocale.texi: Renamed from
20480         doc/glibc-functions/duplocale.texi.
20481         * doc/posix-functions/fexecve.texi: Renamed from
20482         doc/glibc-functions/fexecve.texi.
20483         * doc/posix-functions/fmemopen.texi: Renamed from
20484         doc/glibc-functions/fmemopen.texi.
20485         * doc/posix-functions/freelocale.texi: Renamed from
20486         doc/glibc-functions/freelocale.texi.
20487         * doc/posix-functions/getdate_err.texi: Renamed from
20488         doc/glibc-functions/getdate_err.texi.
20489         * doc/posix-functions/isalnum_l.texi: Renamed from
20490         doc/glibc-functions/isalnum_l.texi.
20491         * doc/posix-functions/isalpha_l.texi: Renamed from
20492         doc/glibc-functions/isalpha_l.texi.
20493         * doc/posix-functions/isblank_l.texi: Renamed from
20494         doc/glibc-functions/isblank_l.texi.
20495         * doc/posix-functions/iscntrl_l.texi: Renamed from
20496         doc/glibc-functions/iscntrl_l.texi.
20497         * doc/posix-functions/isdigit_l.texi: Renamed from
20498         doc/glibc-functions/isdigit_l.texi.
20499         * doc/posix-functions/isgraph_l.texi: Renamed from
20500         doc/glibc-functions/isgraph_l.texi.
20501         * doc/posix-functions/islower_l.texi: Renamed from
20502         doc/glibc-functions/islower_l.texi.
20503         * doc/posix-functions/isprint_l.texi: Renamed from
20504         doc/glibc-functions/isprint_l.texi.
20505         * doc/posix-functions/ispunct_l.texi: Renamed from
20506         doc/glibc-functions/ispunct_l.texi.
20507         * doc/posix-functions/isspace_l.texi: Renamed from
20508         doc/glibc-functions/isspace_l.texi.
20509         * doc/posix-functions/isupper_l.texi: Renamed from
20510         doc/glibc-functions/isupper_l.texi.
20511         * doc/posix-functions/iswalnum_l.texi: Renamed from
20512         doc/glibc-functions/iswalnum_l.texi.
20513         * doc/posix-functions/iswalpha_l.texi: Renamed from
20514         doc/glibc-functions/iswalpha_l.texi.
20515         * doc/posix-functions/iswblank_l.texi: Renamed from
20516         doc/glibc-functions/iswblank_l.texi.
20517         * doc/posix-functions/iswcntrl_l.texi: Renamed from
20518         doc/glibc-functions/iswcntrl_l.texi.
20519         * doc/posix-functions/iswctype_l.texi: Renamed from
20520         doc/glibc-functions/iswctype_l.texi.
20521         * doc/posix-functions/iswdigit_l.texi: Renamed from
20522         doc/glibc-functions/iswdigit_l.texi.
20523         * doc/posix-functions/iswgraph_l.texi: Renamed from
20524         doc/glibc-functions/iswgraph_l.texi.
20525         * doc/posix-functions/iswlower_l.texi: Renamed from
20526         doc/glibc-functions/iswlower_l.texi.
20527         * doc/posix-functions/iswprint_l.texi: Renamed from
20528         doc/glibc-functions/iswprint_l.texi.
20529         * doc/posix-functions/iswpunct_l.texi: Renamed from
20530         doc/glibc-functions/iswpunct_l.texi.
20531         * doc/posix-functions/iswspace_l.texi: Renamed from
20532         doc/glibc-functions/iswspace_l.texi.
20533         * doc/posix-functions/iswupper_l.texi: Renamed from
20534         doc/glibc-functions/iswupper_l.texi.
20535         * doc/posix-functions/iswxdigit_l.texi: Renamed from
20536         doc/glibc-functions/iswxdigit_l.texi.
20537         * doc/posix-functions/isxdigit_l.texi: Renamed from
20538         doc/glibc-functions/isxdigit_l.texi.
20539         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
20540         doc/glibc-functions/mbsnrtowcs.texi.
20541         * doc/posix-functions/mkdtemp.texi: Renamed from
20542         doc/glibc-functions/mkdtemp.texi.
20543         * doc/posix-functions/newlocale.texi: Renamed from
20544         doc/glibc-functions/newlocale.texi.
20545         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
20546         doc/glibc-functions/nl_langinfo_l.texi.
20547         * doc/posix-functions/open_memstream.texi: Renamed from
20548         doc/glibc-functions/open_memstream.texi.
20549         * doc/posix-functions/opterr.texi: Renamed from
20550         doc/glibc-functions/opterr.texi.
20551         * doc/posix-functions/optind.texi: Renamed from
20552         doc/glibc-functions/optind.texi.
20553         * doc/posix-functions/optopt.texi: Renamed from
20554         doc/glibc-functions/optopt.texi.
20555         * doc/posix-functions/psignal.texi: Renamed from
20556         doc/glibc-functions/psignal.texi.
20557         * doc/posix-functions/scandir.texi: Renamed from
20558         doc/glibc-functions/scandir.texi.
20559         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
20560         doc/glibc-functions/sched_get_priority_min.texi.
20561         * doc/posix-functions/signgam.texi: Renamed from
20562         doc/glibc-functions/signgam.texi.
20563         * doc/posix-functions/stpcpy.texi: Renamed from
20564         doc/glibc-functions/stpcpy.texi.
20565         * doc/posix-functions/stpncpy.texi: Renamed from
20566         doc/glibc-functions/stpncpy.texi.
20567         * doc/posix-functions/strcasecmp_l.texi: Renamed from
20568         doc/glibc-functions/strcasecmp_l.texi.
20569         * doc/posix-functions/strcoll_l.texi: Renamed from
20570         doc/glibc-functions/strcoll_l.texi.
20571         * doc/posix-functions/strfmon_l.texi: Renamed from
20572         doc/glibc-functions/strfmon_l.texi.
20573         * doc/posix-functions/strftime_l.texi: Renamed from
20574         doc/glibc-functions/strftime_l.texi.
20575         * doc/posix-functions/strncasecmp_l.texi: Renamed from
20576         doc/glibc-functions/strncasecmp_l.texi.
20577         * doc/posix-functions/strndup.texi: Renamed from
20578         doc/glibc-functions/strndup.texi.
20579         * doc/posix-functions/strnlen.texi: Renamed from
20580         doc/glibc-functions/strnlen.texi.
20581         * doc/posix-functions/strsignal.texi: Renamed from
20582         doc/glibc-functions/strsignal.texi.
20583         * doc/posix-functions/strxfrm_l.texi: Renamed from
20584         doc/glibc-functions/strxfrm_l.texi.
20585         * doc/posix-functions/timer_gettime.texi: Renamed from
20586         doc/glibc-functions/timer_gettime.texi.
20587         * doc/posix-functions/tolower_l.texi: Renamed from
20588         doc/glibc-functions/tolower_l.texi.
20589         * doc/posix-functions/toupper_l.texi: Renamed from
20590         doc/glibc-functions/toupper_l.texi.
20591         * doc/posix-functions/towctrans_l.texi: Renamed from
20592         doc/glibc-functions/towctrans_l.texi.
20593         * doc/posix-functions/towlower_l.texi: Renamed from
20594         doc/glibc-functions/towlower_l.texi.
20595         * doc/posix-functions/towupper_l.texi: Renamed from
20596         doc/glibc-functions/towupper_l.texi.
20597         * doc/posix-functions/uselocale.texi: Renamed from
20598         doc/glibc-functions/uselocale.texi.
20599         * doc/posix-functions/vdprintf.texi: Renamed from
20600         doc/glibc-functions/vdprintf.texi.
20601         * doc/posix-functions/wcpcpy.texi:
20602         Renamed from doc/glibc-functions/wcpcpy.texi.
20603         * doc/posix-functions/wcpncpy.texi: Renamed from
20604         doc/glibc-functions/wcpncpy.texi.
20605         * doc/posix-functions/wcscasecmp.texi: Renamed from
20606         doc/glibc-functions/wcscasecmp.texi.
20607         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
20608         doc/glibc-functions/wcscasecmp_l.texi.
20609         * doc/posix-functions/wcscoll_l.texi: Renamed from
20610         doc/glibc-functions/wcscoll_l.texi.
20611         * doc/posix-functions/wcsdup.texi: Renamed from
20612         doc/glibc-functions/wcsdup.texi.
20613         * doc/posix-functions/wcsncasecmp.texi: Renamed from
20614         doc/glibc-functions/wcsncasecmp.texi.
20615         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
20616         doc/glibc-functions/wcsncasecmp_l.texi.
20617         * doc/posix-functions/wcsnlen.texi: Renamed from
20618         doc/glibc-functions/wcsnlen.texi.
20619         * doc/posix-functions/wcsnrtombs.texi: Renamed from
20620         doc/glibc-functions/wcsnrtombs.texi.
20621         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
20622         doc/glibc-functions/wcsxfrm_l.texi.
20623         * doc/posix-functions/wctrans_l.texi: Renamed from
20624         doc/glibc-functions/wctrans_l.texi.
20625         * doc/posix-functions/wctype_l.texi: Renamed from
20626         doc/glibc-functions/wctype_l.texi.
20627         * doc/gnulib.texi (Function Substitutes): Add these subsections.
20628         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
20629         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
20630         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
20631         these subsections.
20632         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
20633         Remove sections.
20634
20635 2008-12-14  Bruno Haible  <bruno@clisp.org>
20636
20637         Update doc for POSIX:2008.
20638         * doc/posix-functions/*.texi: Update URL of POSIX specification.
20639
20640 2008-12-14  Bruno Haible  <bruno@clisp.org>
20641
20642         Update doc for POSIX:2008.
20643         * doc/pastposix-functions/bcmp.texi: Renamed from
20644         doc/posix-functions/bcmp.texi.
20645         * doc/pastposix-functions/bcopy.texi: Renamed from
20646         doc/posix-functions/bcopy.texi.
20647         * doc/pastposix-functions/bsd_signal.texi: Renamed from
20648         doc/posix-functions/bsd_signal.texi.
20649         * doc/pastposix-functions/bzero.texi: Renamed from
20650         doc/posix-functions/bzero.texi.
20651         * doc/pastposix-functions/ecvt.texi: Renamed from
20652         doc/posix-functions/ecvt.texi.
20653         * doc/pastposix-functions/fcvt.texi: Renamed from
20654         doc/posix-functions/fcvt.texi.
20655         * doc/pastposix-functions/ftime.texi: Renamed from
20656         doc/posix-functions/ftime.texi.
20657         * doc/pastposix-functions/gcvt.texi: Renamed from
20658         doc/posix-functions/gcvt.texi.
20659         * doc/pastposix-functions/getcontext.texi: Renamed from
20660         doc/posix-functions/getcontext.texi.
20661         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
20662         doc/posix-functions/gethostbyaddr.texi.
20663         * doc/pastposix-functions/gethostbyname.texi: Renamed from
20664         doc/posix-functions/gethostbyname.texi.
20665         * doc/pastposix-functions/getwd.texi: Renamed from
20666         doc/posix-functions/getwd.texi.
20667         * doc/pastposix-functions/h_errno.texi: Renamed from
20668         doc/posix-functions/h_errno.texi.
20669         * doc/pastposix-functions/index.texi: Renamed from
20670         doc/posix-functions/index.texi.
20671         * doc/pastposix-functions/makecontext.texi: Renamed from
20672         doc/posix-functions/makecontext.texi.
20673         * doc/pastposix-functions/mktemp.texi: Renamed from
20674         doc/posix-functions/mktemp.texi.
20675         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
20676         doc/posix-functions/pthread_attr_getstackaddr.texi.
20677         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
20678         doc/posix-functions/pthread_attr_setstackaddr.texi.
20679         * doc/pastposix-functions/rindex.texi: Renamed from
20680         doc/posix-functions/rindex.texi.
20681         * doc/pastposix-functions/scalb.texi: Renamed from
20682         doc/posix-functions/scalb.texi.
20683         * doc/pastposix-functions/setcontext.texi: Renamed from
20684         doc/posix-functions/setcontext.texi.
20685         * doc/pastposix-functions/swapcontext.texi: Renamed from
20686         doc/posix-functions/swapcontext.texi.
20687         * doc/pastposix-functions/ualarm.texi: Renamed from
20688         doc/posix-functions/ualarm.texi.
20689         * doc/pastposix-functions/usleep.texi: Renamed from
20690         doc/posix-functions/usleep.texi.
20691         * doc/pastposix-functions/vfork.texi: Renamed from
20692         doc/posix-functions/vfork.texi.
20693         * doc/pastposix-functions/wcswcs.texi: Renamed from
20694         doc/posix-functions/wcswcs.texi.
20695         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
20696         (Function Substitutes): Update.
20697
20698 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20699
20700         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
20701         m4/strerror.m4.
20702
20703 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20704             Bruno Haible  <bruno@clisp.org>
20705
20706         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
20707
20708 2008-12-13  Bruno Haible  <bruno@clisp.org>
20709
20710         * modules/strtoull (Depends-on): Remove unistd.
20711
20712 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20713
20714         * modules/strtoull (Depends-on): Add stdlib.
20715
20716 2008-12-11  Simon Josefsson  <simon@josefsson.org>
20717
20718         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
20719
20720 2008-12-10  Jim Meyering  <meyering@redhat.com>
20721
20722         gl_ASSERT: don't say assertions are disabled when they're not
20723         * m4/assert.m4 (gl_ASSERT): Do not make configure report
20724         "checking whether to enable assertions... no", when they are in
20725         fact enabled.  This is solely a bug in the output of configure.
20726         In spite of saying "no", NDEBUG was not defined in that case.
20727         Also, as noted by Eric Blake, leave assertions enabled upon
20728         --enable-assert=INVALID.
20729
20730 2008-12-10  Bruno Haible  <bruno@clisp.org>
20731
20732         Change MODULES.html to refer to POSIX:2008 where possible.
20733         * MODULES.html.sh (POSIX2008_URL): New variable.
20734         (posix_headers): Remove sys/timeb, ucontext.
20735         (posix2001_headers): New variable.
20736         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
20737         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
20738         index, makecontext, mktemp, pthread_attr_getstackaddr,
20739         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
20740         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
20741         (posix2001_functions): New variable.
20742         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
20743         otherwise.
20744
20745 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20746
20747         add missing include to parse-duration.c
20748         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
20749         * modules/parse-duration (Depends-on): Add xalloc.
20750
20751         fix sed script reading maint.mk
20752         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
20753         (syntax-check-rules): Use it.
20754
20755 2008-12-09  Bruno Haible  <bruno@clisp.org>
20756
20757         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
20758         MacOS X 10.4/PowerPC.
20759         Reported by Simon Josefsson.
20760
20761 2008-12-08  Jim Meyering  <meyering@redhat.com>
20762
20763         work around mingw's lack of some S_IF definitions
20764         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
20765         Reported by Simon Josefsson.
20766
20767 2008-12-08  Bruno Haible  <bruno@clisp.org>
20768
20769         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
20770         applied to variables. Needed on MacOS X 10.4/PowerPC.
20771         Reported by Simon Josefsson.
20772
20773 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
20774         and Eric Blake  <ebb9@byu.net>
20775
20776         assert: honor --enable-assert
20777         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
20778         order to honor --enable-assert, rather than treating it as a
20779         synonym for --disable-assert.
20780
20781 2008-12-08  Jim Meyering  <meyering@redhat.com>
20782
20783         * lib/posixtm.c: Remove now-useless declaration of mktime.
20784
20785         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
20786
20787 2008-12-07  Bruno Haible  <bruno@clisp.org>
20788
20789         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
20790         test_once): Mark functions as static.
20791         * tests/test-tls.c (test_tls): Likewise.
20792
20793 2008-12-07  Bruno Haible  <bruno@clisp.org>
20794
20795         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
20796         iconv_register_autodetect.
20797
20798 2008-12-07  Jim Meyering  <meyering@redhat.com>
20799
20800         posixtm.c: avoid a warning
20801         * lib/posixtm.c (posixtime): Don't initialize tm0.
20802         It's no longer needed to placate gcc4's -Wuninitialized,
20803         and the attempt to placate would elicit a new warning.
20804
20805         unicodeio.c: mark unused parameters
20806         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20807         (fallback_failure_callback): Likewise.
20808
20809 2008-12-07  Bruno Haible  <bruno@clisp.org>
20810
20811         * gnulib-tool (func_create_testdir): When building the tests
20812         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
20813         Reported by Simon Josefsson.
20814
20815 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20816
20817         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
20818
20819 2008-12-06  Bruno Haible  <bruno@clisp.org>
20820
20821         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
20822         Suggested by Eric Blake.
20823
20824 2008-12-06  Bruno Haible  <bruno@clisp.org>
20825
20826         Fix a c-stack test failure on MacOS X.
20827         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
20828         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
20829         handler for SIGBUS as well.
20830         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
20831         install a signal handler for SIGBUS as well.
20832         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
20833
20834 2008-12-06  Bruno Haible  <bruno@clisp.org>
20835
20836         Advocacy documentation.
20837         * doc/gnulib-intro.texi (Benefits): New section.
20838         * doc/gnulib.texi: Update.
20839
20840 2008-12-06  Bruno Haible  <bruno@clisp.org>
20841
20842         Document the 'manywarnings' module.
20843         * doc/manywarnings.texi: New file.
20844         * doc/gnulib.texi: Include it.
20845
20846 2008-12-05  Eric Blake  <ebb9@byu.net>
20847
20848         tests: silence some gcc warnings
20849         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
20850         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
20851         type mismatches.
20852
20853 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20854             Bruno Haible  <bruno@clisp.org>
20855
20856         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
20857
20858 2008-11-29  Jim Meyering  <meyering@redhat.com>
20859
20860         unicodeio.c: mark unused parameters
20861         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20862         (fallback_failure_callback): Likewise.
20863
20864         fts: fix a thinko
20865         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
20866         (set_stat_type): Return S_IF*-valued "type" directly.
20867         Prompted by James Youngman's spotting a related bug.
20868         Confirmed by further testing through find.
20869
20870         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
20871         * lib/fts.c (D_TYPE): Define.
20872         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
20873         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
20874         (s_ifmt_shift_bits): New function.
20875         (set_stat_type): New function.
20876         (fts_build): When not calling fts_stat, call set_stat_type
20877         to propagate dirent.d_type info to fts_read caller.
20878         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
20879         fts_statp->st_mode type information may be valid.
20880
20881 2008-11-28  Simon Josefsson  <simon@josefsson.org>
20882
20883         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
20884         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
20885         <sds@gnu.org>.
20886
20887 2008-11-20  Bruno Haible  <bruno@clisp.org>
20888
20889         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
20890         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
20891         INCLUDE_NEXT.
20892         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
20893         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
20894         * modules/math (Makefile.am): Substitute
20895         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
20896         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20897
20898 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
20899             Bruno Haible  <bruno@clisp.org>
20900
20901         * lib/stdint.in.h: Define all type macros so that their expansion is
20902         a single typedef'ed token. Fixes a compilation failure in Boost which
20903         does "using ::int8_t;".
20904
20905 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20906
20907         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
20908         gl_MANYWARN_ALL_GCC.
20909         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
20910         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
20911         * modules/manywarnings: New file.
20912         * MODULES.html.sh: Mention manywarnings module.
20913
20914 2008-11-18  Bruno Haible  <bruno@clisp.org>
20915
20916         * doc/gnulib-tool.texi (Unit tests): New section.
20917
20918 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20919
20920         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
20921         paths like 'lib/po/foo.po'.
20922
20923 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20924
20925         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
20926         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
20927
20928 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20929
20930         * m4/warnings.m4: Use CPPFLAGS to really check whether the
20931         parameter works.
20932
20933 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20934
20935         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
20936
20937 2008-11-17  Bruce Korb  <bkorb@gnu.org>
20938
20939         * modules/parse-duration-tests: New file.
20940         * tests/test-parse-duration.sh: New file.
20941         * tests/test-parse-duration.c: New file.
20942
20943         New module 'parse-duration'.
20944         * lib/parse-duration.h: New file.
20945         * lib/parse-duration.c: New file.
20946         * modules/parse-duration: New file.
20947
20948 2008-11-17  Bruno Haible  <bruno@clisp.org>
20949
20950         * tests/test-select-out.sh: Comment out the first pipe test.
20951         Reported by Simon Josefsson.
20952
20953 2008-11-17  Bruno Haible  <bruno@clisp.org>
20954
20955         * modules/getaddrinfo (Depends-on): Add servent, hostent.
20956         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
20957         gl_HOSTENT.
20958
20959 2008-11-17  Bruno Haible  <bruno@clisp.org>
20960
20961         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
20962         -lnetwork and -lnet. Needed for Haiku and BeOS.
20963
20964 2008-11-16  Bruno Haible  <bruno@clisp.org>
20965
20966         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
20967
20968 2008-11-16  Bruno Haible  <bruno@clisp.org>
20969
20970         Avoid test failure on Haiku.
20971         * tests/test-fsync.c: Include <errno.h>.
20972         (main): Don't require that fsync (0) fails.
20973
20974 2008-11-15  Bruno Haible  <bruno@clisp.org>
20975
20976         New module 'hostent'.
20977         * modules/hostent: New file.
20978         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
20979
20980 2008-11-15  Bruno Haible  <bruno@clisp.org>
20981
20982         New module 'servent'.
20983         * modules/servent: New file.
20984         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
20985
20986 2008-11-15  Bruno Haible  <bruno@clisp.org>
20987
20988         Avoid generating same test program with two different rules.
20989         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
20990         test-frexp to test-frexp-nolibm.
20991         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
20992         test-frexpl to test-frexpl-nolibm.
20993
20994 2008-11-15  Bruno Haible  <bruno@clisp.org>
20995
20996         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
20997         $(FREXPL_LIBM).
20998
20999 2008-11-15  Bruno Haible  <bruno@clisp.org>
21000
21001         * lib/netdb.in.h: Activate the definitions also when the system's
21002         <netdb.h> has 'struct addrinfo'.
21003         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
21004         EAI_OVERFLOW or AI_NUMERICSERV.
21005         * doc/posix-headers/netdb.texi: Document the problem.
21006
21007 2008-11-15  Bruno Haible  <bruno@clisp.org>
21008
21009         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
21010
21011         Make the 'sched' module work on platforms where <sched.h> exists but
21012         is incomplete (such as Haiku).
21013         * lib/sched.in.h; Include the system's <sched.h> if it exists.
21014         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
21015         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
21016         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
21017         HAVE_STRUCT_SCHED_PARAM.
21018         * modules/sched (Depends-on): Add include_next.
21019         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
21020         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
21021         * doc/posix-headers/sched.texi: Document the issue.
21022
21023 2008-11-13  Jim Meyering  <meyering@redhat.com>
21024
21025         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
21026         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
21027         test would fail due to the difference in the Report bugs to ...
21028         line.  The expected address is empty, "<>", while the actual
21029         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
21030
21031 2008-11-12  Bruno Haible  <bruno@clisp.org>
21032
21033         lstat: don't compile lstat.c on systems lacking lstat
21034         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
21035         which don't have lstat; this is handled by lib/sys_stat.in.h already.
21036         Reported by Daniel P. Berrange via Jim Meyering.
21037
21038 2008-11-12  Jim Meyering  <meyering@redhat.com>
21039
21040         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
21041
21042 2008-11-12  Simon Josefsson  <simon@josefsson.org>
21043
21044         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
21045         instead.
21046
21047 2008-11-12  Bruno Haible  <bruno@clisp.org>
21048
21049         * lib/unicodeio.c: Include unistr.h.
21050         (utf8_wctomb): Remove function.
21051         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
21052
21053 2008-11-12  Simon Josefsson  <simon@josefsson.org>
21054
21055         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
21056         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
21057         <bruno@clisp.org>.
21058         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
21059
21060 2008-11-12  Simon Josefsson  <simon@josefsson.org>
21061
21062         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
21063         * doc/gnulib.texi: Add section for warnings.
21064
21065 2008-11-11  Bruno Haible  <bruno@clisp.org>
21066
21067         * lib/sockets.h: Add a comment.
21068
21069 2008-11-11  Karl Berry  <karl@gnu.org>
21070
21071         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
21072
21073 2008-11-11  Eric Blake  <ebb9@byu.net>
21074
21075         fdl.texi: avoid git symlinks
21076         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
21077
21078 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
21079
21080         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
21081
21082 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
21083
21084         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
21085         (gl_WARN_ADD): Substitute $2 if literal.
21086
21087 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
21088
21089         * m4/warning.m4: Remove.
21090
21091 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
21092
21093         * m4/warnings.m4: Almost complete rewrite. :-)
21094
21095 2008-11-10  Simon Josefsson  <simon@josefsson.org>
21096
21097         * modules/warnings: New module.
21098         * m4/warnings.m4: New file.
21099         * MODULES.html.sh: Mention warnings module.
21100         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
21101         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21102
21103 2008-11-10  Eric Blake  <ebb9@byu.net>
21104
21105         fdl.texi: make a symlink to the latest version
21106         * doc/standards.texi: Revert today's earlier change.
21107         * doc/fdl-1.2.texi: Rename from old fdl.texi...
21108         * doc/fdl.texi: ...and replace this with a symlink to the newer
21109         fdl-1.3.texi.
21110
21111 2008-11-10  Bruno Haible  <bruno@clisp.org>
21112
21113         * tests/test-select-fd.c (main): Accept the result file name as fourth
21114         argument.
21115         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
21116         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
21117
21118 2008-11-10  Bruno Haible  <bruno@clisp.org>
21119
21120         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
21121         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
21122         as autoconf-substituted macros.
21123         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
21124         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
21125         gl_NETDB_H_DEFAULTS. Set these variables.
21126         * modules/netdb (Makefile.am): Substitute these variables.
21127
21128 2008-11-10  Eric Blake  <ebb9@byu.net>
21129
21130         standards.texi: include correct file for FDL 1.3
21131         * doc/standards.texi (GNU Free Documentation License): Change
21132         include file to pull in FDL 1.3, not 1.2.
21133
21134         fdl.texi: revert accidental change to license
21135         * doc/fdl.texi: This is FDL 1.2, not 1.3.
21136
21137 2008-11-10  Bruno Haible  <bruno@clisp.org>
21138
21139         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
21140         cross-compiling guesses also when the native compile gives no result.
21141
21142 2008-11-10  Bruno Haible  <bruno@clisp.org>
21143
21144         * lib/spawni.c (__spawni): Force variable into the stack.
21145
21146 2008-11-10  Bruno Haible  <bruno@clisp.org>
21147
21148         Add support for Haiku.
21149         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
21150         glibc and BeOS, but also on Haiku.
21151         * lib/fpurge.c (fpurge): Likewise.
21152         * lib/freadable.c (freadable): Likewise.
21153         * lib/freadahead.c (freadahead): Likewise.
21154         * lib/freading.c (freading): Likewise.
21155         * lib/freadptr.c (freadptr): Likewise.
21156         * lib/freadseek.c (freadptrinc): Likewise.
21157         * lib/fseeko.c (rpl_fseeko): Likewise.
21158         * lib/fseterr.c (fseterr): Likewise.
21159         * lib/fwritable.c (fwritable): Likewise.
21160         * lib/fwriting.c (fwriting): Likewise.
21161         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
21162
21163 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
21164
21165         * lib/config.charset: Treat Haiku like BeOS.
21166
21167 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
21168
21169         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
21170         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
21171
21172 2008-11-08  Bruno Haible  <bruno@clisp.org>
21173
21174         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
21175         AC_CACHE_CHECK.
21176
21177 2008-11-08  Bruno Haible  <bruno@clisp.org>
21178
21179         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
21180
21181 2008-11-08  Bruno Haible  <bruno@clisp.org>
21182
21183         * tests/test-select-fd.c: New file.
21184         * tests/test-select-in.sh: New file.
21185         * tests/test-select-out.sh: New file.
21186         * tests/test-select-stdin.c: New file.
21187         * modules/select-tests (Files): Add the new files.
21188         (Depends-on): Add gettimeofday.
21189         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
21190         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
21191         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
21192
21193 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
21194             Bruno Haible  <bruno@clisp.org>
21195
21196         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
21197
21198 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
21199
21200         * build-aux/pmccabe2html: Added support for C++ source files.
21201
21202 2008-11-05  Ben Pfaff  <blp@gnu.org>
21203
21204         Fix lib/close.c build on Windows.
21205         * modules/close (Files): Add lib/w32sock.h.
21206
21207 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
21208
21209         Accept Bison's NEWS format.
21210         * build-aux/announce-gen (print_news_deltas): Tweak
21211         $re_prefix.
21212
21213 2008-11-04  Bruno Haible  <bruno@clisp.org>
21214
21215         * modules/random_r (Maintainer): Add glibc.
21216
21217 2008-11-04  Simon Josefsson  <simon@josefsson.org>
21218
21219         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
21220         by karl@freefriends.org (Karl Berry).
21221         * doc/alloca.texi: Likewise.
21222         * doc/c-ctype.texi: Likewise.
21223         * doc/c-strcase.texi: Likewise.
21224         * doc/c-strcaseeq.texi: Likewise.
21225         * doc/c-strcasestr.texi: Likewise.
21226         * doc/c-strstr.texi: Likewise.
21227         * doc/c-strtod.texi: Likewise.
21228         * doc/c-strtold.texi: Likewise.
21229         * doc/ctime.texi: Likewise.
21230         * doc/error.texi: Likewise.
21231         * doc/fdl.texi: Likewise.
21232         * doc/gcd.texi: Likewise.
21233         * doc/getdate.texi: Likewise.
21234         * doc/gnulib-intro.texi: Likewise.
21235         * doc/gnulib-tool.texi: Likewise.
21236         * doc/gnulib.texi: Likewise.
21237         * doc/inet_ntoa.texi: Likewise.
21238         * doc/maintain.texi: Likewise.
21239         * doc/make-stds.texi: Likewise.
21240         * doc/quote.texi: Likewise.
21241         * doc/regexprops-generic.texi: Likewise.
21242         * doc/standards.texi: Likewise.
21243         * doc/verify.texi: Likewise.
21244         * doc/visibility.texi: Likewise.
21245         * doc/gnulib.texi (GNU Free Documentation License): Include
21246         fdl-1.3.texi instead of fdl.texi.
21247
21248 2008-11-04  Simon Josefsson  <simon@josefsson.org>
21249
21250         * doc/fdl-1.3.texi: New file, from
21251         <http://www.gnu.org/licenses/fdl-1.3.texi>.
21252         * modules/fdl-1.3: Add.
21253         * MODULES.html.sh: Add fdl-1.3.
21254
21255 2008-11-03  Bruno Haible  <bruno@clisp.org>
21256
21257         Make determination of absolute name of header file work with AIX xlc.
21258         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
21259         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
21260         preprocessing.
21261         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
21262         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
21263
21264 2008-11-03  Simon Josefsson  <simon@josefsson.org>
21265
21266         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
21267         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
21268         <ludo@gnu.org>.
21269
21270 2008-11-02  Bruno Haible  <bruno@clisp.org>
21271
21272         Mark 'strpbrk' obsolete.
21273         * modules/strpbrk (Status, Notice): New sections.
21274         * modules/strtok_r (Depends-on): Add strpbrk.
21275
21276 2008-11-02  Bruno Haible  <bruno@clisp.org>
21277
21278         Mark 'strdup' obsolete.
21279         * modules/strdup (Status, Notice): New sections.
21280         * modules/findprog (Depends-on): Add strdup.
21281         * modules/getaddrinfo (Depends-on): Likewise.
21282         * modules/localename (Depends-on): Likewise.
21283         * modules/relocatable-lib (Depends-on): Likewise.
21284         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
21285         * modules/relocatable-prog (Depends-on): Likewise.
21286         * modules/trim (Depends-on): Likewise.
21287         * modules/unictype/gen-ctype (Depends-on): Likewise.
21288         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
21289
21290 2008-11-02  Bruno Haible  <bruno@clisp.org>
21291
21292         Mark 'strcspn' obsolete.
21293         * modules/strcspn (Status, Notice): New sections.
21294
21295 2008-11-02  Bruno Haible  <bruno@clisp.org>
21296
21297         Mark 'rmdir' obsolete.
21298         * modules/rmdir (Status, Notice): New sections.
21299         * modules/clean-temp (Depends-on): Add rmdir.
21300         * modules/openat (Depends-on): Likewise.
21301
21302 2008-11-02  Bruno Haible  <bruno@clisp.org>
21303
21304         Mark 'raise' obsolete.
21305         * modules/raise (Status, Notice): New sections.
21306         (Include): Specify <signal.h>.
21307         * modules/stdio (Depends-on): Add raise.
21308         * modules/write (Depends-on): Likewise.
21309
21310 2008-11-02  Bruno Haible  <bruno@clisp.org>
21311
21312         Mark 'memset' obsolete.
21313         * modules/memset (Status, Notice): New sections.
21314
21315 2008-11-02  Bruno Haible  <bruno@clisp.org>
21316
21317         Mark 'memmove' obsolete.
21318         * modules/memmove (Status, Notice): New sections.
21319         * modules/argp (Depends-on): Add memmove.
21320         * modules/argz (Depends-on): Likewise.
21321         * modules/canonicalize (Depends-on): Likewise.
21322         * modules/canonicalize-lgpl (Depends-on): Likewise.
21323         * modules/fts (Depends-on): Likewise.
21324         * modules/getcwd (Depends-on): Likewise.
21325         * modules/human (Depends-on): Likewise.
21326         * modules/regex (Depends-on): Likewise.
21327         * modules/striconveh (Depends-on): Likewise.
21328         * modules/trim (Depends-on): Likewise.
21329         * modules/unistr/u8-move (Depends-on): Likewise.
21330         * modules/unistr/u16-move (Depends-on): Likewise.
21331         * modules/unistr/u32-move (Depends-on): Likewise.
21332
21333 2008-11-02  Bruno Haible  <bruno@clisp.org>
21334
21335         Mark 'memcpy' obsolete.
21336         * modules/memcpy (Status, Notice): New sections.
21337
21338 2008-11-02  Bruno Haible  <bruno@clisp.org>
21339
21340         Mark 'memcmp' obsolete.
21341         * modules/memcmp (Status, Notice): New sections.
21342         * modules/argmatch (Depends-on): Add memchr.
21343         * modules/backupfile (Depends-on): Likewise.
21344         * modules/c-strcasestr (Depends-on): Likewise.
21345         * modules/crypto/des (Depends-on): Likewise.
21346         * modules/csharpcomp (Depends-on): Likewise.
21347         * modules/fnmatch (Depends-on): Likewise.
21348         * modules/git-merge-changelog (Depends-on): Likewise.
21349         * modules/isnand (Depends-on): Likewise.
21350         * modules/isnand-nolibm (Depends-on): Likewise.
21351         * modules/isnanf (Depends-on): Likewise.
21352         * modules/isnanf-nolibm (Depends-on): Likewise.
21353         * modules/isnanl (Depends-on): Likewise.
21354         * modules/isnanl-nolibm (Depends-on): Likewise.
21355         * modules/mbchar (Depends-on): Likewise.
21356         * modules/memcoll (Depends-on): Likewise.
21357         * modules/quotearg (Depends-on): Likewise.
21358         * modules/regex (Depends-on): Likewise.
21359         * modules/relocatable-prog (Depends-on): Likewise.
21360         * modules/same (Depends-on): Likewise.
21361         * modules/signbit (Depends-on): Likewise.
21362         * modules/strcasestr-simple (Depends-on): Likewise.
21363         * modules/unictype/gen-ctype (Depends-on): Likewise.
21364         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
21365         * modules/uniname/uniname (Depends-on): Likewise.
21366         * modules/unistr/u8-cmp (Depends-on): Likewise.
21367
21368 2008-11-02  Bruno Haible  <bruno@clisp.org>
21369
21370         Mark 'memchr' obsolete.
21371         * modules/memchr (Status, Notice): New sections.
21372         * modules/argp (Depends-on): Add memchr.
21373         * modules/base64 (Depends-on): Likewise.
21374         * modules/c-strcasestr (Depends-on): Likewise.
21375         * modules/chdir-long (Depends-on): Likewise.
21376         * modules/fnmatch (Depends-on): Likewise.
21377         * modules/getsubopt (Depends-on): Likewise.
21378         * modules/git-merge-changelog (Depends-on): Likewise.
21379         * modules/glob (Depends-on): Likewise.
21380         * modules/strcasestr-simple (Depends-on): Likewise.
21381         * modules/strnlen (Depends-on): Likewise.
21382
21383 2008-11-02  Bruno Haible  <bruno@clisp.org>
21384
21385         Mark 'atexit' obsolete.
21386         * modules/atexit (Status, Notice): New sections.
21387         * modules/chdir-long (Depends-on): Add atexit.
21388         * modules/wait-process (Depends-on): Likewise.
21389
21390 2008-11-02  Bruno Haible  <bruno@clisp.org>
21391
21392         * gnulib-tool: New option --with-obsolete.
21393         (func_usage): Document it.
21394         (func_modules_transitive_closure): Drop obsolete dependencies if
21395         incobsolete is not true.
21396         (func_import): Read and save the incobsolete variable to the cache.
21397
21398 2008-11-02  Bruno Haible  <bruno@clisp.org>
21399
21400         * modules/TEMPLATE-EXTENDED: New field 'Status'.
21401         * gnulib-tool: New option --extract-status.
21402         (func_usage): Document it.
21403         (sed_extract_prog): Recognize it.
21404         (func_get_status): New function.
21405
21406 2008-10-30  Simon Josefsson  <simon@josefsson.org>
21407
21408         * modules/sockets (License): Change from LGPL to LGPLv2+.
21409
21410 2008-10-28  Simon Josefsson  <simon@josefsson.org>
21411
21412         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
21413
21414 2008-10-28  Simon Josefsson  <simon@josefsson.org>
21415
21416         * MODULES.html.sh (Support for systems lacking POSIX:2001):
21417         Mention times and sys_times.
21418         * modules/sys_times, modules/sys_times-tests: New modules.
21419         * modules/times, modules/times-tests: Likewise
21420         * m4/sys_times_h.m4: New file.
21421         * lib/sys_times.in.h: Likewise
21422         * lib/times.c: Likewise.
21423         * tests/test-sys_times.c: Likewise.
21424         * tests/test-times.c: Likewise.
21425         * doc/posix-headers/sys_times.texi: Update.
21426         * doc/posix-functions/times.texi: Update.
21427
21428 2008-10-28  Jim Meyering  <meyering@redhat.com>
21429
21430         * modules/tempname (Depends-on): Add lstat.
21431
21432         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
21433
21434 2008-10-28  Simon Josefsson  <simon@josefsson.org>
21435
21436         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
21437         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
21438         using idiom used elsewhere in gnulib.
21439
21440 2008-10-27  Jim Meyering  <meyering@redhat.com>
21441
21442         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
21443
21444 2008-10-27  Simon Josefsson  <simon@josefsson.org>
21445
21446         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
21447         TESTS_ENVIRONMENT, for shell scripts that needs to call built
21448         programs.
21449         * tests/test-argp-2.sh: Use $EXEEXT when needed.
21450
21451 2008-10-27  Simon Josefsson  <simon@josefsson.org>
21452
21453         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
21454
21455 2008-10-27  Bruno Haible  <bruno@clisp.org>
21456
21457         * tests/test-lstat.c: Include <stdio.h>.
21458
21459 2008-10-27  Simon Josefsson  <simon@josefsson.org>
21460
21461         * modules/lstat-tests: New module.
21462         * tests/test-lstat.c: New file.
21463
21464 2008-10-26  Jim Meyering  <meyering@redhat.com>
21465
21466         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
21467
21468 2008-10-26  Simon Josefsson  <simon@josefsson.org>
21469             Bruno Haible  <bruno@clisp.org>
21470
21471         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
21472         * modules/configmake (Include): Add a note that the include must come
21473         after all system headers.
21474         * lib/javaversion.c: Include configmake.h after all other includes.
21475
21476 2008-10-26  Bruno Haible  <bruno@clisp.org>
21477
21478         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
21479         HAVE_STRUCT_RANDOM_DATA to 1.
21480         (gl_STDLIB_H): Simplify.
21481
21482 2008-10-26  Simon Josefsson  <simon@josefsson.org>
21483
21484         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
21485         substitute HAVE_STRUCT_RANDOM_DATA.
21486         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
21487         random_data.
21488         * modules/stdlib (Makefile.am): Substitute
21489         HAVE_STRUCT_RANDOM_DATA.
21490
21491 2008-10-26  Simon Josefsson  <simon@josefsson.org>
21492
21493         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
21494         * doc/gnulib-intro.texi (Copyright): Likewise.
21495
21496 2008-10-26  Simon Josefsson  <simon@josefsson.org>
21497
21498         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
21499         findings.
21500
21501 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
21502             Bruno Haible  <bruno@clisp.org>
21503
21504         * lib/unistd.in.h: Include <winsock2.h>.
21505         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
21506         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
21507         Provide dummy declarations.
21508         (gethostname): Override.
21509         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
21510         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
21511         gl_PREREQ_SYS_H_WINSOCK2.
21512         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
21513         * doc/posix-functions/gethostname.texi: More details.
21514
21515 2008-10-25  Bruno Haible  <bruno@clisp.org>
21516
21517         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
21518         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
21519         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
21520
21521         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
21522         here ...
21523         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
21524         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
21525         gl_UNISTD_H_DEFAULTS.
21526
21527 2008-10-25  Eric Blake  <ebb9@byu.net>
21528
21529         signbit: avoid spurious compiler failure
21530         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
21531         declarations inside function.
21532
21533 2008-10-24  Simon Josefsson  <simon@josefsson.org>
21534             Bruno Haible  <bruno@clisp.org>
21535
21536         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
21537         * modules/random_r (Depends-on): Add stdint.
21538
21539 2008-10-24  Bruno Haible  <bruno@clisp.org>
21540
21541         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
21542         Eggert.
21543         * modules/strerror (License): Likewise.
21544
21545 2008-10-24  Jim Meyering  <meyering@redhat.com>
21546
21547         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
21548         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
21549
21550 2008-10-24  Eric Blake  <ebb9@byu.net>
21551
21552         getgroups: fix compilation when getgroups is available
21553         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
21554         but with <config.h> override of getgroups disabled.
21555
21556 2008-10-24  Simon Josefsson  <simon@josefsson.org>
21557
21558         * doc/gnulib.texi (Header files): Add note about C++ problems.
21559         Explained by Bruno Haible <bruno@clisp.org>.
21560
21561 2008-10-23  Bruno Haible  <bruno@clisp.org>
21562
21563         Define a dummy SA_NODEFER macro on Interix.
21564         * lib/signal.in.h (SA_NODEFER): Define fallback.
21565         Reported by Aleksey Cheusov <cheusov@tut.by> via
21566         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
21567
21568 2008-10-23  Bruno Haible  <bruno@clisp.org>
21569
21570         * modules/freadahead (License): Change to LGPLv2+.
21571         Suggested by Simon Josefsson.
21572
21573 2008-10-23  Jim Meyering  <meyering@redhat.com>
21574
21575         random_r: new module
21576         * modules/random_r: New file.
21577         * m4/random_r.m4: New file.
21578         * lib/random_r.c: New file, from glibc.
21579         * modules/random_r-tests: New file.
21580         * tests/test-random_r.c: New file.
21581         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
21582          Declare.
21583         (RAND_MAX): Define.
21584         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
21585         * modules/stdlib: Substitute them, too.
21586         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
21587         * doc/glibc-functions/initstate_r.texi: Mention the new module.
21588         * doc/glibc-functions/random_r.texi: Likewise.
21589         * doc/glibc-functions/setstate_r.texi: Likewise.
21590         * doc/glibc-functions/srandom_r.texi: Likewise.
21591         * config/srclist.txt: Mention it.
21592
21593 2008-10-23  David Lutterkort  <lutter@redhat.com>
21594
21595         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
21596         link requirement
21597
21598 2008-10-23  Jim Meyering  <meyering@redhat.com>
21599
21600         selinux-h: mark parameters of stub functions as intentionally unused
21601         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
21602         * lib/se-context.in.h: Likewise.
21603
21604 2008-10-22  Simon Josefsson  <simon@josefsson.org>
21605
21606         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
21607
21608 2008-10-22  Simon Josefsson  <simon@josefsson.org>
21609
21610         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
21611
21612 2008-10-22  Eric Blake  <ebb9@byu.net>
21613
21614         glthread/thread: avoid compiler warning
21615         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
21616         Add unreachable abort to silence compiler.
21617
21618 2008-10-22  Eric Blake  <ebb9@byu.net>
21619
21620         netdb: also supply struct addrinfo for cygwin 1.5.x
21621         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
21622         older cygwin.
21623         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
21624         cygwin.
21625         * doc/posix-headers/netdb.texi (netdb.h): Document this.
21626
21627 2008-10-22  Bruno Haible  <bruno@clisp.org>
21628
21629         * users.txt: Update entry about pspp.
21630
21631 2008-10-21  Bruno Haible  <bruno@clisp.org>
21632
21633         Simplification.
21634         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
21635         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
21636
21637         Simplification.
21638         * lib/ioctl.c (ioctl): Don't undefine.
21639         * lib/socket.c (socket): Don't undefine.
21640
21641         Remove unused module indicator macros.
21642         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
21643         GNULIB_$1 as a C macro.
21644
21645         * doc/posix-functions/close.texi: Undo last change.
21646         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
21647         Windows platforms.
21648
21649 2008-10-21  Bruno Haible  <bruno@clisp.org>
21650
21651         Add gethostname() declaration to <unistd.h>.
21652         * lib/unistd.in.h (gethostname): New declaration.
21653         * lib/gethostname.c: Include <unistd.h>.
21654         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
21655         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
21656         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
21657         and HAVE_GETHOSTNAME.
21658         * modules/gethostname (Depends-on): Add unistd.
21659         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21660         (Include): Specify <unistd.h>.
21661         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
21662         HAVE_GETHOSTNAME.
21663         * tests/test-gethostname.c: Include <unistd.h> first.
21664
21665 2008-10-21  Bruno Haible  <bruno@clisp.org>
21666
21667         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
21668         * modules/select-tests (Depends-on): Likewise.
21669         Reported by Simon Josefsson.
21670
21671 2008-10-21  Simon Josefsson  <simon@josefsson.org>
21672
21673         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
21674         * lib/accept.c: New file, based on winsock.c.
21675         * lib/bind.c: New file, based on winsock.c.
21676         * lib/connect.c: New file, based on winsock.c.
21677         * lib/getpeername.c: New file, based on winsock.c.
21678         * lib/getsockname.c: New file, based on winsock.c.
21679         * lib/getsockopt.c: New file, based on winsock.c.
21680         * lib/ioctl.c: New file, based on winsock.c.
21681         * lib/listen.c: New file, based on winsock.c.
21682         * lib/recv.c: New file, based on winsock.c.
21683         * lib/recvfrom.c: New file, based on winsock.c.
21684         * lib/send.c: New file, based on winsock.c.
21685         * lib/sendto.c: New file, based on winsock.c.
21686         * lib/setsockopt.c: New file, based on winsock.c.
21687         * lib/shutdown.c: New file, based on winsock.c.
21688         * lib/socket.c: New file, based on winsock.c.
21689         * lib/w32sock.h: New file, based on winsock.c.
21690         * lib/winsock.c: Remove file.
21691         * modules/accept: Likewise.
21692         * modules/bind: Likewise.
21693         * modules/connect: Likewise.
21694         * modules/getpeername: Likewise.
21695         * modules/getsockname: Likewise.
21696         * modules/getsockopt: Likewise.
21697         * modules/ioctl: Likewise.
21698         * modules/listen: Likewise.
21699         * modules/recv: Likewise.
21700         * modules/recvfrom: Likewise.
21701         * modules/send: Likewise.
21702         * modules/sendto: Likewise.
21703         * modules/setsockopt: Likewise.
21704         * modules/shutdown: Likewise.
21705         * modules/socket: Use socket.c instead of winsock.c.
21706         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
21707         * doc/posix-functions/accept.texi: Doc fix.
21708         * doc/posix-functions/bind.texi: Doc fix.
21709         * doc/posix-functions/close.texi: Doc fix.
21710         * doc/posix-functions/connect.texi: Doc fix.
21711         * doc/posix-functions/getpeername.texi: Doc fix.
21712         * doc/posix-functions/getsockname.texi: Doc fix.
21713         * doc/posix-functions/getsockopt.texi: Doc fix.
21714         * doc/posix-functions/ioctl.texi: Doc fix.
21715         * doc/posix-functions/listen.texi: Doc fix.
21716         * doc/posix-functions/recv.texi: Doc fix.
21717         * doc/posix-functions/recvfrom.texi: Doc fix.
21718         * doc/posix-functions/send.texi: Doc fix.
21719         * doc/posix-functions/sendto.texi: Doc fix.
21720         * doc/posix-functions/setsockopt.texi: Doc fix.
21721         * doc/posix-functions/shutdown.texi: Doc fix.
21722         * doc/posix-functions/socket.texi: Doc fix.
21723
21724 2008-10-20  Bruno Haible  <bruno@clisp.org>
21725
21726         Take into account the role of SIGABRT_COMPAT on Windows 2008.
21727         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
21728         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
21729         as an alias for SIGABRT.
21730         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
21731         (sigaction): Map it to SIGABRT.
21732         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
21733
21734 2008-10-20  Bruno Haible  <bruno@clisp.org>
21735
21736         * lib/fts.c: Don't include lstat.h.
21737         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
21738
21739         Move the lstat() declaration to <sys/stat.h>.
21740         * lib/lstat.h: Remove file.
21741         * lib/sys_stat.in.h: Add special invocation convention.
21742         (lstat): New declaration.
21743         * lib/lstat.c (orig_lstat): New function.
21744         (rpl_lstat): Use orig_lstat instead of lstat.
21745         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
21746         AC_C_INLINE. Set REPLACE_LSTAT.
21747         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
21748         and REPLACE_LSTAT.
21749         * modules/lstat (Files): Remove lib/lstat.h.
21750         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21751         (Include): Specify <sys/stat.h> instead of lstat.h.
21752         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
21753         REPLACE_LSTAT.
21754         * NEWS: Mention the change.
21755
21756 2008-10-20  Bruno Haible  <bruno@clisp.org>
21757
21758         * modules/posix_spawn-tests: New file.
21759         * tests/test-posix_spawn3.c: New file.
21760
21761 2008-10-20  Bruno Haible  <bruno@clisp.org>
21762
21763         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
21764         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21765         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
21766         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21767         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
21768
21769 2008-10-20  Bruno Haible  <bruno@clisp.org>
21770
21771         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
21772         of posix_spawn on AIX 5.3.
21773
21774 2008-10-20  Bruno Haible  <bruno@clisp.org>
21775
21776         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
21777
21778 2008-10-20  Bruno Haible  <bruno@clisp.org>
21779
21780         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
21781         of AC_LANG_PROGRAM.
21782
21783 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21784
21785         * lib/netdb.in.h: Don't define GNU specific constants until they
21786         are supported or needed.  Reported by Bruno Haible
21787         <bruno@clisp.org>.
21788
21789 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21790
21791         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
21792
21793 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21794
21795         * lib/getaddrinfo.h: Remove file.
21796         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
21797         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
21798         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
21799         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
21800         * modules/netdb: Substitute GNULIB_GETADDRINFO.
21801         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
21802         * tests/test-getaddrinfo.c: Likewise.
21803         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
21804         * NEWS: Mention change.
21805
21806 2008-10-19  Bruno Haible  <bruno@clisp.org>
21807
21808         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
21809
21810 2008-10-19  Bruno Haible  <bruno@clisp.org>
21811
21812         * lib/wait-process.c: Include simply <sys/wait.h>.
21813         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
21814         WIFSTOPPED): Remove fallback definitions.
21815         * modules/wait-process (Depends-on): Add sys_wait.
21816
21817         New module 'sys_wait'.
21818         * modules/sys_wait: New file.
21819         * lib/sys_wait.in.h: New file, partially copied from
21820         lib/wait-process.c.
21821         * m4/sys_wait_h.m4: New file.
21822         * doc/posix-headers/sys_wait.texi: Mention the new module.
21823
21824 2008-10-19  Bruno Haible  <bruno@clisp.org>
21825
21826         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
21827
21828 2008-10-19  Bruno Haible  <bruno@clisp.org>
21829
21830         Assume that waitpid() fills an 'int' status, not a 'union wait'.
21831         * lib/wait-process.c (WAIT_T): Remove type.
21832         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
21833         (wait_subprocess): Update.
21834
21835 2008-10-19  Bruno Haible  <bruno@clisp.org>
21836
21837         New module 'atoll'.
21838         * modules/atoll: New file.
21839         * lib/stdlib.in.h (atoll): New declaration.
21840         * lib/atoll.c: New file, from glibc with modifications.
21841         * m4/atoll.m4: New file.
21842         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
21843         HAVE_ATOLL.
21844         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
21845         * doc/posix-functions/atoll.texi: Mention the new module.
21846
21847 2008-10-19  Bruno Haible  <bruno@clisp.org>
21848
21849         Add strtoull() declaration to <stdlib.h>.
21850         * lib/stdlib.in.h (strtoull): New declaration.
21851         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21852         Set HAVE_STRTOULL.
21853         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
21854         HAVE_STRTOULL.
21855         * modules/strtoull (Depends-on): Add stdlib.
21856         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21857         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
21858         HAVE_STRTOULL.
21859
21860 2008-10-19  Bruno Haible  <bruno@clisp.org>
21861
21862         Add strtoll() declaration to <stdlib.h>.
21863         * lib/stdlib.in.h (strtoll): New declaration.
21864         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21865         Set HAVE_STRTOLL.
21866         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
21867         HAVE_STRTOLL.
21868         * modules/strtoll (Depends-on): Add stdlib.
21869         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21870         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
21871
21872 2008-10-19  Bruno Haible  <bruno@clisp.org>
21873
21874         * modules/bcopy (Depends-on): Add strings.
21875         (Include): Specify <strings.h>.
21876
21877 2008-10-19  Bruno Haible  <bruno@clisp.org>
21878
21879         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
21880
21881 2008-10-19  Bruno Haible  <bruno@clisp.org>
21882
21883         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
21884         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
21885         mingw.
21886
21887 2008-10-19  Bruno Haible  <bruno@clisp.org>
21888
21889         * lib/atanl.c: Don't include isnanl.h.
21890         * lib/cosl.c: Likewise.
21891         * lib/ldexpl.c: Likewise.
21892         * lib/logl.c: Likewise.
21893         * lib/sinl.c: Likewise.
21894         * lib/sqrtl.c: Likewise.
21895         * lib/tanl.c: Likewise.
21896
21897         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
21898         * lib/isnanf.h: Remove file.
21899         * lib/isnand.h: Remove file.
21900         * lib/isnanl.h: Remove file.
21901         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
21902         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
21903         macros.
21904         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
21905         HAVE_ISNANF, don't define it as a C macro.
21906         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
21907         HAVE_ISNAND, don't define it as a C macro.
21908         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
21909         HAVE_ISNANL, don't define it as a C macro.
21910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
21911         HAVE_ISNAN[FDL].
21912         * modules/isnanf (Files): Remove lib/isnanf.h.
21913         (Depends-on): Add math.
21914         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21915         (Include): Specify <math.h> instead of isnanf.h.
21916         * modules/isnand (Files): Remove lib/isnand.h.
21917         (Depends-on): Add math.
21918         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21919         (Include): Specify <math.h> instead of isnand.h.
21920         * modules/isnanl (Files): Remove lib/isnanl.h.
21921         (Depends-on): Add math.
21922         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21923         (Include): Specify <math.h> instead of isnanl.h.
21924         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
21925         HAVE_ISNAN[FDL].
21926         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
21927         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
21928         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
21929         * NEWS: Mention the change.
21930
21931 2008-10-18  Bruno Haible  <bruno@clisp.org>
21932
21933         Add getusershell(), setusershell(), endusershell() declarations to
21934         <unistd.h>.
21935         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
21936         declarations.
21937         * lib/getusershell.c: Include unistd.h.
21938         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
21939         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21940         HAVE_GETUSERSHELL.
21941         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
21942         and HAVE_GETUSERSHELL.
21943         * modules/getusershell (Depends-on): Add unistd, extensions.
21944         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21945         (Include): Specify <unistd.h>.
21946         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
21947         HAVE_GETUSERSHELL.
21948
21949 2008-10-18  Bruno Haible  <bruno@clisp.org>
21950
21951         Add a getloadavg() declaration to <stdlib.h>.
21952         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
21953         getloadavg declaration.
21954         (getloadavg): New declaration.
21955         * lib/getloadavg.c: Include <stdlib.h> first.
21956         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
21957         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
21958         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
21959         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
21960         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21961         * modules/getloadavg (Depends-on): Add stdlib, extensions.
21962         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21963         (Include): Specify <stdlib.h>.
21964         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
21965         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21966
21967 2008-10-18  Bruno Haible  <bruno@clisp.org>
21968
21969         * lib/dirchownmod.c: Don't include lchmod.h.
21970
21971         Move the lchmod() declaration to <sys/stat.h>.
21972         * lib/lchmod.h: Remove file.
21973         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
21974         (lchmod): New declaration, moved here from lib/lchown.h.
21975         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
21976         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
21977         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
21978         and HAVE_LCHMOD.
21979         * modules/lchmod (Files): Remove lib/lchmod.h.
21980         (Depends-on): Add sys_stat, extensions.
21981         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21982         (Include): Specify <sys/stat.h> instead of lchmod.h.
21983         * modules/sys_stat (Depends-on): Add link-warning.
21984         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
21985         definition of GL_LINK_WARNING.
21986         * NEWS: Mention the change.
21987
21988 2008-10-18  Bruno Haible  <bruno@clisp.org>
21989
21990         * lib/fchdir.c: Don't include dirfd.h.
21991         * lib/fts.c: Likewise.
21992         * lib/getcwd.c: Likewise.
21993         * lib/glob.c: Likewise.
21994
21995         Move the dirfd() declaration to <dirent.h>.
21996         * lib/dirfd.h: Remove file.
21997         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
21998         (dirfd): New declaration.
21999         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
22000         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
22001         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
22002         HAVE_DECL_DIRFD.
22003         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
22004         HAVE_DECL_DIRFD.
22005         * modules/dirfd (Files): Remove lib/dirfd.h.
22006         (Depends-on): Add dirent, extensions.
22007         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
22008         (Include): Specify <dirent.h> instead of dirfd.h.
22009         * modules/dirent (Depends-on): Add link-warning.
22010         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
22011         definition of GL_LINK_WARNING.
22012         * NEWS: Mention the change.
22013
22014 2008-10-18  Bruno Haible  <bruno@clisp.org>
22015
22016         Move the euidaccess() declaration to <unistd.h>.
22017         * lib/euidaccess.h: Remove file.
22018         * lib/unistd.in.h (euidaccess): New declaration.
22019         * lib/euidaccess.c: Don't include euidaccess.h.
22020         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
22021         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
22022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
22023         and HAVE_EUIDACCESS.
22024         * modules/euidaccess (Files): Remove lib/euidaccess.h.
22025         (Depends-on): Add unistd.
22026         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
22027         (Include): Specify <unistd.h> instead of euidaccess.h.
22028         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
22029         HAVE_EUIDACCESS.
22030         * NEWS: Mention the change.
22031
22032 2008-10-18  Bruno Haible  <bruno@clisp.org>
22033
22034         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
22035
22036         Move the getdomainname() declaration to <unistd.h>.
22037         * lib/getdomainname.h: Remove file.
22038         * lib/unistd.in.h (getdomainname): New declaration.
22039         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
22040         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22041         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
22042         HAVE_GETDOMAINNAME.
22043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22044         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
22045         * modules/getdomainname (Files): Remove lib/getdomainname.h.
22046         (Depends-on): Add unistd, extensions.
22047         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
22048         (Includes): Specify <unistd.h> instead of getdomainname.h.
22049         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
22050         HAVE_GETDOMAINNAME.
22051         * NEWS: Mention the change.
22052
22053 2008-10-18  Bruno Haible  <bruno@clisp.org>
22054
22055         * modules/dirent: New file.
22056         * m4/dirent_h.m4: New file.
22057         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
22058         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
22059         * modules/fchdir (Files): Remove lib/dirent.in.h.
22060         (Depends-on): Add dirent.
22061         (Makefile.am): Move rules to modules/dirent.
22062         * doc/posix-headers/dirent.texi: Mention the new module.
22063
22064 2008-10-18  Bruno Haible  <bruno@clisp.org>
22065
22066         Avoid -Wunused-parameter warnings in public gnulib header files.
22067         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
22068         macro.
22069         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
22070
22071 2008-10-18  Bruno Haible  <bruno@clisp.org>
22072
22073         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
22074         * doc/glibc-functions/error.texi: Mention the module 'error'.
22075         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
22076         * doc/glibc-functions/getdomainname.texi: Mention the module
22077         'getdomainname'.
22078         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
22079         * doc/glibc-functions/getpagesize.texi: Mention the module
22080         'getpagesize'.
22081         * doc/glibc-functions/getusershell.texi: Mention the module
22082         'getusershell'.
22083         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
22084         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
22085         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
22086         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
22087         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
22088         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
22089         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
22090         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
22091         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
22092         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
22093         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
22094         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
22095         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
22096         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
22097
22098 2008-10-17  Bruno Haible  <bruno@clisp.org>
22099
22100         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
22101         HP-UX and IRIX, use -0.0L.
22102         * tests/test-ceill.c (minus_zero): Likewise.
22103         * tests/test-floorl.c (minus_zero): Likewise.
22104         * tests/test-frexpl.c (minus_zero): Likewise.
22105         * tests/test-isnan.c (minus_zerol): Likewise.
22106         * tests/test-isnanl.h (minus_zero): Likewise.
22107         * tests/test-ldexpl.c (minus_zero): Likewise.
22108         * tests/test-roundl.c (minus_zero): Likewise.
22109         * tests/test-signbit.c (minus_zerol): Likewise.
22110         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
22111         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
22112         * tests/test-truncl.c (minus_zero): Likewise.
22113         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
22114         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
22115         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
22116         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
22117
22118 2008-10-17  Bruno Haible  <bruno@clisp.org>
22119
22120         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
22121         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
22122         that it gets activated only for gcc >= 3.0.
22123         * lib/dirent.in.h: Likewise.
22124         * lib/errno.in.h: Likewise.
22125         * lib/fcntl.in.h: Likewise.
22126         * lib/float.in.h: Likewise.
22127         * lib/iconv.in.h: Likewise.
22128         * lib/inttypes.in.h: Likewise.
22129         * lib/locale.in.h: Likewise.
22130         * lib/math.in.h: Likewise.
22131         * lib/netdb.in.h: Likewise.
22132         * lib/netinet_in.in.h: Likewise.
22133         * lib/search.in.h: Likewise.
22134         * lib/signal.in.h: Likewise.
22135         * lib/spawn.in.h: Likewise.
22136         * lib/stdarg.in.h: Likewise.
22137         * lib/stdint.in.h: Likewise.
22138         * lib/stdio.in.h: Likewise.
22139         * lib/stdlib.in.h: Likewise.
22140         * lib/string.in.h: Likewise.
22141         * lib/strings.in.h: Likewise.
22142         * lib/sys_file.in.h: Likewise.
22143         * lib/sys_ioctl.in.h: Likewise.
22144         * lib/sys_select.in.h: Likewise.
22145         * lib/sys_socket.in.h: Likewise.
22146         * lib/sys_stat.in.h: Likewise.
22147         * lib/sys_time.in.h: Likewise.
22148         * lib/sysexits.in.h: Likewise.
22149         * lib/time.in.h: Likewise.
22150         * lib/unistd.in.h: Likewise.
22151         * lib/wchar.in.h: Likewise.
22152         * lib/wctype.in.h: Likewise.
22153         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22154
22155 2008-10-17  Jim Meyering  <meyering@redhat.com>
22156
22157         ignore-value: don't depend on inline module
22158         * modules/ignore-value (Depends-on): Remove 'inline'.
22159         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
22160         Suggestion from Bruno Haible.
22161
22162 2008-10-17  Bruno Haible  <bruno@clisp.org>
22163
22164         New implementation of condition variables for Win32.
22165         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
22166         (gl_linked_waitqueue_t): New type.
22167         (gl_cond_t): Use it.
22168         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
22169         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
22170         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
22171         (glthread_cond_init_func, glthread_cond_wait_func,
22172         glthread_cond_timedwait_func, glthread_cond_signal_func,
22173         glthread_cond_broadcast_func, glthread_cond_destroy_func):
22174         Reimplemented on the basis of gl_linked_waitqueue_t.
22175         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
22176         gl_waitqueue_t.
22177         (gl_rwlock_t): Update.
22178         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
22179
22180 2008-10-17  Simon Josefsson  <simon@josefsson.org>
22181
22182         * modules/recvfrom (Depends-on): Add dependency on getpeername.
22183         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
22184
22185 2008-10-17  Jim Meyering  <meyering@redhat.com>
22186
22187         ignore-value: new module
22188         * modules/ignore-value: New file.
22189         * lib/ignore-value.h: New file.
22190         * MODULES.html.sh (Compiler warning management): New section,
22191         just for this module.  More to come.
22192
22193 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22194
22195         open-safer.c: avoid 'signed and unsigned in conditional...' warning
22196         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
22197         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
22198
22199 2008-10-16  Jim Meyering  <meyering@redhat.com>
22200
22201         openat-die.c: avoid 'no previous prototype' warning
22202         * lib/openat-die.c: Include "openat.h".
22203         Reported by Reuben Thomas <rrt@sc3d.org>.
22204
22205 2008-10-16  Simon Josefsson  <simon@josefsson.org>
22206
22207         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
22208         * lib/netdb.in.h: Fix typo.
22209         Reported by Bruno Haible  <bruno@clisp.org>
22210
22211         * lib/netdb.in.h: Include sys/socket.h for platforms without
22212         netdb.h, to get structures like hostent on MinGW.
22213         * modules/netdb (Depends-on): Add sys_socket.
22214
22215 2008-10-15  Simon Josefsson  <simon@josefsson.org>
22216
22217         * modules/netdb, modules/netdb-tests: New file.
22218         * m4/netdb_h.m4: New file.
22219         * lib/netdb.in.h: Add, currently just an empty file pending
22220         definitions.
22221         * tests/test-netdb.c: New file.
22222         * doc/posix-headers/netdb.texi: Mention that we replace it if
22223         needed.
22224         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22225         netdb.
22226
22227 2008-10-15  Simon Josefsson  <simon@josefsson.org>
22228
22229         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
22230         with code.
22231
22232 2008-10-13  Bruno Haible  <bruno@clisp.org>
22233
22234         * lib/glthread/cond.c (glthread_cond_wait_func,
22235         glthread_cond_timedwait_func): Add a comment.
22236
22237 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22238
22239         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
22240         * tests/test-select.c: Likewise,
22241
22242 2008-10-13  Bruno Haible  <bruno@clisp.org>
22243
22244         * lib/glthread/cond.c (glthread_cond_wait_func,
22245         glthread_cond_timedwait_func): Fix variable name.
22246         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
22247
22248 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
22249
22250         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
22251         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
22252         struct sockaddr.sa_len.
22253         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
22254
22255 2008-10-13  Simon Josefsson  <simon@josefsson.org>
22256
22257         * build-aux/pmccabe2html: Add css and css_url parameters.
22258
22259 2008-10-12  Bruno Haible  <bruno@clisp.org>
22260
22261         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
22262         calling aclx_get.
22263         Reported by Rainer Tammer <tammer@tammer.net>.
22264
22265 2008-10-12  Bruno Haible  <bruno@clisp.org>
22266
22267         Use msvcrt aware primitives for creation/termination of Win32 threads.
22268         * lib/glthread/thread.c: Include <process.h>.
22269         (glthread_create_func): Use _beginthreadex instead of CreateThread.
22270         (wrapper_func): Update signature.
22271         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
22272
22273 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22274             Bruno Haible  <bruno@clisp.org>
22275
22276         Provide a Win32 implementation of the 'cond' module.
22277         * lib/glthread/cond.h [USE_WIN32]: New implementation.
22278         * lib/glthread/cond.c (glthread_cond_init_func,
22279         glthread_cond_wait_func, glthread_cond_timedwait_func,
22280         glthread_cond_signal_func, glthread_cond_broadcast_func,
22281         glthread_cond_destroy_func) [USE_WIN32]: New functions.
22282         * modules/cond (Dependencies): Add gettimeofday.
22283
22284 2008-10-11  Bruno Haible  <bruno@clisp.org>
22285
22286         Make sleep work on older versions of mingw.
22287         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
22288         only whether it exists.
22289         * doc/posix-functions/sleep.texi: Mention the problem with older
22290         versions of mingw.
22291
22292 2008-10-11  Bruno Haible  <bruno@clisp.org>
22293
22294         New module 'shutdown'.
22295         * modules/shutdown: New file.
22296         * lib/sys_socket.in.h (shutdown): New declaration.
22297         * lib/winsock.c (shutdown): New function.
22298         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22299         GNULIB_SHUTDOWN.
22300         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
22301         * doc/posix-functions/shutdown.texi: Document the new module.
22302
22303 2008-10-11  Jim Meyering  <meyering@redhat.com>
22304
22305         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
22306
22307 2008-10-11  Bruno Haible  <bruno@clisp.org>
22308
22309         New module 'fclose'.
22310         * modules/fclose: New file.
22311         * lib/stdio.in.h (fclose): New declaration.
22312         * lib/fclose.c: New file.
22313         * m4/fclose.m4: New file.
22314         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
22315         REPLACE_FCLOSE.
22316         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
22317         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
22318         REPLACE_FCLOSE.
22319         * modules/close (Depends-on): fclose.
22320         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
22321
22322 2008-10-11  Bruno Haible  <bruno@clisp.org>
22323
22324         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
22325         set errno and don't call _close.
22326
22327 2008-10-10  Bruno Haible  <bruno@clisp.org>
22328
22329         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
22330         ACL, not afterwards. Fixes test failure on Cygwin.
22331
22332 2008-10-09  Ben Pfaff  <blp@gnu.org>
22333
22334         * build-aux/announce-gen: Fix gnulib version related part of usage
22335         message.  Die with a useful error message if no tarballs are
22336         found.
22337
22338 2008-10-10  Jim Meyering  <meyering@redhat.com>
22339
22340         bootstrap: use git's --depth=N option only if it's supported
22341         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
22342         recognize the --depth option.  Reported by Pádraig Brady.
22343
22344 2008-10-09  Bruno Haible  <bruno@clisp.org>
22345
22346         New module 'ioctl'.
22347         * modules/ioctl: New file.
22348         * lib/sys_socket.in.h (ioctl): Remove declaration.
22349         * lib/winsock.c: Include <sys/ioctl.h>.
22350         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
22351         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
22352         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
22353         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
22354         * doc/posix-functions/ioctl.texi: Mention the new module.
22355
22356 2008-10-09  Bruno Haible  <bruno@clisp.org>
22357
22358         New module 'sys_ioctl'.
22359         * lib/sys_ioctl.in.h: New file.
22360         * m4/sys_ioctl_h.m4: New file.
22361         * modules/sys_ioctl: New file.
22362         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
22363
22364 2008-10-09  Bruno Haible  <bruno@clisp.org>
22365
22366         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
22367         * lib/winsock.c: Include <stdarg.h>.
22368         (rpl_ioctl): Change to second argument 'int' and then varargs.
22369
22370 2008-10-09  Bruno Haible  <bruno@clisp.org>
22371
22372         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
22373         when the sys_socket module is present and the system has <winsock2.h>.
22374
22375 2008-10-09  Bruno Haible  <bruno@clisp.org>
22376
22377         * doc/posix-functions/close.texi: Mention module 'close' instead of
22378         module 'sys_socket'.
22379
22380 2008-10-09  Bruno Haible  <bruno@clisp.org>
22381
22382         * doc/glibc-headers/sys_ioctl.texi: New file.
22383         * doc/gnulib.texi: Include it.
22384
22385 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22386             Bruno Haible  <bruno@clisp.org>
22387
22388         Combine the two replacements of 'close'.
22389         * lib/sys_socket.in.h (close): Define to a reminder to include
22390         <unistd.h>.
22391         (_gl_close_fd_maybe_socket): New declaration.
22392         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
22393         * lib/winsock.c (close): Remove undefinition.
22394         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
22395         needed for the gnulib module 'close'.
22396         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
22397         define to an error symbol or to a warning, if suitable.
22398         * lib/close.c: Include <sys/socket.h>.
22399         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
22400         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
22401         UNISTD_H_HAVE_WINSOCK2_H.
22402         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
22403         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22404         UNISTD_H_HAVE_WINSOCK2_H.
22405         * modules/sys_socket (Files): Add m4/unistd_h.m4.
22406         (configure.ac): Set a module indicator.
22407         (Makefile.am): Substitute GNULIB_CLOSE.
22408         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
22409         * modules/poll-tests (Depends-on): Add close.
22410         * modules/select-tests (Depends-on): Likewise.
22411
22412 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22413             Bruno Haible  <bruno@clisp.org>
22414
22415         New module 'close'.
22416         * modules/close: New file.
22417         * lib/unistd.in.h (close): Move declaration out of the
22418         FCHDIR_REPLACEMENT scope.
22419         (_gl_unregister_fd): New declaration.
22420         * lib/close.c: New file.
22421         * lib/fchdir.c (rpl_close): Remove function.
22422         * m4/close.m4: New file.
22423         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
22424         close.
22425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
22426         REPLACE_CLOSE.
22427         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
22428         REPLACE_CLOSE.
22429         * modules/fchdir (Depends-on): Add close.
22430
22431 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22432             Bruno Haible  <bruno@clisp.org>
22433
22434         * lib/fcntl.in.h (open): Simplify conditionals.
22435         (_gl_register_fd): New declaration.
22436         * lib/fchdir.c (rpl_open): Remove function.
22437         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
22438         also.
22439         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
22440         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
22441         open.
22442
22443 2008-10-09  Jim Meyering  <meyering@redhat.com>
22444
22445         GNUmakefile: use the more name-space-friendly "_version"
22446         * top/GNUmakefile (_dummy): Update.
22447         (_version): Rename from "version".
22448
22449 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22450             Bruno Haible  <bruno@clisp.org>
22451
22452         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
22453         rpl_close.
22454         (_gl_register_fd): New function, extracted from rpl_open.
22455         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
22456         (rpl_open, rpl_opendir): Use _gl_register_fd.
22457
22458 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22459
22460         Fix organization of 'open' replacement.
22461         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
22462         (gl_FUNC_OPEN): Use it.
22463         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
22464
22465 2008-10-08  Bruno Haible  <bruno@clisp.org>
22466
22467         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
22468
22469 2008-10-08  Simon Josefsson  <simon@josefsson.org>
22470
22471         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
22472         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
22473         listen).
22474
22475 2008-10-08  Eric Blake  <ebb9@byu.net>
22476
22477         GNUmakefile: add 'make version' target
22478         * top/GNUmakefile (_curr-ver): Split version update rules...
22479         (version): ...into a target.
22480
22481 2008-10-07  Bruno Haible  <bruno@clisp.org>
22482
22483         Use a more portable replacement expression for -0.0L.
22484         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
22485         instead of -0.0L. Fix m4 quotation.
22486
22487         * tests/test-signbit.c: Include <float.h>.
22488         (minus_zero): New variable.
22489         (test_signbitl): Use minus_zero instead of -zero.
22490         * modules/signbit-tests (Depends-on): Add float.
22491
22492         * tests/test-ceill.c: Include <float.h>.
22493         (zero): Remove variable.
22494         (minus_zero): New variable.
22495         (main): Use minus_zero instead of -zero.
22496         * modules/ceill-tests (Depends-on): Add float.
22497
22498         * tests/test-floorl.c: Include <float.h>.
22499         (zero): Remove variable.
22500         (minus_zero): New variable.
22501         (main): Use minus_zero instead of -zero.
22502         * modules/floorl-tests (Depends-on): Add float.
22503
22504         * tests/test-roundl.c: Include <float.h>.
22505         (zero): Remove variable.
22506         (minus_zero): New variable.
22507         (main): Use minus_zero instead of -zero.
22508         * modules/roundl-tests (Depends-on): Add float.
22509
22510         * tests/test-truncl.c: Include <float.h>.
22511         (zero): Remove variable.
22512         (minus_zero): New variable.
22513         (main): Use minus_zero instead of -zero.
22514         * modules/truncl-tests (Depends-on): Add float.
22515
22516         * tests/test-frexpl.c (zero): Remove variable.
22517         (minus_zero): New variable.
22518         (main): Use minus_zero instead of -zero.
22519         * modules/frexpl-tests (Depends-on): Add float.
22520
22521         * tests/test-isnan.c (zerol): Remove variable.
22522         (minus_zerol): New variable.
22523         (test_long_double): Use minus_zerol instead of -zerol.
22524         * modules/isnan-tests (Depends-on): Add float.
22525
22526         * tests/test-isnanl.h (zero): Remove variable.
22527         (minus_zero): New variable.
22528         (main): Use minus_zero instead of -zero.
22529         * modules/isnanl-nolibm-tests (Depends-on): Add float.
22530         * modules/isnanl-tests (Depends-on): Add float.
22531
22532         * tests/test-ldexpl.c (zero): Remove variable.
22533         (minus_zero): New variable.
22534         (main): Use minus_zero instead of -zero.
22535         * modules/ldexpl-tests (Depends-on): Add float.
22536
22537         * tests/test-snprintf-posix.h (zerol): Remove variable.
22538         (minus_zerol): New variable.
22539         (test_function): Use minus_zerol instead of -zerol.
22540         * modules/snprintf-posix-tests (Depends-on): Add float.
22541         * modules/vsnprintf-posix-tests (Depends-on): Add float.
22542
22543         * tests/test-sprintf-posix.h (zerol): Remove variable.
22544         (minus_zerol): New variable.
22545         (test_function): Use minus_zerol instead of -zerol.
22546         * modules/sprintf-posix-tests (Depends-on): Add float.
22547         * modules/vsprintf-posix-tests (Depends-on): Add float.
22548
22549         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
22550         (minus_zerol): New variable.
22551         (test_function): Use minus_zerol instead of -zerol.
22552         * modules/vasnprintf-posix-tests (Depends-on): Add float.
22553
22554         * tests/test-vasprintf-posix.c (zerol): Remove variable.
22555         (minus_zerol): New variable.
22556         (test_function): Use minus_zerol instead of -zerol.
22557         * modules/vasprintf-posix-tests (Depends-on): Add float.
22558
22559 2008-10-07  Simon Josefsson  <simon@josefsson.org>
22560
22561         * MODULES.html.sh (Support for building documentation): Mention
22562         pmccabe2html.  Sort entries.
22563
22564         Add pmccabe2html module, from gnupdf.
22565         * build-aux/pmccabe.css: New file.
22566         * build-aux/pmccabe2html: New file.
22567         * m4/pmccabe2html.m4: New file.
22568         * modules/pmccabe2html: New file.
22569
22570 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
22571
22572         flock: new module
22573         * MODULES.html.sh: Add to list of modules.
22574         * lib/flock.c: flock implementation for Windows and Unix systems
22575         which have fcntl.
22576         * doc/glibc-functions/flock.texi: Update documentation.
22577         * lib/sys_file.in.h: <sys/file.h> header file.
22578         * m4/flock.m4: M4 macros.
22579         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
22580         * modules/flock: flock module.
22581         * modules/flock-tests: flock tests module.
22582         * modules/sys_file: sys/file.h module.
22583         * tests/test-flock.c: test suite for flock.
22584
22585 2008-10-06  Jim Meyering  <meyering@redhat.com>
22586
22587         bootstrap: check for LT_INIT more portably still ;-)
22588         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
22589         Spotted by Bruno Haible.
22590
22591 2008-10-06  Eric Blake  <ebb9@byu.net>
22592
22593         test-signbit: avoid tripping Irix cc bug on -0.0L
22594         * tests/test-signbit.c (minus_zerol): Delete, and replace with
22595         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
22596         entire testsuite consistent and avoids an Irix 6.2 bug.
22597
22598 2008-10-05  Bruno Haible  <bruno@clisp.org>
22599             Jim Meyering  <jim@meyering.net>
22600
22601         Add an option for ignoring EPIPE during close_stdout.
22602         * lib/closeout.h: Include <stdbool.h>.
22603         (close_stdout_set_ignore_EPIPE): New declaration.
22604         * lib/closeout.c: Include <stdbool.h>.
22605         (ignore_EPIPE): New variable.
22606         (close_stdout_set_ignore_EPIPE): New function.
22607         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
22608         * lib/close-stream.c (close_stream): Mention the possible EPIPE
22609         failure.
22610         * modules/closeout (Depends-on): Add stdbool.
22611
22612 2008-10-05  Bruno Haible  <bruno@clisp.org>
22613
22614         * modules/accept: New file.
22615         * modules/bind: New file.
22616         * modules/connect: New file.
22617         * modules/getpeername: New file.
22618         * modules/getsockname: New file.
22619         * modules/getsockopt: New file.
22620         * modules/listen: New file.
22621         * modules/recv: New file.
22622         * modules/recvfrom: New file.
22623         * modules/send: New file.
22624         * modules/sendto: New file.
22625         * modules/setsockopt: New file.
22626         * modules/socket: New file.
22627         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
22628         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
22629         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
22630         the particular module is requested. Add a link warning when the
22631         particular module is not requested.
22632         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
22633         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
22634         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
22635         the particular module is requested.
22636         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
22637         gl_SYS_SOCKET_H_DEFAULTS): New macros.
22638         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
22639         * modules/sys_socket (Depends-on): Add link-warning.
22640         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
22641         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
22642         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
22643         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
22644         GL_LINK_WARNING.
22645         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
22646         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
22647         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
22648         * doc/posix-functions/getpeername.texi: Mention the new module
22649         'getpeername'.
22650         * doc/posix-functions/getsockname.texi: Mention the new module
22651         'getsockname'.
22652         * doc/posix-functions/getsockopt.texi: Mention the new module
22653         'getsockopt'.
22654         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
22655         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
22656         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
22657         * doc/posix-functions/send.texi: Mention the new module 'send'.
22658         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
22659         * doc/posix-functions/setsockopt.texi: Mention the new module
22660         'setsockopt'.
22661         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
22662         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
22663         listen, connect, accept.
22664         * modules/select-tests (Depends-on): Likewise.
22665
22666 2008-10-05  Bruno Haible  <bruno@clisp.org>
22667
22668         * lib/winsock.c (strerror): Remove unused #undef.
22669         (rpl_close): Remove unused local variable.
22670
22671         * modules/sys_socket (Depends-on); Add errno.
22672
22673 2008-10-05  Bruno Haible  <bruno@clisp.org>
22674
22675         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
22676         (select): Add a link warning when the 'select' module is not used.
22677         * modules/sys_select (Depends-on): Add link-warning.
22678         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
22679         Suggested by Paolo Bonzini.
22680
22681 2008-10-05  Jim Meyering  <meyering@redhat.com>
22682
22683         bootstrap: check for LT_INIT more portably
22684         * build-aux/bootstrap: Avoid using grep -E, since it's not
22685         portable enough.  Suggestion from Bruno Haible.
22686
22687 2008-10-05  Bruno Haible  <bruno@clisp.org>
22688
22689         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
22690         as being fixed by gnulib.
22691
22692 2008-10-05  Bruno Haible  <bruno@clisp.org>
22693
22694         * modules/select-tests: New file, mostly copied from
22695         modules/sys_select-tests.
22696         * tests/test-select.c: New file, mostly copied from
22697         tests/test-sys_select.c.
22698         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
22699         * modules/sys_select-tests (Depends-on): Remove all dependencies.
22700         (Makefile.am): Remove test_sys_select_LDADD.
22701
22702         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
22703         to an undefined symbol, for an error message.
22704         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
22705         (gl_SYS_SELECT_H_DEFAULTS): New macro.
22706         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
22707         winsock-select.c here.
22708         * modules/sys_select (Files): Remove lib/winsock-select.c.
22709         (Depends-on): Remove alloca.
22710         (Makefile.am): Substitute GNULIB_SELECT.
22711         * modules/select: New file.
22712         * doc/posix-functions/select.texi: Update.
22713
22714 2008-10-05  Bruno Haible  <bruno@clisp.org>
22715
22716         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
22717         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
22718         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
22719         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
22720         getdtablesize.
22721         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
22722         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
22723
22724 2008-10-05  Bruno Haible  <bruno@clisp.org>
22725
22726         * modules/getdtablesize-tests: New file.
22727         * tests/test-getdtablesize.c: New file.
22728
22729         New module 'getdtablesize'.
22730         * lib/unistd.in.h (getdtablesize): New declaration.
22731         * lib/getdtablesize.c: New file.
22732         * m4/getdtablesize.m4: New file.
22733         * modules/getdtablesize: New file.
22734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22735         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
22736         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
22737         HAVE_GETDTABLESIZE.
22738         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
22739
22740 2008-10-05  Bruno Haible  <bruno@clisp.org>
22741
22742         * modules/sched (Makefile.am): Fix typo.
22743         Reported by Simon Josefsson.
22744
22745 2008-10-05  Jim Meyering  <meyering@redhat.com>
22746
22747         bootstrap: check for LT_INIT, too
22748         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
22749         are deprecated.  Suggestion from Ralf Wildenhues.
22750
22751 2008-10-05  Bruno Haible  <bruno@clisp.org>
22752
22753         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
22754         overriding them by ours.
22755         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
22756
22757 2008-10-05  Jim Meyering  <meyering@redhat.com>
22758
22759         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
22760         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
22761         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
22762
22763 2008-10-04  Bruno Haible  <bruno@clisp.org>
22764
22765         * modules/dup2 (License): Change to LGPLv2+.
22766         * modules/sleep (License): Likewise.
22767         * modules/perror (License): Likewise.
22768         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
22769         Blake.
22770         * modules/signal (License): Likewise.
22771         * modules/sigprocmask (License): Likewise.
22772         * modules/raise (License): Change to LGPLv2+, with approval by Jim
22773         Meyering.
22774
22775 2008-10-04  Bruno Haible  <bruno@clisp.org>
22776
22777         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
22778         Reported by Rainer Tammer <tammer@tammer.net>.
22779
22780 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
22781             Bruno Haible  <bruno@clisp.org>
22782
22783         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
22784         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
22785         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
22786
22787 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
22788
22789         filevercmp: new module
22790         * lib/filevercmp.h: New function filevercmp comparing version strings.
22791         * lib/filevercmp.c: Implementation of filevercmp function.
22792         * modules/filevercmp: Module metadata.
22793         * tests/test-filevercmp.c: Unit test for new module.
22794         * modules/filevercmp-tests: Unit test metadata.
22795         * MODULES.html.sh: Add filevercmp module.
22796
22797 2008-10-03  Bruno Haible  <bruno@clisp.org>
22798
22799         * lib/c-ctype.h: Add comment.
22800         Reported by Jim Meyering.
22801
22802 2008-10-02  Bruno Haible  <bruno@clisp.org>
22803
22804         * modules/posix_spawn-internal (Depends-on): Add 'open'.
22805
22806 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22807
22808         * build-aux/bootstrap: Allow renaming bootstrap, and change the
22809         name of bootstrap.conf accordingly.
22810
22811 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22812
22813         * build-aux/bootstrap: Install git-merge-changelog configuration
22814         items into .gitconfig if needed.
22815
22816 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22817
22818         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
22819         git repository, and initialize/update it accordingly.
22820
22821 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
22822
22823         * modules/fsync-tests: New file.
22824         * tests/test-fsync.c: New file.
22825
22826         New module 'fsync'.
22827         * lib/fsync.c: New file.
22828         * m4/fsync.m4: New file.
22829         * modules/fsync: New file.
22830         * lib/unistd.in.h (fsync): New declaration.
22831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
22832         GNULIB_FSYNC and HAVE_FSYNC.
22833         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
22834         * MODULES.html.sh (posix_functions): Add fsync.
22835         * doc/posix-functions/fsync.texi: Mention the new module.
22836
22837 2008-10-02  Jim Meyering  <meyering@redhat.com>
22838
22839         fts.c: sync with similar code from coreutils' remove.c
22840         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
22841         Guard also with "#if defined __linux__", since for now at least,
22842         this code is Linux-kernel-specific.
22843
22844 2008-10-02  Jim Meyering  <meyering@redhat.com>
22845
22846         fts: bug fixes
22847         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
22848         Include <sys/vfs.h>, not <sys/statfs.h>.
22849
22850         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
22851         Include <sys/vfs.h>, not <sys/statfs.h>.
22852
22853 2008-10-01  Bruno Haible  <bruno@clisp.org>
22854
22855         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
22856         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
22857         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
22858         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
22859         * doc/posix-functions/posix_spawnp.texi: Likewise.
22860         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
22861         whether posix_spawn actually works.
22862         * m4/pipe.m4 (gl_PIPE): Likewise.
22863         * modules/execute (Files): Add m4/posix_spawn.m4.
22864         * modules/pipe (Files): Add m4/posix_spawn.m4.
22865         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
22866
22867 2008-10-01  Jim Meyering  <meyering@redhat.com>
22868
22869         remove trailing spaces
22870         * NEWS: Likewise.
22871         * lib/poll.c (poll): Likewise.
22872         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
22873         * lib/winsock.c (rpl_close): Likewise.
22874         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
22875         * modules/yield: Likewise.
22876         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
22877         * tests/test-sys_select.c (connect_to_socket): Likewise.
22878
22879         fts.c: adjust a new interface to be more generally useful
22880         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
22881         (fts_build): Adjust caller.
22882
22883 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22884
22885         * modules/cond-tests: New file.
22886         * tests/test-cond.c: New file.
22887
22888 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22889             Bruno Haible  <bruno@clisp.org>
22890
22891         * modules/cond (Dependencies): Add errno, time.
22892         * lib/glthread/cond.h: Include <time.h>.
22893         (gl_cond_define, gl_cond_define_initialized): Use the same definition
22894         across platforms.
22895
22896 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22897             Bruno Haible  <bruno@clisp.org>
22898
22899         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
22900
22901 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22902             Bruno Haible  <bruno@clisp.org>
22903
22904         * modules/tls-tests (Depends-on): Add thread, yield.
22905         (configure.ac): Remove all checks.
22906         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
22907         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22908         gl_thread_self): Remove definitions. Include glthread/thread.h and
22909         glthread/yield.h instead.
22910         (test_tls): Pass an additional NULL argument to gl_thread_join.
22911
22912 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22913             Bruno Haible  <bruno@clisp.org>
22914
22915         * modules/lock-tests (Depends-on): Add thread, yield.
22916         (configure.ac): Remove all checks.
22917         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
22918         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22919         gl_thread_self): Remove definitions. Include glthread/thread.h and
22920         glthread/yield.h instead.
22921         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
22922         additional NULL argument to gl_thread_join.
22923
22924 2008-09-30  Bruno Haible  <bruno@clisp.org>
22925
22926         Fix the Win32 implementation of the 'thread' module.
22927         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
22928         pointer type.
22929         (gl_thread_self): Invoke gl_thread_self_func.
22930         (gl_thread_self_func): New declaration.
22931         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
22932         (do_init_self_key, init_self_key): New functions.
22933         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
22934         Remove some fields.
22935         (running_threads, running_lock): Remove variables.
22936         (get_current_thread_handle): New function.
22937         (gl_thread_self_func, wrapper_func, glthread_create_func,
22938         glthread_join_func, gl_thread_exit_func): Largely rewritten and
22939         simplified.
22940
22941 2008-09-30  Bruno Haible  <bruno@clisp.org>
22942
22943         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
22944         files.
22945
22946 2008-09-30  Jim Meyering  <meyering@redhat.com>
22947
22948         fts.m4: correct the test for statfs.f_type
22949         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
22950         when checking for statfs.f_type.
22951
22952 2008-09-15  Simon Josefsson  <simon@josefsson.org>
22953
22954         tests: avoid some compiler warnings
22955         * tests/test-memchr.c (main): Pass NULL indirectly.
22956         * tests/test-getdate.c (main): Remove unused variable 'ret'.
22957
22958 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
22959
22960         getdate.y: disallow countable dayshifts like "4 yesterday ago"
22961         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
22962         exactly specified dayshifts.
22963         (dayshift): New rule.
22964         (rel): Add dayshift.
22965         (relative_time_table) [tomorrow, yesterday, today, now]:
22966         Use tDAY_SHIFT in place of tDAY_UNIT.
22967         * tests/test-getdate.c: Add tests for now-disallowed countable
22968         dayshifts, e.g., "4 yesterday ago".
22969
22970 2008-09-29  Bruno Haible  <bruno@clisp.org>
22971
22972         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
22973         * tests/test-posix_spawn1.in.sh: Renamed from
22974         tests/test-posix_spawn.in.sh.
22975         * tests/test-posix_spawn2.c: New file.
22976         * tests/test-posix_spawn2.in.sh: New file.
22977         * modules/posix_spawnp-tests (Files): Update.
22978         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
22979
22980 2008-09-29  Bruno Haible  <bruno@clisp.org>
22981
22982         Propagate effects of putenv/setenv/unsetenv to child processes.
22983         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
22984         * lib/pipe.c (create_pipe): Likewise.
22985
22986 2008-09-29  Bruno Haible  <bruno@clisp.org>
22987
22988         Enable use of shell scripts as executables in mingw.
22989         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
22990         run the program as a shell script.
22991         * lib/pipe.c (create_pipe): Likewise.
22992         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
22993         resulting array.
22994
22995 2008-09-29  Eric Blake  <ebb9@byu.net>
22996
22997         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
22998
22999 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
23000
23001         * doc/posix-functions/accept.texi: Update mingw problems.
23002         * doc/posix-functions/bind.texi: Update mingw problems.
23003         * doc/posix-functions/close.texi: Update mingw problems.
23004         * doc/posix-functions/connect.texi: Update mingw problems.
23005         * doc/posix-functions/getpeername.texi: Update mingw problems.
23006         * doc/posix-functions/getsockname.texi: Update mingw problems.
23007         * doc/posix-functions/getsockopt.texi: Update mingw problems.
23008         * doc/posix-functions/ioctl.texi: Update mingw problems.
23009         * doc/posix-functions/listen.texi: Update mingw problems.
23010         * doc/posix-functions/recv.texi: Update mingw problems.
23011         * doc/posix-functions/recvfrom.texi: Update mingw problems.
23012         * doc/posix-functions/select.texi: Update mingw problems.
23013         * doc/posix-functions/send.texi: Update mingw problems.
23014         * doc/posix-functions/sendto.texi: Update mingw problems.
23015         * doc/posix-functions/setsockopt.texi: Update mingw problems.
23016         * doc/posix-functions/socket.texi: Update mingw problems.
23017
23018 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
23019             Bruno Haible  <bruno@clisp.org>
23020
23021         * lib/sys_select.in.h: Include sys/time.h.
23022         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
23023         * modules/sys_select: Depend on sys_time.
23024         * tests/test-sys_select.c: Test that sys/select.h defines struct
23025         timeval fully.
23026
23027 2008-09-29  Bruno Haible  <bruno@clisp.org>
23028
23029         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
23030         * lib/sys_select.in.h: Likewise.
23031
23032 2008-09-29  Bruno Haible  <bruno@clisp.org>
23033
23034         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
23035
23036 2008-09-29  Bruno Haible  <bruno@clisp.org>
23037
23038         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
23039         Set LIBSOCKET instead of augmenting LIBS.
23040         * modules/sockets (Link): New section.
23041         * modules/sockets-tests (test_sockets_LDADD): New variable.
23042         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
23043         * modules/poll-tests (test_poll_LDADD): New variable.
23044         * NEWS: Document the change.
23045
23046 2008-09-29  Bruno Haible  <bruno@clisp.org>
23047
23048         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
23049         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
23050         ARPA_INET_H directly.
23051         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23052
23053 2008-09-28  Bruno Haible  <bruno@clisp.org>
23054
23055         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
23056         from gl_HEADER_SYS_SOCKET.
23057         (gl_HEADER_SYS_SOCKET): Invoke it.
23058         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23059
23060 2008-09-28  Bruno Haible  <bruno@clisp.org>
23061
23062         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
23063         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
23064         Needed on OSF/1 4.0.
23065
23066 2008-09-28  Bruno Haible  <bruno@clisp.org>
23067
23068         Override open more carefully.
23069         * lib/open.c (orig_open): New function.
23070         (rpl_open): Use orig_open instead of open.
23071         * lib/fcntl.in.h: Add special invocation convention.
23072         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
23073         (gl_FUNC_OPEN): Invoke it.
23074
23075         Override freopen more carefully.
23076         * lib/freopen.c (orig_freopen): New function.
23077         (rpl_freopen): Use orig_freopen instead of freopen.
23078         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
23079         (gl_FUNC_FREOPEN): Invoke it.
23080
23081         Override fopen more carefully.
23082         * lib/fopen.c (orig_fopen): New function.
23083         (rpl_fopen): Use orig_fopen instead of fopen.
23084         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
23085         (gl_FUNC_FOPEN): Invoke it.
23086         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
23087
23088 2008-09-28  Bruno Haible  <bruno@clisp.org>
23089
23090         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
23091         SIGPIPE.
23092
23093 2008-09-28  Bruno Haible  <bruno@clisp.org>
23094
23095         * tests/test-sigaction.c (handler, main): Disable the check whether
23096         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
23097         glibc systems with LinuxThreads.
23098
23099 2008-09-28  Bruno Haible  <bruno@clisp.org>
23100
23101         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
23102
23103         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
23104         with AIX xlc.
23105         * lib/fcntl.in.h (open): Likewise.
23106         Reported by Rainer Tammer <tammer@tammer.net>.
23107
23108 2008-09-28  Bruno Haible  <bruno@clisp.org>
23109
23110         * modules/posix_spawnp-tests: New file.
23111         * tests/test-posix_spawn.c: New file.
23112         * tests/test-posix_spawn.in.sh: New file.
23113
23114         New module 'posix_spawnp'.
23115         * modules/posix_spawnp: New file.
23116         * lib/spawnp.c: New file, from GNU libc with modifications.
23117         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
23118
23119         New module 'posix_spawn'.
23120         * modules/posix_spawn: New file.
23121         * lib/spawn.c: New file, from GNU libc with modifications.
23122         * doc/posix-functions/posix_spawn.texi: Mention the new module.
23123
23124         New module 'posix_spawnattr_destroy'.
23125         * modules/posix_spawnattr_destroy: New file.
23126         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
23127         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
23128         module.
23129
23130         New module 'posix_spawnattr_setsigmask'.
23131         * modules/posix_spawnattr_setsigmask: New file.
23132         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
23133         modifications.
23134         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
23135         new module.
23136
23137         New module 'posix_spawnattr_getsigmask'.
23138         * modules/posix_spawnattr_getsigmask: New file.
23139         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
23140         modifications.
23141         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
23142         new module.
23143
23144         New module 'posix_spawnattr_setsigdefault'.
23145         * modules/posix_spawnattr_setsigdefault: New file.
23146         * lib/spawnattr_setdefault.c: New file, from GNU libc with
23147         modifications.
23148         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
23149         new module.
23150
23151         New module 'posix_spawnattr_getsigdefault'.
23152         * modules/posix_spawnattr_getsigdefault: New file.
23153         * lib/spawnattr_getdefault.c: New file, from GNU libc with
23154         modifications.
23155         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
23156         new module.
23157
23158         New module 'posix_spawnattr_setschedpolicy'.
23159         * modules/posix_spawnattr_setschedpolicy: New file.
23160         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
23161         modifications.
23162         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
23163         new module.
23164
23165         New module 'posix_spawnattr_getschedpolicy'.
23166         * modules/posix_spawnattr_getschedpolicy: New file.
23167         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
23168         modifications.
23169         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
23170         new module.
23171
23172         New module 'posix_spawnattr_setschedparam'.
23173         * modules/posix_spawnattr_setschedparam: New file.
23174         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
23175         modifications.
23176         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
23177         new module.
23178
23179         New module 'posix_spawnattr_getschedparam'.
23180         * modules/posix_spawnattr_getschedparam: New file.
23181         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
23182         modifications.
23183         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
23184         new module.
23185
23186         New module 'posix_spawnattr_setpgroup'.
23187         * modules/posix_spawnattr_setpgroup: New file.
23188         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
23189         modifications.
23190         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
23191         module.
23192
23193         New module 'posix_spawnattr_getpgroup'.
23194         * modules/posix_spawnattr_getpgroup: New file.
23195         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
23196         modifications.
23197         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
23198         module.
23199
23200         New module 'posix_spawnattr_setflags'.
23201         * modules/posix_spawnattr_setflags: New file.
23202         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
23203         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
23204         module.
23205
23206         New module 'posix_spawnattr_getflags'.
23207         * modules/posix_spawnattr_getflags: New file.
23208         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
23209         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
23210         module.
23211
23212         New module 'posix_spawnattr_init'.
23213         * modules/posix_spawnattr_init: New file.
23214         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
23215         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
23216         module.
23217
23218         New module 'posix_spawn_file_actions_destroy'.
23219         * modules/posix_spawn_file_actions_destroy: New file.
23220         * lib/spawn_faction_destroy.c: New file, from GNU libc with
23221         modifications.
23222         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
23223         the new module.
23224
23225         New module 'posix_spawn_file_actions_addopen'.
23226         * modules/posix_spawn_file_actions_addopen: New file.
23227         * lib/spawn_faction_addopen.c: New file, from GNU libc with
23228         modifications.
23229         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
23230         the new module.
23231
23232         New module 'posix_spawn_file_actions_adddup2'.
23233         * modules/posix_spawn_file_actions_adddup2: New file.
23234         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
23235         modifications.
23236         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
23237         the new module.
23238
23239         New module 'posix_spawn_file_actions_addclose'.
23240         * modules/posix_spawn_file_actions_addclose: New file.
23241         * lib/spawn_faction_addclose.c: New file, from GNU libc with
23242         modifications.
23243         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
23244         the new module.
23245
23246         New module 'posix_spawn_file_actions_init'.
23247         * modules/posix_spawn_file_actions_init: New file.
23248         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
23249         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
23250         new module.
23251
23252         New module 'posix_spawn-internal'.
23253         * modules/posix_spawn-internal: New file.
23254         * lib/spawn_int.h: New file, from GNU libc with modifications.
23255         * lib/spawni.c: New file, from GNU libc with modifications.
23256         * m4/posix_spawn.m4: New file.
23257
23258         New module 'spawn'.
23259         * modules/spawn: New file.
23260         * lib/spawn.in.h: New file, from GNU libc with modifications.
23261         * m4/spawn_h.m4: New file.
23262         * doc/posix-headers/spawn.texi: Mention the new module.
23263
23264 2008-09-28  Bruno Haible  <bruno@clisp.org>
23265
23266         * modules/sched-tests: New file.
23267         * tests/test-sched.c: New file.
23268
23269         New module 'sched'.
23270         * modules/sched: New file.
23271         * lib/sched.in.h: New file.
23272         * m4/sched_h.m4: New file.
23273         * doc/posix-headers/sched.texi: Mention the new module.
23274
23275 2008-09-27  Eric Blake  <ebb9@byu.net>
23276
23277         Fix previous patch, and tweak references to $0.
23278         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
23279         (func_version, func_gnulib_dir): Don't call this program
23280         gnulib-tool.
23281         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
23282         with using $0 in function.
23283         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
23284         (func_fatal_error): Reuse the name the user invoked us with.
23285
23286 2008-09-27  Bruno Haible  <bruno@clisp.org>
23287
23288         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
23289         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
23290         (gl_ICONV_H): Not here.
23291         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
23292         instead of assigning ICONV_H directly.
23293
23294         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
23295         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
23296         WCHAR_H directly.
23297
23298 2008-09-27  Bruno Haible  <bruno@clisp.org>
23299
23300         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
23301         * modules/arpa_inet (Depends-on): Add link-warning.
23302         (Makefile.am): Insert the definition of GL_LINK-WARNING.
23303         * modules/unistd (Makefile.am): Likewise.
23304
23305 2008-09-26  Bruno Haible  <bruno@clisp.org>
23306
23307         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
23308         variables.
23309         (func_version): Essentially copied from gnulib-tool.
23310         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
23311         func_readlink): Copied from gnulib-tool.
23312
23313 2008-09-26  Bruno Haible  <bruno@clisp.org>
23314
23315         * gnulib-tool (func_version): Change directory to $gnulib_dir before
23316         invoking git-version-gen.
23317
23318 2008-09-26  Bruno Haible  <bruno@clisp.org>
23319
23320         * posix-modules: Update to directory names changed on 2008-01-19.
23321         Remove commas in output before splitting into words. No more need to
23322         avoid 'ftruncate' since 2007-02-19.
23323
23324 2008-09-26  Bruno Haible  <bruno@clisp.org>
23325
23326         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
23327
23328 2008-09-26  Bruno Haible  <bruno@clisp.org>
23329
23330         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
23331         * modules/fwriteerror (Depends-on): Add errno.
23332
23333 2008-09-26  Bruno Haible  <bruno@clisp.org>
23334
23335         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
23336         * tests/test-vc-list-files-cvs.sh: Likewise.
23337
23338 2008-09-26  Bruno Haible  <bruno@clisp.org>
23339
23340         * doc/posix-headers/sys_resource.texi: Reorder items.
23341
23342 2008-09-26  Jim Meyering  <meyering@redhat.com>
23343
23344         fts: tweak inode comparison function
23345         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
23346         inode numbers, as documented.
23347
23348         fts: sort dirent entries on inode number before traversing
23349         This avoids a quadratic, seek-related performance penalty when
23350         operating on a directory containing many entries (measurable at 10k;
23351         3.5 hours at 2 million entries with a cold cache) on certain types
23352         of file systems, including ext3 and ext4, but not tmpfs.
23353         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
23354         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
23355         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
23356         (fs_handles_readdir_ordered_dirents_efficiently): New function.
23357         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
23358         (fts_build): Set the stat.st_ino member from D_INO.
23359         If it is likely to be useful, sort dirent entries on inode number.
23360
23361         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
23362         and the struct statfs.f_type member.
23363         * modules/fts (Depends-on): Add d-ino.
23364
23365 2008-09-26  Bruno Haible  <bruno@clisp.org>
23366
23367         * modules/sigpipe-die (Depends-on): Add sigpipe.
23368
23369         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
23370         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
23371         and GNULIB_STDIO_H_SIGPIPE are set.
23372         * lib/stdio-write.c: New file.
23373         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
23374         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
23375         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
23376         REPLACE_STDIO_WRITE_FUNCS.
23377         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
23378         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
23379         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
23380         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
23381         * modules/stdio (Files): Add lib/stdio-write.c.
23382         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
23383         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
23384         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
23385         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
23386         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
23387         REPLACE_FPRINTF_POSIX.
23388         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
23389         REPLACE_PRINTF_POSIX.
23390         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
23391         REPLACE_VFPRINTF_POSIX.
23392         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
23393         REPLACE_VPRINTF_POSIX.
23394         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
23395         SIGPIPE issue.
23396         * doc/posix-functions/fputc.texi: Likewise.
23397         * doc/posix-functions/fputs.texi: Likewise.
23398         * doc/posix-functions/fwrite.texi: Likewise.
23399         * doc/posix-functions/printf.texi: Likewise.
23400         * doc/posix-functions/putc.texi: Likewise.
23401         * doc/posix-functions/putchar.texi: Likewise.
23402         * doc/posix-functions/puts.texi: Likewise.
23403         * doc/posix-functions/vfprintf.texi: Likewise.
23404         * doc/posix-functions/vprintf.texi: Likewise.
23405
23406         * modules/safe-write (Depends-on): Add write.
23407
23408         * modules/sigpipe-tests: New file.
23409         * tests/test-sigpipe.c: New file.
23410         * tests/test-sigpipe.sh: New file.
23411
23412         * modules/write: New file.
23413         * lib/unistd.in.h: Include <sys/types.h>.
23414         (write): New declaration.
23415         * lib/write.c: New file.
23416         * m4/write.m4: New file.
23417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23418         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
23419         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
23420         GNULIB_WRITE, REPLACE_WRITE.
23421         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
23422         and the SIGPIPE issue.
23423
23424         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
23425         (raise): New declaration.
23426         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
23427         (ext_signal): New function.
23428         (rpl_raise): New function.
23429         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
23430         GNULIB_SIGNAL_H_SIGPIPE.
23431         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
23432         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
23433
23434         * modules/sigpipe: New file.
23435         * m4/sigpipe.m4: New file.
23436
23437 2008-09-25  Derek Price  <derek@ximbiot.com>
23438             Bruno Haible  <bruno@clisp.org>
23439
23440         * gnulib-tool (func_import): Report all license incompatibilities, not
23441         just the first one.
23442
23443 2008-09-25  Bruno Haible  <bruno@clisp.org>
23444
23445         * gnulib-tool (func_import): When computing the edits, consider not
23446         only the Makefile.ams that exist but also those that will be generated.
23447
23448 2008-09-25  Simon Josefsson  <simon@josefsson.org>
23449
23450         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
23451         fixes gnulib-tool --test warning about duplicate dependency.
23452
23453 2008-09-25  Bruno Haible  <bruno@clisp.org>
23454
23455         * gnulib-tool: Don't ask the user to perform edits in the generated
23456         Makefile.ams.
23457         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
23458         apply to the Makefile.am being generated.
23459         (func_emit_tests_Makefile_am): Execute edits that apply to the
23460         Makefile.am being generated.
23461         (func_import): Setup list of Makefile.am edits before emitting the
23462         Makefile.ams, not at the end.
23463         (func_create_testdir): Update.
23464         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23465
23466 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23467
23468         * gnulib-tool (func_import): Store the --tests-base option in the
23469         comment in gnulib-cache.m4.
23470
23471 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
23472
23473         * NEWS: Document increased portability that sys_select now provides.
23474
23475         * lib/sys_select.in.h: Install select wrapper.
23476         * lib/sys_socket.in.h: Use more descriptive name when there is no
23477         select wrapper.
23478         * lib/winsock-select.c: New.
23479         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
23480         Require gl_HEADER_SYS_SOCKET.
23481         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
23482         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
23483         * tests/test-sys_select.c: Add functional tests.
23484
23485 2008-09-24  Eric Blake  <ebb9@byu.net>
23486
23487         open, fopen: close fd leak in last patch
23488         * lib/open.c (rpl_open): Close fd before returning error.
23489         * lib/fopen.c (rpl_fopen): Close fd before returning error.
23490         * doc/posix-functions/open.texi (open): Document that Irix also
23491         has the bug.
23492         * doc/posix-functions/fopen.texi (fopen): Likewise.
23493         Reported by Paolo Bonzini.
23494
23495 2008-09-24  Bruno Haible  <bruno@clisp.org>
23496
23497         Ensure that a filename ending in a slash cannot be used to access a
23498         non-directory.
23499         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
23500         to check whether it's really a directory.
23501         * lib/fopen.c: Include fcntl.h, unistd.h.
23502         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
23503         and fdopen().
23504         * modules/fopen (Depends-on): Add unistd.
23505         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
23506         * tests/test-fopen.c (main): Likewise.
23507         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
23508         * doc/posix-functions/fopen.texi: Likewise.
23509         Reported by Eric Blake.
23510
23511 2008-09-23  Eric Blake  <ebb9@byu.net>
23512
23513         c-stack: avoid compiler optimizations when provoking overflow
23514         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
23515         recursion harder to optimize, to ensure a stack overflow occurs.
23516         * tests/test-c-stack.c (recurse): Likewise.
23517         Borrowed from libsigsegv.
23518
23519         c-stack: work around Irix sigaltstack bug
23520         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
23521         whether sigaltstack uses wrong end of stack_t (copied in part from
23522         libsigsegv).
23523         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
23524         Irix bug, without requiring an over-allocation.
23525         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
23526         bug.
23527
23528         fopen: document mingw bug on directories
23529         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
23530         not allowing a stream visiting a directory, even though reading
23531         from such a stream is not portable.
23532
23533 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
23534
23535         * lib/poll.c: Rewrite.
23536         * modules/poll: Depend on alloca.
23537
23538 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
23539
23540         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
23541         instead define prototypes for a full set of wrappers.  Ensure
23542         that Cygwin does not use the compatibility code, which is only
23543         for MinGW.
23544         * lib/winsock.c: New.
23545         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
23546         * modules/sys_socket: Add lib/winsock.c.
23547
23548         * modules/poll-tests: Add errno and perror.
23549         * tests/test-poll.c: Use ioctl, not ioctlsocket.
23550
23551 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
23552
23553         * tests/test-poll.c: Downgrade minimum needed Winsock version.
23554
23555 2008-09-23  Bruno Haible  <bruno@clisp.org>
23556
23557         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
23558         * doc/glibc-functions/*: Likewise.
23559
23560 2008-09-23  Simon Josefsson  <simon@josefsson.org>
23561
23562         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
23563         success.
23564
23565 2008-09-22  Eric Blake  <ebb9@byu.net>
23566             Bruno Haible  <bruno@clisp.org>
23567
23568         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
23569         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
23570         supply %A but mishandle pseudo-NaN.
23571         Reported by Simon Josefsson.
23572
23573 2008-09-21  Bruno Haible  <bruno@clisp.org>
23574
23575         * tests/test-lock.c (main): Tweak skip message.
23576         * tests/test-tls.c (main): Likewise.
23577
23578 2008-09-21  Bruno Haible  <bruno@clisp.org>
23579
23580         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
23581         whether 'struct sigaction' has sa_sigaction here...
23582         (gl_PREREQ_SIG_HANDLER_H): ... not here.
23583         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
23584
23585 2008-09-21  Bruno Haible  <bruno@clisp.org>
23586
23587         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
23588         section.
23589         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
23590         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
23591         the new section.
23592         (Support for obsolete systems lacking POSIX:2001): New section.
23593         (String handling <string.h>): Move strdup to the new section.
23594         Suggested by Simon Josefsson and Paolo Bonzini.
23595
23596 2008-09-21  Bruno Haible  <bruno@clisp.org>
23597
23598         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
23599         exponents in %e and %g results on 'long double'. Needed for mingw's
23600         improved *printf functions.
23601         * tests/test-vasprintf-posix.c (test_function): Likewise.
23602         * tests/test-snprintf-posix.h (test_function): Likewise.
23603         * tests/test-sprintf-posix.h (test_function): Likewise.
23604         Reported by Eric Blake.
23605
23606 2008-09-21  Bruno Haible  <bruno@clisp.org>
23607
23608         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
23609         * tests/test-sprintf-posix.h (test_function): Likewise.
23610
23611 2008-09-21  Bruno Haible  <bruno@clisp.org>
23612
23613         * modules/getpass (Depends-on): Add strdup-posix.
23614
23615         New module 'strdup-posix'.
23616         * modules/strdup-posix: New file.
23617         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
23618         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
23619         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23620         REPLACE_STRDUP.
23621         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
23622         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
23623         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23624         strdup-posix.
23625
23626         * modules/strdup (Depends-on): Remove malloc-posix.
23627
23628 2008-09-20  Bruno Haible  <bruno@clisp.org>
23629
23630         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
23631         Wildenhues.
23632
23633 2008-09-20  Bruno Haible  <bruno@clisp.org>
23634
23635         Ensure that wint_t gets defined on IRIX 5.3.
23636         * lib/wchar.in.h (wint_t): Define if not defined by the system.
23637         * lib/wctype.in.h (wint_t): Likewise.
23638         (__wctype_wint_t): Remove type.
23639         (isw*): Use wint_t instead of __wctype_wint_t.
23640         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
23641         * modules/wchar (Files): Add m4/wint_t.m4.
23642         (Makefile.am): Substitute HAVE_WINT_T.
23643         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
23644         * tests/test-wctype.c: Check that wint_t is defined.
23645         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
23646         * doc/posix-headers/wctype.texi: Likewise.
23647         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23648
23649 2008-09-18  Bruno Haible  <bruno@clisp.org>
23650
23651         * gnulib-tool (func_exit): Update comment.
23652
23653 2008-09-18  Simon Josefsson  <simon@josefsson.org>
23654
23655         * modules/getaddrinfo (Depends-on): Remove strdup, this module
23656         assumes strdup exists and does not depend on strdup to return
23657         ENOMEM on out of memory conditions.
23658
23659 2008-09-18  Bruno Haible  <bruno@clisp.org>
23660
23661         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
23662         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
23663         digits for the exponent.
23664
23665 2008-09-18  Jim Meyering  <meyering@redhat.com>
23666             Bruno Haible  <bruno@clisp.org>
23667
23668         * lib/vasnprintf.c (decimal_point_char): Define also if
23669         NEED_PRINTF_INFINITE_LONG_DOUBLE.
23670
23671 2008-09-16  Bruno Haible  <bruno@clisp.org>
23672         and Eric Blake  <ebb9@byu.net>
23673
23674         vasnprintf: support Irix 5.3
23675         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
23676         that mishandle long double infinity.
23677         Reported by Tom G. Christensen.
23678
23679 2008-09-16  Bruno Haible  <bruno@clisp.org>
23680
23681         * doc/glibc-functions/scandir.texi: Mention the function is missing on
23682         Solaris 9.
23683         * doc/glibc-functions/alphasort.texi: Likewise.
23684         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
23685
23686 2008-09-16  Jim Meyering  <meyering@redhat.com>
23687
23688         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
23689         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
23690         a umask modification leak out of a subshell.  Otherwise, the
23691         opensolaris /bin/sh would be accepted and thus cause unwarranted
23692         failures in the coreutils test suite.
23693
23694 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
23695
23696         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
23697         to succeed.
23698
23699 2008-09-16  Jim Meyering  <meyering@redhat.com>
23700
23701         avoid spurious test failure when library is built without ACL support
23702         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
23703         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
23704         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
23705         * tests/test-copy-acl.sh: Likewise.
23706
23707 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23708
23709         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
23710         based on character occurrence counts.
23711
23712 2008-09-15  Eric Blake  <ebb9@byu.net>
23713
23714         tests: avoid some compiler warnings
23715         * tests/test-memchr.c (main): Pass NULL indirectly.
23716         * tests/test-closein.c (main): Avoid unused variable.
23717
23718 2008-09-15  Bruno Haible  <bruno@clisp.org>
23719
23720         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
23721         are missing on OpenBSD 4.0 individually.
23722         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23723
23724 2008-09-15  Bruno Haible  <bruno@clisp.org>
23725
23726         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
23727         * doc/posix-functions/strerror.texi: Mention also Cygwin.
23728         * doc/posix-functions/perror.texi: Likewise.
23729         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
23730         is missing.
23731         Reported by Eric Blake.
23732
23733         * lib/errno.in.h: Use replacement values >= 2000.
23734         Reported by Eric Blake.
23735
23736 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23737
23738         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
23739         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
23740         limit.
23741         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
23742         compareseq was aborted.
23743
23744 2008-09-14  Bruno Haible  <bruno@clisp.org>
23745
23746         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
23747         yvec_edit_count.
23748         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
23749         (fstrcmp_bounded): Simplify result computation accordingly.
23750
23751 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23752
23753         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
23754         (fstrcmp): Define in terms of fstrcmp_bounded.
23755         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
23756         lower_bound argument.
23757         Return quickly if the result is certainly < lower_bound.
23758         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
23759
23760 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23761
23762         * lib/diffseq.h (EARLY_ABORT): New macro.
23763         (compareseq): Change return type to bool. Return true when EARLY_ABORT
23764         evaluates to true.
23765
23766 2008-09-14  Bruno Haible  <bruno@clisp.org>
23767
23768         * modules/perror-tests: New file.
23769         * tests/test-perror.sh: New file.
23770         * tests/test-perror.c: New file.
23771
23772         New module 'perror'.
23773         * lib/stdio.in.h (perror): New declaration.
23774         * lib/perror.c: New file.
23775         * m4/perror.m4: New file.
23776         * modules/perror: New file.
23777         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
23778         * doc/posix-functions/perror.texi: Mention the perror module.
23779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
23780         REPLACE_PERROR.
23781         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
23782         REPLACE_PERROR.
23783
23784 2008-09-14  Bruno Haible  <bruno@clisp.org>
23785
23786         * modules/stdio (Makefile.am): Reorder to match the order in
23787         lib/stdio.in.h.
23788         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23789
23790 2008-09-13  Bruno Haible  <bruno@clisp.org>
23791
23792         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
23793
23794 2008-09-13  Bruno Haible  <bruno@clisp.org>
23795
23796         Extend strerror to cover the added errno values.
23797         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
23798         (rpl_strerror): Provide error messages for the added errno values and
23799         for the WSA* values.
23800         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
23801         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
23802         strerror.
23803         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
23804         * modules/strerror (Depends-on): Add errno.
23805         * doc/posix-functions/strerror.texi: Document the change.
23806         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
23807         and EOVERFLOW.
23808
23809 2008-09-13  Bruno Haible  <bruno@clisp.org>
23810
23811         * modules/EOVERFLOW: Remove file.
23812         * m4/eoverflow.m4: Remove file.
23813         * modules/EOVERFLOW-tests: Remove file.
23814         * tests/test-EOVERFLOW.c: Remove file.
23815         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
23816         * modules/ftell (Depends-on): Likewise.
23817         * modules/getdelim (Depends-on): Likewise.
23818         * modules/getugroups (Depends-on): Likewise.
23819         * modules/poll (Depends-on): Likewise.
23820         * modules/snprintf (Depends-on): Likewise.
23821         * modules/sprintf-posix (Depends-on): Likewise.
23822         * modules/vasnprintf (Depends-on): Likewise.
23823         * modules/vasprintf (Depends-on): Likewise.
23824         * modules/vfprintf-posix (Depends-on): Likewise.
23825         * modules/vsnprintf (Depends-on): Likewise.
23826         * modules/vsprintf-posix (Depends-on): Likewise.
23827         * modules/xvasprintf (Depends-on): Likewise.
23828         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23829         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
23830         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
23831         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
23832         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23833         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
23834         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
23835         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
23836         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23837         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
23838         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
23839         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
23840         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23841         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
23842         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
23843         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
23844         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23845         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
23846         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
23847         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
23848         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23849         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
23850         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
23851         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
23852         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
23853         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23854         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
23855         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
23856         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
23857         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
23858         * MODULES.html.sh: Remove EOVERFLOW.
23859         * NEWS: Mention the change.
23860
23861 2008-09-13  Bruno Haible  <bruno@clisp.org>
23862
23863         * modules/errno-tests: New file.
23864         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
23865
23866         * lib/errno.in.h: New file.
23867         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
23868         * modules/errno: New file.
23869         * doc/posix-headers/errno.texi: Update documentation.
23870         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
23871
23872 2008-09-13  Bruno Haible  <bruno@clisp.org>
23873
23874         * tests/test-poll.c: Use #if for native Windows, rather than testing
23875         __MSVCRT__.
23876
23877 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23878             Bruno Haible  <bruno@clisp.org>
23879
23880         * lib/glob.c: Don't include <pwd.h> on native Windows.
23881         (WINDOWS32): New macro.
23882         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
23883
23884 2008-09-13  Bruno Haible  <bruno@clisp.org>
23885
23886         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
23887         (ETIMEDOUT): Remove macro.
23888         (glthread_cond_timedwait_multithreaded): New declaration.
23889         (glthread_cond_timedwait): Use it.
23890         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
23891         (glthread_cond_timedwait_multithreaded): New function.
23892
23893 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23894
23895         * modules/poll-tests: Do not check for io.h.
23896         * tests/test-poll.c: Check for __MSVCRT__ instead.
23897
23898 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23899
23900         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
23901         * modules/poll-tests: Add inet_pton, stdbool, sockets.
23902         * tests/test-poll.c: Use them.  Use _pipe on Windows.
23903
23904 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23905
23906         * modules/poll-tests: New.
23907         * tests/test-poll.c: New.
23908
23909 2008-09-12  Eric Blake  <ebb9@byu.net>
23910
23911         frexp: test for NetBSD failure on -0.0
23912         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
23913         not all, bugs from NetBSD 3.0 have been fixed.
23914         * doc/posix-functions/frexp.texi (frexp): Document bug.
23915         Reported by Thomas Klausner.
23916
23917         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
23918         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
23919         literal -0.0.
23920         Reported by Jonathan C. Patschke <jp@centtech.com>.
23921
23922 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23923
23924         * lib/glthread/cond.h: Use dummy implementation also if
23925         USE_WIN32_THREADS.
23926
23927 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23928
23929         * modules/fnmatch-posix (License): Change to LGPLv2+.
23930         * modules/fnmatch-gnu (License): Likewise.
23931
23932 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23933
23934         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
23935
23936 2008-09-11  Jim Meyering  <meyering@redhat.com>
23937
23938         * users.txt: Add gtk-vnc.
23939
23940 2008-09-08  Simon Josefsson  <simon@josefsson.org>
23941
23942         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
23943         rotate amounts.
23944
23945         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
23946         required for 16-bit and 8-bit rotates.
23947         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
23948         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
23949         UINT8_MAX instead of hard-coded constants.
23950         Suggested by Paul Eggert.
23951
23952 2008-09-07  Bruno Haible  <bruno@clisp.org>
23953
23954         * tests/test-striconveh.c (main): Check behaviour when converting from
23955         UTF-7.
23956
23957         Make striconveh work better with stateful encodings.
23958         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
23959         that iconv does not increment the inptr when returning -1/EINVAL.
23960
23961 2008-09-07  Bruno Haible  <bruno@clisp.org>
23962
23963         * build-aux/config.rpath: Update according to libtool-2.2.6.
23964         * build-aux/config.libpath: Likewise.
23965
23966 2008-09-06  Bruno Haible  <bruno@clisp.org>
23967
23968         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
23969         * lib/freadptr.c (freadptr): Likewise.
23970         * lib/freadseek.c (freadptrinc): Likewise.
23971         Reported by Simon Josefsson.
23972
23973 2008-09-06  Bruno Haible  <bruno@clisp.org>
23974
23975         * modules/freadptr (License): Change to LGPLv2+.
23976         * modules/freadseek (License): Likewise.
23977         Suggested by Eric Blake.
23978
23979         * modules/memchr2 (License): Change to LGPLv2+.
23980         Approved by Eric Blake.
23981
23982 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23983             Bruno Haible  <bruno@clisp.org>
23984
23985         Make gnulib-tool work with native 'sed' on AIX.
23986         * gnulib-tool (sed_noop): New variable.
23987         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
23988         func_add_or_update, func_create_testdir): Use it to initialize sed
23989         script variables.
23990         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23991
23992 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
23993             Bruno Haible  <bruno@clisp.org>
23994
23995         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
23996         also works after #include directives.
23997
23998 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
23999
24000         getdate.y: reject an out-of-range timezone value
24001         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
24002         the range [-24...+24].  When specified with only one or two digits,
24003         * tests/test-getdate.c: Tests for the fix.
24004         * doc/getdate.texi: Document this change.
24005
24006 2008-09-03  Bruno Haible  <bruno@clisp.org>
24007
24008         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
24009
24010 2008-09-02  Simon Josefsson  <simon@josefsson.org>
24011
24012         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
24013         <bruce.korb@gmail.com> with ideas from Ben Pfaff
24014         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
24015         Blake <ebb9@byu.net>.
24016
24017         * tests/test-bitrotate.c: Add more test vectors.
24018
24019 2008-09-02  Eric Blake  <ebb9@byu.net>
24020
24021         vasnprintf-posix: handle large precision via %.*d
24022         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
24023         when handling it ourselves.
24024         * tests/test-vasnprintf-posix.c (test_function): Add test.
24025         * tests/test-snprintf-posix.h (test_function): Likewise.
24026         * tests/test-sprintf-posix.h (test_function): Likewise.
24027         * tests/test-vasprintf-posix.c (test_function): Likewise.
24028         Reported by Alain Guibert.
24029
24030 2008-09-01  Eric Blake  <ebb9@byu.net>
24031
24032         c-stack: make configure-time check more robust
24033         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
24034         successful sigaction call.
24035         Reported by Tom G. Christensen.
24036
24037 2008-09-01  Bruno Haible  <bruno@clisp.org>
24038
24039         New module 'findprog-lgpl'.
24040         * modules/findprog-lgpl: New file.
24041         * lib/findprog-lgpl.c: New file.
24042         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
24043         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
24044         to decide whether to use strdup or xstrdup, concatenated_filename or
24045         xconcatenated_filename.
24046
24047 2008-09-01  Bruno Haible  <bruno@clisp.org>
24048
24049         Split module 'concat-filename' into 'concat-filename' (LGPL) and
24050         'xconcat-filename' (GPL).
24051         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
24052         (License): Change to LGPLv2+.
24053         * modules/xconcat-filename: New file.
24054         * lib/concat-filename.h (concatenated_filename): Change specification.
24055         (xconcatenated_filename): New declaration.
24056         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
24057         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
24058         memory situations.
24059         * lib/xconcat-filename.c: New file.
24060         * NEWS: Mention the change.
24061         * lib/findprog.c: Include concat-filename.h, not filename.h.
24062         (find_in_path): Use xconcatenated_filename instead of
24063         concatenated_filename.
24064         * lib/javacomp.c: Include concat-filename.h, not filename.h.
24065         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
24066         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
24067         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
24068         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
24069         instead of concatenated_filename.
24070         * lib/javaexec.c: Include concat-filename.h, not filename.h.
24071         (execute_java_class): Use xconcatenated_filename instead of
24072         concatenated_filename.
24073         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
24074         * modules/javacomp (Depends-on): Likewise.
24075         * modules/javaexec (Depends-on): Likewise.
24076
24077 2008-09-01  Bruno Haible  <bruno@clisp.org>
24078
24079         Split module 'filename' into 'filename' and 'concat-filename'.
24080         * modules/filename: Keep only lib/filename.h.
24081         (License): Change to LGPLv2+.
24082         * modules/concat-filename: New file, extracted from modules/filename.
24083         * lib/filename.h (concatenated_filename): Remove declaration.
24084         * lib/concat-filename.h: New file, extracted from lib/filename.h.
24085         * lib/concat-filename.c: Include concat-filename.h.
24086         * NEWS: Mention the change.
24087
24088 2008-09-01  Simon Josefsson  <simon@josefsson.org>
24089
24090         * lib/bitrotate.h (rotl8, rotr8): Add.
24091
24092         * modules/bitrotate (configure.ac): Need
24093         AC_REQUIRE([AC_C_INLINE]).
24094         (Description): Mention stdint.h.  Reported by Bruno Haible
24095         <bruno@clisp.org>.
24096
24097         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
24098         Paolo Bonzini <bonzini@gnu.org>.
24099
24100 2008-08-31  Bruno Haible  <bruno@clisp.org>
24101
24102         Assume Solaris specific bi-arch conventions on Solaris systems.
24103         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
24104         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
24105         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
24106         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
24107         like acl_libdirstem.
24108         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
24109         acl_libdirstem.
24110         * NEWS: Mention the change.
24111         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
24112
24113 2008-08-31  Jim Meyering  <meyering@redhat.com>
24114
24115         * lib/strftime.h: Add comments describing the two added arguments.
24116
24117         remove duplicate #include directives
24118         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
24119         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
24120
24121 2008-08-31  Bruno Haible  <bruno@clisp.org>
24122
24123         New module 'sigpipe-die'.
24124         * modules/sigpipe-die: New file.
24125         * lib/sigpipe-die.h: New file.
24126         * lib/sigpipe-die.c: New file.
24127         * MODULES.html.sh (Signal handling): Add sigpipe-die.
24128
24129 2008-08-31  Bruno Haible  <bruno@clisp.org>
24130
24131         Don't override previously installed signal handlers.
24132         * lib/fatal-signal.c (saved_sigactions): New variable.
24133         (uninstall_handlers): Reset the signal to the saved handler, not
24134         to SIG_DFL (except when ignored).
24135         (install_handlers): Save the previous handlers.
24136
24137 2008-08-30  Bruno Haible  <bruno@clisp.org>
24138
24139         * gnulib-tool (func_reset_sigpipe): New function.
24140         (func_get_automake_snippet, func_modules_transitive_closure,
24141         func_import): Invoke it before a join command that reads from stdin,
24142         to avoid "echo: write error: Broken pipe" error messages on stderr.
24143         Reported by Sam Steingold <sds@gnu.org>.
24144
24145 2008-08-30  Bruno Haible  <bruno@clisp.org>
24146
24147         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
24148         Code copied from m4/open.m4.
24149         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
24150         access and the filename ends in a slash. Code copied from lib/open.c.
24151         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
24152         * tests/test-fopen.c (main): Check against bug with trailing slash.
24153
24154 2008-08-29  Bruno Haible  <bruno@clisp.org>
24155
24156         Avoid some "gcc -pedantic" warnings.
24157         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
24158         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
24159         * lib/dirent.in.h: Likewise.
24160         * lib/fcntl.in.h: Likewise.
24161         * lib/float.in.h: Likewise.
24162         * lib/iconv.in.h: Likewise.
24163         * lib/inttypes.in.h: Likewise.
24164         * lib/locale.in.h: Likewise.
24165         * lib/math.in.h: Likewise.
24166         * lib/netinet_in.in.h: Likewise.
24167         * lib/search.in.h: Likewise.
24168         * lib/signal.in.h: Likewise.
24169         * lib/stdarg.in.h: Likewise.
24170         * lib/stdint.in.h: Likewise.
24171         * lib/stdio.in.h: Likewise.
24172         * lib/stdlib.in.h: Likewise.
24173         * lib/string.in.h: Likewise.
24174         * lib/strings.in.h: Likewise.
24175         * lib/sys_select.in.h: Likewise.
24176         * lib/sys_socket.in.h: Likewise.
24177         * lib/sys_stat.in.h: Likewise.
24178         * lib/sys_time.in.h: Likewise.
24179         * lib/sysexits.in.h: Likewise.
24180         * lib/time.in.h: Likewise.
24181         * lib/unistd.in.h: Likewise.
24182         * lib/wchar.in.h: Likewise.
24183         * lib/wctype.in.h: Likewise.
24184         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
24185         * modules/fchdir (Makefile.am): Likewise.
24186         * modules/fcntl (Makefile.am): Likewise.
24187         * modules/float (Makefile.am): Likewise.
24188         * modules/iconv_open (Makefile.am): Likewise.
24189         * modules/inttypes (Makefile.am): Likewise.
24190         * modules/locale (Makefile.am): Likewise.
24191         * modules/math (Makefile.am): Likewise.
24192         * modules/netinet_in (Makefile.am): Likewise.
24193         * modules/search (Makefile.am): Likewise.
24194         * modules/signal (Makefile.am): Likewise.
24195         * modules/stdarg (Makefile.am): Likewise.
24196         * modules/stdint (Makefile.am): Likewise.
24197         * modules/stdio (Makefile.am): Likewise.
24198         * modules/stdlib (Makefile.am): Likewise.
24199         * modules/string (Makefile.am): Likewise.
24200         * modules/strings (Makefile.am): Likewise.
24201         * modules/sys_select (Makefile.am): Likewise.
24202         * modules/sys_socket (Makefile.am): Likewise.
24203         * modules/sys_stat (Makefile.am): Likewise.
24204         * modules/sys_time (Makefile.am): Likewise.
24205         * modules/sysexits (Makefile.am): Likewise.
24206         * modules/time (Makefile.am): Likewise.
24207         * modules/unistd (Makefile.am): Likewise.
24208         * modules/wchar (Makefile.am): Likewise.
24209         * modules/wctype (Makefile.am): Likewise.
24210         Reported by Reuben Thomas <rrt@sc3d.org>.
24211
24212 2008-08-29  Bruno Haible  <bruno@clisp.org>
24213
24214         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
24215         any more.
24216
24217 2008-08-29  Simon Josefsson  <simon@josefsson.org>
24218
24219         * MODULES.html.sh (Misc): Add bitrotate.
24220
24221         * modules/bitrotate: New file.
24222
24223         * lib/bitrotate.h: New file.
24224
24225         * modules/bitrotate-tests: New file.
24226
24227         * tests/test-bitrotate.c: New file.
24228
24229         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
24230         on the bitrotate module.
24231
24232         * lib/arctwo.c: Use new bitrotate module.
24233
24234 2008-08-29  Jim Meyering  <meyering@redhat.com>
24235
24236         bootstrap: merge changes from coreutils
24237         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
24238         of copied files.  Remove a kludge, now that this is fixed.
24239         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
24240         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
24241         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
24242
24243 2008-08-29  Bruno Haible  <bruno@clisp.org>
24244
24245         * MODULES.html.sh: Remove --cvs-urls option.
24246
24247 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
24248
24249         maint.mk: adjust to file name change
24250         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
24251
24252 2008-08-28  Jim Meyering  <meyering@redhat.com>
24253
24254         * modules/getndelim2 (License): Relicense to LGPLv2+.
24255         Approved by Richard Stallman for the version of 1995, and by
24256         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
24257
24258 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
24259
24260         * lib/getdelim.c (flockfile, funlockfile): Make all of them
24261         dummy if one is not available.  Do not touch them if
24262         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
24263         (getc_maybe_unlocked): New.
24264         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
24265
24266 2008-08-26  Eric Blake  <ebb9@byu.net>
24267
24268         doc/INSTALL: resync from autoconf
24269         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
24270         (INSTALL_PRELUDE): Delete; this is done more efficiently by
24271         moving...
24272         * install.texi [!autoconf]: ...here.  Resync from autoconf.
24273         * INSTALL: Regenerate.
24274         * INSTALL.ISO: New file.
24275         * INSTALL.UTF-8: Likewise.
24276
24277 2008-08-26  Jim Meyering  <meyering@redhat.com>
24278
24279         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
24280         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
24281         these definitions conditional, so that they may be overridden, too.
24282
24283 2008-08-26  Bruno Haible  <bruno@clisp.org>
24284
24285         Generate INSTALL file variants with prettier quotes.
24286         * doc/Makefile (INSTALL_PRELUDE): New macro.
24287         (INSTALL): Use it.
24288         (INSTALL.ISO, INSTALL.UTF-8): New rules.
24289
24290 2008-08-26  Bruno Haible  <bruno@clisp.org>
24291
24292         Run makeinfo in an English locale.
24293         * doc/Makefile (MAKEINFO): New variable.
24294
24295 2008-08-26  Bruno Haible  <bruno@clisp.org>
24296
24297         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
24298         Suggested by Eric Blake.
24299
24300 2008-08-25  Bruno Haible  <bruno@clisp.org>
24301
24302         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
24303
24304 2008-08-25  Eric Blake  <ebb9@byu.net>
24305
24306         c-stack: test that stack overflow can be caught
24307         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
24308         that platform allows handling stack overflow; at least OS/2 EMX
24309         has sigaltstack, but crashes before transferring control to
24310         handler on stack overflow.
24311         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
24312         check for HAVE_STACK_OVERFLOW_HANDLING.
24313         Reported by Elbert Pol.
24314
24315 2008-08-25  Bruno Haible  <bruno@clisp.org>
24316
24317         * doc/posix-functions/strftime.texi: Fix description of strftime
24318         module.
24319
24320 2008-08-24  Bruno Haible  <bruno@clisp.org>
24321
24322         * tests/uniwidth/test-uc_width2.c: New file.
24323         * tests/uniwidth/test-uc_width2.sh: New file.
24324         * modules/uniwidth/width-tests (Files): Add the new files.
24325         (TESTS): Add uniwidth/test-uc_width2.sh.
24326         (TESTS_ENVIRONMENT): New variable.
24327         (check_PROGRAMS): Add test-uc_width2.
24328         (test_uc_width2_SOURCES): New variable.
24329
24330         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
24331         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
24332         not 0x00AB.
24333         Reported by Alexander V. Lukyanov <lav@netis.ru>.
24334
24335 2008-08-22  Eric Blake  <ebb9@byu.net>
24336
24337         test-lock, test-tls: mention why a test is skipped
24338         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
24339         skipped.
24340         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
24341
24342         count-one-bits: relax license
24343         * modules/count-one-bits (License): Relicense to LGPLv2+.
24344         Suggested by Ludovic Courtès, approved by Ben Pfaff.
24345
24346 2008-08-22  Andreas Schwab  <schwab@suse.de>
24347
24348         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
24349         Remove spurious space in assignment.
24350
24351 2008-08-21  Simon Josefsson  <simon@josefsson.org>
24352
24353         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
24354         Paul Eggert <eggert@CS.UCLA.EDU>.
24355
24356 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
24357
24358         * modules/gettext: Add m4/threadlib.m4.
24359
24360 2008-08-19  Eric Blake  <ebb9@byu.net>
24361
24362         test-c-stack: fix compilation failure on FreeBSD 5.0
24363         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
24364         headers before <sys/resource.h>.
24365         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
24366         the bug.
24367         Reported by Nelson H. F. Beebe.
24368
24369         strverscmp: migrate from "strverscmp.h" to <string.h>
24370         * modules/string (Makefile.am): Add new hooks.
24371         * modules/strverscmp (Files): Remove strverscmp.h.
24372         (Depends-on): Add string.
24373         (configure.ac): Add indicator.
24374         (Include): Mention new header.
24375         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
24376         defaults.
24377         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
24378         results.
24379         * lib/strverscmp.h: Delete.
24380         * lib/string.in.h (strverscmp): Provide declaration, when needed.
24381         * tests/test-strverscmp.c (includes): Adjust client.
24382         * lib/check-version.c (includes): Likewise.
24383         * NEWS: Document the change.
24384
24385         strverscmp: add unit test
24386         * modules/strverscmp-tests: New file.
24387         * tests/test-strverscmp.c: Likewise.
24388
24389 2008-08-19  Simon Josefsson  <simon@josefsson.org>
24390
24391         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
24392         regarding Windows crypto stuff, from Mono.
24393
24394 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
24395
24396         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
24397         if present, for intel RND.  Return error on failures.
24398
24399 2008-08-18  Ben Pfaff  <blp@gnu.org>
24400
24401         gitlog-to-changelog: give better diagnostic for failed pipe-open
24402         * build-aux/gitlog-to-changelog: Improve error message: suggest
24403         that the version of Git may be too old.
24404
24405 2008-08-18  Simon Josefsson  <simon@josefsson.org>
24406
24407         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
24408         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
24409
24410 2008-08-18  Bruno Haible  <bruno@clisp.org>
24411
24412         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
24413         pthread_in_use().
24414
24415 2008-08-18  Bruno Haible  <bruno@clisp.org>
24416
24417         * lib/glthread/threadlib.c: Include <pthread.h>.
24418
24419 2008-08-18  Bruno Haible  <bruno@clisp.org>
24420
24421         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
24422         glthread_recursive_lock_* macros.
24423         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
24424         Fix syntax error.
24425
24426 2008-08-18  Bruno Haible  <bruno@clisp.org>
24427
24428         * lib/glthread/thread.c: Avoid forcing a context switch right after
24429         thread creation.
24430
24431 2008-08-17  Bruno Haible  <bruno@clisp.org>
24432
24433         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
24434         * lib/glthread/thread.h: Provide Win32 specific implementation.
24435         * modules/thread (Files): Add lib/glthread/thread.c.
24436         (Depends-on): Add lock.
24437         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
24438
24439 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24440
24441         New module 'yield'.
24442         * modules/yield: New file.
24443         * lib/glthread/yield.h: New file.
24444         * m4/yield.m4: New file.
24445         * MODULES.html.sh (Multithreading): Add yield.
24446
24447 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24448
24449         New module 'thread'.
24450         * modules/thread: New file.
24451         * lib/glthread/thread.h: New file.
24452         * m4/thread.m4: New file.
24453         * MODULES.html.sh (Multithreading): Add thread.
24454
24455 2008-08-17  Bruno Haible  <bruno@clisp.org>
24456
24457         * lib/glthread/lock.h: Include <stdlib.h> always.
24458         * lib/glthread/tls.h: Likewise.
24459         * lib/glthread/cond.h: Likewise.
24460
24461 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24462
24463         New module 'cond'.
24464         * modules/cond: New file.
24465         * lib/glthread/cond.h: New file.
24466         * lib/glthread/cond.c: New file.
24467         * m4/cond.m4: New file.
24468         * MODULES.html.sh (Multithreading): Add cond.
24469
24470 2008-08-16  Eric Blake  <ebb9@byu.net>
24471
24472         c-stack: fix regression on Irix 5.3 from 2008-06-21
24473         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
24474         sa_sigaction...
24475         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
24476         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
24477         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
24478         * modules/signal (Makefile.am): Use the value.
24479         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
24480         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
24481         * doc/posix-headers/signal.texi (signal.h): Document this
24482         portability issue.
24483         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
24484         Reported by Tom G. Christensen.
24485
24486 2008-08-17  Bruno Haible  <bruno@clisp.org>
24487
24488         New module 'threadlib'.
24489         * modules/threadlib: New file.
24490         * lib/glthread/threadlib.c: New file, extracted from
24491         lib/glthread/lock.c.
24492         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
24493         functions.
24494         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
24495         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
24496         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
24497         macros.
24498         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
24499         (gl_DISABLE_THREADS): Remove macro.
24500         * modules/lock (Files): Remove build-aux/config.rpath.
24501         (Depends-on): Remove havelib. Add threadlib.
24502         (configure.ac-early): Remove section.
24503         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
24504         * modules/tls (Depends-on): Remove lock. Add threadlib.
24505         (Link): New section, copied from threadlib.
24506         * MODULES.html.sh (Multithreading): Add threadlib.
24507
24508 2008-08-14  Bruno Haible  <bruno@clisp.org>
24509
24510         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
24511         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
24512         glthread_rwlock_unlock, glthread_rwlock_destroy,
24513         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
24514         glthread_recursive_lock_destroy): Define as macros always.
24515         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
24516         glthread_lock_lock.
24517         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
24518         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
24519         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
24520         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
24521         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
24522         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
24523         (glthread_recursive_lock_lock_func): Renamed from
24524         glthread_recursive_lock_lock.
24525         (glthread_recursive_lock_unlock_func): Renamed from
24526         glthread_recursive_lock_unlock.
24527         (glthread_recursive_lock_destroy_func): Renamed from
24528         glthread_recursive_lock_destroy.
24529
24530 2008-08-14  Bruno Haible  <bruno@clisp.org>
24531
24532         * lib/glthread/lock.h: Renamed from lib/lock.h.
24533         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
24534         * lib/glthread/tls.h: Renamed from lib/tls.h.
24535         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
24536         * lib/fstrcmp.c: Update includes.
24537         * lib/strsignal.c: Update includes.
24538         * modules/lock (Files, Makefile.am): Update.
24539         (Include): Change to "glthread/lock.h".
24540         * modules/tls (Files, Makefile.am): Update.
24541         (Include): Change to "glthread/tls.h".
24542         * tests/test-lock.c: Update includes.
24543         * tests/test-tls.c: Update includes.
24544         * NEWS: Mention the renamed header files.
24545
24546 2008-08-11  Jim Meyering  <meyering@redhat.com>
24547
24548         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
24549
24550 2008-08-11  Eric Blake  <ebb9@byu.net>
24551
24552         test-c-stack: avoid C99-ism
24553         * tests/test-c-stack.c (main): Fix whitespace, move declaration
24554         before statement.
24555         Reported by Alain Guibert.
24556
24557 2008-08-10  Jim Meyering  <meyering@redhat.com>
24558
24559         ensure that return value of uinttostr et al are not ignored
24560         * lib/inttostr.h (__GNUC_PREREQ): Define.
24561         (__attribute_warn_unused_result__): Define.
24562         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
24563
24564 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
24565
24566         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
24567         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
24568
24569 2008-08-07  Jim Meyering  <meyering@redhat.com>
24570
24571         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
24572
24573         * modules/mkstemp (License): Relicense under LGPLv2+.
24574         * modules/tempname (License): Likewise.
24575
24576 2008-08-06  Bruno Haible  <bruno@clisp.org>
24577
24578         * lib/poll.c (poll): Further micro-optimization.
24579
24580 2008-08-06  Jim Meyering  <meyering@redhat.com>
24581
24582         inet_pton.c: use locale-independent tolower
24583         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
24584         (inet_pton6): Use c_tolower rather than tolower.
24585         * modules/inet_pton (Depends-on): Add c-ctype.
24586
24587 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
24588
24589         * lib/poll.c (poll): Avoid division when timeout is 0, cache
24590         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
24591
24592 2008-08-06  Jim Meyering  <meyering@redhat.com>
24593
24594         * modules/inet_pton (License): Relicense under LGPLv2+.
24595
24596 2008-08-03  Bruno Haible  <bruno@clisp.org>
24597
24598         Additional non-aborting API for lock and tls.
24599         * lib/lock.h: Include <errno.h>.
24600         (glthread_lock_init): New macro/function.
24601         (gl_lock_init): Define as wrapper around glthread_lock_init.
24602         (glthread_lock_lock): New macro/function.
24603         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
24604         (glthread_lock_unlock): New macro/function.
24605         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
24606         (glthread_lock_destroy): New macro/function.
24607         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
24608         (glthread_rwlock_init): New macro/function.
24609         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
24610         (glthread_rwlock_rdlock): New macro/function.
24611         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
24612         (glthread_rwlock_wrlock): New macro/function.
24613         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
24614         (glthread_rwlock_unlock): New macro/function.
24615         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
24616         (glthread_rwlock_destroy): New macro/function.
24617         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
24618         (glthread_recursive_lock_init): New macro/function.
24619         (gl_recursive_lock_init): Define as wrapper around
24620         glthread_recursive_lock_init.
24621         (glthread_recursive_lock_lock): New macro/function.
24622         (gl_recursive_lock_lock): Define as wrapper around
24623         glthread_recursive_lock_lock.
24624         (glthread_recursive_lock_unlock): New macro/function.
24625         (gl_recursive_lock_unlock): Define as wrapper around
24626         glthread_recursive_lock_unlock.
24627         (glthread_recursive_lock_destroy): New macro/function.
24628         (gl_recursive_lock_destroy): Define as wrapper around
24629         glthread_recursive_lock_destroy.
24630         (glthread_once): New macro/function.
24631         (gl_once): Define as wrapper around glthread_once.
24632         Update function declarations.
24633         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
24634         glthread_rwlock_init. Return error code.
24635         (glthread_rwlock_rdlock_multithreaded): Renamed from
24636         glthread_rwlock_rdlock. Return error code.
24637         (glthread_rwlock_wrlock_multithreaded): Renamed from
24638         glthread_rwlock_wrlock. Return error code.
24639         (glthread_rwlock_unlock_multithreaded): Renamed from
24640         glthread_rwlock_unlock. Return error code.
24641         (glthread_rwlock_destroy_multithreaded): Renamed from
24642         glthread_rwlock_destroy. Return error code.
24643         (glthread_recursive_lock_init_multithreaded): Renamed from
24644         glthread_recursive_lock_init. Return error code.
24645         (glthread_recursive_lock_lock_multithreaded): Renamed from
24646         glthread_recursive_lock_lock. Return error code.
24647         (glthread_recursive_lock_unlock_multithreaded): Renamed from
24648         glthread_recursive_lock_unlock. Return error code.
24649         (glthread_recursive_lock_destroy_multithreaded): Renamed from
24650         glthread_recursive_lock_destroy. Return error code.
24651         (glthread_once_call): Make static.
24652         (glthread_once_multithreaded): Renamed from glthread_once.
24653         * lib/tls.h: Include <errno.h>.
24654         (glthread_tls_key_init): New macro/function.
24655         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
24656         (glthread_tls_set): New macro/function.
24657         (gl_tls_set): Define as wrapper around glthread_tls_set.
24658         (glthread_tls_key_destroy): New macro/function.
24659         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
24660         Update function declarations.
24661         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
24662         glthread_tls_get.
24663         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24664
24665 2008-08-04  Eric Blake  <ebb9@byu.net>
24666
24667         gnumakefile: use space, not TAB, outside of targets
24668         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
24669
24670 2008-08-02  Jim Meyering  <meyering@redhat.com>
24671
24672         getdate.y: avoid locale-dependent date parsing failure
24673         In Turkish locales, getdate would fail to recognize keywords
24674         containing a lowercase "i".  The solution is not to rely on
24675         locale-sensitive case-conversion.
24676         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
24677         (lookup_word): Use c_toupper in place of toupper.
24678         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
24679         Reported by Vefa Bicakci <bicave@superonline.com> in
24680         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
24681         * modules/getdate (Depends-on): Add c-ctype.
24682
24683 2008-08-02  Bruno Haible  <bruno@clisp.org>
24684
24685         * gnulib-tool (func_import): When updating or creating a .gitignore
24686         file, prepend each added line with a slash, and ignore leading slashes
24687         from the existing lines.
24688         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
24689
24690 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24691
24692         Portability fix for GNU make 3.79.1.
24693         * top/GNUmakefile: Avoid 'else COND', which older GNU make
24694         versions do not understand.
24695
24696 2008-08-01  Bruno Haible  <bruno@clisp.org>
24697
24698         Work around bug of HP-UX 10.20 cc with -0.0 literal.
24699         * tests/test-isnanf.h (zero): New variable.
24700         (main): Avoid literal -0.0f.
24701         * tests/test-isnand.h (zero): New variable.
24702         (main): Avoid literal -0.0.
24703         * tests/test-isnanl.h (zero): New variable.
24704         (main): Avoid literal -0.0L.
24705         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
24706         (test_float, test_double, test_long_double): Avoid literals -0.0f,
24707         -0.0, -0.0L.
24708         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
24709         (test_signbitd): Avoid literal -0.0.
24710         (test_signbitl): Avoid literal -0.0L.
24711         * tests/test-ceilf1.c (zero): New variable.
24712         (main): Avoid literal -0.0f.
24713         * tests/test-ceill.c (zero): New variable.
24714         (main): Avoid literal -0.0L.
24715         * tests/test-floorf1.c (zero): New variable.
24716         (main): Avoid literal -0.0f.
24717         * tests/test-floorl.c (zero): New variable.
24718         (main): Avoid literal -0.0L.
24719         * tests/test-roundf1.c (zero): New variable.
24720         (main): Avoid literal -0.0f.
24721         * tests/test-round1.c (zero): New variable.
24722         (main): Avoid literal -0.0.
24723         * tests/test-roundl.c (zero): New variable.
24724         (main): Avoid literal -0.0L.
24725         * tests/test-truncf1.c (zero): New variable.
24726         (main): Avoid literal -0.0f.
24727         * tests/test-trunc1.c (zero): New variable.
24728         (main): Avoid literal -0.0.
24729         * tests/test-truncl.c (zero): New variable.
24730         (main): Avoid literal -0.0L.
24731         * tests/test-frexp.c (zero): New variable.
24732         (main): Avoid literal -0.0.
24733         * tests/test-frexpl.c (zero): New variable.
24734         (main): Avoid literal -0.0L.
24735         * tests/test-ldexpl.c (zero): New variable.
24736         (main): Avoid literal -0.0L.
24737         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24738         (zerod, zerol): New variables.
24739         (test_function): Avoid literals -0.0, -0.0L.
24740         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24741         (zerod, zerol): New variables.
24742         (test_function): Avoid literals -0.0, -0.0L.
24743         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24744         (zerod, zerol): New variables.
24745         (test_function): Avoid literals -0.0, -0.0L.
24746         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24747         (zerod, zerol): New variables.
24748         (test_function): Avoid literals -0.0, -0.0L.
24749         * tests/test-strtod.c (zero): New variable.
24750         (main): Avoid literal -0.0.
24751         Reported by Jonathan C. Patschke <jp@centtech.com>.
24752
24753 2008-07-31  Jim Meyering  <meyering@redhat.com>
24754
24755         sha256.h: correct definition of SHA224_DIGEST_SIZE
24756         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
24757         Reported by Paulie Pena IV <paulie4@gmail.com>.
24758         Define as 224 / 8, rather than as a literal.
24759         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
24760         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
24761         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
24762
24763 2008-07-31  Bruno Haible  <bruno@clisp.org>
24764
24765         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
24766         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
24767         Reported by Jonathan Patschke <jp@centtech.com>.
24768
24769 2008-07-31  Bruno Haible  <bruno@clisp.org>
24770
24771         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
24772         Reported by Paolo Bonzini <bonzini@gnu.org>.
24773
24774 2008-07-30  Eric Blake  <ebb9@byu.net>
24775
24776         test-strtod: allow compilation without -lm
24777         * tests/test-strtod.c (main): Avoid link dependence on fabs.
24778         Reported by Dennis Clarke <blastwave@gmail.com>.
24779
24780 2008-07-28  Jim Meyering  <meyering@redhat.com>
24781
24782         bootstrap: work also when there are no .po files in po/
24783         * build-aux/bootstrap (update_po_files): Complete the change
24784         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
24785
24786 2008-07-27  Jim Meyering  <meyering@redhat.com>
24787
24788         * users.txt: Add zile.
24789
24790 2008-07-26  Ben Pfaff  <blp@gnu.org>
24791
24792         Add missing dependencies on new m4/exponent[fdl].m4 files.
24793         * modules/isnanf-nolibm: Add m4/exponentf.m4.
24794         * modules/isnand-nolibm: Add m4/exponentd.m4.
24795         * modules/isnanl-nolibm: Add m4/exponentl.m4.
24796         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
24797         m4/isnan[fdl].m4, because the macros actually used moved.
24798         Reported by Jim Meyering.
24799
24800 2008-07-14  Ben Pfaff  <blp@gnu.org>
24801
24802         Add isinf module.
24803         * lib/isinf.c: New file.
24804         * lib/math.in.h: Define isinf macro if we have decided to replace
24805         it.
24806         * m4/isinf.m4: New file.
24807         * m4/math_h.m4: Initialize and substitute variables for isinf
24808         module.
24809         * modules/isinf: New file.
24810         * modules/isinf-tests: New file.
24811         * modules/math: Add substitutions for new module.
24812         * tests/test-isinf.c: New file.
24813         * doc/posix-functions/isinf.texi: Mention new module.
24814         * MODULES.html.sh: Mention new module.
24815
24816 2008-07-14  Ben Pfaff  <blp@gnu.org>
24817
24818         Factor out some macros for use by additional modules.
24819         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
24820         exponentf.m4.
24821         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
24822         exponentd.m4.
24823         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
24824         file exponentl.m4.
24825         * m4/exponentf.m4: New file.
24826         * m4/exponentd.m4: New file.
24827         * m4/exponentl.m4: New file.
24828         * modules/isnanf: Use new file m4/exponentf.m4.
24829         * modules/isnand: Use new file m4/exponentd.m4.
24830         * modules/isnanl: Use new file m4/exponentl.m4.
24831
24832 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
24833
24834         mktime.c: normalize tp->tm_isdst value to -1/0/1.
24835         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
24836         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
24837         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
24838
24839         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
24840         readlink on platforms without PATH_MAX.
24841
24842 2008-07-21  Eric Blake  <ebb9@byu.net>
24843
24844         Warn, not fail, on stale version.
24845         * top/GNUmakefile (_curr-ver): Tone down previous patch.
24846
24847         Don't allow installation with stale devel version number.
24848         * top/GNUmakefile (_is-install-target): New macro.
24849         (_curr-ver): Forbid installation with stale version number.
24850
24851 2008-07-20  Bruno Haible  <bruno@clisp.org>
24852
24853         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
24854         TESTS_ENVIRONMENT.
24855         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
24856
24857 2008-07-20  Bruno Haible  <bruno@clisp.org>
24858
24859         * lib/c-stack.h (c_stack_action): Add documentation.
24860         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
24861
24862 2008-07-20  Bruno Haible  <bruno@clisp.org>
24863
24864         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
24865         * modules/readlink (License): Likewise.
24866
24867 2008-07-17  Eric Blake  <ebb9@byu.net>
24868
24869         * modules/c-stack (Link): Fix typo.
24870
24871         Make c-stack use libsigsegv, when available.
24872         * modules/c-stack (Depends-on): Add libsigsegv.
24873         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
24874         needed.
24875         * lib/c-stack.c (SIGSTKSZ): Define fallback.
24876         (segv_handler, overflow_handler, c_stack_action)
24877         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
24878         implementation when libsigsegv is available, but only when using
24879         the library is necessary.
24880         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
24881         comment, explaining why XSI check fails on Linux.
24882         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
24883         * tests/test-c-stack2.sh: Tweak skip message.
24884         * NEWS: Document new link-time requirements.
24885
24886 2008-07-16  Eric Blake  <ebb9@byu.net>
24887
24888         c-stack: Expose false positives when not using libsigsegv.
24889         * modules/c-stack-tests (Files): Expand test.
24890         * tests/test-c-stack.c (main): Add means to conditionally trigger
24891         non-overflow SIGSEGV.
24892         * tests/test-c-stack2.sh: New file.
24893
24894 2008-07-14  Bruno Haible  <bruno@clisp.org>
24895
24896         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
24897         Reported by Eric Blake.
24898
24899 2008-07-14  Sam Steingold  <sds@gnu.org>
24900             Bruno Haible  <bruno@clisp.org>
24901
24902         New module libsigsegv.
24903         * modules/libsigsegv: New file.
24904         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
24905         modifications.
24906         * MODULES.html.sh (Signal handling): New section.
24907
24908 2008-07-14  Bruno Haible  <bruno@clisp.org>
24909
24910         * modules/unictype/ctype-* (Description): Add the word "function".
24911         Improves the resulting doc in MODULES.html.
24912
24913 2008-07-12  Ben Pfaff  <blp@gnu.org>
24914
24915         Add longlong module.
24916         * modules/longlong: New file.
24917
24918 2008-07-12  Bruno Haible  <bruno@clisp.org>
24919
24920         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
24921         to empty.
24922
24923 2008-07-10  Ben Pfaff  <blp@gnu.org>
24924
24925         Add isnan module.
24926         * doc/posix-functions/isnan.texi: Mention new module.
24927         * lib/math.in.h: Define isnan macro if we have decided to replace
24928         it.
24929         * m4/isnan.m4: New file.
24930         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
24931         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
24932         also.
24933         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
24934         redundancy.
24935         * m4/math_h.m4: Initialize and substitute variables for isnan
24936         module.
24937         * modules/isnan: New file.
24938         * modules/isnan-tests: New file.
24939         * modules/math: Add substitutions for new module.
24940         * tests/test-isnan.c: New file.
24941         * MODULES.html.sh: Mention new module.
24942
24943 2008-07-10  Ben Pfaff  <blp@gnu.org>
24944
24945         Add isnanf module.
24946         * lib/isnanf.m4: New file.
24947         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
24948         (gl_HAVE_ISNANF_IN_LIBM): New macro.
24949         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
24950         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
24951         * modules/isnanf: New file.
24952         * modules/isnanf-tests: New file.
24953         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
24954         files.
24955         * tests/test-isnanf-nolibm.c: factored most of its contents into
24956         new file tests/test-isnanf.h.
24957         * tests/test-isnanf.h: New file.
24958         * tests/test-isnanf.c: New file.
24959         * MODULES.html.sh: Mention new module.
24960         * doc/glibc-functions/isnanf.texi: Mention new module.
24961
24962 2008-07-10  Ben Pfaff  <blp@gnu.org>
24963
24964         Add isnand module.
24965         * lib/isnand.h: New file.
24966         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
24967         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
24968         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
24969         functionality also.
24970         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
24971         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
24972         (gl_HAVE_ISNAND_IN_LIBM): New macro.
24973         * modules/isnand: New file.
24974         * modules/isnand-tests: New file.
24975         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
24976         files.
24977         * tests/test-isnand-nolibm.c: factored most of its contents into
24978         new file tests/test-isnand.h.
24979         * tests/test-isnand.h: New file.
24980         * tests/test-isnand.c: New file.
24981         * MODULES.html.sh: Mention new module.
24982
24983 2008-07-10  Ben Pfaff  <blp@gnu.org>
24984
24985         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
24986         * lib/isnand.h: Rename lib/isnand-nolibm.h.
24987         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
24988         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
24989         * modules/isnanf-nolibm: Update references to renamed files.
24990         * modules/isnand-nolibm: Likewise.
24991         * modules/isnanf-nolibm-tests: Likewise.
24992         * modules/isnand-nolibm-tests: Likewise.
24993         * lib/frexp.c: Likewise.
24994         * lib/isfinite.c: Likewise.
24995         * lib/signbitd.c: Likewise.
24996         * lib/signbitf.c: Likewise.
24997         * lib/vasnprintf.c: Likewise.
24998         * tests/test-ceilf1.c: Likewise.
24999         * tests/test-ceilf2.c: Likewise.
25000         * tests/test-floorf1.c: Likewise.
25001         * tests/test-floorf2.c: Likewise.
25002         * tests/test-frexp.c: Likewise.
25003         * tests/test-round1.c: Likewise.
25004         * tests/test-round2.c: Likewise.
25005         * tests/test-roundf1.c: Likewise.
25006         * tests/test-strtod.c: Likewise.
25007         * tests/test-trunc1.c: Likewise.
25008         * tests/test-trunc2.c: Likewise.
25009         * tests/test-truncf1.c: Likewise.
25010         * tests/test-truncf2.c: Likewise.
25011         * NEWS: Mention the renamed header files.
25012
25013 2008-07-11  Jim Meyering  <meyering@redhat.com>
25014
25015         vc-list-files: make the last-resort awk code more portable
25016         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
25017         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
25018         does not support it.
25019
25020 2008-07-10  Eric Blake  <ebb9@byu.net>
25021
25022         Work with tar's bootstrap.
25023         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
25024         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
25025         an m4 comment.
25026
25027 2008-07-09  Jim Meyering  <meyering@redhat.com>
25028
25029         posix-shell.m4: fix typo that made this test malfunction
25030         * m4/posix-shell.m4: Remove capitalization in variable name.
25031
25032 2008-07-08  Bruno Haible  <bruno@clisp.org>
25033
25034         * m4/onceonly.m4: Update comments.
25035         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25036
25037 2008-07-04  Jim Meyering  <meyering@redhat.com>
25038
25039         * users.txt: Add vc-dwim.
25040         (bison, coreutils): Use the gitweb URL.
25041
25042 2008-07-03  Jim Meyering  <meyering@redhat.com>
25043
25044         * users.txt: Add libffcall.  From Sam Steingold.
25045
25046 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
25047
25048         getdate.y: do not ignore TZ with relative day, month or year offset
25049         * lib/getdate.y (get_date): Move the tz-handling block to follow the
25050         relative-date-handling, since otherwise, the latter would clobber the
25051         sole output (an updated Start value) of the tz-handling block.
25052         * tests/test-getdate.c: Tests for the fix
25053
25054 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25055
25056         Recognize 'foo_LIBRARIES += libgnu.a'.
25057         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
25058         makefile snippet has already specified an installation location,
25059         also using '+='.
25060
25061 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
25062
25063         getdate.y: factor out common actions
25064         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
25065         Use them in place of open-coded actions.
25066
25067 2008-07-01  Simon Josefsson  <simon@josefsson.org>
25068
25069         Add self-test for getdate module.
25070         * modules/getdate-tests: New file.
25071         * tests/test-getdate.c: New file.
25072
25073 2008-06-29  Bruno Haible  <bruno@clisp.org>
25074
25075         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
25076         .gitignore.
25077         Reported by Sylvain Beucler <beuc@beuc.net>.
25078
25079 2008-06-29  Bruno Haible  <bruno@clisp.org>
25080
25081         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
25082         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
25083
25084 2008-06-29  Bruno Haible  <bruno@clisp.org>
25085
25086         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
25087         EXTRA_DIST.
25088         Reported by Sylvain Beucler <beuc@beuc.net>.
25089
25090 2008-06-26  Jim Meyering  <meyering@redhat.com>
25091
25092         make several modules depend on the "open" module
25093         This provides slightly increased consistency when opening-for-write
25094         the name of a non-directory spelled with a trailing slash.
25095         * modules/chdir-safer: Likewise.
25096         * modules/chown: Likewise.
25097         * modules/clean-temp: Likewise.
25098         * modules/copy-file: Likewise.
25099         * modules/fchdir: Likewise.
25100         * modules/fcntl-safer: Likewise.
25101         * modules/pipe: Likewise.
25102         * modules/utime: Likewise.
25103         Prompted by Eric Blake and Bruno Haible.
25104
25105 2008-06-24  Andreas Schwab  <schwab@suse.de>
25106
25107         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
25108         literals can be used as initializers for global variables.
25109
25110 2008-06-23  Eric Blake  <ebb9@byu.net>
25111
25112         Make gnulib-cache.m4 easier to diff.
25113         * gnulib-tool (func_import): Allow newlines when reading cached
25114         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
25115
25116 2008-06-23  Bruno Haible  <bruno@clisp.org>
25117
25118         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
25119         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
25120         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
25121         m4/signalblocking.m4.
25122         (gl_PREREQ_SIGACTION): Don't invoke it.
25123         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
25124         gl_PREREQ_SIG_HANDLER_H.
25125         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
25126         Don't check for sigaction here.
25127
25128 2008-06-23  Bruno Haible  <bruno@clisp.org>
25129
25130         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
25131         (install_handlers): Don't set the SA_RESETHAND flag.
25132
25133 2008-06-23  Bruno Haible  <bruno@clisp.org>
25134
25135         * m4/sigaction.m4: Comment fixes.
25136         * lib/signal.in.h: Likewise.
25137
25138 2008-06-23  Eric Blake  <ebb9@byu.net>
25139
25140         Fix typo.
25141         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
25142
25143         Avoid SA_ namespace.
25144         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
25145         Reported by Ralf Wildenhues.
25146
25147         Avoid test failure due to SA_RESTORER.
25148         * tests/test-sigaction.c (SA_MASK): New macro.
25149         (main): Avoid failing due to extension flags being set.
25150         Reported by Jim Meyering.
25151
25152         Revert use of sig-handler.h in sigprocmask.c.
25153         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
25154         it requires the existence of struct sigaction.
25155         * lib/sigprocmask.c (handler_t): Restore typedef.
25156         (rpl_signal, old_handlers): Use local type.
25157
25158 2008-06-22  Bruno Haible  <bruno@clisp.org>
25159
25160         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
25161         conditionally.
25162         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25163
25164 2008-06-22  Bruno Haible  <bruno@clisp.org>
25165
25166         * doc/posix-functions/siginterrupt.texi: Move note.
25167
25168         * lib/signal.in.h (SA_RESTART): New macro.
25169         * lib/sigaction.c: Update comment.
25170
25171         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
25172
25173         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
25174         (gl_PREREQ_SIGPROCMASK): Invoke it.
25175         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
25176
25177         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
25178
25179         * lib/sigprocmask.c: Update a comment.
25180
25181 2008-06-21  Eric Blake  <ebb9@byu.net>
25182
25183         Use sigaction module rather than signal().
25184         * modules/c-stack (Depends-on): Add sigaction.
25185         * modules/fatal-signal (Depends-on): Likewise.
25186         * modules/nanosleep (Depends-on): Likewise.
25187         * modules/sigprocmask (Files): Add sig-handler.h.
25188         * modules/sigaction (Files): Likewise.
25189         * lib/sig-handler.h (get_handler): New file, suggested by Paul
25190         Eggert.
25191         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
25192         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
25193         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
25194         (init_fatal_signals): Likewise.
25195         * lib/nanosleep.c (rpl_nanosleep): Likewise.
25196         (siginterrupt): Delete fallback.
25197         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
25198         instead.
25199         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
25200         siginterrupt.
25201
25202         New module sigaction, for mingw.
25203         * modules/sigaction: New module...
25204         * modules/sigaction-tests: ...and its test.
25205         * m4/sigaction.m4: New file.
25206         * lib/sigaction.c: Likewise.
25207         * tests/test-sigaction.c: Likewise.
25208         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
25209         * modules/signal (Makefile.am): Likewise.
25210         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
25211         needed.
25212         * doc/posix-headers/signal.texi (signal.h): Mention provided
25213         types.
25214         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
25215         that sigaction is preferable.
25216         * doc/posix-functions/sigaction.texi (sigaction): Mention new
25217         module.
25218         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
25219         sigaction.
25220
25221         Improve robustness of sigprocmask by overriding signal.
25222         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
25223         is in use.
25224         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
25225         (SIGKILL, SIGSTOP): Provide fallbacks.
25226         (rpl_signal): Implement.
25227         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
25228         signal can be called inside handlers.
25229
25230         Fix nanosleep module on mingw.
25231         * modules/nanosleep (Depends-on): Add sys_select.
25232         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
25233
25234         Fix licensing of sigprocmask.
25235         * modules/raise (License): Relicense as LGPL.
25236
25237 2008-06-21  Bruno Haible  <bruno@clisp.org>
25238
25239         * lib/propername.c (proper_name_utf8): Don't use the transliterated
25240         result if it contains question marks.
25241         Reported by Michael Geng <linux@michaelgeng.de>.
25242
25243 2008-06-19  Bruno Haible  <bruno@clisp.org>
25244
25245         Fix CVS-ism.
25246         * doc/gnulib.texi: Include updated-stamp.texi.
25247         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
25248         (updated-stamp.texi): New rule.
25249         (gnulib.info): Depend on it.
25250         * doc/.gitignore: Add updated-stamp.texi.
25251         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
25252
25253 2008-06-19  Bruno Haible  <bruno@clisp.org>
25254
25255         * doc/Makefile (gnulib.info): Update and simplify dependencies.
25256         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25257
25258 2008-06-19  Eric Blake  <ebb9@byu.net>
25259
25260         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
25261         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
25262         Reported by Stepan Kasal.
25263
25264 2008-06-18  Bruno Haible  <bruno@clisp.org>
25265
25266         * lib/fatal-signal.c (init_fatal_signals): Add comment.
25267         Reported by Eric Blake.
25268
25269 2008-06-18  Eric Blake  <ebb9@byu.net>
25270
25271         Work around cygwin 1.5.25 strsignal bug.
25272         * tests/test-strsignal.c: Allow for const char *.
25273         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
25274
25275 2008-06-18  Simon Josefsson  <simon@josefsson.org>
25276
25277         * users.txt: Update URL to article and add author/date
25278         information.
25279
25280 2008-06-17  Bruno Haible  <bruno@clisp.org>
25281
25282         New macro gl_DISABLE_THREADS.
25283         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
25284         if the user did not pass --enable-threads or --disable-threads option.
25285         (gl_DISABLE_THREADS): New macro.
25286         Reported by Eric Blake <ebb9@byu.net>.
25287
25288 2008-06-17  Bruno Haible  <bruno@clisp.org>
25289
25290         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
25291         when the macro ignores it.
25292         Based on a patch by Eric Blake <ebb9@byu.net>.
25293
25294 2008-06-17  Bruno Haible  <bruno@clisp.org>
25295
25296         * modules/tls (License): Change to LGPLv2+.
25297         Reported by Eric Blake.
25298
25299 2008-06-17  Eric Blake  <ebb9@byu.net>
25300
25301         Simplify c-stack prerequisites.
25302         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
25303         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
25304         no longer requires <ucontext.h> to exist.  Optimize setrlimit
25305         check.
25306         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
25307         <sys/resource.h>.
25308
25309         Move c-stack test into testsuite.
25310         * modules/c-stack-tests: New file.
25311         * lib/c-stack.c [DEBUG]: Move test program...
25312         * tests/test-c-stack.c: ...into this new file.  Skip rather than
25313         fail test if sigaltstack is lacking.
25314         * tests/test-c-stack.sh: New driver file.
25315
25316 2008-06-16  Eric Blake  <ebb9@byu.net>
25317
25318         Use raise module consistently.
25319         * modules/fatal-signal (Depends-on): Add raise.
25320         * modules/sigprocmask (Depends-on): Likewise.
25321         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
25322         * lib/sigprocmask.c (sigprocmask): Likewise.
25323         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
25324         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
25325
25326         Fix compliance bug in sigpending.
25327         * lib/sigprocmask.c (sigpending): Return pending array via
25328         parameter, not return value.
25329
25330 2008-06-14  Eric Blake  <ebb9@byu.net>
25331
25332         Improve obstack-printf test code.
25333         * tests/test-obstack-printf.c (test_function): Fix comment, and
25334         simplify usage of obstack_* in macros.  Add a test for coverage.
25335         Reported by Bruno Haible.
25336
25337 2008-06-14  Bruno Haible  <bruno@clisp.org>
25338
25339         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
25340         array size as a constant, not as a const variable.
25341         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
25342         AC_USE_SYSTEM_EXTENSIONS.
25343         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
25344         Test whether the obstack_printf function actually exists.
25345         * modules/obstack-printf (Depends-on): Add extensions.
25346         (Include): Remove obstack.h.
25347         * modules/obstack-printf-posix (Depends-on): Add extensions.
25348         (Include): Remove obstack.h.
25349
25350 2008-06-13  Eric Blake  <ebb9@byu.net>
25351
25352         Add obstack-printf and obstack-printf-posix modules.
25353         * modules/obstack-printf: New file.
25354         * modules/obstack-printf-posix: Likewise.
25355         * MODULES.html.sh (Misc): Mention them.
25356         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
25357         Likewise.
25358         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
25359         Likewise.
25360         * modules/stdio (Makefile.am): Accomodate new modules.
25361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25362         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
25363         Declare.
25364         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
25365         functions.
25366         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
25367         (gl_REPLACE_OBSTACK_PRINTF): New macros
25368         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
25369         * tests/test-obstack-printf.c: New file.
25370         * modules/obstack-printf-tests: Likewise.
25371         * modules/obstack-printf-posix-tests: Likewise.
25372
25373 2008-06-11  Bruno Haible  <bruno@clisp.org>
25374
25375         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
25376         * lib/open.c: Include errno.h.
25377         (open): Fail when attempting to write to a file that has a trailing
25378         slash.
25379         * tests/test-open.c (main): Test against trailing slash bug.
25380         * doc/posix-functions/open.texi: Mention the trailing slash bug.
25381
25382 2008-06-10  Bruno Haible  <bruno@clisp.org>
25383
25384         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
25385         for $? to work inside the trap command, with various /bin/sh-s.
25386         * tests/test-vc-list-files-cvs.sh: Likewise.
25387
25388 2008-06-10  Bruno Haible  <bruno@clisp.org>
25389
25390         * lib/acl-internal.h: Don't include gettext.h here.
25391         * lib/set-mode-acl.c: Include gettext.h here.
25392         * lib/copy-acl.c: Likewise.
25393
25394 2008-06-10  Bruno Haible  <bruno@clisp.org>
25395
25396         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
25397         * lib/wait-process.c (wait_subprocess): Likewise.
25398         * lib/execute.h (execute): Add termsigp argument.
25399         * lib/execute.c (execute): Likewise.
25400         * lib/csharpcomp.c (compile_csharp_using_pnet,
25401         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
25402         * lib/csharpexec.c (execute_csharp_using_pnet,
25403         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
25404         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
25405         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
25406         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
25407         is_jikes_present): Update.
25408         * lib/javaexec.c (execute_java_class): Update.
25409         * lib/javaversion.c (execute_and_read_line): Update.
25410         * NEWS: Document the changes.
25411         Reported by Eric Blake.
25412
25413 2008-06-10  Eric Blake  <ebb9@byu.net>
25414
25415         Add missing include.
25416         * tests/test-strstr.c (includes): Add <signal.h>.
25417         * tests/test-strcasestr.c (includes): Likewise.
25418         * tests/test-memmem.c (includes): Likewise.
25419
25420 2008-06-10  Bruno Haible  <bruno@clisp.org>
25421
25422         * lib/wait-process.c (wait_subprocess): Add an assertion.
25423
25424 2008-06-10  Bruno Haible  <bruno@clisp.org>
25425
25426         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
25427
25428 2008-06-10  Bruno Haible  <bruno@clisp.org>
25429
25430         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
25431         using alarm().
25432         * tests/test-strcasestr.c (main): Likewise.
25433         * tests/test-strstr.c (main): Likewise.
25434
25435 2008-06-09  Bruno Haible  <bruno@clisp.org>
25436
25437         Work around the Solaris 10 ACE ACLs ABI change.
25438         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
25439         declare if ACL_NO_TRIVIAL is present.
25440         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
25441         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
25442         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
25443         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
25444         define if ACL_NO_TRIVIAL is present.
25445         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
25446         and use the current ABI.
25447         (file_has_acl): Use same #if condition as elsewhere.
25448         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
25449         in use, and use the current ABI.
25450         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
25451         Reported by Jim Meyering.
25452
25453 2008-06-09  Eric Blake  <ebb9@byu.net>
25454
25455         Work around environments that (stupidly) ignore SIGALRM.
25456         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
25457         before using alarm().
25458         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25459         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25460         Reported by Ian Beckwith <ianb@erislabs.net>.
25461
25462         Produce autobuild blurb earlier in log.
25463         * modules/autobuild (configure.ac-early): Move AB_INIT here.
25464
25465 2008-06-09  Jim Meyering  <meyering@redhat.com>
25466         and OndÅ™ej Vašík  <ovasik@redhat.com>
25467
25468         utimens.c: correct kernel bug work-around
25469         OndÅ™ej Vašík found that the invalid return value of 280 indicates
25470         failure, not success, and the kernel bug we're trying to work
25471         around affects not just the utimensat call, but also the fallback
25472         futimens call.
25473         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
25474         not success.
25475         [HAVE_FUTIMENS]: Use the same work-around, here.
25476
25477 2008-06-09  Jim Meyering  <meyering@redhat.com>
25478
25479         add more guards around definition of ACE_-related code
25480         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
25481         ALLOW and ACE_OWNER are also defined.
25482
25483 2008-06-08  Bruno Haible  <bruno@clisp.org>
25484
25485         * lib/acl-internal.h: Add me as co-author.
25486         * lib/file-has-acl.c: Likewise.
25487         * lib/set-mode-acl.c: Likewise.
25488         * lib/copy-acl.c: Likewise.
25489
25490 2008-06-08  Bruno Haible  <bruno@clisp.org>
25491
25492         Add support for AIX ACLs.
25493         * lib/acl-internal.h (acl_nontrivial): New declaration.
25494         * lib/file-has-acl.c (acl_nontrivial): New function.
25495         (file_has_acl): Add implementation using AIX 4 ACL API.
25496         * lib/set-mode-acl.c (qset_acl): Likewise.
25497         * lib/copy-acl.c (qcopy_acl): Likewise.
25498
25499 2008-06-08  Bruno Haible  <bruno@clisp.org>
25500
25501         Add support for HP-UX ACLs.
25502         * lib/acl-internal.h (acl_nontrivial): New declaration.
25503         * lib/file-has-acl.c (acl_nontrivial): New function.
25504         (file_has_acl): Add implementation using HP-UX 11 ACL API.
25505         * lib/set-mode-acl.c (qset_acl): Likewise.
25506         * lib/copy-acl.c (qcopy_acl): Likewise.
25507
25508 2008-06-08  Bruno Haible  <bruno@clisp.org>
25509
25510         Add support for Cygwin ACLs.
25511         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
25512         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
25513         the chmod_or_fchmod call.
25514         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
25515
25516 2008-06-08  Bruno Haible  <bruno@clisp.org>
25517
25518         Fix bug with setuid modes in Solaris 10+ code.
25519         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
25520         succeeded, when the mode contains some special bits.
25521
25522 2008-06-08  Bruno Haible  <bruno@clisp.org>
25523
25524         Add support for Solaris 7..10 ACLs.
25525         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
25526         declarations.
25527         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
25528         functions.
25529         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
25530         * lib/set-mode-acl.c (qset_acl): Likewise.
25531         * lib/copy-acl.c (qcopy_acl): Likewise.
25532
25533 2008-06-08  Bruno Haible  <bruno@clisp.org>
25534
25535         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
25536         declaration.
25537         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
25538         (acl_access_nontrivial): Remove MacOS X case.
25539         (file_has_acl): Use acl_extended_nontrivial.
25540         * lib/copy-acl.c (qcopy_acl): Likewise.
25541
25542 2008-06-08  Bruno Haible  <bruno@clisp.org>
25543
25544         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
25545
25546 2008-06-08  Jim Meyering  <meyering@redhat.com>
25547
25548         * modules/acl (Maintainer): Add Bruno Haible.
25549
25550 2008-06-07  Bruno Haible  <bruno@clisp.org>
25551
25552         Improve support for Tru64 ACLs.
25553         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
25554         ACL on OSF/1.
25555
25556 2008-06-07  Bruno Haible  <bruno@clisp.org>
25557
25558         Add support for MacOS X ACLs.
25559         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
25560         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
25561         * lib/set-mode-acl.c (qset_acl): Likewise.
25562         * lib/copy-acl.c (qcopy_acl): Likewise.
25563
25564 2008-06-07  Bruno Haible  <bruno@clisp.org>
25565
25566         Fix memory leak introduced on 2008-05-22.
25567         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
25568         use.
25569
25570 2008-06-07  Bruno Haible  <bruno@clisp.org>
25571
25572         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
25573         to construct an empty ACL.
25574
25575 2008-06-07  Bruno Haible  <bruno@clisp.org>
25576
25577         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
25578         precisely.
25579         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
25580
25581 2008-06-07  Bruno Haible  <bruno@clisp.org>
25582
25583         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
25584         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
25585
25586 2008-06-07  Bruno Haible  <bruno@clisp.org>
25587
25588         * doc/posix-functions/_setjmp.texi: Explain the use of this function
25589         regardless of POSIX.
25590         * doc/posix-functions/_longjmp.texi: Likewise.
25591         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
25592         SystemV platform in this case.
25593
25594 2008-06-06  Eric Blake  <ebb9@byu.net>
25595
25596         Document abort() bugs.
25597         * doc/posix-functions/abort.texi (abort): Mention anomalies.
25598
25599         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
25600         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
25601         sigsetjmp.
25602         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
25603         siglongjmp, but only as a macro.
25604         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
25605         is obsolete.
25606         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
25607
25608         Tweak documentation to cover cygwin argz bugs.
25609         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
25610         argz bug fix; no code change needed since no cygwin releases
25611         occurred between the last fix and the bug being tested.
25612         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
25613         module and recently fixed cygwin bugs.
25614         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
25615         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
25616         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
25617         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
25618         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
25619         Likewise.
25620         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
25621         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
25622         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
25623         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
25624         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
25625         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
25626         Likewise.
25627
25628         Avoid gcc warning on cygwin.
25629         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
25630         !ACL_NO_TRIVIAL]: Avoid unused variable.
25631
25632 2008-06-05  Eric Blake  <ebb9@byu.net>
25633
25634         Be tolerant of UNKNOWN version in gnulib-tool test dir.
25635         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
25636         git-version-gen fails to come up with a version.
25637         Reported by Simon Josefsson.
25638
25639 2008-06-05  Jim Meyering  <meyering@redhat.com>
25640             Paul Eggert  <eggert@cs.ucla.edu>
25641
25642         utimens.c: work around a probable Linux kernel bug
25643         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
25644         appears to be a kernel bug that causes utimensat to return 280
25645         instead of 0, indicating success.
25646
25647 2008-06-04  Bruno Haible  <bruno@clisp.org>
25648
25649         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
25650         2008-06-01 commit.
25651
25652 2008-06-04  Bruno Haible  <bruno@clisp.org>
25653
25654         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
25655         * lib/file-has-acl.c (acl_access_nontrivial): New function.
25656         (file_has_acl): Use it. Save errno afterwards.
25657         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
25658
25659 2008-06-03  Bruno Haible  <bruno@clisp.org>
25660
25661         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
25662         draft code. Simplify #ifs.
25663         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
25664         Put Solaris code after POSIX-draft code. Fix comments regarding
25665         Solaris 10, HP-UX. Mention Cygwin.
25666         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
25667
25668 2008-06-03  Eric Blake  <ebb9@byu.net>
25669
25670         Provide fallback for older kernels.
25671         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
25672         Provide runtime fallback if kernel lacks support.
25673         Reported by Mike Frysinger.
25674
25675 2008-06-02  Bruno Haible  <bruno@clisp.org>
25676
25677         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
25678         it exists.
25679
25680 2008-06-02  Bruno Haible  <bruno@clisp.org>
25681
25682         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
25683         * lib/copy-acl.c (qcopy_acl): Update comment.
25684
25685 2008-06-02  Bruno Haible  <bruno@clisp.org>
25686
25687         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
25688         like ACL APIs.
25689
25690 2008-06-02  Bruno Haible  <bruno@clisp.org>
25691
25692         * tests/test-file-has-acl.sh: Use different code for Cygwin.
25693         * tests/test-set-mode-acl.sh: Likewise.
25694         * tests/test-copy-acl.sh: Likewise.
25695         * tests/test-copy-file.sh: Likewise.
25696
25697 2008-06-02  Bruno Haible  <bruno@clisp.org>
25698
25699         * tests/test-file-has-acl.sh: Remove unused code.
25700
25701 2008-06-01  Bruno Haible  <bruno@clisp.org>
25702
25703         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
25704         (copy_acl): Just a wrapper around qcopy_acl that emits the error
25705         messages.
25706         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
25707
25708 2008-06-01  Bruno Haible  <bruno@clisp.org>
25709
25710         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
25711         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
25712         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
25713         APIs.
25714         * modules/acl-tests (configure.ac): Remove tests now contained in
25715         m4/acl.m4.
25716
25717 2008-06-02  Jim Meyering  <meyering@redhat.com>
25718
25719         announce-gen: use a better key-server host name
25720         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
25721         it may be more consistently reliable.  Suggested by Werner Koch
25722         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
25723
25724 2008-06-01  Bruno Haible  <bruno@clisp.org>
25725
25726         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
25727         Reported by Voroskoi Andras <voroskoi@gmail.com>.
25728
25729 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
25730
25731         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
25732
25733 2008-06-01  Bruno Haible  <bruno@clisp.org>
25734
25735         New ACL tests.
25736         * tests/test-file-has-acl.sh: New file.
25737         * tests/test-file-has-acl.c: New file.
25738         * tests/test-set-mode-acl.sh: New file.
25739         * tests/test-set-mode-acl.c: New file.
25740         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
25741         * tests/test-copy-acl.c: New file.
25742         * modules/acl-tests: New file, based on modules/copy-file-tests.
25743         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
25744         (Depends-on): Add acl-tests.
25745         (configure.ac): Remove checks.
25746         (Makefile.am): Don't create test-sameacls program here any more.
25747
25748 2008-06-01  Bruno Haible  <bruno@clisp.org>
25749
25750         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
25751         * tests/test-sameacls.c: Include progname.h.
25752         (main): Invoke set_program_name. Portability fixes for MacOS X,
25753         Solaris, HP-UX.
25754
25755 2008-06-01  Bruno Haible  <bruno@clisp.org>
25756
25757         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
25758         function.
25759         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
25760
25761 2008-06-01  Bruno Haible  <bruno@clisp.org>
25762
25763         * modules/rpmatch (Depends-on): Add strdup.
25764
25765 2008-06-01  Bruno Haible  <bruno@clisp.org>
25766
25767         * lib/pipe.c: Include unistd-safer.h.
25768         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
25769         * modules/pipe (Depends-on): Add unistd-safer.
25770
25771 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25772
25773         * modules/autobuild (configure.ac): Call AB_INIT.
25774
25775 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25776
25777         * tests/test-getaddrinfo.c: Don't print debug messages by default.
25778         Suggested by Bruno Haible <bruno@clisp.org>.
25779
25780 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25781
25782         * tests/test-base64.c: Cast size_t to unsigned long when invoking
25783         printf.  Use %lu instead of %d.  Reported by Bruno Haible
25784         <bruno@clisp.org>.
25785
25786 2008-05-29  Eric Blake  <ebb9@byu.net>
25787
25788         Prefer new POSIX 200x interfaces over futimesat.
25789         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
25790         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
25791         when available.
25792         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
25793
25794 2008-05-28  Bruno Haible  <bruno@clisp.org>
25795
25796         * modules/stpcpy (License): Change to LGPLv2+.
25797         Requested by David Lutterkort <dlutter@redhat.com>.
25798
25799 2008-05-27  Bruno Haible  <bruno@clisp.org>
25800
25801         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
25802         current mingw.
25803         Reported by Jose E. Marchesi <jemarch@gnu.org>.
25804
25805 2008-05-27  Bruno Haible  <bruno@clisp.org>
25806
25807         * modules/iconv_open (Link): New section, from module 'iconv'.
25808         * modules/striconv (Link): Likewise.
25809         * modules/striconveh (Link): Likewise.
25810         * modules/xstriconv (Link): Likewise.
25811         * modules/unicodeio (Link): Likewise.
25812         * modules/propername (Link): Likewise.
25813         Reported by Jim Meyering.
25814
25815 2008-05-26  Jim Meyering  <meyering@redhat.com>
25816
25817         sha256: do not artificially restrict buffer length to be < 2^32
25818         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
25819         uint32_t to size_t.
25820         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
25821         to match.
25822
25823         avoid unaligned access errors, e.g., on sparc
25824         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
25825         direct access through a possibly-unaligned uint64* pointer.
25826         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
25827         direct access through a possibly-unaligned uint32* pointer.
25828         Prompted by this patch from Tom "spot" Callaway:
25829         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
25830
25831         sha512.c: fix typo in comment
25832         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
25833
25834 2008-05-25  Bruno Haible  <bruno@clisp.org>
25835
25836         * lib/set-mode-acl.c: Renamed from lib/acl.c.
25837         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
25838         (Makefile.am): Update lib_SOURCES.
25839
25840 2008-05-25  Bruno Haible  <bruno@clisp.org>
25841
25842         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
25843
25844 2008-05-25  Jim Meyering  <meyering@redhat.com>
25845
25846         useless-if-before-free: freed expr may have white-space differences
25847         * build-aux/useless-if-before-free: Recognize cases in which the
25848         freed expression differs from the tested one in embedded white
25849         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
25850         $1 was used, so we can't make any regexp shy.  Improved tests now
25851         detect this.
25852
25853         useless-if-before-free: accept white space in the expression.
25854         * build-aux/useless-if-before-free: For now, any white space
25855         in the expression must be identical in the free argument.
25856
25857         useless-if-before-free: efficiency tweak
25858         * build-aux/useless-if-before-free: Make the expression-matching
25859         regexp "shy".
25860         Make the *outer* regexp shy, not the expr-matching one.
25861
25862         update code-in-comment to accept cast of free arg
25863         * build-aux/useless-if-before-free: Update regexp.
25864
25865 2008-05-25  Bruno Haible  <bruno@clisp.org>
25866
25867         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
25868         * modules/copy-file-tests (Files, Makefile.am): Update.
25869         * tests/test-copy-file.c (func_test_copy): Update.
25870
25871 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
25872
25873         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
25874
25875 2008-05-23  Bruno Haible  <bruno@clisp.org>
25876
25877         Improve support for ACLs on OSF/1.
25878         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
25879         Remove fallback for unknown flavors of ACLs.
25880
25881 2008-05-22  Bruno Haible  <bruno@clisp.org>
25882
25883         Add support for ACLs on OSF/1.
25884         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
25885         replacements.
25886         (acl_free_text): New macro fallback.
25887         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
25888         acl_free.
25889         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
25890         acl_free_text function. Require AC_C_INLINE.
25891
25892 2008-05-22  Bruno Haible  <bruno@clisp.org>
25893
25894         Make copy_acl work on MacOS X 10.5.
25895         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
25896         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
25897         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
25898         If MODE_INSIDE_ACL, don't assume that every system has the same text
25899         representation for ACLs as FreeBSD.
25900         * lib/copy-acl.c (copy_acl): Add support for platforms with
25901         !MODE_INSIDE_ACL.
25902         * lib/file-has-acl.c (file_has_acl): Likewise.
25903         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
25904         FreeBSD, MacOS X, or IRIX, respectively.
25905
25906 2008-05-22  Bruno Haible  <bruno@clisp.org>
25907
25908         * lib/acl.h: Don't include <sys/acl.h>.
25909         (GETACLCNT): Move fallback to lib/acl-internal.h.
25910         * lib/acl-internal.h: Include <sys/acl.h> here.
25911         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
25912
25913 2008-05-22  Bruno Haible  <bruno@clisp.org>
25914
25915         Split off copy_acl function to separate file.
25916         * lib/copy-acl.c: New file, extracted from lib/acl.c.
25917         * lib/acl.c (copy_acl): Moved function to separate file.
25918         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
25919         * modules/acl (Files): Add lib/copy-acl.c.
25920         (Makefiles.am): Augment lib_SOURCES.
25921
25922 2008-05-22  Bruno Haible  <bruno@clisp.org>
25923
25924         * modules/copy-file-tests: New file.
25925         * tests/test-copy-file.sh: New file.
25926         * tests/test-copy-file.c: New file.
25927         * tests/test-copy-file-sameacls.c: New file.
25928
25929 2008-05-22  Eric Blake  <ebb9@byu.net>
25930
25931         Avoid gcc warning.
25932         * tests/test-memcmp.c (main): Pass NULL indirectly.
25933
25934 2008-05-21  Bruno Haible  <bruno@clisp.org>
25935
25936         Add reference doc about ACLs.
25937         * doc/acl-resources.txt: New file.
25938         * doc/acl-cygwin.txt: New file.
25939
25940 2008-05-21  Bruno Haible  <bruno@clisp.org>
25941
25942         Avoid one more warning from gcc.
25943         * lib/vasnprintf.c (IF_LINT): Update comments.
25944         (VASNPRINTF): Use it also for the 'prefix' array initializer.
25945
25946 2008-05-21  Jim Meyering  <meyering@redhat.com>
25947
25948         avoid a warning from gcc
25949         * lib/vasnprintf.c (IF_LINT): Define.
25950         (scale10_round_decimal_long_double):
25951         Use it to avoid a "may be used uninitialized" warning.
25952         (scale10_round_decimal_double): Likewise.
25953
25954 2008-05-21  Simon Josefsson  <simon@josefsson.org>
25955
25956         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
25957         declared.
25958
25959 2008-05-20  Bruno Haible  <bruno@clisp.org>
25960
25961         * tests/test-memcmp.c (main): Test also the sign of the result. Test
25962         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
25963
25964 2008-05-20  Simon Josefsson  <simon@josefsson.org>
25965
25966         * modules/memcmp-tests: New file.
25967         * tests/test-memcmp.c: New file.
25968
25969 2008-05-19  Bruno Haible  <bruno@clisp.org>
25970
25971         * modules/propername (Notice, configure.ac): Put quoted "..." into
25972         --keyword option.
25973         * lib/propername.h: Update comments accordingly.
25974         Reported by Eric Blake.
25975
25976 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
25977
25978         * modules/getpass-gnu (Depends-on): Add fseeko.
25979
25980 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25981
25982         * modules/base64-tests: New file.
25983
25984 2008-05-19  Bo Borgerson <gigabo@gmail.com>
25985
25986         * lib/base64.c (base64_decode_ctx): If a decode context structure
25987         was passed in use it to ignore newlines.  If a context structure
25988         was _not_ passed in, continue to treat newlines as garbage (this
25989         is the historical behavior).  Formerly base64_decode.
25990         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25991         takes a decode context structure.
25992         * lib/base64.h (base64_decode): Macro for four-argument calls.
25993         (base64_decode_alloc): Likewise.
25994         * lib/base64.c (base64_decode_ctx): If a decode context structure
25995         was passed in use it to ignore newlines.  If a context structure
25996         was _not_ passed in, continue to treat newlines as garbage (this
25997         is the historical behavior).  Formerly base64_decode.
25998         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25999         takes a decode context structure.
26000         * lib/base64.h (base64_decode): Macro for four-argument calls.
26001         (base64_decode_alloc): Likewise.
26002
26003 2008-05-19  Jim Meyering  <meyering@redhat.com>
26004
26005         avoid a warning from gcc
26006         * lib/trim.c (IF_LINT): Define.
26007         (trim2): Use it to avoid a "may be used uninitialized" warning.
26008
26009         Fix doc typo.
26010         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
26011
26012 2008-05-19  Bruno Haible  <bruno@clisp.org>
26013
26014         * doc/glibc-functions/getpass.texi: Document limits of other
26015         implementations.
26016
26017 2008-05-19  Simon Josefsson  <simon@josefsson.org>
26018             Bruno Haible <bruno@clisp.org>
26019
26020         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
26021
26022 2008-05-18  Bruno Haible  <bruno@clisp.org>
26023
26024         * modules/propername: New file, from GNU gettext.
26025         * lib/propername.h: New file, from GNU gettext.
26026         * lib/propername.c: New file, from GNU gettext.
26027         * MODULES.html.sh (Internationalization functions): Add propername.
26028
26029 2008-05-16  Jim Meyering  <meyering@redhat.com>
26030             Bruno Haible  <bruno@clisp.org>
26031
26032         Avoid some warnings from "gcc -Wshadow".
26033         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
26034
26035 2008-05-15  Eric Blake  <ebb9@byu.net>
26036
26037         Extend previous patch to cygwin 1.7.0.
26038         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
26039         fast implementation in cygwin >= 1.7.0.
26040         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26041         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26042
26043 2008-05-15  Bruno Haible  <bruno@clisp.org>
26044
26045         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
26046         implementation in glibc >= 2.9.
26047         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26048         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26049
26050 2008-05-15  Bruno Haible  <bruno@clisp.org>
26051
26052         * MODULES.html.sh (Internationalization functions): Remove linebreak.
26053         (Unicode string functions): Add unilbrk/*.
26054         Reported by Karl Berry.
26055
26056 2008-05-15  Eric Blake  <ebb9@byu.net>
26057
26058         Fix violation of <stdbool.h> replacement in regex.
26059         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
26060         * lib/regexec.c (re_search_internal): Likewise.
26061         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
26062
26063 2008-05-15  Jim Meyering  <meyering@redhat.com>
26064
26065         avoid distracting test output when git or cvs is not found
26066         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
26067         * tests/test-vc-list-files-git.sh: Likewise.
26068
26069 2008-05-15  Eric Blake  <ebb9@byu.net>
26070
26071         Glibc finally accepted the memmem speedup code, bugzilla #5514.
26072         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
26073         glibc version.
26074         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26075         * doc/posix-functions/strstr.texi (strstr): Likewise.
26076         * lib/str-two-way.h (MAX): Sychronize with glibc.
26077
26078 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
26079
26080         * lib/regcomp.c (optimize_utf8): Add a note on why we test
26081         opr.ctx_type.
26082         (calc_first): Initialize constraint field.
26083         (duplicate_node_closure): Use it instead of special casing ANCHORS.
26084         Fix grammar.
26085         (duplicate_node): Merge constraint field for all node types.
26086         (calc_eclosure_iter): Look at constraint field for all node types.
26087         * lib/regex_internal.c (create_cd_newstate): Don't look at
26088         opr.ctx_type.
26089
26090 2008-05-14  Bruno Haible  <bruno@clisp.org>
26091
26092         Help GCC to do better code generation.
26093         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
26094         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
26095         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
26096         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
26097         Declare with attribute 'malloc' if supported.
26098
26099 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
26100
26101         use "echo STR|wc -c" rather than unportable "expr length STR"
26102         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
26103         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
26104
26105 2008-05-14  Jim Meyering  <meyering@redhat.com>
26106
26107         use dd ibs=$n count=1 ... rather than less-portable head -c$n
26108         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
26109         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
26110         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
26111         via Collin Lasse.
26112
26113 2008-05-14  Eric Blake  <ebb9@byu.net>
26114
26115         Avoid quadratic growth in gl_LIBSOURCES.
26116         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
26117         Suggested by Bruno Haible.
26118
26119         Test xmemdup0.
26120         * modules/xmemdup0-tests: New file.
26121         * tests/test-xmemdup0.c: Likewise.
26122
26123 2008-05-13  Eric Blake  <ebb9@byu.net>
26124
26125         Split xmemdup0 into its own module.
26126         * modules/xmemdup0: New file.
26127         * lib/xmemdup0.h: Likewise.
26128         * lib/xmemdup0.c: Likewise.
26129         * MODULES.html.sh (Memory management functions): Add xmemdup0.
26130         * lib/xalloc.h (xmemdup0): Remove.
26131         * lib/xmalloc.c (xmemdup0): Likewise.
26132
26133 2008-05-13  Eric Blake  <ebb9@byu.net>
26134             Bruno Haible  <bruno@clisp.org>
26135
26136         Reduce number of forks required during autoconf.
26137         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
26138         and gl_LIBSOURCES_DIR.
26139         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
26140         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
26141         m4_syscmd per file.
26142         <m4_foreach_w>: Move...
26143         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
26144
26145 2008-05-13  Eric Blake  <ebb9@byu.net>
26146
26147         * gnulib-tool: Fix various comment typos.
26148
26149 2008-05-12  Bruno Haible  <bruno@clisp.org>
26150
26151         Tailor the linebreaking algorithm.
26152         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
26153
26154 2008-05-12  Bruno Haible  <bruno@clisp.org>
26155
26156         Update to Unicode 5.0.0.
26157         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
26158         LBP_JV, LBP_JT. Redistribute values.
26159         (unilbrk_table): Change size.
26160         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
26161         Unicode TR#14 rev. 22.
26162         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
26163         LBP_JV, LBP_JT. Redistribute values.
26164         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
26165         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
26166         Update.
26167         * lib/unilbrk/lbrkprop1.h: Regenerated.
26168         * lib/unilbrk/lbrkprop2.h: Regenerated.
26169         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
26170         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
26171         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
26172         Likewise.
26173         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
26174         Likewise.
26175         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
26176         result.
26177         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26178         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26179         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26180         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
26181         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
26182         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
26183
26184 2008-05-11  Bruno Haible  <bruno@clisp.org>
26185
26186         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
26187
26188 2008-05-11  Bruno Haible  <bruno@clisp.org>
26189
26190         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
26191         * modules/unilbrk/gen-lbrk: New file.
26192
26193 2008-05-11  Bruno Haible  <bruno@clisp.org>
26194
26195         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
26196         * m4/sha512.m4 (gl_SHA512): Likewise.
26197
26198 2008-05-11  Jim Meyering  <meyering@redhat.com>
26199
26200         New modules: crypto/sha256, crypto/sha512 (from coreutils)
26201         * modules/crypto/sha256: New file.
26202         * modules/crypto/sha512: Likewise.
26203         * lib/sha256.c: Likewise.
26204         * lib/sha256.h: Likewise.
26205         * lib/sha512.c: Likewise.
26206         * lib/sha512.h: Likewise.
26207         * lib/u64.h: Likewise.
26208         * m4/sha256.m4: Likewise.
26209         * m4/sha512.m4: Likewise.
26210         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
26211
26212 2008-05-10  Bruno Haible  <bruno@clisp.org>
26213
26214         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
26215         (Input/Output <stdio.h>): Add xprintf.
26216         (Signal handling <signal.h>): Add strsignal.
26217         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
26218         (Core language properties): Add func.
26219         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
26220         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
26221         strings.
26222         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
26223         (Input/output): New section.
26224         (File system functions): Add openat-die, stat-macros.
26225         (Networking functions): Add sockets.
26226         (Unicode string functions): Add unictype/*.
26227         (Support for building libraries and executables): Add gperf.
26228         (Support for building documentation): Add agpl-3.0.
26229         (Misc): Add nocrash.
26230
26231 2008-05-10  Bruno Haible  <bruno@clisp.org>
26232
26233         * modules/unictype/gen-ctype: New file.
26234
26235 2008-05-10  Jim Meyering  <meyering@redhat.com>
26236
26237         Make chdir-safer.c more efficient on a system with no symlinks.
26238         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
26239         also if ELOOP is zero.  Suggested by Bruno Haible.
26240
26241         Make chdir-safer.c slightly safer.
26242         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
26243         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
26244
26245         Avoid compile failure on systems without ELOOP (like mingw).
26246         * lib/chdir-safer.c (ELOOP): Define if not already defined.
26247         Reported by Bruno Haible.
26248
26249 2008-05-10  Bruno Haible  <bruno@clisp.org>
26250
26251         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
26252         (is_utf8_encoding): Use a case-insensitive comparison.
26253         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
26254         streq.
26255
26256 2008-05-10  Bruno Haible  <bruno@clisp.org>
26257
26258         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
26259         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
26260         * lib/unilbrk/ulc-common.h (iconv_string_length,
26261         iconv_string_keeping_offsets): Remove declarations.
26262         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
26263         Don't include <iconv.h>, streq.h, xsize.h.
26264         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
26265         conversion.
26266         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
26267         <iconv.h>, streq.h, xsize.h.
26268         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
26269         conversion.
26270         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
26271         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
26272         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
26273         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
26274
26275 2008-05-10  Bruno Haible  <bruno@clisp.org>
26276
26277         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
26278         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
26279
26280         * modules/unilbrk/u32-width-linebreaks-tests: New file.
26281         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
26282
26283         * modules/unilbrk/u16-width-linebreaks-tests: New file.
26284         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
26285
26286         * modules/unilbrk/u8-width-linebreaks-tests: New file.
26287         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
26288
26289         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
26290         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
26291
26292         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
26293         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
26294
26295         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
26296         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
26297
26298         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
26299         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
26300
26301 2008-05-10  Bruno Haible  <bruno@clisp.org>
26302
26303         Split up 'linebreak' module.
26304         * lib/unilbrk.h: New file, based on lib/linebreak.h.
26305         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
26306         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
26307         modifications.
26308         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
26309         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
26310         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
26311         lib/linebreak.c.
26312         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
26313         lib/linebreak.c.
26314         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
26315         lib/linebreak.c.
26316         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
26317         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
26318         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
26319         lib/linebreak.c.
26320         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
26321         lib/linebreak.c.
26322         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
26323         lib/linebreak.c.
26324         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
26325         lib/linebreak.c.
26326         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
26327         lib/linebreak.c.
26328         * modules/unilbrk/base: New file.
26329         * modules/unilbrk/tables: New file.
26330         * modules/unilbrk/u8-possible-linebreaks: New file.
26331         * modules/unilbrk/u16-possible-linebreaks: New file.
26332         * modules/unilbrk/u32-possible-linebreaks: New file.
26333         * modules/unilbrk/ulc-common: New file.
26334         * modules/unilbrk/ulc-possible-linebreaks: New file.
26335         * modules/unilbrk/u8-width-linebreaks: New file.
26336         * modules/unilbrk/u16-width-linebreaks: New file.
26337         * modules/unilbrk/u32-width-linebreaks: New file.
26338         * modules/unilbrk/ulc-width-linebreaks: New file.
26339         * lib/linebreak.h: Remove file.
26340         * lib/linebreak.c: Remove file.
26341         * m4/linebreak.m4: Remove file.
26342         * modules/linebreak: Remove file.
26343         * NEWS: Mention the changes.
26344
26345 2008-05-09  Eric Blake  <ebb9@byu.net>
26346
26347         Add xmemdup0.
26348         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
26349         implementation.
26350         * lib/xmalloc.c (xmemdup0): New C implementation.
26351
26352 2008-05-08  Bruno Haible  <bruno@clisp.org>
26353
26354         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
26355
26356 2008-05-07  Eric Blake  <ebb9@byu.net>
26357
26358         Support cross-compilation of <wctype.h>.
26359         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
26360         AC_CACHE_CHECK.
26361
26362 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
26363
26364         * build-aux/vc-list-files: Add support for bzr.
26365
26366 2008-05-03  Jim Meyering  <meyering@redhat.com>
26367
26368         avoid failed assertion with tight malloc
26369         * tests/test-getndelim2.c: Correct an off-by-one assertion.
26370
26371 2008-05-03  Simon Josefsson  <simon@josefsson.org>
26372
26373         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
26374         are needed from arpa/inet.h.
26375         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
26376         Reported by Bruno Haible.
26377
26378 2008-05-02  Jim Meyering  <meyering@redhat.com>
26379
26380         avoid compilation error on FreeBSD 6
26381         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
26382
26383 2008-05-01  Jim Meyering  <meyering@redhat.com>
26384
26385         useless-if-before-free: correct --help's exit status description
26386         * build-aux/useless-if-before-free (usage): Like grep, exit 0
26387         for one or more matches, etc.  Reported by Bruno Haible.
26388
26389         vc-list-files: make the stand-alone gnulib test work
26390         * modules/vc-list-files-tests (configure.ac):
26391         Define and AC_SUBST abs_aux_dir.
26392         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
26393         $(abs_top_srcdir) to each script and having each of them
26394         duplicate the work of setting PATH, set PATH here, using
26395         the new variable, abs_aux_dir instead.
26396         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
26397         * tests/test-vc-list-files-git.sh: Likewise.
26398         Reported by Bruno Haible.
26399
26400 2008-05-01  Bruno Haible  <bruno@clisp.org>
26401
26402         * lib/getndelim2.c (getndelim2): Fix newsize computation during
26403         reallocation. Rename 'done' to 'found_delimiter'.
26404
26405 2008-05-01  Jim Meyering  <meyering@redhat.com>
26406
26407         vc-list-files: accommodate /bin/sh like the one from Solaris 10
26408         * build-aux/vc-list-files: Use `...`, not $(...).
26409
26410 2008-04-30  Jim Meyering  <meyering@redhat.com>
26411
26412         add tests for vc-list-files
26413         * modules/vc-list-files-tests: New module.
26414         * tests/test-vc-list-files-cvs.sh: New file.
26415         * tests/test-vc-list-files-git.sh: New file.
26416
26417         avoid a warning from gcc
26418         * lib/getndelim2.c (IF_LINT): Define.
26419         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
26420
26421         vc-list-files: work properly with build-aux/cvsu, too
26422         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
26423         to all cvs-based clauses.
26424
26425         vc-list-files: work properly in the CVS+awk case, too
26426         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
26427
26428         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
26429         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
26430         take more than one file argument, so .  Add quotes, just in case $dir
26431         ever contains a shell meta-character.  Prompted by Soren Hansen in
26432         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
26433
26434 2008-04-29  Eric Blake  <ebb9@byu.net>
26435
26436         Optimize getndelim2 to use block operations when possible.
26437         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
26438         freadseek, and memchr2.
26439         * lib/getndelim2.c (getndelim2): Use them for block reads.
26440
26441 2008-04-29  Bruno Haible  <bruno@clisp.org>
26442
26443         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
26444         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26445         * modules/inet_ntop (Depends-on): Add extensions.
26446         * modules/inet_pton (Depends-on): Likewise.
26447         Reported by Simon Josefsson.
26448
26449 2008-04-29  Jim Meyering  <meyering@redhat.com>
26450
26451         When the is more than one match in a block, match all of them.
26452         * build-aux/useless-if-before-free: Iterate through each block
26453         until there are no more matches.
26454
26455         Fix broken useless-if-before-free script.
26456         * build-aux/useless-if-before-free: Fix typo: missing "?" after
26457         the expression to match cast of argument to free-like function.
26458
26459 2008-04-29  Eric Blake  <ebb9@byu.net>
26460
26461         Use new header.
26462         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
26463
26464 2008-04-29  Jim Meyering  <meyering@redhat.com>
26465
26466         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
26467         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
26468         by gnulib to exist and to declare e.g., inet_ntop.
26469         Don't include "inet_ntop.h", now removed.
26470
26471         * m4/arpa_inet_h.m4: Remove trailing blanks.
26472
26473 2008-04-29  Eric Blake  <ebb9@byu.net>
26474
26475         Silence valgrind on safe reads beyond potential array bounds.
26476         * lib/rawmemchr.valgrind: New file.
26477         * lib/strchrnul.valgrind: Likewise.
26478         * modules/rawmemchr (Files): Distribute new file.
26479         * modules/strchrnul (Files): Likewise.
26480         Suggested by Bruno Haible.
26481
26482 2008-04-29  Bruno Haible  <bruno@clisp.org>
26483
26484         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
26485         (inet_ntop, inet_pton): Change portability warning's wording.
26486         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
26487         Invoke gl_CHECK_NEXT_HEADERS.
26488         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
26489         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
26490         set ARPA_INET_H.
26491         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26492         * modules/arpa_inet (Description): No longer only for systems that
26493         lack it.
26494         (Depends-on): Add include_next.
26495         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
26496         HAVE_ARPA_INET_H.
26497
26498 2008-04-29  Jim Meyering  <meyering@redhat.com>
26499
26500         * modules/mkdir (License): Re-license as LGPLv2+.
26501
26502 2008-04-29  Bruno Haible  <bruno@clisp.org>
26503
26504         * modules/rawmemchr (Maintainer): Set to Eric.
26505         * modules/strchrnul (Maintainer): Likewise.
26506
26507 2008-04-29  Simon Josefsson  <simon@josefsson.org>
26508
26509         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
26510         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
26511
26512         * modules/arpa_inet (arpa/inet.h): Use them.
26513
26514 2008-04-28  Eric Blake  <ebb9@byu.net>
26515
26516         Test getndelim2.
26517         * modules/getndelim2-tests: New file.
26518         * tests/test-getndelim2.c: Likewise.
26519         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
26520         stream.
26521         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
26522
26523         * MODULES.html.sh: Document new module.
26524
26525 2008-04-20  Bruno Haible  <bruno@clisp.org>
26526
26527         * lib/c-stack.c (die): Use raise.
26528         * modules/c-stack (Depends-on): Add raise.
26529
26530 2008-04-28  Bruno Haible  <bruno@clisp.org>
26531
26532         Expect rpmatch to be declared.
26533         * lib/yesno.c (rpmatch): Remove declaration.
26534
26535         Declare rpmatch.
26536         * lib/stdlib.in.h (rpmatch): New declaration.
26537         * lib/rpmatch.c: Include <stdlib.h> first.
26538         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
26539         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
26540         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
26541         HAVE_RPMATCH.
26542         * modules/rpmatch (Depends-on): Add stdlib, extensions.
26543         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26544         (Include): Set to <stdlib.h>.
26545         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
26546         HAVE_RPMATCH.
26547         * NEWS: Document the change.
26548
26549 2008-04-28  Bruno Haible  <bruno@clisp.org>
26550
26551         Change rpmatch to use nl_langinfo when appropriate.
26552         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
26553         (N_): New macro.
26554         (localized_pattern): New function/macro.
26555         (try): Remove match, nomatch arguments. Copy the pattern into safe
26556         memory before caching it.
26557         (rpmatch): Use localized_pattern. Add translator comments.
26558         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
26559         Suggested by Eric Blake.
26560         * modules/rpmatch (Depends-on): Add stdbool.
26561
26562 2008-04-28  Eric Blake  <ebb9@byu.net>
26563
26564         Add rawmemchr module, matching glibc.
26565         * modules/string (Makefile.am): New indicator.
26566         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
26567         * lib/string.in.h (rawmemchr): Declare when appropriate.
26568         * modules/rawmemchr: New file.
26569         * m4/rawmemchr.m4: Likewise.
26570         * lib/rawmemchr.c: Likewise.
26571         * modules/rawmemchr-tests: Likewise.
26572         * tests/test-rawmemchr.c: Likewise.
26573         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
26574         module.
26575         * modules/strchrnul (Depends-on): Add rawmemchr.
26576         * lib/strchrnul.c (strchrnul): Optimize a corner case.
26577
26578         Whitespace cleanup.
26579         * tests/test-strchrnul.c: Reindent.
26580         * lib/strchrnul.c: Likewise.
26581
26582         Optimize and test strchrnul.
26583         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
26584         * modules/strchrnul-tests: New file.
26585         * tests/test-strchrnul.c: Likewise.
26586
26587         Remove intprops dependency.
26588         * modules/memchr (Depends-on): Remove intprops.
26589         * modules/memrchr (Depends-on): Likewise.
26590         * modules/memchr2 (Depends-on): Likewise.
26591         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
26592         * lib/memrchr.c (__memrchr): Likewise.
26593         * lib/memrchr2.c (memchr2): Likewise.
26594         Reported by Simon Josefsson.
26595
26596 2008-04-28  Simon Josefsson  <simon@josefsson.org>
26597
26598         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
26599         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26600
26601 2008-04-28  Simon Josefsson  <simon@josefsson.org>
26602
26603         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
26604
26605         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
26606
26607         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
26608
26609         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
26610         declarations.
26611         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
26612
26613         * m4/inet_pton.m4: Don't check for header files.
26614
26615         * m4/inet_ntop.m4: Don't check for header files.
26616
26617 2008-04-28  Simon Josefsson  <simon@josefsson.org>
26618
26619         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
26620         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
26621         trigger for cygwin).
26622         Reported by Bruno Haible  <bruno@clisp.org>.
26623
26624 2008-04-28  Bruno Haible  <bruno@clisp.org>
26625
26626         * doc/posix-functions/strdup.texi: Mention mingw problem.
26627
26628 2008-04-27  Bruno Haible  <bruno@clisp.org>
26629
26630         * modules/stat-time-tests (Depends-on): Add sleep.
26631         * tests/test-stat-time.c (force_unlink): New function.
26632         (cleanup): Use it.
26633         (test_mtime): Remove the ctime related tests.
26634         (test_ctime): New function, containing the ctime related tests.
26635         (main): Call test_ctime, except on native Windows platforms.
26636
26637 2008-04-27  Bruno Haible  <bruno@clisp.org>
26638
26639         * lib/rpmatch.c (rpmatch): Add some comments.
26640         Reported by James Youngman <jay@gnu.org>.
26641
26642 2008-04-27  Bruno Haible  <bruno@clisp.org>
26643
26644         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
26645         quiet NaNs.
26646
26647 2008-04-27  Bruno Haible  <bruno@clisp.org>
26648
26649         Make test-yesno.sh work on mingw.
26650         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
26651         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
26652         (main): Set stdin to binary mode.
26653         * modules/yesno-tests (Depends-on): Add binary-io.
26654
26655 2008-04-27  Bruno Haible  <bruno@clisp.org>
26656
26657         Fix 'isfinite' on x86, x86_64, ia64 platforms.
26658         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
26659         argument that lie outside the IEEE 854 domain.
26660         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
26661         (gl_ISFINITE): Use it.
26662         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
26663
26664 2008-04-27  Bruno Haible  <bruno@clisp.org>
26665
26666         Allow local renaming in config.h.
26667         * lib/memrchr.c (memrchr): Don't undefine outside libc.
26668
26669 2008-04-27  Bruno Haible  <bruno@clisp.org>
26670
26671         * lib/memchr.c (__memchr): Change type of 'i'.
26672         * lib/memchr2.c (memchr2): Likewise.
26673
26674 2008-04-26  Eric Blake  <ebb9@byu.net>
26675         and Bruno Haible  <bruno@clisp.org>
26676
26677         Optimize and test memrchr.
26678         * modules/memrchr (Depends-on): Add intprops.
26679         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
26680         * modules/memrchr-tests: New file.
26681         * tests/test-memrchr.c: New file.
26682
26683 2008-04-26  Bruno Haible  <bruno@clisp.org>
26684
26685         Add tentative support for DragonFly BSD.
26686         * lib/stdio-impl.h: Add macros for DragonFly BSD.
26687         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
26688         fp.
26689         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26690         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
26691         * lib/fpurge.c (fpurge): Likewise.
26692         * lib/freadable.c (freaadable): Likewise.
26693         * lib/freadahead.c (freadahead): Likewise.
26694         * lib/freading.c (freading): Likewise.
26695         * lib/freadptr.c (freadptr): Likewise.
26696         * lib/freadseek.c (freadptrinc): Likewise.
26697         * lib/fseeko.c (fseeko): Likewise.
26698         * lib/fseterr.c (fseterr): Likewise.
26699         * lib/fwritable.c (fwritable): Likewise.
26700         * lib/fwriting.c (fwriting): Likewise.
26701
26702 2008-04-26  Bruno Haible  <bruno@clisp.org>
26703
26704         * lib/stdio-impl.h: New file.
26705         * lib/fbufmode.c: Include stdio-impl.h.
26706         (fbufmode): Use fp_, remove redundant #defines.
26707         * lib/fflush.c: Include stdio-impl.h.
26708         (clear_ungetc_buffer): Remove redundant #defines.
26709         * lib/fpurge.c: Include stdio-impl.h.
26710         (fpurge): Remove redundant #defines.
26711         * lib/freadable.c: Include stdio-impl.h.
26712         (freadable): Remove redundant #defines.
26713         * lib/freadahead.c: Include stdio-impl.h.
26714         (freadahead): Remove redundant #defines.
26715         * lib/freading.c: Include stdio-impl.h.
26716         (freading): Remove redundant #defines.
26717         * lib/freadptr.c: Include stdio-impl.h.
26718         (freadptr): Remove redundant #defines.
26719         * lib/freadseek.c: Include stdio-impl.h.
26720         (freadptrinc): Remove redundant #defines.
26721         * lib/fseeko.c: Include stdio-impl.h.
26722         (rpl_fseeko): Remove redundant #defines.
26723         * lib/fseterr.c: Include stdio-impl.h.
26724         (fseterr): Remove redundant #defines.
26725         * lib/fwritable.c: Include stdio-impl.h.
26726         (fwritable: Remove redundant #defines.
26727         * lib/fwriting.c: Include stdio-impl.h.
26728         (fwriting): Remove redundant #defines.
26729         * modules/fbufmode (Files): Add lib/stdio-impl.h.
26730         * modules/fflush (Files): Likewise.
26731         * modules/fpurge (Files): Likewise.
26732         * modules/freadable (Files): Likewise.
26733         * modules/freadahead (Files): Likewise.
26734         * modules/freading (Files): Likewise.
26735         * modules/freadptr (Files): Likewise.
26736         * modules/freadseek (Files): Likewise.
26737         * modules/fseeko (Files): Likewise.
26738         * modules/fseterr (Files): Likewise.
26739         * modules/fwritable (Files): Likewise.
26740         * modules/fwriting (Files): Likewise.
26741
26742 2008-04-26  Bruno Haible  <bruno@clisp.org>
26743
26744         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26745         restore_seek_optimization, update_fpos_cache): New functions, extracted
26746         from rpl_fflush.
26747         (rpl_fflush): Use them.
26748         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
26749         (gl_REPLACE_FFLUSH): Use it.
26750
26751 2008-04-26  Bruno Haible  <bruno@clisp.org>
26752
26753         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
26754         on Solaris.
26755         * tests/test-xstrtoimax.sh: Likewise.
26756         * tests/test-xstrtoumax.sh: Likewise.
26757         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26758
26759 2008-04-26  Bruno Haible  <bruno@clisp.org>
26760
26761         * modules/memchr-tests: New file.
26762         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
26763
26764 2008-04-26  Eric Blake  <ebb9@byu.net>
26765             Bruno Haible  <bruno@clisp.org>
26766
26767         * lib/memchr.c: Include intprops.h.
26768         (__memchr): Optimize parallel detection of matching bytes. Rename local
26769         variables. Add explanatory comments.
26770
26771 2008-04-26  Bruno Haible  <bruno@clisp.org>
26772
26773         Fix module 'memchr', broken since 2000-10-28.
26774         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
26775
26776 2008-04-26  Bruno Haible  <bruno@clisp.org>
26777
26778         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
26779         comments.
26780
26781 2008-04-25  Eric Blake  <ebb9@byu.net>
26782
26783         Use native fstatat on cygwin 1.7.0.
26784         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
26785         first.
26786
26787 2008-04-23  Eric Blake  <ebb9@byu.net>
26788
26789         Improve memchr2 performance.
26790         * lib/memchr2.c (memchr2): Further optimize parallel detection of
26791         NUL bytes.
26792         * modules/memchr2 (Depends-on): Use intprops.h.
26793
26794 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26795
26796         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
26797         an inline function instead of a CPP macro.  Patch by Ben Pfaff
26798         <blp@cs.stanford.edu>.
26799
26800 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26801
26802         * lib/arpa_inet.in.h: New file.
26803
26804         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
26805         (Makefile.am): Sed in substitute header file.
26806
26807         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
26808         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
26809
26810         * modules/inet_ntop (configure.ac): Use
26811         gl_ARPA_INET_MODULE_INDICATOR.
26812
26813         * modules/inet_pton (configure.ac): Use
26814         gl_ARPA_INET_MODULE_INDICATOR.
26815
26816 2008-04-22  Jim Meyering  <meyering@redhat.com>
26817
26818         * modules/verify (License): Re-license as LGPLv2+.
26819
26820 2008-04-22  Simon Josefsson  <simon@josefsson.org>
26821
26822         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
26823         parameter to void* as per POSIX standard (MinGW uses char*).
26824
26825 2008-04-21  Bruno Haible  <bruno@clisp.org>
26826
26827         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
26828         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
26829         Define to replacements if REPLACE_ISWCNTRL is 1.
26830         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
26831         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
26832         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
26833         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
26834         what it fixes.
26835         * doc/posix-functions/iswalpha.texi: Likewise.
26836         * doc/posix-functions/iswblank.texi: Likewise.
26837         * doc/posix-functions/iswcntrl.texi: Likewise.
26838         * doc/posix-functions/iswdigit.texi: Likewise.
26839         * doc/posix-functions/iswgraph.texi: Likewise.
26840         * doc/posix-functions/iswlower.texi: Likewise.
26841         * doc/posix-functions/iswprint.texi: Likewise.
26842         * doc/posix-functions/iswpunct.texi: Likewise.
26843         * doc/posix-functions/iswspace.texi: Likewise.
26844         * doc/posix-functions/iswupper.texi: Likewise.
26845         * doc/posix-functions/iswxdigit.texi: Likewise.
26846         Reported by Alain Guibert.
26847
26848 2008-04-21  Bruno Haible  <bruno@clisp.org>
26849
26850         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
26851         Patch by Alain Guibert.
26852
26853 2008-04-21  Bruno Haible  <bruno@clisp.org>
26854
26855         Fix test failures on mingw.
26856         * tests/test-xstrtol.c (print_no_progname): New function.
26857         (main): Install it in error_print_progname hook.
26858         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
26859         * tests/test-xstrtoimax.sh: Likewise.
26860         * tests/test-xstrtoumax.sh: Likewise.
26861
26862 2008-04-21  Bruno Haible  <bruno@clisp.org>
26863
26864         Fix test failure on mingw.
26865         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
26866
26867 2008-04-21  Bruno Haible  <bruno@clisp.org>
26868
26869         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
26870         Actually assign a value.
26871
26872 2008-04-20  Bruno Haible  <bruno@clisp.org>
26873
26874         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
26875         take 2.
26876         * lib/canonicalize.c (canonicalize_file_name): Elide if the
26877         'canonicalize-lgpl' module is also used.
26878         * lib/canonicalize-lgpl.c: Undo last change.
26879         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
26880
26881 2008-04-20  Bruno Haible  <bruno@clisp.org>
26882
26883         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
26884         config.h. Provide _mkdir based fallback for mingw.
26885         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
26886         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
26887         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
26888         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
26889         rather than defining mkdir in config.h.
26890         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
26891         (gl_SYS_STAT_H_DEFAULTS): New macro.
26892         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
26893         HAVE_IO_H any more.
26894         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
26895         HAVE_DECL_MKDIR and HAVE_IO_H.
26896
26897 2008-04-20  Bruno Haible  <bruno@clisp.org>
26898
26899         * lib/isapipe.c: Port to native Windows platforms.
26900
26901 2008-04-20  Bruno Haible  <bruno@clisp.org>
26902
26903         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
26904
26905 2008-04-21  Eric Blake  <ebb9@byu.net>
26906
26907         Work around preprocessors that don't handle UINTMAX_MAX.
26908         * lib/memchr2.c (memchr2): Avoid embedded #if.
26909         Reported by Alain Guibert, fix suggested by Bruno Haible.
26910
26911 2008-04-21  Simon Josefsson  <simon@josefsson.org>
26912
26913         * doc/posix-functions/strftime.texi (strftime): Explain better
26914         Windows incompatibility.  Suggested by Micah Cowan
26915         <micah@cowan.name>.
26916
26917 2008-04-20  Bruno Haible  <bruno@clisp.org>
26918
26919         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
26920         unistr/u8-mblen.
26921
26922 2008-04-20  Bruno Haible  <bruno@clisp.org>
26923
26924         Fix test failure on platforms with non-GNU iconv.
26925         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
26926         (U_TO_U8): Use it, rather than u16_to_u8.
26927         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
26928         units at the end of the input string.
26929         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
26930
26931 2008-04-20  Bruno Haible  <bruno@clisp.org>
26932
26933         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
26934         when the resulting length is 0.
26935         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
26936
26937 2008-04-20  Bruno Haible  <bruno@clisp.org>
26938
26939         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
26940         works.
26941         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
26942
26943 2008-04-20  Bruno Haible  <bruno@clisp.org>
26944
26945         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
26946         * modules/tsearch-tests (configure.ac): Test for initstate function.
26947
26948 2008-04-20  Bruno Haible  <bruno@clisp.org>
26949
26950         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
26951         for nlink_t if missing.
26952         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
26953
26954 2008-04-19  Bruno Haible  <bruno@clisp.org>
26955
26956         Work around snprintf bug on Linux libc5.
26957         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
26958         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26959         gl_SNPRINTF_SIZE1.
26960         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26961         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
26962         that test failed.
26963         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
26964         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
26965         * modules/snprintf (Files): Add m4/printf.m4.
26966         * modules/vsnprintf (Files): Likewise.
26967         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
26968         * doc/posix-functions/vsnprintf.texi: Likewise.
26969
26970 2008-04-19  Bruno Haible  <bruno@clisp.org>
26971
26972         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
26973         from 0.0058 to less than 10^-7.
26974
26975 2008-04-19  Bruno Haible  <bruno@clisp.org>
26976
26977         Fix rounding when a precision is given.
26978         * lib/vasnprintf.c (is_borderline): New function.
26979         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
26980         9...9x.
26981         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
26982         %e, %g.
26983         * tests/test-vasprintf-posix.c (test_function): Likewise.
26984         * tests/test-snprintf-posix.h (test_function): Likewise.
26985         * tests/test-sprintf-posix.h (test_function): Likewise.
26986         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
26987         * tests/test-printf-posix.h (test_function): Likewise.
26988         * tests/test-printf-posix.output: Update.
26989         Reported by John Darrington <john@darrington.wattle.id.au> via
26990         Ben Pfaff <blp@cs.stanford.edu>.
26991
26992 2008-04-18  Simon Josefsson  <simon@josefsson.org>
26993
26994         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
26995         Suggested by Bruno Haible <bruno@clisp.org>.
26996
26997 2008-04-17  Bruno Haible  <bruno@clisp.org>
26998
26999         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
27000         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
27001         implementation.
27002         Patch by Bruce Merry <bmerry@gmail.com>.
27003
27004 2008-04-17  Simon Josefsson  <simon@josefsson.org>
27005
27006         * doc/posix-functions/strftime.texi (strftime): Mention that %e
27007         doesn't work under Windows.
27008
27009 2008-04-16  Bruno Haible  <bruno@clisp.org>
27010
27011         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
27012         New macros.
27013         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
27014         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
27015         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
27016         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
27017         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
27018         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
27019         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
27020         macros.
27021         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
27022         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
27023         Northern Sotho, Uighur.
27024
27025 2008-04-16  Bruno Haible  <bruno@clisp.org>
27026
27027         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
27028         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
27029         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
27030         Reported by Daniel Bergström <daniel@octocode.com>.
27031
27032 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
27033             Bruno Haible  <bruno@clisp.org>
27034
27035         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
27036         function.
27037         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
27038         New functions, mostly extracted from gl_locale_name_default.
27039         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
27040
27041 2008-04-16  Eric Blake  <ebb9@byu.net>
27042
27043         Adjust strtod detection to catch glibc 2.7 bug.
27044         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
27045         Reported by John Gatewood Ham.
27046
27047 2008-04-16  Bruno Haible  <bruno@clisp.org>
27048
27049         Add tentative support for Linux libc5.
27050         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
27051         * lib/fpurge.c (fpurge): Likewise.
27052         * lib/freadable.c (freadable): Likewise.
27053         * lib/freadahead.c (freadahead): Likewise.
27054         * lib/freading.c (freading): Likewise.
27055         * lib/freadptr.c (freadptr): Likewise.
27056         * lib/freadseek.c (freadptrinc): Likewise.
27057         * lib/fseeko.c (rpl_fseeko): Likewise.
27058         * lib/fseterr.c (fseterr): Likewise.
27059         * lib/fwritable.c (fwritable): Likewise.
27060         * lib/fwriting.c (fwriting): Likewise.
27061         Reported by Alain Guibert <alguibert+bts@free.fr>.
27062
27063 2008-04-15  Bruno Haible  <bruno@clisp.org>
27064
27065         * modules/mathl (configure.ac): Define module indicator.
27066
27067 2008-04-15  Bruno Haible  <bruno@clisp.org>
27068
27069         * lib/logl.c (logl): Remove unused variables.
27070
27071 2008-04-15  Bruno Haible  <bruno@clisp.org>
27072
27073         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
27074         fails.
27075
27076 2008-04-15  Bruno Haible  <bruno@clisp.org>
27077
27078         * lib/trim.c (trim2): Fix argument of isspace() macro.
27079
27080 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
27081
27082         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
27083         to 0.
27084         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
27085
27086 2008-04-14  Bruno Haible  <bruno@clisp.org>
27087
27088         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
27089         AC_LANG_PROGRAM argument.
27090         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
27091         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
27092         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27093         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27094         * m4/math_h.m4 (gl_MATH_H): Likewise.
27095         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27096         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27097         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
27098         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
27099         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27100         * m4/regex.m4 (gl_REGEX): Likewise.
27101         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
27102         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
27103         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27104         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
27105         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
27106         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27107         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27108         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27109
27110 2008-04-14  Jim Meyering  <meyering@redhat.com>
27111
27112         test-strtod: fix typos: s/abs/fabs/
27113         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
27114
27115 2008-04-13  Bruno Haible  <bruno@clisp.org>
27116
27117         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
27118         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
27119         module is also used and while not building the reloc-wrapper.
27120
27121 2008-04-13  Bruno Haible  <bruno@clisp.org>
27122
27123         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
27124
27125 2008-04-13  Bruno Haible  <bruno@clisp.org>
27126
27127         Fix AIX compilation failure introduced on 2008-04-02.
27128         * tests/test-frexp.c (exp): Undefine before redefining.
27129         * tests/test-frexpl.c (exp): Likewise.
27130
27131 2008-04-13  Bruno Haible  <bruno@clisp.org>
27132
27133         Work around a HP-UX stdio bug.
27134         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
27135         * tests/test-ftello.c (main): Likewise.
27136         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
27137         * doc/posix-functions/ftello.texi: Likewise.
27138
27139 2008-04-13  Bruno Haible  <bruno@clisp.org>
27140
27141         Make test-signbit pass on HP-UX/hppa.
27142         * tests/test-signbit.c (minus_zerol): New variable.
27143         (test_signbitl): Use it.
27144
27145 2008-04-13  Bruno Haible  <bruno@clisp.org>
27146
27147         Make truncl work on OSF/1 4.0.
27148         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
27149         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
27150         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
27151         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
27152         HAVE_DECL_TRUNCL.
27153         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
27154         HAVE_DECL_TRUNCL.
27155         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
27156
27157 2008-04-13  Bruno Haible  <bruno@clisp.org>
27158
27159         * lib/unictype.h: Remove trailing comma from enumeration definitions.
27160
27161 2008-04-13  Bruno Haible  <bruno@clisp.org>
27162
27163         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
27164         expression, so as to avoid HP-UX 11 cc compiler bug.
27165
27166 2008-04-13  Bruno Haible  <bruno@clisp.org>
27167
27168         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
27169
27170 2008-04-13  Bruno Haible  <bruno@clisp.org>
27171
27172         * lib/git-merge-changelog.c: Remove empty declaration outside of
27173         functions.
27174
27175 2008-04-13  Bruno Haible  <bruno@clisp.org>
27176
27177         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
27178
27179 2008-04-13  Bruno Haible  <bruno@clisp.org>
27180
27181         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
27182         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
27183         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
27184         also if it exists but lacks definitions of the SHUT_* macros.
27185         * modules/sys_socket (Description): Update.
27186         Reported by Elbert Pol <e.pol@chello.nl>.
27187
27188 2008-04-13  Bruno Haible  <bruno@clisp.org>
27189
27190         * lib/localcharset.c (OS2): Don't redefine if already defined.
27191         Reported by Elbert Pol <e.pol@chello.nl>.
27192
27193 2008-04-13  Bruno Haible  <bruno@clisp.org>
27194
27195         * lib/binary-io.h [__EMX__]: Include <io.h>.
27196         Reported by Elbert Pol <e.pol@chello.nl>.
27197
27198 2008-04-12  Bruno Haible  <bruno@clisp.org>
27199
27200         * lib/fpucw.h: Enable the definitions also for x86_64.
27201         Needed for NetBSD/x86_64.
27202         Reported by Thomas Klausner <tk@giga.or.at>.
27203
27204 2008-04-12  Bruno Haible  <bruno@clisp.org>
27205
27206         * tests/test-strtod.c: Include isnand.h.
27207         (main): Use isnand instead of isnan.
27208         Reported by Jim Meyering.
27209
27210 2008-04-12  Bruno Haible  <bruno@clisp.org>
27211
27212         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
27213         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
27214
27215 2008-04-12  Jim Meyering  <meyering@redhat.com>
27216
27217         * m4/math_h.m4 (gl_MATH_H): Fix typos.
27218
27219 2008-04-12  Bruno Haible  <bruno@clisp.org>
27220
27221         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
27222         Reported by Elbert Pol <e.pol@chello.nl>.
27223
27224 2008-04-12  Eric Blake  <ebb9@byu.net>
27225
27226         Work around Solaris 10 math.h bug.
27227         * m4/math_h.m4 (gl_MATH_H): Check for bug.
27228         (gl_MATH_H_DEFAULTS): Set up default.
27229         * modules/math (Makefile.am): Replace new indicators.
27230         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
27231         * tests/test-math.c (main): Test this.
27232         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
27233         * doc/posix-headers/math.texi (math.h): Mention bug.
27234         Reported by Nelson H. F. Beebe and Jim Meyering.
27235
27236 2008-04-11  Bruno Haible  <bruno@clisp.org>
27237
27238         Adapt to future versions of Apple GCC.
27239         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
27240         Reported by Peter O'Gorman <peter@pogma.com>.
27241
27242 2008-04-11  Bruno Haible  <bruno@clisp.org>
27243
27244         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
27245
27246 2008-04-11  Bruno Haible  <bruno@clisp.org>
27247
27248         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
27249
27250         * modules/getaddrinfo-tests (Makefile.am): Define
27251         test_getaddrinfo_LDADD.
27252
27253 2008-04-11  Bruno Haible  <bruno@clisp.org>
27254
27255         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
27256         (init): Fix syntax error.
27257         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
27258         is declared.
27259
27260 2008-04-11  Bruno Haible  <bruno@clisp.org>
27261
27262         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
27263         * modules/glob (Depends-on): Add stdbool.
27264
27265 2008-04-11  Bruno Haible  <bruno@clisp.org>
27266
27267         * lib/trim.c: Include <string.h>.
27268
27269 2008-04-11  Eric Blake  <ebb9@byu.net>
27270
27271         Avoid compile failure on OS/2.
27272         * lib/regex_internal.h (internal_function): Disable optimization
27273         on OS/2 (__EMX__), where it caused compiler error.
27274         Reported by Elbert Pol.
27275
27276 2008-04-11  Bruno Haible  <bruno@clisp.org>
27277
27278         Flush the standard error stream before aborting. Needed on mingw.
27279         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
27280         * tests/test-array_list.c (ASSERT): Likewise.
27281         * tests/test-array_oset.c (ASSERT): Likewise.
27282         * tests/test-avltree_list.c (ASSERT): Likewise.
27283         * tests/test-avltree_oset.c (ASSERT): Likewise.
27284         * tests/test-avltreehash_list.c (ASSERT): Likewise.
27285         * tests/test-binary-io.c (ASSERT): Likewise.
27286         * tests/test-byteswap.c (ASSERT): Likewise.
27287         * tests/test-c-ctype.c (ASSERT): Likewise.
27288         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
27289         * tests/test-c-strcasestr.c (ASSERT): Likewise.
27290         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
27291         * tests/test-c-strstr.c (ASSERT): Likewise.
27292         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
27293         * tests/test-canonicalize.c (ASSERT): Likewise.
27294         * tests/test-carray_list.c (ASSERT): Likewise.
27295         * tests/test-ceilf1.c (ASSERT): Likewise.
27296         * tests/test-ceilf2.c (ASSERT): Likewise.
27297         * tests/test-ceill.c (ASSERT): Likewise.
27298         * tests/test-count-one-bits.c (ASSERT): Likewise.
27299         * tests/test-fbufmode.c (ASSERT): Likewise.
27300         * tests/test-fflush2.c (ASSERT): Likewise.
27301         * tests/test-floorf1.c (ASSERT): Likewise.
27302         * tests/test-floorf2.c (ASSERT): Likewise.
27303         * tests/test-floorl.c (ASSERT): Likewise.
27304         * tests/test-fopen.c (ASSERT): Likewise.
27305         * tests/test-fpending.c (ASSERT): Likewise.
27306         * tests/test-fprintf-posix.c (ASSERT): Likewise.
27307         * tests/test-fpurge.c (ASSERT): Likewise.
27308         * tests/test-freadable.c (ASSERT): Likewise.
27309         * tests/test-freadahead.c (ASSERT): Likewise.
27310         * tests/test-freading.c (ASSERT): Likewise.
27311         * tests/test-freadptr.c (ASSERT): Likewise.
27312         * tests/test-freadptr2.c (ASSERT): Likewise.
27313         * tests/test-freadseek.c (ASSERT): Likewise.
27314         * tests/test-freopen.c (ASSERT): Likewise.
27315         * tests/test-frexp.c (ASSERT): Likewise.
27316         * tests/test-frexpl.c (ASSERT): Likewise.
27317         * tests/test-fseek.c (ASSERT): Likewise.
27318         * tests/test-fseeko.c (ASSERT): Likewise.
27319         * tests/test-fstrcmp.c (ASSERT): Likewise.
27320         * tests/test-ftell.c (ASSERT): Likewise.
27321         * tests/test-ftello.c (ASSERT): Likewise.
27322         * tests/test-func.c (ASSERT): Likewise.
27323         * tests/test-fwritable.c (ASSERT): Likewise.
27324         * tests/test-fwriting.c (ASSERT): Likewise.
27325         * tests/test-getdelim.c (ASSERT): Likewise.
27326         * tests/test-getline.c (ASSERT): Likewise.
27327         * tests/test-i-ring.c (ASSERT): Likewise.
27328         * tests/test-iconv-utf.c (ASSERT): Likewise.
27329         * tests/test-iconv.c (ASSERT): Likewise.
27330         * tests/test-isfinite.c (ASSERT): Likewise.
27331         * tests/test-isnand.c (ASSERT): Likewise.
27332         * tests/test-isnanf.c (ASSERT): Likewise.
27333         * tests/test-isnanl.h (ASSERT): Likewise.
27334         * tests/test-ldexpl.c (ASSERT): Likewise.
27335         * tests/test-linked_list.c (ASSERT): Likewise.
27336         * tests/test-linkedhash_list.c (ASSERT): Likewise.
27337         * tests/test-localename.c (ASSERT): Likewise.
27338         * tests/test-lseek.c (ASSERT): Likewise.
27339         * tests/test-mbscasecmp.c (ASSERT): Likewise.
27340         * tests/test-mbscasestr1.c (ASSERT): Likewise.
27341         * tests/test-mbscasestr2.c (ASSERT): Likewise.
27342         * tests/test-mbscasestr3.c (ASSERT): Likewise.
27343         * tests/test-mbscasestr4.c (ASSERT): Likewise.
27344         * tests/test-mbschr.c (ASSERT): Likewise.
27345         * tests/test-mbscspn.c (ASSERT): Likewise.
27346         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
27347         * tests/test-mbspbrk.c (ASSERT): Likewise.
27348         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
27349         * tests/test-mbsrchr.c (ASSERT): Likewise.
27350         * tests/test-mbsspn.c (ASSERT): Likewise.
27351         * tests/test-mbsstr1.c (ASSERT): Likewise.
27352         * tests/test-mbsstr2.c (ASSERT): Likewise.
27353         * tests/test-mbsstr3.c (ASSERT): Likewise.
27354         * tests/test-memchr2.c (ASSERT): Likewise.
27355         * tests/test-memmem.c (ASSERT): Likewise.
27356         * tests/test-open.c (ASSERT): Likewise.
27357         * tests/test-printf-frexp.c (ASSERT): Likewise.
27358         * tests/test-printf-frexpl.c (ASSERT): Likewise.
27359         * tests/test-printf-posix.c (ASSERT): Likewise.
27360         * tests/test-quotearg.c (ASSERT): Likewise.
27361         * tests/test-rbtree_list.c (ASSERT): Likewise.
27362         * tests/test-rbtree_oset.c (ASSERT): Likewise.
27363         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
27364         * tests/test-round1.c (ASSERT): Likewise.
27365         * tests/test-roundf1.c (ASSERT): Likewise.
27366         * tests/test-roundl.c (ASSERT): Likewise.
27367         * tests/test-signbit.c (ASSERT): Likewise.
27368         * tests/test-sleep.c (ASSERT): Likewise.
27369         * tests/test-snprintf-posix.c (ASSERT): Likewise.
27370         * tests/test-snprintf.c (ASSERT): Likewise.
27371         * tests/test-sprintf-posix.c (ASSERT): Likewise.
27372         * tests/test-stat-time.c (ASSERT): Likewise.
27373         * tests/test-strcasestr.c (ASSERT): Likewise.
27374         * tests/test-strerror.c (ASSERT): Likewise.
27375         * tests/test-striconv.c (ASSERT): Likewise.
27376         * tests/test-striconveh.c (ASSERT): Likewise.
27377         * tests/test-striconveha.c (ASSERT): Likewise.
27378         * tests/test-strsignal.c (ASSERT): Likewise.
27379         * tests/test-strstr.c (ASSERT): Likewise.
27380         * tests/test-strtod.c (ASSERT): Likewise.
27381         * tests/test-trunc1.c (ASSERT): Likewise.
27382         * tests/test-trunc2.c (ASSERT): Likewise.
27383         * tests/test-truncf1.c (ASSERT): Likewise.
27384         * tests/test-truncf2.c (ASSERT): Likewise.
27385         * tests/test-truncl.c (ASSERT): Likewise.
27386         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
27387         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
27388         * tests/test-vasnprintf.c (ASSERT): Likewise.
27389         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
27390         * tests/test-vasprintf.c (ASSERT): Likewise.
27391         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
27392         * tests/test-vprintf-posix.c (ASSERT): Likewise.
27393         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
27394         * tests/test-vsnprintf.c (ASSERT): Likewise.
27395         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
27396         * tests/test-wcwidth.c (ASSERT): Likewise.
27397         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
27398         * tests/test-xprintf-posix.c (ASSERT): Likewise.
27399         * tests/test-xvasprintf.c (ASSERT): Likewise.
27400         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
27401         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
27402         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
27403         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
27404         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
27405         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
27406         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
27407         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
27408         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
27409         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
27410         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
27411         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
27412         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
27413         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
27414         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
27415         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
27416         * tests/unictype/test-block_list.c (ASSERT): Likewise.
27417         * tests/unictype/test-block_of.c (ASSERT): Likewise.
27418         * tests/unictype/test-block_test.c (ASSERT): Likewise.
27419         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
27420         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
27421         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
27422         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
27423         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
27424         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
27425         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
27426         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
27427         * tests/unictype/test-combining.c (ASSERT): Likewise.
27428         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
27429         * tests/unictype/test-digit.c (ASSERT): Likewise.
27430         * tests/unictype/test-mirror.c (ASSERT): Likewise.
27431         * tests/unictype/test-numeric.c (ASSERT): Likewise.
27432         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
27433         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
27434         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
27435         * tests/unictype/test-scripts.c (ASSERT): Likewise.
27436         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
27437         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
27438         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
27439         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
27440         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
27441         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
27442         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
27443         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
27444         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
27445         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
27446         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
27447         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
27448         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
27449         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
27450         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
27451         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
27452         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
27453         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
27454         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
27455         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
27456         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
27457         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
27458         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
27459         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
27460         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
27461         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
27462         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
27463         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
27464         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
27465         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
27466         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
27467         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
27468         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
27469         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
27470         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
27471         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
27472         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
27473         Reported by Eric Blake.
27474
27475 2008-04-11  Bruno Haible  <bruno@clisp.org>
27476
27477         * lib/wchar.in.h: Tweak comment.
27478
27479 2008-04-11  Bruno Haible  <bruno@clisp.org>
27480
27481         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
27482         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
27483         gl_COMMON.
27484         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
27485
27486 2008-04-11  Bruno Haible  <bruno@clisp.org>
27487
27488         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
27489
27490 2008-04-11  Simon Josefsson  <simon@josefsson.org>
27491
27492         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
27493         of attempting to use non-existing /dev/*random.  Based on patch
27494         from Adam Strzelecki <ono@java.pl> in
27495         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
27496
27497 2008-04-08  Bruno Haible  <bruno@clisp.org>
27498
27499         Add tentative support for emx+gcc.
27500         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
27501         * lib/fpurge.c (fpurge): Likewise.
27502         * lib/freadable.c (freadable): Likewise.
27503         * lib/freadahead.c (freadahead): Likewise.
27504         * lib/freading.c (freading): Likewise.
27505         * lib/freadptr.c (freadptr): Likewise.
27506         * lib/freadseek.c (freadptrinc): Likewise.
27507         * lib/fseeko.c (rpl_fseeko): Likewise.
27508         * lib/fseterr.c (fseterr): Likewise.
27509         * lib/fwritable.c (fwritable): Likewise.
27510         * lib/fwriting.c (fwriting): Likewise.
27511         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
27512
27513 2008-04-09  Eric Blake  <ebb9@byu.net>
27514
27515         Avoid some autoconf warnings.
27516         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
27517         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
27518         * m4/afs.m4 (gl_AFS): Likewise.
27519         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
27520         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
27521         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27522         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
27523         (gl_INTEGER_TYPE_SUFFIX): Likewise.
27524         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
27525         (AC_CHECK_DECLS_ONCE): Likewise.
27526         Rename file...
27527         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
27528         gnulib-tool requires autoconf 2.59 or better.
27529         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
27530
27531 2008-04-08  Eric Blake  <ebb9@byu.net>
27532
27533         Use 'git describe --match' if present (added in git 1.5.5).
27534         * build-aux/git-version-gen: Limit result to tags that match 'v*'
27535         if possible.
27536
27537 2008-04-08  Bruno Haible  <bruno@clisp.org>
27538
27539         Add tentative support for OpenServer.
27540         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
27541         _ptr, _cnt.
27542         * lib/fpurge.c (fpurge): Likewise.
27543         * lib/freadable.c (freadable): Likewise.
27544         * lib/freadahead.c (freadahead): Likewise.
27545         * lib/freading.c (freading): Likewise.
27546         * lib/freadptr.c (freadptr): Likewise.
27547         * lib/freadseek.c (freadptrinc): Likewise.
27548         * lib/fseeko.c (rpl_fseeko): Likewise.
27549         * lib/fseterr.c (fseterr): Likewise.
27550         * lib/fwritable.c (fwritable): Likewise.
27551         * lib/fwriting.c (fwriting): Likewise.
27552         Reported by Roger Cornelius <rac@tenzing.org> and
27553         Brian K. White <brian@aljex.com>.
27554
27555 2008-04-06  Jim Meyering  <meyering@redhat.com>
27556
27557         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
27558
27559 2008-04-06  Bruno Haible  <bruno@clisp.org>
27560
27561         Avoid possible error with non-ASCII bytes in UTF-8 locales.
27562         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
27563         * tests/test-printf-posix.sh: Likewise.
27564         * tests/test-vfprintf-posix.sh: Likewise.
27565         * tests/test-vprintf-posix.sh: Likewise.
27566         * tests/test-xprintf-posix.sh: Likewise.
27567
27568 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27569
27570         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
27571         hide error from 'ls', needed on OS/2.
27572         Report by Elbert Pol <elbert.pol@gmail.com>.
27573
27574 2008-04-04  Eric Blake  <ebb9@byu.net>
27575
27576         Make test-fseeko.c failures meaningful.
27577         * tests/test-fseeko.c: Print line number on failure.
27578         * tests/test-fseek.c: Likewise.
27579         Reported by Nelson H. F. Beebe.
27580
27581         Improve strtod bug detection check.
27582         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
27583         required for Solaris 10.
27584         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
27585
27586 2008-04-04  Bruno Haible  <bruno@clisp.org>
27587
27588         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
27589         by m4/setenv.m4.
27590
27591 2008-04-03  Eric Blake  <ebb9@byu.net>
27592
27593         Ensure sane .version contents.
27594         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
27595         version string.
27596         * build-aux/git-version-gen: Improve documentation.
27597
27598         Make GNU make output nicer.
27599         * top/GNUmakefile [!_have-Makefile]: Add dependency on
27600         MAKECMDGOALS to enforce message for all command line targets.  Set
27601         srcdir for use in maint.mk.
27602
27603         Another maintainer tweak.
27604         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
27605         a target that regenerates version.
27606
27607 2008-04-03  Jim Meyering  <meyering@redhat.com>
27608
27609         vc-list-files: don't cause coreutils "make po-check" failure
27610         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
27611
27612 2008-04-03  Eric Blake  <ebb9@byu.net>
27613
27614         Allow VPATH usage of vc-list-files.
27615         * build-aux/vc-list-files (scriptversion): Add timestamp.
27616         (options): Add --help, --version, -C.
27617         (CVS): Support installed cvsu.
27618
27619 2008-04-02  Bruno Haible  <bruno@clisp.org>
27620
27621         Avoid some "statement with no effect" warnings from gcc.
27622         * tests/test-wctype.c (main): Explicitly ignore unused values.
27623         Reported by Jim Meyering.
27624
27625 2008-04-02  Jim Meyering  <meyering@redhat.com>
27626
27627         Avoid some warnings from "gcc -Wshadow".
27628         * tests/test-frexp.c (exp): Define to a different identifier.
27629         * tests/test-frexpl.c (exp): Likewise.
27630
27631 2008-04-03  Jim Meyering  <meyering@redhat.com>
27632
27633         bootstrap: remove dangling *.[ch] symlinks from lib
27634         * build-aux/bootstrap [dangling symlink removal]: Move find's
27635         -depth option to precede all others, to avoid a warning.
27636         Remove *.[ch] files too, and from "$source_base" (usually lib/).
27637
27638 2008-04-02  Bruno Haible  <bruno@clisp.org>
27639
27640         Avoid some warnings from "gcc -Wshadow".
27641         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
27642         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
27643         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
27644         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
27645         Reported by Jim Meyering.
27646
27647 2008-04-01  Bruno Haible  <bruno@clisp.org>
27648
27649         Fix test to work on IRIX 6.5 with cc.
27650         * tests/test-math.c (numeric_equal): New function.
27651         (main): Use it.
27652
27653 2008-04-01  Bruno Haible  <bruno@clisp.org>
27654
27655         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
27656
27657 2008-04-01  Bruno Haible  <bruno@clisp.org>
27658
27659         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
27660         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27661         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
27662         (Depends-on): Remove math.
27663
27664         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
27665         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27666         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
27667         (Depends-on): Remove math.
27668
27669         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
27670         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27671         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
27672         (Depends-on): Remove math.
27673         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
27674         (Depends-on): Remove math.
27675
27676         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
27677         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27678         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
27679         (Depends-on): Remove math.
27680         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
27681         (Depends-on): Remove math.
27682
27683         * tests/test-round1.c: Include nan.h.
27684         (main): Use NaNd instead of NAN.
27685         * modules/round-tests (Files): Add tests/nan.h.
27686
27687         * tests/test-trunc1.c: Include nan.h.
27688         (main): Use NaNd instead of NAN.
27689         * modules/trunc-tests (Files): Add tests/nan.h.
27690
27691         * tests/test-roundf1.c: Include nan.h.
27692         (main): Use NaNf instead of NAN.
27693         * modules/roundf-tests (Files): Add tests/nan.h.
27694
27695         * tests/test-truncf1.c: Include nan.h.
27696         (main): Use NaNf instead of NAN.
27697         * modules/truncf-tests (Files): Add tests/nan.h.
27698
27699         * tests/test-ceilf1.c: Include nan.h.
27700         (main): Use NaNf instead of NAN.
27701         * modules/ceilf-tests (Files): Add tests/nan.h.
27702
27703         * tests/test-floorf1.c: Include nan.h.
27704         (main): Use NaNf instead of NAN.
27705         * modules/floorf-tests (Files): Add tests/nan.h.
27706
27707         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
27708         (main): Use NaNf instead of NAN.
27709         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
27710
27711         * tests/test-isnand.c: Include nan.h instead of <math.h>.
27712         (main): Use NaNd instead of NAN.
27713         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
27714
27715         * tests/test-frexp.c: Include nan.h.
27716         (main): Use NaNd instead of NAN.
27717         * modules/frexp-tests (Files): Add tests/nan.h.
27718
27719         * lib/isnan.c: Don't include <math.h>.
27720         (FUNC): Don't use NAN macro.
27721         * modules/isnand-nolibm (Depends-on): Remove math.
27722         * modules/isnanf-nolibm (Depends-on): Remove math.
27723         * modules/isnanl (Depends-on): Remove math.
27724         * modules/isnanl-nolibm (Depends-on): Remove math.
27725
27726         * tests/nan.h: New file.
27727
27728 2008-04-01  Eric Blake  <ebb9@byu.net>
27729
27730         Fix typos.
27731         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
27732         values to be the right type.
27733
27734         For now, cater to gnulib strtod inaccuracies.
27735         * tests/test-strtod.c (main): Allow 1-ulp error on expected
27736         fractional results.  While not as nice from a QoI perspective, it
27737         is a quicker patch than correctly implementing decimal to binary
27738         rounding.
27739
27740 2008-03-31  Eric Blake  <ebb9@byu.net>
27741
27742         Guarantee a definition of NAN.
27743         * lib/math.in.h (NAN): Define if missing.
27744         * tests/test-math.c (main): Test it.
27745         * doc/posix-headers/math.texi (math.h): Document this.
27746         * lib/isnan.c (rpl_isnand): Use it.
27747         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
27748         * tests/test-floorf1.c (NaN): Likewise.
27749         * tests/test-frexp.c (NaN): Likewise.
27750         * tests/test-isnand.c (NaN): Likewise.
27751         * tests/test-isnanf.c (NaN): Likewise.
27752         * tests/test-round1.c (NaN): Likewise.
27753         * tests/test-roundf1.c (NaN): Likewise.
27754         * tests/test-snprintf-posix.h (NaN): Likewise.
27755         * tests/test-sprintf-posix.h (NaN): Likewise.
27756         * tests/test-trunc1.c (NaN): Likewise.
27757         * tests/test-truncf1.c (NaN): Likewise.
27758         * tests/test-vasnprintf-posix.c (NaN): Likewise.
27759         * tests/test-vasprintf-posix.c (NaN): Likewise.
27760         * modules/isnand-nolibm (Depends-on): Add math.
27761         * modules/isnanf-nolibm (Depends-on): Likewise.
27762         * modules/isnanl (Depends-on): Likewise.
27763         * modules/isnanl-nolibm (Depends-on): Likewise.
27764         * modules/snprintf-posix-tests (Depends-on): Likewise.
27765         * modules/sprintf-posix-tests (Depends-on): Likewise.
27766         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
27767         * modules/vsprintf-posix-tests (Depends-on): Likewise.
27768         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
27769         * modules/vasprintf-posix-tests (Depends-on): Likewise.
27770
27771 2008-03-31  Bruno Haible  <bruno@clisp.org>
27772
27773         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
27774         * doc/posix-functions/strtod.texi: Likewise.
27775
27776 2008-03-31  Bruno Haible  <bruno@clisp.org>
27777
27778         * tests/test-strtod.c (main): Don't use C99 syntax.
27779
27780 2008-03-31  Bruno Haible  <bruno@clisp.org>
27781
27782         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
27783         Reported by Eric Blake.
27784
27785 2008-03-31  Jim Meyering  <meyering@redhat.com>
27786
27787         Don't compare actual signbit return values.
27788         * tests/test-strtod.c (main): Rather, compare only their
27789         zero/non-zero nature.
27790
27791 2008-03-31  Eric Blake  <ebb9@byu.net>
27792
27793         More strtod documentation.
27794         * doc/posix-functions/strtod.texi (strtod): Interpret more test
27795         failures as distinct bugs.
27796
27797 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
27798
27799         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
27800         Problem reported by Erik Benada in
27801         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
27802
27803 2008-03-30  Bruno Haible  <bruno@clisp.org>
27804
27805         * tests/test-strtod.c: Add comments about which assertion fails on which
27806         platform.
27807         * doc/posix-functions/strtod.texi: Add info about many more platforms.
27808
27809 2008-03-30  Eric Blake  <ebb9@byu.net>
27810
27811         Test signbit behavior on zeros.
27812         * tests/test-signbit.c (test_signbitf): Add tests for zero.
27813         (test_signbitd, test_signbitl): Likewise.
27814
27815         More strtod touchups.
27816         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
27817         sign of negative underflow, for now.  Use .5, not .1.
27818         * doc/posix-functions/strtod.texi (strtod): Mention these
27819         limitations.
27820         Reported by Jim Meyering.
27821
27822 2008-03-30  Bruno Haible  <bruno@clisp.org>
27823
27824         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
27825         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
27826
27827 2008-03-30  Bruno Haible  <bruno@clisp.org>
27828
27829         Avoid failure when attempting to return empty iconv results on some
27830         platforms.
27831         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
27832         allocation, don't report ENOMEM when the resulting string is empty.
27833
27834 2008-03-30  Bruno Haible  <bruno@clisp.org>
27835
27836         Fix buffer overrun.
27837         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
27838         Don't consider the width for tmp_length. Check count against tmp_length
27839         before doing the padding. Ensure enough allocation during padding.
27840
27841 2008-03-30  Eric Blake  <ebb9@byu.net>
27842
27843         strtod touchups.
27844         * lib/strtod.c (strtod): Avoid compiler warnings.
27845         Reported by Jim Meyering.
27846
27847 2008-03-30  Bruno Haible  <bruno@clisp.org>
27848
27849         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
27850         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
27851         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
27852         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
27853         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
27854         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
27855         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
27856         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
27857
27858         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
27859         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
27860         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
27861         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
27862         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
27863         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
27864         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
27865         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
27866
27867         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
27868         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
27869         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
27870         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
27871         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
27872         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
27873         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
27874         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
27875
27876         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
27877         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
27878
27879         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
27880         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
27881
27882         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
27883         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
27884
27885         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
27886         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
27887         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
27888
27889         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
27890         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
27891         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
27892
27893         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
27894         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
27895         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
27896
27897         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
27898         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
27899         * modules/vasprintf (Depends-on): Add EOVERFLOW.
27900
27901         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
27902         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
27903         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
27904         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
27905         (Depends-on): Add EOVERFLOW.
27906         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
27907         (Depends-on): Add EOVERFLOW.
27908         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27909         (Depends-on): Add EOVERFLOW.
27910         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27911         (Depends-on): Add EOVERFLOW.
27912         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27913         (Depends-on): Add EOVERFLOW.
27914         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27915         (Depends-on): Add EOVERFLOW.
27916         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27917         (Depends-on): Add EOVERFLOW.
27918         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27919         (Depends-on): Add EOVERFLOW.
27920
27921         * lib/sprintf.c (EOVERFLOW): Remove fallback.
27922         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
27923         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
27924
27925         * lib/snprintf.c (EOVERFLOW): Remove fallback.
27926         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
27927         * modules/snprintf (Depends-on): Add EOVERFLOW.
27928
27929         * lib/poll.c (EOVERFLOW): Remove fallback.
27930         * modules/poll (Depends-on): Add EOVERFLOW.
27931
27932         * lib/getugroups.c (EOVERFLOW): Remove fallback.
27933         * modules/getugroups (Depends-on): Add EOVERFLOW.
27934
27935         * lib/getdelim.c (EOVERFLOW): Remove fallback.
27936         * modules/getdelim (Depends-on): Add EOVERFLOW.
27937
27938         * lib/ftell.c (EOVERFLOW): Remove fallback.
27939         * modules/ftell (Depends-on): Add EOVERFLOW.
27940
27941         * lib/fprintf.c (EOVERFLOW): Remove fallback.
27942         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
27943         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
27944
27945         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
27946
27947         * modules/EOVERFLOW-tests: New file.
27948         * tests/test-EOVERFLOW.c: New file.
27949
27950         * modules/EOVERFLOW: New file.
27951         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
27952
27953 2008-03-30  Bruno Haible  <bruno@clisp.org>
27954
27955         Fix bug introduced on 2007-06-10.
27956         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
27957         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
27958
27959 2008-03-30  Bruno Haible  <bruno@clisp.org>
27960
27961         Improve freadseek's efficiency after ungetc.
27962         * lib/freadseek.c: Include freadahead.h.
27963         (freadptrinc): New function, extracted from freadseek.
27964         (freadseek): Use it in a loop. Use freadahead to determine the number
27965         of loop iterations.
27966         * modules/freadseek (Depends-on): Add freadahead.
27967         (configure.ac): Require AC_C_INLINE.
27968
27969 2008-03-30  Bruno Haible  <bruno@clisp.org>
27970
27971         * lib/freadseek.c (freadseek): Don't ignore the return value of
27972         freadptr.
27973
27974 2008-03-29  Eric Blake  <ebb9@byu.net>
27975
27976         Add hex float support.
27977         * modules/strtod (Depends-on): Add c-ctype.
27978         (Link): Mention POW_LIB.
27979         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
27980         whitespace between 'e' and exponent.
27981         * tests/test-strtod.c (main): Enable hex float tests.
27982         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
27983         now provides.
27984
27985         Document various strtod bugs, with some fixes.
27986         * doc/posix-functions/strtod.texi (strtod): Document bugs with
27987         "-0x", "inf", "nan", and hex constants.
27988         * doc/posix-functions/atof.texi (atof): Likewise.
27989         * modules/stdlib (Makefile.am): Support strtod.
27990         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27991         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
27992         detect additional strtod bugs.
27993         * lib/stdlib.in.h (rpl_strtod): Add declarations.
27994         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
27995         bool where appropriate.  Parse 'inf' and 'nan'.
27996         * tests/test-strtod.c: New file.
27997         * modules/strtod (Depends-on): Add stdbool, stdlib.
27998         (configure.ac): Turn on module indicator.
27999         * modules/strtod-tests: New module.
28000
28001 2008-03-29  Eric Blake  <ebb9@byu.net>
28002
28003         Fix ftell on mingw.
28004         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
28005         * modules/ftell-tests (Depends-on): Add binary-io.
28006         * modules/ftello-tests (Depends-on): Likewise.
28007         * tests/test-ftell.c (main): Enhance test to cover behavior after
28008         ungetc.  Enforce binary mode.
28009         * tests/test-ftello.c (main): Likewise.
28010
28011         Pass test-freadseek on cygwin.
28012         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
28013         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
28014         ungetc buffer.
28015
28016         * tests/test-fflush2.c (main): Fix typo.
28017
28018 2008-03-29  Bruno Haible  <bruno@clisp.org>
28019
28020         * tests/test-fflush2.c (main): Temporarily disable the contents of
28021         this test.
28022         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
28023         Reported by Eric Blake.
28024
28025 2008-03-28  Simon Josefsson  <simon@josefsson.org>
28026
28027         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
28028         (GC_SHA224_DIGEST_SIZE): Add.
28029
28030         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
28031         (gc_hash_digest_length): Likewise.
28032         (gc_hash_buffer): Likewise.
28033
28034 2008-03-25  Bruno Haible  <bruno@clisp.org>
28035
28036         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
28037         detail which gettext release to use.
28038         Reported by Simon Josefsson.
28039
28040 2008-03-26  Jim Meyering  <meyering@redhat.com>
28041
28042         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
28043         * modules/gnumakefile (clean-GNUmakefile): Also, use
28044         test ... && ... || : syntax rather than if-then ... fi.
28045
28046         gnumakefile: Don't double-quote-expand $(VPATH) value.
28047         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
28048
28049 2008-03-24  Eric Blake  <ebb9@byu.net>
28050
28051         Alter GNUmakefile to install into top directory.
28052         * modules/maintainer-makefile: Split, and add dependency...
28053         * modules/gnumakefile: to this new module.
28054         * build-aux/GNUmakefile: Move...
28055         * top/GNUmakefile: ...here.
28056         * build-aux/maint.mk: Move...
28057         * top/maint.mk: ...here.
28058         * MODULES.html.sh (Support for maintaining...): Document new
28059         module.
28060
28061 2008-03-23  Bruno Haible  <bruno@clisp.org>
28062
28063         * gnulib-tool: New options --vc-files, --no-vc-files.
28064         (func_usage): Document them.
28065         (vc_files): New variable.
28066         (func_import): Consider vc_files.
28067         (func_create_testdir): Set vc_files to empty.
28068         Suggested by Jim Meyering and Karl Berry.
28069
28070 2008-03-23  Bruno Haible  <bruno@clisp.org>
28071
28072         Fix regex compilation error on HP-UX 11.
28073         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
28074         * modules/regex (Files): Add m4/mbstate_t.m4.
28075         Reported by Ton Voon <ton.voon@altinity.com>.
28076
28077 2008-03-23  Bruno Haible  <bruno@clisp.org>
28078
28079         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
28080
28081 2008-03-23  Eric Blake  <ebb9@byu.net>
28082             Bruno Haible  <bruno@clisp.org>
28083
28084         Install files from top/ in the destination directory.
28085         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
28086         augmentation also for the files from top/.
28087         (func_import, func_create_testdir): Rewrite file names:
28088         top/filename -> filename.
28089
28090 2008-03-23  Bruno Haible  <bruno@clisp.org>
28091
28092         Tweak "gnulib --version" output.
28093         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
28094
28095 2008-03-23  Bruno Haible  <bruno@clisp.org>
28096
28097         Tweak "gnulib --version" output.
28098         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
28099         rather than contents of ChangeLog, when possible.
28100
28101 2008-03-21  Eric Blake  <ebb9@byu.net>
28102
28103         More --version tweaks.
28104         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
28105         date of last ChangeLog entry.
28106
28107 2008-03-21  Jim Meyering  <meyering@redhat.com>
28108
28109         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
28110
28111 2008-03-20  Eric Blake  <ebb9@byu.net>
28112
28113         VPATH fix.
28114         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
28115
28116 2008-03-20  Simon Josefsson  <simon@josefsson.org>
28117
28118         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
28119         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
28120
28121 2008-03-20  Eric Blake  <ebb9@byu.net>
28122
28123         Sync GNUmakefile with coreutils.
28124         * build-aux/GNUmakefile (have-Makefile): Rename...
28125         (_have-Makefile): ...to this, for namespace consideration.
28126         (GNUmakefile.cfg): Include, if present.
28127         (_autoreconf): Define a default.
28128         (_is-dist-target): New rule for rebuilds to pick up intra-release
28129         version.
28130         (maint-cfg.mk): Rename...
28131         (cfg.mk): ...to this.
28132
28133 2008-03-18  Jim Meyering  <meyering@redhat.com>
28134
28135         New script and module: mktempd
28136         * MODULES.html.sh (maint+release support): Add mktempd.
28137         * build-aux/mktempd: New file.
28138         * modules/mktempd: New file.
28139
28140 2008-03-15  Jim Meyering  <meyering@redhat.com>
28141
28142         Undo last change.
28143         * lib/sha1.c, lib/md5.c: 63 != ~63.
28144         Reported by Andreas Schwab.
28145
28146         sha1.c, md5.c: Hoist a redundant expression.
28147         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
28148         "ctx->buflen" only once, before calling *_process_block.
28149         * lib/md5.c (md5_process_bytes): Likewise.
28150
28151 2008-03-14  Eric Blake  <ebb9@byu.net>
28152
28153         Bump copyright year in files generated by gnulib-tool.
28154         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
28155         gnulib-tool, rather than hard-coding it.
28156
28157         Fix 'gnulib-tool --version' output to work with git.
28158         * gnulib-tool (func_gnulib_dir): New function, extracted from...
28159         (startup): ...here.
28160         (func_version): Use it to invoke git-version-gen, rather than
28161         relying on CVS keyword expansion.  Modernize wording.
28162         (cvsdatestamp, last_checkin_date, version): Kill unused
28163         variables.
28164
28165 2008-03-12  Jim Meyering  <meyering@redhat.com>
28166
28167         Recognize optional cast of the argument to free.
28168         * build-aux/useless-if-before-free: Update regexps.
28169
28170         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
28171
28172 2008-03-11  Bruno Haible  <bruno@clisp.org>
28173
28174         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
28175         by a single package.
28176         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
28177         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
28178         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
28179         Reported by Sam Steingold <sds@gnu.org>.
28180
28181 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
28182
28183         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
28184         repositories.
28185
28186 2008-03-11  Bruno Haible  <bruno@clisp.org>
28187
28188         Avoid conflicts between local macro definitions.
28189         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
28190         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
28191
28192 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
28193             Bruno Haible  <bruno@clisp.org>
28194
28195         Make va_copy work with some version of xlc on AIX 5.1.
28196         * lib/stdarg.in.h: New file.
28197         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
28198         On AIX, use a <stdarg.h> file substitute.
28199         * modules/stdarg (Files): Add lib/stdarg.in.h.
28200         (Depends-on): Add include_next.
28201         (Makefile.am): Build a stdarg.h substitute if requested.
28202         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
28203
28204 2008-03-10  Bruno Haible  <bruno@clisp.org>
28205
28206         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
28207         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
28208         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
28209
28210 2008-03-10  Bruno Haible  <bruno@clisp.org>
28211
28212         * modules/stdlib (Depends-on): Add include_next, remove
28213         absolute-header.
28214
28215 2008-03-09  Bruno Haible  <bruno@clisp.org>
28216
28217         * lib/freadahead.h (freadahead): Document more precisely.
28218         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
28219         the sum of both buffer sizes.
28220         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
28221         * NEWS: Document the change.
28222
28223 2008-03-09  Bruno Haible  <bruno@clisp.org>
28224
28225         Extend freadptr to return also the buffer size.
28226         * lib/freadptr.h (freadptr): Add sizep argument.
28227         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
28228         (freadptr): Add sizep argument. Determine buffer size like freadahead
28229         does.
28230         * tests/test-freadptr.c: Don't include freadahead.h.
28231         (main): Adapt for new calling convention of freadptr.
28232         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
28233         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
28234         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
28235         tests/test-freadptr2.sh.
28236         (Depends): Remove freadahead.
28237         (TESTS): Add test-freadptr2.sh.
28238         (check_PROGRAMS): Add test-freadptr2.
28239
28240 2008-03-09  Bruno Haible  <bruno@clisp.org>
28241
28242         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
28243         Report and solution by Simon Josefsson.
28244
28245 2008-03-06  Bruno Haible  <bruno@clisp.org>
28246
28247         Make fflush after ungetc work on BSD platforms.
28248         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
28249         * tests/test-fflush2.c: New file.
28250         * tests/test-fflush2.sh: New file.
28251         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
28252         tests/test-fflush2.c.
28253         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
28254         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
28255
28256 2008-03-06  Eric Blake  <ebb9@byu.net>
28257
28258         Likewise for ftello.
28259         * modules/ftello (Dependencies): Add extensions.
28260         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
28261
28262 2008-03-06  Bruno Haible  <bruno@clisp.org>
28263
28264         * modules/fseeko (Dependencies): Add extensions.
28265         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
28266         Needed on glibc systems.
28267
28268 2008-03-06  Bruno Haible  <bruno@clisp.org>
28269
28270         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
28271         email address.
28272         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
28273
28274 2008-03-06  Bruno Haible  <bruno@clisp.org>
28275
28276         * users.txt: Add libgnupdf.
28277
28278 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28279
28280         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
28281         (Header File Substitutes, Function Substitutes,
28282         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
28283         (Build robot for gnulib): Fix typo.
28284
28285 2008-03-06  Bruno Haible  <bruno@clisp.org>
28286
28287         * doc/gnulib-tool.texi (VCS Issues): Small updates.
28288         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
28289
28290 2008-03-06  Bruno Haible  <bruno@clisp.org>
28291
28292         * doc/func.texi: New file, extracted from doc/gnulib.texi.
28293         * doc/gnulib.texi: Include it.
28294
28295 2008-03-06  Simon Josefsson  <simon@josefsson.org>
28296
28297         * modules/func (License): Change license to unlimited; there was
28298         no LGPL parts in the module anyway.
28299
28300 2008-03-06  Simon Josefsson  <simon@josefsson.org>
28301
28302         * modules/__func__: Renamed to modules/func.
28303         * modules/__func__-tests: Renamed to modules/func-tests.
28304         * tests/test-__func__.c: Renamed to tests/test-func.c.
28305         * m4/__func__.m4: Renamed to m4/func.m4.
28306         * doc/gnulib.texi (__func__): Section renamed to func.
28307         Suggested by Eric Blake <ebb9@byu.net>.
28308
28309 2008-03-06  Simon Josefsson  <simon@josefsson.org>
28310
28311         * doc/gnulib.texi (__func__): Use C99 terminology when talking
28312         about __func__.  Make example self-contained.  Suggested by Eric
28313         Blake <ebb9@byu.net>.
28314
28315         * tests/test-__func__.c (main): Avoid extraneous () around __func.
28316         Suggested by Eric Blake <ebb9@byu.net>.
28317
28318 2008-03-06  Simon Josefsson  <simon@josefsson.org>
28319
28320         * modules/__func__: New file.
28321         * modules/__func__-tests: New file.
28322         * tests/test-__func__.c: New file.
28323         * m4/__func__.m4: New file.
28324         * doc/gnulib.texi (__func__): Document __func__ module.
28325
28326 2008-03-05  Simon Josefsson  <simon@josefsson.org>
28327
28328         * modules/byteswap (License): Re-license as LGPLv2+.
28329
28330 2008-03-05  Simon Josefsson  <simon@josefsson.org>
28331
28332         * doc/Makefile: Add pdf target.
28333
28334 2008-03-05  Simon Josefsson  <simon@josefsson.org>
28335
28336         * modules/inline (License): Use 'unlimited', since there are only
28337         *.m4 files in this module.
28338
28339 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
28340             Bruno Haible  <bruno@clisp.org>
28341
28342         Add support for HP C 7.1 on OpenVMS 8.3.
28343         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
28344
28345 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
28346
28347         Update VMS specifics.
28348         * lib/getopt.c [VMS]: Remove include of unixlib.h.
28349
28350 2008-03-02  Jim Meyering  <meyering@redhat.com>
28351
28352         Remove the last dependency on the "free" module.
28353         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
28354         Reported by Bob Proulx.
28355
28356         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
28357
28358         Remove useless "if" tests before free.  Deprecate "free" module.
28359         * doc/posix-functions/free.texi: Mention that this
28360         module is no longer useful.
28361         * modules/free (Notice): Say this module is obsolete.
28362         * modules/readutmp (Depends-on): Remove free.
28363         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
28364         * lib/putenv.c (putenv): Likewise.
28365         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
28366         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
28367         * tests/test-c-strcasestr.c (main): Likewise.
28368         * tests/test-c-strstr.c (main): Likewise.
28369         * tests/test-mbscasestr1.c (main): Likewise.
28370         * tests/test-mbscasestr2.c (main): Likewise.
28371         * tests/test-mbsstr1.c (main): Likewise.
28372         * tests/test-mbsstr2.c (main): Likewise.
28373         * tests/test-memmem.c (main): Likewise.
28374         * tests/test-strcasestr.c (main): Likewise.
28375         * tests/test-striconv.c (main): Likewise.
28376         * tests/test-striconveh.c (main): Likewise.
28377         * tests/test-striconveha.c (main): Likewise.
28378         * tests/test-strstr.c (main): Likewise.
28379
28380         * build-aux/git-version-gen: Adjust a comment and the Usage string.
28381
28382         bootstrap: sync from coreutils again
28383         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
28384
28385 2008-03-01  Jim Meyering  <meyering@redhat.com>
28386
28387         bootstrap: sync from coreutils
28388         * build-aux/bootstrap (update_po_files): Copy a .po file into place
28389         also when the target doesn't exist.
28390
28391 2008-03-01  Eric Blake  <ebb9@byu.net>
28392
28393         Fix bugs in last patch.
28394         * lib/memchr2.c (memchr2): Fix typo.
28395         * tests/test-memchr2.c: Test previous bug, and don't use GNU
28396         extension.
28397         Reported by Bruce Korb.
28398
28399         New module 'memchr2'.
28400         * modules/memchr2: New file.
28401         * modules/memchr2-tests: Likewise.
28402         * lib/memchr2.h: Likewise.
28403         * lib/memchr2.c: Likewise, based on memchr.c.
28404         * tests/test-memchr2.c: New test.
28405         * MODULES.html.sh (String handling): Add memchr2.
28406
28407 2008-02-29  Bruno Haible  <bruno@clisp.org>
28408
28409         * modules/freadseek-tests: New file.
28410         * tests/test-freadseek.sh: New file.
28411         * tests/test-freadseek.c: New file.
28412
28413         New module 'freadseek'.
28414         * modules/freadseek: New file.
28415         * lib/freadseek.h: New file.
28416         * lib/freadseek.c: New file.
28417         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
28418
28419 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
28420
28421         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
28422         wydawca.
28423
28424         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
28425         program_invocation_name and program_invocation_short_name are
28426         present.
28427
28428 2008-02-28  Bruno Haible  <bruno@clisp.org>
28429
28430         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
28431         * tests/test-freadptr.sh: Also test non-seekable stdin.
28432
28433 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
28434
28435         * build-aux/bootstrap (source_base, m4_base)
28436         (doc_base, tests_base): New variables.
28437         (gnulib_tool_options): Do not hardcode base directories, use
28438         the above variables instead.
28439
28440 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
28441
28442         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
28443
28444 2008-02-28  Bruno Haible  <bruno@clisp.org>
28445
28446         * modules/freadptr-tests: New file.
28447         * tests/test-freadptr.sh: New file.
28448         * tests/test-freadptr.c: New file.
28449
28450         New module 'freadptr'.
28451         * modules/freadptr: New file.
28452         * lib/freadptr.h: New file.
28453         * lib/freadptr.c: New file.
28454         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
28455
28456 2008-02-26  Karl Berry  <karl@freefriends.org>
28457
28458         Sync from Libtool:
28459         * libltdl/argz.c (argz_add, argz_count): New functions.
28460         * libltdl/argz.in.h: Declare them.
28461         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
28462
28463 2008-02-22  Bruno Haible  <bruno@clisp.org>
28464
28465         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
28466         is a pointer type.  Needed for HP-UX 10.
28467         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
28468         * doc/posix-functions/gmtime_r.texi: Likewise.
28469         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
28470
28471 2008-02-24  Bruno Haible  <bruno@clisp.org>
28472
28473         * modules/environ-tests: New file.
28474         * tests/test-environ.c: New file.
28475
28476         New module 'environ'.
28477         * modules/environ: New file.
28478         * lib/unistd.in.h (environ): New declaration.
28479         * m4/environ.m4: New file.
28480         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
28481         after use.
28482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
28483         HAVE_DECL_ENVIRON.
28484         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
28485         HAVE_DECL_ENVIRON.
28486         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
28487         wrong claim that 'environ' is missing on some systems.
28488         * modules/execute (Depends-on): Add environ.
28489         * lib/execute.c (environ): Remove fallback declaration.
28490         * modules/pipe (Depends-on): Add environ.
28491         * lib/pipe.c (environ): Remove fallback declaration.
28492         * modules/setenv (Depends-on): Add environ.
28493         * lib/setenv.c (environ): Remove fallback declaration.
28494         * modules/unsetenv (Depends-on): Add environ.
28495         * lib/unsetenv.c (environ): Remove fallback declaration.
28496         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
28497         m4/environ.m4.
28498         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
28499         (gl_PREREQ_UNSETENV): Likewise.
28500
28501 2008-02-24  Bruno Haible  <bruno@clisp.org>
28502
28503         * doc/posix-functions/environ.texi: Document the MacOS X problem.
28504
28505 2008-02-20  Bob Proulx  <bob@proulx.com>
28506
28507         Enable use of older two part flavor 'git describe'.
28508         * build-aux/git-version-gen: If using the older two part flavor of
28509         git version then recreate the third part now present in the
28510         newer three part flavor of git describe.
28511
28512 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
28513
28514         * lib/fts.c (fts_build): Typo correction to comment.
28515
28516 2008-02-17  Bruno Haible  <bruno@clisp.org>
28517
28518         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
28519         generating no-op conflicts.
28520
28521 2008-02-17  Bruno Haible  <bruno@clisp.org>
28522
28523         Speed up by 10%.
28524         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
28525         result_entries, rather than an index-based loop.
28526
28527 2008-02-17  Bruno Haible  <bruno@clisp.org>
28528
28529         Speed up by 25%.
28530         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
28531         'hashcode_cached'.
28532         (entry_create): New function.
28533         (entry_hashcode): Use the cached hashcode if possible.
28534         (read_changelog_file, try_split_merged_entry): Use entry_create.
28535
28536 2008-02-17  Bruno Haible  <bruno@clisp.org>
28537
28538         Speed up from O(n^2) to O(n) for long ChangeLog files.
28539         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
28540         (read_changelog_file): Change implementation of entries_reversed list
28541         to rbtreehash.
28542         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
28543
28544 2008-02-17  Bruno Haible  <bruno@clisp.org>
28545
28546         New option --split-merged-entry.
28547         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
28548         (find_paragraph_end, try_split_merged_entry): New functions.
28549         (long_options): Add option --split-merged-entry.
28550         (usage): Document option --split-merged-entry.
28551         (main): Implement option --split-merged-entry.
28552         Reported by Eric Blake.
28553
28554 2008-02-17  Bruno Haible  <bruno@clisp.org>
28555
28556         * lib/git-merge-changelog.c: Include c-strstr.h.
28557         (main): Support the "git pull --rebase" situation.
28558         * modules/git-merge-changelog (Depends-on): Add c-strstr.
28559         Reported by Eric Blake.
28560
28561 2008-02-16  Eric Blake  <ebb9@byu.net>
28562
28563         Avoid doubling \ in common case of "c-maybe" quoting style.
28564         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
28565         eliding outer quotes.
28566         * lib/quotearg.h: Document this.
28567         * tests/test-quotearg.c (result_strings, inputs, results_g)
28568         (flag_results, locale_results): Test it by adding a new string to
28569         each test group.
28570         (compare_strings): Test new string.
28571
28572 2008-02-13  Eric Blake  <ebb9@byu.net>
28573
28574         Avoid trigraph quoting in default output.
28575         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
28576         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
28577         unless explicitly requested.
28578         * tests/test-quotearg.c (flag_results, main): Add additional tests.
28579
28580 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
28581
28582         Don't rely on signed integer overflowing to negative value.
28583         * lib/getugroups.c (getugroups): Include <limits.h>.
28584         Instead, compare against INT_MAX, and increment only if the test passes.
28585
28586 2008-02-13  Jim Meyering  <meyering@redhat.com>
28587         and Eric Blake  <ebb9@byu.net>
28588
28589         Avoid shadowing warning and compile errors on Linux.
28590         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
28591         forwarding macros on Linux.
28592         (dcgettext): Define a stub, for Linux.
28593         (results_g, main): Avoid warnings.
28594
28595 2008-02-12  Eric Blake  <ebb9@byu.net>
28596
28597         Silence warning in last patch.
28598         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
28599
28600         Quotearg part 4: add tests, fix c-maybe colon quoting.
28601         * lib/quotearg.h: Improve documentation.
28602         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
28603         escapes when adding outer quotes.  When quoting trigraphs, use
28604         valid C notation.  When quoting NUL, omit extra characters if next
28605         character is not digit.  Alter prototype.
28606         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
28607         callers.
28608         * modules/quotearg-tests: New module.
28609         * tests/test-quotearg.c: New test.
28610
28611 2008-02-07  Eric Blake  <ebb9@byu.net>
28612
28613         Quotearg part 3: add flag to control outer quote elision.
28614         * lib/quotearg.h (c_maybe_quoting_style): New style.
28615         (enum quoting_flags): Better documentation of flags.
28616         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
28617         c-maybe style.
28618         (quotearg_buffer_restyled): Handle new flag to elide outer
28619         quotes.
28620
28621         Quotearg part 2: add flag that can control NUL elision.
28622         * lib/quotearg.h (set_quoting_flags): New prototype.
28623         * lib/quotearg.c (struct quoting_options): Add flag field.
28624         (set_quoting_flags): New function.
28625         (quotearg_buffer_restyled): Add flags parameter.
28626         (quotearg_alloc_mem): Set the flag if length cannot be returned.
28627         (quotearg_n_options): Set the flag, since length cannot be
28628         returned.
28629         (quoting_options_from_style): Default flags correctly.
28630
28631         Quotearg part 1: more wrappers, restore quotearg_char state.
28632         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
28633         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
28634         (quotearg_colon_mem): New wrappers.
28635         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
28636         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
28637         functions.
28638         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
28639         (quotearg_colon_mem): New functions.
28640
28641 2008-02-11  Bruno Haible  <bruno@clisp.org>
28642
28643         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
28644         library in the current directory: it does not work with parallel make.
28645         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28646
28647 2008-02-11  Bruno Haible  <bruno@clisp.org>
28648
28649         * .gitattributes: New file.
28650
28651 2008-02-11  Jim Meyering  <meyering@redhat.com>
28652
28653         useless-if-before-free: Fix reversed exit values.
28654         * build-aux/useless-if-before-free: Use correct values
28655         for EXIT_MATCH and EXIT_NO_MATCH.
28656
28657         * build-aux/useless-if-before-free: Close stdout carefully.
28658
28659 2008-02-10  Bruno Haible  <bruno@clisp.org>
28660
28661         New module 'git-merge-changelog'.
28662         * modules/git-merge-changelog: New file.
28663         * lib/git-merge-changelog.c: New file.
28664
28665 2008-02-10  Jim Meyering  <meyering@redhat.com>
28666
28667         useless-if-before-free: New option: --list (-l).
28668
28669         useless-if-before-free: Don't exit immediately upon open failure.
28670         * build-aux/useless-if-before-free: Exit 2 for errors.
28671         Upon failure to open a file, don't exit immediately.
28672         Rather, just warn and continue with any remaining files.
28673
28674 2008-02-10  Bruno Haible  <bruno@clisp.org>
28675
28676         New abstract list operation 'node_set_value'.
28677         * lib/gl_list.h (gl_list_node_set_value): New function.
28678         (struct gl_list_implementation): New field node_set_value.
28679         * lib/gl_list.c (gl_list_node_set_value): New function.
28680         * lib/gl_array_list.c (gl_array_node_set_value): New function.
28681         (gl_array_list_implementation): Update.
28682         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
28683         (gl_carray_list_implementation): Update.
28684         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
28685         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
28686         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
28687         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
28688         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
28689         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
28690         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
28691         Update.
28692         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
28693         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
28694         (gl_sublist_list_implementation): Update.
28695
28696 2008-02-10  Bruno Haible  <bruno@clisp.org>
28697
28698         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
28699         Needed when ELEMENT is #defined to 'some_type *'.
28700
28701 2008-02-10  Jim Meyering  <meyering@redhat.com>
28702
28703         New script and module: useless-if-before-free
28704         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
28705         * build-aux/useless-if-before-free: New file.
28706         * modules/useless-if-before-free: New file.
28707
28708         * build-aux/gitlog-to-changelog: Use committer date, not author date.
28709
28710         xstrtol_error: Fix typo.
28711         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
28712         s/exit_failure/exit_status/.
28713
28714 2008-02-09  Jim Meyering  <meyering@redhat.com>
28715
28716         New script and module: gitlog-to-changelog
28717         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
28718         * modules/gitlog-to-changelog: New file.
28719         * build-aux/gitlog-to-changelog: New file.
28720
28721 2008-02-08  Jim Meyering  <meyering@redhat.com>
28722
28723         Avoid two "parameter unused" warnings.
28724         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
28725         Mark "st" as used.
28726
28727         Use "git COMMAND", not "git-COMMAND".
28728         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
28729         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
28730         * build-aux/git-version-gen: Use "git status", not "git-status".
28731
28732 2008-02-07  Bruno Haible  <bruno@clisp.org>
28733
28734         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
28735         Avoids a crash on Windows Vista.
28736         Reported by Adam Strzelecki <ono@java.pl> via
28737         Simon Josefsson <simon@josefsson.org>.
28738
28739 2008-02-06  Bruno Haible  <bruno@clisp.org>
28740
28741         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
28742         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
28743         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
28744         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
28745         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
28746         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
28747         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
28748         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
28749         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28750         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28751         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28752         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28753         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28754         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28755         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28756         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
28757         left-adjust flag.
28758         * tests/test-snprintf-posix.h (test_function): Likewise.
28759         * tests/test-sprintf-posix.h (test_function): Likewise.
28760         * tests/test-vasprintf-posix.c (test_function): Likewise.
28761         * doc/posix-functions/fprintf.texi: Update.
28762         * doc/posix-functions/printf.texi: Update.
28763         * doc/posix-functions/snprintf.texi: Update.
28764         * doc/posix-functions/sprintf.texi: Update.
28765         * doc/posix-functions/vfprintf.texi: Update.
28766         * doc/posix-functions/vprintf.texi: Update.
28767         * doc/posix-functions/vsnprintf.texi: Update.
28768         * doc/posix-functions/vsprintf.texi: Update.
28769         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28770
28771 2008-02-06  Bruno Haible  <bruno@clisp.org>
28772
28773         Fix bug introduced on 2008-01-26.
28774         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
28775
28776 2008-02-06  Bruno Haible  <bruno@clisp.org>
28777
28778         Fix bug introduced on 2007-06-10.
28779         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
28780         !NEED_PRINTF_FLAG_ZERO.
28781
28782 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
28783
28784         getloadavg: use libperfstat on AIX5
28785         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
28786
28787 2008-02-03  Bruno Haible  <bruno@clisp.org>
28788
28789         * lib/diffseq.h: Add comments about required #includes.
28790         Reported by Michael Biggs <gnulib@doubleplum.net>.
28791
28792 2008-02-01  Bruno Haible  <bruno@clisp.org>
28793
28794         * users.txt: Add gnuit.
28795
28796 2008-01-31  Bruno Haible  <bruno@clisp.org>
28797
28798         * lib/md4.c (set_uint32): Mark as inline.
28799         * lib/md5.c (set_uint32): Likewise.
28800         * lib/sha1.c (set_uint32): Likewise.
28801         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
28802         * m4/md5.m4 (gl_MD5): Likewise.
28803         * m4/sha1.m4 (gl_SHA1): Likewise.
28804
28805 2008-01-31  Jim Meyering  <meyering@redhat.com>
28806
28807         Use "sizeof VAR", rather than a literal "4".
28808         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
28809         * lib/md4.c (md4_read_ctx): Likewise.
28810         * lib/sha1.c (sha1_read_ctx): Likewise.
28811
28812 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28813
28814         * tests/test-sha1.c: New file, based on test-md5.c.
28815
28816         * modules/crypto/sha1-tests: New file.
28817
28818 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28819
28820         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
28821
28822 2008-01-31  Jim Meyering  <meyering@redhat.com>
28823
28824         Prefer "sizeof v" over the equivalent "4".
28825         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
28826         * lib/md5.c (set_uint32): Likewise.
28827         * lib/sha1.c (set_uint32): Likewise.
28828
28829 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28830
28831         * lib/sha1.c (set_uint32): Mark function as static.
28832
28833 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28834
28835         md2: clarify comments to say that alignment is not required.
28836         * lib/md2.h: Remove warning about alignment in comment.
28837         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
28838         never been required.
28839
28840 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28841
28842         md4: adapt alignment constraint fix from sha1.
28843         * lib/md4.c (set_uint32): New function, from sha1.c
28844         (md4_read_ctx): Use it.
28845         (md4_finish_ctx): Doc fix.
28846         * lib/md4.h: Doc fix.
28847
28848 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28849
28850         md5: adapt alignment constraint fix from sha1.
28851         * lib/md5.c (set_uint32): New function, from sha1.c
28852         (md5_read_ctx): Use it.
28853         (md5_finish_ctx): Doc fix.
28854         * lib/md5.h: Doc fix.
28855
28856 2008-01-30  Peter Palfrader  <weasel@debian.org>
28857
28858         sha1: remove the result buffer alignment constraint
28859         * lib/sha1.c (set_uint32): New function.
28860         (sha1_read_ctx): Rewrite to remove the result buffer alignment
28861         constraint.
28862         (sha1_finish_ctx): Remove comment warning about alignment constraint.
28863         * lib/sha1.h: Likewise.
28864
28865 2008-01-30  Andreas Schwab  <schwab@suse.de>
28866             Bruno Haible  <bruno@clisp.org>
28867
28868         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
28869         correct definition of LDBL_MIN_EXP.
28870
28871 2008-01-30  Karl Berry  <karl@gnu.org>
28872
28873         * config/srclist-update: try to preserve x bit on updates.
28874         * config/srclistvars.sh: update for karl.
28875
28876 2008-01-29  Jim Meyering  <meyering@redhat.com>
28877
28878         vasnprintf.c: Avoid warning about unused label
28879         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
28880         "overflow" label definition and associated code with the
28881         same cpp condition that guards the sole use of that label.
28882
28883 2008-01-26  Bruno Haible  <bruno@clisp.org>
28884
28885         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
28886         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
28887         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
28888         * lib/isnanl-nolibm.h (isnanl): Likewise.
28889         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28890
28891 2008-01-26  Bruno Haible  <bruno@clisp.org>
28892
28893         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
28894         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
28895
28896 2008-01-26  Bruno Haible  <bruno@clisp.org>
28897
28898         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
28899         GCC >= 4.0 built-in.
28900         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
28901
28902 2008-01-26  Bruno Haible  <bruno@clisp.org>
28903
28904         Rename isnan, applicable to 'double' only, to isnand.
28905         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
28906         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
28907         (configure.ac): Update.
28908         (Include): Replace "isnan.h" with "isnand.h".
28909         * m4/isnand.m4: Renamed from m4/isnan.m4.
28910         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
28911         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
28912         instead of isnan.c.
28913         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
28914         instead of HAVE_ISNAN_IN_LIBC.
28915         (isnand): Renamed from isnan.
28916         * lib/isnand.c: New file.
28917         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
28918         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
28919         (Makefile.am): Update.
28920         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
28921         Include isnand.h instead of isnan.h.
28922         (main): Test isnand instead of isnan.
28923         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
28924         isnan-nolibm.
28925         * modules/frexp (Depends-on): Likewise.
28926         * modules/frexp-tests (Depends-on): Likewise.
28927         * modules/frexp-nolibm (Depends-on): Likewise.
28928         * modules/frexp-nolibm-tests (Depends-on): Likewise.
28929         * modules/isfinite (Depends-on): Likewise.
28930         * modules/round-tests (Depends-on): Likewise.
28931         * modules/signbit (Depends-on): Likewise.
28932         * modules/signbit-tests (Depends-on): Likewise.
28933         * modules/snprintf-posix (Depends-on): Likewise.
28934         * modules/sprintf-posix (Depends-on): Likewise.
28935         * modules/trunc-tests (Depends-on): Likewise.
28936         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28937         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28938         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28939         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28940         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28941         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28942         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28943         * modules/vasnprintf-posix (Depends-on): Likewise.
28944         * modules/vasprintf-posix (Depends-on): Likewise.
28945         * modules/vfprintf-posix (Depends-on): Likewise.
28946         * modules/vsnprintf-posix (Depends-on): Likewise.
28947         * modules/vsprintf-posix (Depends-on): Likewise.
28948         * lib/frexp.c: Include isnand.h instead of isnan.h.
28949         (ISNAN): Set to isnand instead of isnan.
28950         * lib/isfinite.c: Include isnand.h instead of isnan.h.
28951         (gl_isfinited): Use isnand instead of isnan.
28952         * lib/signbitd.c: Include isnand.h instead of isnan.h.
28953         (gl_signbitd): Use isnand instead of isnan.
28954         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
28955         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
28956         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
28957         (main): Use isnand instead of isnan.
28958         * tests/test-round1.c: Include isnand.h.
28959         (main): Use isnand instead of isnan.
28960         * tests/test-round2.c: Include isnand.h instead of isnan.h.
28961         (ISNAN): Set to isnand instead of isnan.
28962         * tests/test-trunc1.c: Include isnand.h.
28963         (main): Use isnand instead of isnan.
28964         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
28965         (equal): Use isnand instead of isnan.
28966         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
28967         isnand-nolibm.
28968         * NEWS: Mention the change.
28969
28970 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28971             Bruno Haible  <bruno@clisp.org>
28972
28973         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
28974         the GCC builtins for signbits are present and set
28975         REPLACE_SIGNBIT_USING_GCC if so.
28976         * lib/math.in.h (signbit): Define using GCC builtins if
28977         REPLACE_SIGNBIT_USING_GCC is set.
28978         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
28979         REPLACE_SIGNBIT_USING_GCC.
28980         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
28981
28982 2008-01-25  Jim Meyering  <meyering@redhat.com>
28983
28984         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
28985         * lib/poll.c: Include <config.h>, not "config.h".
28986         * tests/test-getaddrinfo.c: Likewise.
28987
28988 2008-01-25  Simon Josefsson  <simon@josefsson.org>
28989
28990         * modules/sockets-tests: New file.
28991
28992 2008-01-24  Simon Josefsson  <simon@josefsson.org>
28993
28994         * modules/sockets: New module, can be used to call WSA_Startup and
28995         WSA_Cleanup when needed.
28996
28997         * lib/sockets.h, lib/sockets.c: New files.
28998
28999         * m4/sockets.m4: New file.
29000
29001         * tests/test-sockets.c: New file.
29002
29003 2008-01-19  Bruno Haible  <bruno@clisp.org>
29004
29005         * doc/posix-headers: Renamed from doc/headers.
29006         * doc/posix-functions: Renamed from doc/functions.
29007         * doc/gnulib.texi: Update.
29008
29009 2008-01-19  Bruno Haible  <bruno@clisp.org>
29010
29011         * doc/glibc-functions/strcasestr.texi: Include contents of
29012         doc/functions/strcasestr.texi, fixing the list of platforms.
29013         * doc/functions/strcasestr.texi: Remove file.
29014
29015 2008-01-19  Bruno Haible  <bruno@clisp.org>
29016
29017         * doc/glibc-functions/memmem.texi: Include contents of
29018         doc/functions/memmem.texi.
29019         * doc/functions/memmem.texi: Remove file.
29020
29021 2008-01-18  Bruno Haible  <bruno@clisp.org>
29022
29023         * doc/glibc-functions/*.texi: New files.
29024         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
29025         to use the new files.
29026
29027 2008-01-17  Bruno Haible  <bruno@clisp.org>
29028
29029         * tests/test-gethostname.c (main): Fix printf statement.
29030
29031 2008-01-17  Simon Josefsson  <simon@josefsson.org>
29032
29033         * modules/gethostname-tests: New file.
29034
29035         * tests/test-gethostname.c: New file.
29036
29037 2008-01-17  Simon Josefsson  <simon@josefsson.org>
29038
29039         * lib/gethostname.c: Include string.h unconditionally, strncpy is
29040         used by the UNAME case.  Reported by Bruno Haible
29041         <bruno@clisp.org>.
29042
29043 2008-01-17  Eric Blake  <ebb9@byu.net>
29044
29045         Convert c-strcasestr to be more efficient.
29046         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
29047         (Depends-on): Add c-strcase, remove malloca, strnlen.
29048         * tests/test-c-strcasestr.c (main): Enhance test.
29049         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
29050
29051 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
29052
29053         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
29054         Use it in creating po/Makevars.
29055
29056 2008-01-15  Simon Josefsson  <simon@josefsson.org>
29057
29058         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
29059         Applications that requires it should initialize libgcrypt
29060         manually.
29061
29062 2008-01-16  Simon Josefsson  <simon@josefsson.org>
29063
29064         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
29065
29066 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29067
29068         Fix problem with getdate on mingw32 reported by Simon Josefsson
29069         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
29070         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
29071         tzname", when deciding whether to declare tzname.
29072         * lib/strftime.c (tzname): Likewise.
29073
29074 2008-01-15  Bruno Haible  <bruno@clisp.org>
29075
29076         Work around a MacOS X 10.5 bug in frexpl().
29077         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
29078         * doc/functions/frexpl.texi: Document the bug.
29079         Reported by Elias Pipping <pipping@gentoo.org>.
29080
29081 2008-01-14  Eric Blake  <ebb9@byu.net>
29082
29083         Touch up previous patch.
29084         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
29085         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
29086
29087         Convert strcasestr module to use Two-Way algorithm.
29088         * modules/strcasestr-simple: New module, based on the old
29089         strcasestr, but with Two-Way rather than KMP.
29090         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
29091         * lib/string.in.h (rpl_strcasestr): Declare.
29092         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
29093         performance.
29094         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
29095         * modules/string (Makefile.am): Support strcasestr.
29096         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
29097         * modules/strcasestr-tests (Depends-on): Check for alarm.
29098         * tests/test-strcasestr.c: Augment test.
29099         * lib/str-two-way.h: Clean up stray macro.
29100         * NEWS: Document new module.
29101         * MODULES.html.sh (string handling): Likewise.
29102         * doc/functions/strcasestr.texi: New file.
29103         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
29104         here, since it is not a POSIX function.
29105
29106 2008-01-14  Colin Watson  <cjwatson@debian.org>
29107             Bruno Haible  <bruno@clisp.org>
29108
29109         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
29110         works fine; if not, set REPLACE_STRSIGNAL.
29111         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
29112         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29113         REPLACE_STRSIGNAL.
29114         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
29115         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
29116         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
29117
29118 2008-01-14  Bruno Haible  <bruno@clisp.org>
29119
29120         * modules/strsignal (Include): Change to <string.h>.
29121
29122 2008-01-14  Colin Watson  <cjwatson@debian.org>
29123
29124         * modules/argp (Notice): Add a notice recommending to change
29125         XGETTEXT_OPTIONS.
29126         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
29127
29128 2008-01-13  Colin Watson  <cjwatson@debian.org>
29129
29130         * modules/strsignal-tests: New file.
29131         * tests/test-strsignal.c: New file.
29132
29133         * lib/strsignal.c: New file, from glibc with modifications.
29134         * lib/siglist.h: New file, from glibc with modifications.
29135         * lib/string.in.h (strsignal): New declaration.
29136         * m4/strsignal.m4: New file.
29137         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29138         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
29139         * modules/strsignal: New file.
29140         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
29141         HAVE_DECL_STRSIGNAL.
29142
29143 2008-01-13  Bruno Haible  <bruno@clisp.org>
29144
29145         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
29146         locale encoding is not ASCII. Needed for OpenBSD 4.0.
29147         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
29148         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
29149
29150 2008-01-13  Bruno Haible  <bruno@clisp.org>
29151
29152         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
29153         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
29154         * lib/argp.h (__attribute__): Likewise.
29155         * lib/c-stack.c (__attribute__): Likewise.
29156         * lib/error.h (__attribute__): Likewise.
29157         * lib/fts.c (__attribute__): Likewise.
29158         * lib/openat.h (__attribute__): Likewise.
29159         * lib/stdio.in.h (__attribute__): Likewise.
29160         * lib/string.in.h (__attribute__): Likewise.
29161         * lib/utimens.c (__attribute__): Likewise.
29162         * lib/vasnprintf.h (__attribute__): Likewise.
29163         * lib/xalloc.h (__attribute__): Likewise.
29164         * lib/xprintf.h (__attribute__): Likewise.
29165         * lib/xstrtol.h (__attribute__): Likewise.
29166         * lib/xvasprintf.h (__attribute__): Likewise.
29167
29168 2008-01-12  Bruno Haible  <bruno@clisp.org>
29169
29170         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
29171         * doc/glibc-headers/a.out.texi: New file.
29172         * doc/glibc-headers/aliases.texi: New file.
29173         * doc/glibc-headers/alloca.texi: New file.
29174         * doc/glibc-headers/ar.texi: New file.
29175         * doc/glibc-headers/argp.texi: New file.
29176         * doc/glibc-headers/argz.texi: New file.
29177         * doc/glibc-headers/byteswap.texi: New file.
29178         * doc/glibc-headers/crypt.texi: New file.
29179         * doc/glibc-headers/endian.texi: New file.
29180         * doc/glibc-headers/envz.texi: New file.
29181         * doc/glibc-headers/err.texi: New file.
29182         * doc/glibc-headers/error.texi: New file.
29183         * doc/glibc-headers/execinfo.texi: New file.
29184         * doc/glibc-headers/fpu_control.texi: New file.
29185         * doc/glibc-headers/fstab.texi: New file.
29186         * doc/glibc-headers/fts.texi: New file.
29187         * doc/glibc-headers/getopt.texi: New file.
29188         * doc/glibc-headers/ieee754.texi: New file.
29189         * doc/glibc-headers/ifaddrs.texi: New file.
29190         * doc/glibc-headers/libintl.texi: New file.
29191         * doc/glibc-headers/mcheck.texi: New file.
29192         * doc/glibc-headers/mntent.texi: New file.
29193         * doc/glibc-headers/obstack.texi: New file.
29194         * doc/glibc-headers/paths.texi: New file.
29195         * doc/glibc-headers/printf.texi: New file.
29196         * doc/glibc-headers/pty.texi: New file.
29197         * doc/glibc-headers/resolv.texi: New file.
29198         * doc/glibc-headers/shadow.texi: New file.
29199         * doc/glibc-headers/sysexits.texi: New file.
29200         * doc/glibc-headers/ttyent.texi: New file.
29201
29202 2008-01-12  Jim Meyering  <meyering@redhat.com>
29203
29204         announce-gen: emit Gnulib's git-based version string.
29205         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
29206         New option --gnulib-version=V, where V is expected to be
29207         the output of running git describe in the gnulib directory.
29208         (get_tool_versions): Request feedback on xdelta.  I suspect it's
29209         not useful, and plan to stop publishing an xdelta file with each
29210         coreutils release.
29211
29212         * build-aux/announce-gen: Also check for lzma-compressed files.
29213
29214 2008-01-11  Bruno Haible  <bruno@clisp.org>
29215
29216         * tests/test-memmem.c (main): Increase maximum allowed time.
29217         * tests/test-strstr.c (main): Likewise.
29218
29219 2008-01-11  Bruno Haible  <bruno@clisp.org>
29220
29221         * doc/functions/memmem.texi: Add more precisions about platforms.
29222         * doc/functions/strstr.texi: Likewise.
29223
29224 2008-01-10  Eric Blake  <ebb9@byu.net>
29225
29226         * m4/strstr.m4: Delete cruft from copy-n-paste.
29227         Reported by Bruno Haible.
29228
29229 2008-01-10  Bruno Haible  <bruno@clisp.org>
29230
29231         Make c-strstr rely on strstr.
29232         * lib/c-strstr.c: Don't include str-kmp.h.
29233         (c_strstr): Define in terms of strstr.
29234         * modules/c-strstr (Files): Remove lib/str-kmp.h.
29235         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
29236
29237 2008-01-10  Bruno Haible  <bruno@clisp.org>
29238
29239         * doc/gnulib.texi (String Functions in C Locale): New section.
29240         * doc/c-ctype.texi: New file.
29241         * doc/c-strcase.texi: New file.
29242         * doc/c-strcaseeq.texi: New file.
29243         * doc/c-strcasestr.texi: New file.
29244         * doc/c-strstr.texi: New file.
29245         * doc/c-strtod.texi: New file.
29246         * doc/c-strtold.texi: New file.
29247
29248 2008-01-10  Eric Blake  <ebb9@byu.net>
29249
29250         * lib/relocatable.h: Fix a comment.
29251
29252 2008-01-10  Eric Blake  <ebb9@byu.net>
29253
29254         Share two-way algorithm.
29255         * lib/str-two-way.h: New file, merged from...
29256         * lib/memmem.c: ...here...
29257         * lib/strstr.c: ...and here.
29258         * modules/memmem (Files): Use it.
29259         * modules/strstr (Files): Likewise.
29260
29261         Avoid quadratic strstr implementations.
29262         * lib/strstr.c: New file.
29263         * m4/strstr.m4: Likewise.
29264         * modules/strstr: Likewise.
29265         * modules/strstr-tests: Likewise.
29266         * tests/test-strstr.c: Likewise.
29267         * lib/string.in.h (rpl_strstr): Declare.
29268         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
29269         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
29270         * modules/string (Makefile.am): Likewise.
29271         * MODULES.html.sh (string handling): Mention new module.
29272         * doc/functions/strstr.texi (strstr): Document the bug.
29273
29274 2008-01-10  Bruno Haible  <bruno@clisp.org>
29275
29276         * lib/relocatable.h (relocate): State whether result is freshly
29277         allocated or not.
29278         * lib/relocatable.c (relocate): Return a freshly allocated string
29279         instead of a pointer to a privately held string.
29280         Reported by Sylvain Beucler <beuc@gnu.org>.
29281
29282 2008-01-10  Colin Watson  <cjwatson@debian.org>
29283
29284         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
29285         s/S_ISNLK/S_ISLNK/.
29286
29287 2008-01-09  Bruno Haible  <bruno@clisp.org>
29288
29289         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
29290         and other files.
29291         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
29292         if it's only a guess.
29293         * modules/memmem: Simplify by depending on memmem-simple.
29294
29295 2008-01-09  Bruno Haible  <bruno@clisp.org>
29296
29297         Work around OpenBSD 4.0 tdelete() bug.
29298         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
29299         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
29300         macros and don't redefine the enum values.
29301         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
29302         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
29303         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
29304
29305 2008-01-09  Bruno Haible  <bruno@clisp.org>
29306
29307         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
29308         (main): Don't perform the tests if setlocale did not install a UTF-8
29309         locale. Needed on OpenBSD 4.0.
29310         * modules/wcwidth-tests (Depends-on): Add localcharset.
29311
29312 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
29313
29314         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
29315         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
29316         * NEWS: announce this.
29317         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
29318
29319 2008-01-09  Simon Josefsson  <simon@josefsson.org>
29320         and Eric Blake  <ebb9@byu.net>
29321
29322         Add memmem-simple module.
29323         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
29324         (gl_FUNC_MEMMEM): Separate performance from presence checks.
29325         * modules/memmem-simple: New file.
29326         * modules/memmem (Description): Tweak.
29327         * MODULES.html.sh (string handling): Mention new module.
29328         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
29329         addressed by memmem-simple.
29330         * NEWS: Document the difference.
29331
29332 2008-01-09  Eric Blake  <ebb9@byu.net>
29333
29334         Give gcc some memmem optimization hints.
29335         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
29336         (strcasestr): Declare as pure.
29337         * modules/memmem (Maintainer): Claim my implementation.
29338
29339 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29340
29341         Support AIX 6.1 and higher.
29342         * build-aux/config.libpath: Likewise.
29343         * build-aux/config.rpath: Likewise.
29344
29345 2008-01-08  Jim Meyering  <meyering@redhat.com>
29346             Bruno Haible  <bruno@clisp.org>
29347
29348         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
29349         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
29350         Reported by Peter Fales in
29351         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
29352
29353 2008-01-08  Bruno Haible  <bruno@clisp.org>
29354
29355         * modules/unictype/category-of (Depends-on): Add
29356         unictype/category-none.
29357         * modules/unictype/category-and-tests (Depends-on): Add
29358         unictype/category-{L,N,Lu,Nd}.
29359         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
29360         * modules/unictype/category-or-tests (Depends-on): Add
29361         unictype/category-{L,N}.
29362         * modules/unictype/category-name-tests (Depends-on): Add
29363         unictype/category-{Z,Nl}.
29364         Reported by Simon Josefsson.
29365
29366 2008-01-08  Bruno Haible  <bruno@clisp.org>
29367
29368         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
29369         convention better.
29370         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
29371         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
29372         Reported by Peter Miller <millerp@canb.auug.org.au>.
29373
29374 2008-01-08  Eric Blake  <ebb9@byu.net>
29375
29376         Rewrite memmem to guarantee linear complexity without malloc.
29377         * lib/memmem.c (memmem): Use Two-Way rather than
29378         Knuth-Morris-Pratt, to allow O(1) space usage.
29379         (critical_factorization, two_way_short_needle)
29380         (two_way_long_needle): New functions.
29381         (knuth_morris_pratt): Delete.
29382         * modules/memmem (Depends-on): No longer need malloca or stdbool.
29383         Add stdint.
29384         * tests/test-memmem.c (main): Add tests for periodic needle and
29385         sublinear performance.
29386         * doc/functions/memmem.texi (memmem): Document other deficiencies
29387         in cygwin and older glibc.
29388
29389 2008-01-08  Bruno Haible  <bruno@clisp.org>
29390
29391         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
29392         augmentation.
29393
29394 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
29395
29396         Add a configure time option: --disable-acl.
29397         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
29398         AC_ARG_ENABLE(acl).
29399
29400 2008-01-06  Simon Josefsson  <simon@josefsson.org>
29401
29402         * tests/test-localename.c: Don't include obsolete "setenv.h".
29403
29404         * modules/localename-tests (Depends-on): Need unsetenv.
29405
29406 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29407
29408         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
29409
29410 2008-01-06  Colin Watson  <cjwatson@debian.org>
29411
29412         * users.txt: Add man-db.
29413
29414 2008-01-07  Bruno Haible  <bruno@clisp.org>
29415
29416         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
29417         previous section name.
29418
29419 2008-01-07  Bruno Haible  <bruno@clisp.org>
29420
29421         * lib/progname.c (set_program_name): Don't strip off a leading
29422         "lt-" prefix outside a .libs directory.
29423         Suggested by Paul Eggert.
29424
29425 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
29426             Bruno Haible  <bruno@clisp.org>
29427
29428         Improve memory cleanup in 'relocatable' module.
29429         * lib/relocatable.h (compute_curr_prefix): Change return type to
29430         'char *'.
29431         * lib/relocatable.c (compute_curr_prefix): Change return type to
29432         'char *'. Free curr_installdir after use.
29433         (relocate): Free curr_prefix_better after use.
29434         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
29435
29436 2008-01-01  Bruno Haible  <bruno@clisp.org>
29437
29438         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
29439         failure on older glibc systems.
29440         Reported by Peter Fales <psfales@alcatel-lucent.com>.
29441
29442 2008-01-05  Eric Blake  <ebb9@byu.net>
29443
29444         Avoid quadratic system memmem.
29445         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
29446         Reported by Ralf Wildenhues.
29447
29448         Fix memmem test for mingw.
29449         * modules/memmem-tests (configure.ac): Check for alarm.
29450         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
29451         it.
29452         * doc/functions/memmem.texi: New file.
29453         * doc/gnulib.texi (Function Substitutes): Add memmem.
29454         Reported by Bruno Haible.
29455
29456 2008-01-04  Bruno Haible  <bruno@clisp.org>
29457
29458         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
29459         Require gl_HEADER_STRINGS_H_DEFAULTS, not
29460         gl_HEADER_STRING_H_DEFAULTS.
29461
29462 2008-01-04  Eric Blake  <ebb9@byu.net>
29463
29464         Shorten duration of memmem test.
29465         * tests/test-memmem.c (main): Use alarm to declare failure if test
29466         is taking too long.
29467         Reported by Ralf Wildenhues.
29468
29469 2007-12-21  Simon Josefsson  <simon@josefsson.org>
29470
29471         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
29472         string, needed by strerror.
29473
29474 2008-01-03  Colin Watson  <cjwatson@debian.org>
29475             Bruno Haible  <bruno@clisp.org>
29476
29477         * doc/gnulib-tool.texi (Localization): New section.
29478
29479 2008-01-02  Bruno Haible  <bruno@clisp.org>
29480
29481         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
29482         variables to 'unsigned char *' type.
29483         Reported by Paul Eggert.
29484
29485 2008-01-02  Jim Meyering  <jim@meyering.net>
29486
29487         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
29488
29489 2007-12-31  Jim Meyering  <jim@meyering.net>
29490
29491         Avoid use of private FTS type name.
29492         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
29493
29494 2007-12-30  Karl Berry  <karl@gnu.org>
29495
29496         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
29497         work around defect in Texinfo and/or the standalone Info browser.
29498
29499 2007-12-30  Bruno Haible  <bruno@clisp.org>
29500
29501         Unify 5 copies of the KMP code.
29502         * lib/str-kmp.h: New file.
29503         * lib/c-strcasestr.c: Include str-kmp.h.
29504         (knuth_morris_pratt): Remove function.
29505         (c_strcasestr): Update.
29506         * lib/c-strstr.c: Include str-kmp.h.
29507         (knuth_morris_pratt): Remove function.
29508         (c_strcasestr): Update.
29509         * lib/mbscasestr.c: Include str-kmp.h.
29510         (knuth_morris_pratt_unibyte): Remove function.
29511         * lib/mbsstr.c: Include str-kmp.h.
29512         (knuth_morris_pratt_unibyte): Remove function.
29513         * lib/strcasestr.c: Include str-kmp.h.
29514         (knuth_morris_pratt): Remove function.
29515         (strcasestr): Update.
29516         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
29517         * modules/c-strstr (Files): Likewise.
29518         * modules/mbscasestr (Files): Likewise.
29519         * modules/mbsstr (Files): Likewise.
29520         * modules/strcasestr (Files): Likewise.
29521         Suggested by Paul Eggert.
29522
29523 2007-12-30  Bruno Haible  <bruno@clisp.org>
29524
29525         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
29526         defined.
29527
29528 2007-12-30  Bruno Haible  <bruno@clisp.org>
29529
29530         * lib/xmalloca.h: Include xalloc.h.
29531         (xnmalloca): New macro.
29532
29533 2007-12-30  Bruno Haible  <bruno@clisp.org>
29534
29535         * lib/malloca.h (nmalloca): New macro.
29536         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
29537         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
29538         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
29539         knuth_morris_pratt_multibyte): Likewise.
29540         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
29541         knuth_morris_pratt_multibyte): Likewise.
29542         * lib/memmem.c (knuth_morris_pratt): Likewise.
29543         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
29544
29545 2007-12-25  Bruno Haible  <bruno@clisp.org>
29546
29547         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
29548         * lib/glob.c: Don't include openat.h.
29549         (link_exists2_p): Add back the code that deals with the
29550         !GLOB_ALTDIRFUNC case.
29551         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
29552         let it do the filename concatenation.
29553         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
29554         * modules/glob (Depends-on): Remove openat.
29555
29556 2007-12-31  Bruno Haible  <bruno@clisp.org>
29557
29558         * modules/dirfd (License): Change to LGPLv2+.
29559         Approved by Jim Meyering.
29560
29561 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
29562
29563         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
29564         when multiplying M by sizeof (size_t).
29565
29566 2007-12-10  Martin Lambers  <marlam@marlam.de>
29567
29568         Override getpagesize on mingw.
29569         * lib/getpagesize.c: New file.
29570         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
29571         * modules/getpagesize (Files): Add lib/getpagesize.c.
29572         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
29573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29574         REPLACE_GETPAGESIZE.
29575         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
29576
29577 2007-12-25  Bruno Haible  <bruno@clisp.org>
29578
29579         * modules/localcharset (Notice): New field.
29580         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
29581         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
29582
29583 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
29584             Bruno Haible  <bruno@clisp.org>
29585
29586         Avoid using the syntax symbol() in formatted documentation.
29587         * MODULES.html.sh (func_module): When replacing symbol() with a
29588         hyperlink, remove the parentheses. Show an error if some remain.
29589         Recognize and render the '...' syntax.
29590         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
29591         Rework. Add paragraph about GCC's inlining.
29592         * doc/alloca.texi: Likewise.
29593         * doc/error.texi: Remove parentheses from symbol reference.
29594         * doc/gnulib-intro.texi: Likewise.
29595         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
29596         * modules/fnmatch (Description): Reword to say "the ... function".
29597         * modules/full-read (Description): Likewise.
29598         * modules/full-write (Description): Likewise.
29599         * modules/safe-read (Description): Likewise.
29600         * modules/safe-write (Description): Likewise.
29601         * modules/strchrnul (Description): Likewise.
29602         * modules/trim (Description): Likewise.
29603         * modules/error (Description): Remove parentheses from symbol
29604         references.
29605         * modules/verror (Description): Likewise.
29606         Reported by Karl Berry.
29607
29608 2007-12-25  Bruno Haible  <bruno@clisp.org>
29609
29610         Fixup after 2007-10-16 commit.
29611         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
29612
29613 2007-12-24  Bruno Haible  <bruno@clisp.org>
29614
29615         Make --enable-relocatable work with DESTDIR.
29616         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
29617         to compute installdir from destprog.
29618         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
29619         also set the RELOC_DESTDIR variable.
29620         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
29621
29622 2007-12-24  Bruno Haible  <bruno@clisp.org>
29623
29624         Fix link error due to xalloc_die().
29625         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
29626         of xreadlink.
29627         * lib/relocwrapper.c: Update comments.
29628         * build-aux/install-reloc: Remove xreadlink.c from file list.
29629         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
29630         xreadlink.c.
29631         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
29632
29633 2007-12-24  Bruno Haible  <bruno@clisp.org>
29634
29635         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
29636         * lib/setenv.h: Remove file.
29637         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
29638         lib/setenv.h.
29639         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
29640         (Depends-on): Add stdlib.
29641         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
29642         gl_FUNC_UNSETENV.
29643         (Include): Replace setenv.h with <stdlib.h>.
29644         * modules/unsetenv: New file.
29645         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
29646         * lib/unsetenv.c: Include <stdlib.h> first.
29647         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
29648         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
29649         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
29650         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
29651         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
29652         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
29653         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
29654         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
29655         * doc/functions/unsetenv.texi: Update.
29656         * modules/xsetenv (Depends-on): Add unsetenv.
29657         * modules/getdate (Depends-on): Likewise.
29658         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
29659         * lib/xsetenv.c: Don't include setenv.h.
29660         * lib/getdate.y: Likewise.
29661         * lib/relocwrapper.c: Likewise.
29662         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
29663         (Depends-on): Add stdlib.
29664         * NEWS: Mention the changes.
29665         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
29666
29667 2007-12-23  Bruno Haible  <bruno@clisp.org>
29668
29669         * lib/memmem.c (memmem): Use lowercase variable names. Tab
29670         indentation.
29671
29672 2007-12-23  Bruno Haible  <bruno@clisp.org>
29673
29674         * lib/c-strcasestr.c: Add more comments.
29675         * lib/c-strstr.c: Likewise.
29676         * lib/mbscasestr.c: Likewise.
29677         * lib/mbsstr.c: Likewise.
29678         * lib/strcasestr.c: Likewise.
29679         * lib/memmem.c: Likewise.
29680
29681 2007-12-23  Bruno Haible  <bruno@clisp.org>
29682
29683         * tests/test-memmem.c: Include <string.h> first.
29684
29685 2007-12-22  Bruno Haible  <bruno@clisp.org>
29686
29687         * gnulib-tool (func_create_testdir): Change $auxdir while generating
29688         the contents of $testsbase.
29689         Reported by Ralf Wildenhues.
29690
29691 2007-12-22  Bruno Haible  <bruno@clisp.org>
29692
29693         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
29694         two variables local_ldadd_before, local_ldadd_last.
29695
29696 2007-12-20  Eric Blake  <ebb9@byu.net>
29697
29698         Work around circular library issue when cross-compiling.
29699         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
29700         that progname.o does not need to pull in rpl_memcmp.
29701
29702 2007-12-19  Eric Blake  <ebb9@byu.net>
29703
29704         Fix memmem to avoid O(n^2) worst-case complexity.
29705         * lib/memmem.c (knuth_morris_pratt): New function.
29706         (memmem): Use it if first few naive iterations fail.
29707         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
29708         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
29709         * modules/memchr (License): Likewise.
29710         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
29711         malloca.
29712         * tests/test-memmem.c: Rewrite, borrowing ideas from
29713         test-mbsstr1.c; the old version wouldn't even compile!
29714         * modules/memmem-tests: New file.
29715         * lib/string.in.h (rpl_memmem): Add declaration.
29716         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
29717         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
29718         REPLACE_MEMMEM.
29719
29720 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
29721
29722         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
29723         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
29724         before any system include files, and undef after them all.  This
29725         should fix a problem on VMS reported by John E. Malmberg in
29726         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
29727
29728 2007-12-17  Eric Blake  <ebb9@byu.net>
29729
29730         Revert addition of verify, for BSD/OS.
29731         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
29732         can't handle large files, for the sake of obsolete platforms.
29733         * modules/fseeko (Depends-on): Remove verify.
29734         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
29735         * doc/functions/ftello.texi (ftello): Likewise.
29736         * doc/functions/fgetpos.texi (fgetpos): Likewise.
29737         Reported by Larry Jones.
29738
29739 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
29740
29741         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
29742         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
29743
29744 2007-12-17  Jim Meyering  <meyering@redhat.com>
29745
29746         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
29747         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
29748         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
29749         * modules/getcwd (Depends-on): Add openat.
29750         Reported by Petr Salinger.
29751
29752 2007-12-17  Bruno Haible  <bruno@clisp.org>
29753
29754         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
29755         avoid a segmentation fault of the configure test on x86_64 systems.
29756
29757 2007-12-15  Jim Meyering  <meyering@redhat.com>
29758
29759         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
29760
29761 2007-12-13  Eric Blake  <ebb9@byu.net>
29762
29763         Another fseek test.
29764         * tests/test-fseek.c (main): Also test ungetc handling.
29765         * tests/test-fseeko.c (main): Likewise.
29766         * modules/fseeko (Depends-on): Add verify.
29767         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
29768         large.
29769         Reported by Larry Jones.
29770
29771         Fix fseeko on mingw.
29772         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
29773         seek.
29774
29775         Beef up fseek tests.
29776         * tests/test-fseek.c (main): Also test eof handling.
29777         * tests/test-fseeko.c (main): Likewise.
29778         Reported by Larry Jones.
29779
29780 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
29781
29782         Fix fseeko on BSD-based platforms.
29783         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
29784         successful seek.
29785
29786 2007-12-12  Eric Blake  <ebb9@byu.net>
29787
29788         Allow circular dependency of separate libtests.a
29789         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
29790         when use_libtests.
29791
29792 2007-12-11  Eric Blake  <ebb9@byu.net>
29793
29794         Fix bug with -0.0L in previous patch.
29795         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
29796         * tests/test-isnan.c (main): Also test on zeroes.
29797         * tests/test-isnanf.c (main): Likewise.
29798         * tests/test-isnanl.h (main): Likewise.
29799
29800         Detect pseudo-denormals on x86 even when cross-compiling.
29801         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
29802         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
29803         invalid bit patterns that happen to satisfy ==.
29804
29805         Avoid link failures with separate libtests.a.
29806         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
29807         last, to satisfy circular dependencies.
29808
29809 2007-12-11  Eric Blake  <ebb9@byu.net>
29810         and Bruno Haible  <bruno@clisp.org>
29811
29812         Fix OpenBSD 4.0 <float.h> handling of long double.
29813         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
29814         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
29815         * doc/headers/float.texi (float.h): Document OpenBSD bug.
29816
29817 2007-12-11  Jim Meyering  <meyering@redhat.com>
29818
29819         * users.txt: Add libvirt.
29820
29821         Support versions of autoconf prior to 2.59c.
29822         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
29823         if it is not already defined.
29824
29825 2007-12-09  Bruno Haible  <bruno@clisp.org>
29826
29827         Let 'gnulib-tool --import' collect sources needed for the tests in
29828         tests/ rather than in lib/.
29829         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
29830         argument. If true, add rules to generate libtests.a, and put libtests.a
29831         into $(LDADD). Consider source files in subdirectories and set
29832         uses_subdirs.
29833         (func_emit_initmacro_start, func_emit_initmacro_end,
29834         func_emit_initmacro_done): Pass all arguments explicitly.
29835         (func_import): Determine two module lists main_modules,
29836         testsrelated_modules. Determine use_libtests. Determine two variables
29837         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
29838         instead of just sed_transform_lib_file. Determine two variables
29839         main_files and testsrelated_files. Compute 'files' as the union of
29840         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
29841         func_add_or_update. In the generated gnulib-comp.m4, collect the
29842         object files for tests/ in different variables than those for lib/.
29843         Substitute LIBTESTS_LIBDEPS.
29844         (func_create_testdir): Combine the uses_subdirs results from
29845         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
29846
29847 2007-12-09  Bruno Haible  <bruno@clisp.org>
29848
29849         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
29850         the build-aux directory.
29851
29852 2007-12-09  Bruno Haible  <bruno@clisp.org>
29853
29854         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
29855         introduced on 2006-09-09.
29856
29857 2007-12-07  Jim Meyering  <meyering@redhat.com>
29858
29859         Let these macros work also with autoconf-2.59.
29860         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
29861         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
29862         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
29863
29864 2007-12-06  Jim Meyering  <meyering@redhat.com>
29865
29866         Avoid a configure-time syntax error in gl_FUNC_ACL.
29867         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
29868         function in each branch, before testing the cache variable.
29869
29870 2007-12-04  Eric Blake  <ebb9@byu.net>
29871
29872         Make scripts executable.
29873         * build-aux/config.guess: Add execute permissions.
29874         * build-aux/config.sub: Likewise.
29875         * build-aux/gendocs.sh: Likewise.
29876
29877         Fix frexp on mingw.
29878         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
29879         cross-compiling.
29880         * doc/functions/frexp.texi (frexp): Document the bug.
29881
29882         Make cygwin fseeko check more reliable.
29883         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
29884         version numbers, rather than unrelated feature check.
29885         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
29886         * doc/functions/ftello.texi (ftello): Likewise.
29887         Reported by Bruno Haible.
29888
29889         * m4/strerror.m4: Bump version number.
29890
29891 2007-12-03  Bruno Haible  <bruno@clisp.org>
29892
29893         * doc/functions/mprotect.texi: Mention the mingw problem.
29894
29895 2007-12-03  Eric Blake  <ebb9@byu.net>
29896
29897         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
29898         REPLACE_STRERROR is initialized before this macro.
29899
29900 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
29901
29902         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
29903         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
29904         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
29905         put -lsec in even for programs other than 'ls'.  This fixes a problem
29906         for gettext reported by Bruno Haible in
29907         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
29908         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
29909         Add support for Solaris 10.  This isn't efficient, but should get the
29910         job done for now.
29911
29912 2007-12-03  James Youngman  <jay@gnu.org>
29913
29914         * doc/regexprops-generic.texi: change "an close-group" to "a
29915         close-group" and "illegal" to "not allowed".
29916
29917 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29918
29919         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
29920         pr_byname.h. Needed for the rare case when the maintainer has done
29921         "make maintainer-clean" in the source directory and then attempts a
29922         build outside the source directory.
29923         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
29924         scripts_byname.h.
29925
29926 2007-12-02  Martin Lambers <marlam@marlam.de>
29927             Bruno Haible  <bruno@clisp.org>
29928
29929         * lib/getpagesize.h: Remove file.
29930         * lib/unistd.in.h: Include declaration of getpagesize here.
29931         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
29932         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
29933         HAVE_SYS_PARAM_H.
29934         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
29935         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29936         * modules/getpagesize (Files): Remove lib/getpagesize.h.
29937         (Depends-on): Add unistd.
29938         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29939         (Include): Use <unistd.h> instead of getpagesize.h.
29940         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
29941         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29942         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
29943         gl_GETPAGESIZE invocation, already handled by module dependency.
29944         * lib/pagealign_alloc.c: Don't include getpagesize.h.
29945
29946 2007-12-02  Bruno Haible  <bruno@clisp.org>
29947
29948         * modules/strings-tests: New file.
29949         * tests/test-strings.c: New file.
29950
29951         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
29952         * lib/strings.in.h: New file.
29953         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
29954         * m4/strings_h.m4: New file.
29955         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
29956         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
29957         * modules/strings: New file.
29958         * modules/string (Makefile.am): Update.
29959         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
29960         Reported by Karl Berry.
29961
29962 2007-12-01  Eric Blake  <ebb9@byu.net>
29963
29964         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
29965         accomodate fix in cygwin 1.5.25.
29966
29967 2007-12-01  Jim Meyering  <meyering@redhat.com>
29968
29969         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
29970         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
29971         that would inhibit utf8-optimization of a regexp containing line-
29972         or buffer-anchors, e.g., `^', `$'.
29973
29974 2007-11-30  Bruno Haible  <bruno@clisp.org>
29975
29976         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
29977         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
29978         glthread_recursive_lock_init.
29979         * lib/lock.c (glthread_recursive_lock_init)
29980         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
29981         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
29982
29983 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
29984
29985         New function qset_acl, like set_acl but with syscall semantics.
29986         * lib/acl.h (qset_acl): New decl.
29987         * lib/acl.c (qset_acl): New function.
29988         (set_acl): Use new function.  Use more-consistent diagnostics.
29989
29990 2007-11-28  Jim Meyering  <meyering@redhat.com>
29991
29992         * modules/physmem (License): Change from GPL to LGPLv2+.
29993
29994 2007-11-26  Bruno Haible  <bruno@clisp.org>
29995
29996         * lib/vasnprintf.c (decode_long_double): Don't abort if the
29997         'long double' type has excess precision.
29998         Reported by Jim Meyering in
29999         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
30000
30001 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30002
30003         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
30004         Sync from <http://gnu.org/licenses>.
30005         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
30006         with license text from same location.
30007         * doc/maintain.texi, doc/standards.texi:  Sync from
30008         <http://savannah.gnu.org/projects/gnustandards>.
30009
30010 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
30011         and Jim Meyering  <meyering@redhat.com>
30012
30013         Adjust getdate' grammar to accept a slightly more regular language.
30014         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
30015         Before, the former was rejected.
30016         * lib/getdate.y (digits_to_date_time): New function, factored
30017         out of ...
30018         (number): ...here.  Just call digits_to_date_time.
30019         (hybrid): New non-terminal to handle an <unsigned number,
30020         signed relative offset> sequence consistently.
30021
30022 2007-11-18  Jim Meyering  <meyering@redhat.com>
30023
30024         Pull my changes from coreutils:
30025         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
30026         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
30027         use of $gnulib_tool_option_extras, so that it's separated from the
30028         preceding argument.
30029
30030         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
30031         * build-aux/bootstrap (cp_mark_as_generated): Create any required
30032         parent destination directories before copying a file into place.
30033
30034 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
30035
30036         bootstrap: work also with 4-argument variant of AC_INIT
30037         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
30038
30039 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
30040
30041         Port test-getaddrinfo to Solaris.
30042         Problem reported by Bruno Haible in
30043         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
30044         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
30045         explanation of setting 'hints'.
30046         Don't reject an implementation merely because it returns EAI_SERVICE.
30047         (EAI_SERVICE): Define to 0 if not defined.
30048
30049 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
30050
30051         The license of gnu-make and posix-shell is now "GPLed build tool".
30052         * modules/gnu-make (License): Likewise.
30053         * modules/posix-shell (License): Likewise.
30054
30055         New module posix-shell, for determining a POSIX shell
30056         or perhaps something that is close enough to a POSIX shell.
30057         * m4/posix-shell.m4: New file.
30058         * modules/posix-shell: New file.
30059
30060         * MODULES.html.sh: Mention new module.
30061
30062         New module gnu-make, for determining whether we're using GNU Make.
30063         * m4/gnu-make.m4: New file.
30064         * modules/gnu-make: New file.
30065         * MODULES.html.sh: Mention new module.
30066
30067 2007-11-14  Jim Meyering  <meyering@redhat.com>
30068
30069         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
30070         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
30071         use this macro to create a function _definition_.
30072         Remove useless "#undef ARGMATCH_DIE".
30073
30074 2007-11-14  Bruno Haible  <bruno@clisp.org>
30075
30076         * lib/config.charset: Update for OpenBSD 4.1.
30077         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
30078
30079 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
30080
30081         Document 64-bit #if problems in stdint.texi.
30082         * doc/headers/stdint.texi (stdint.h): Mention problems with
30083         64-bit-#if, and how to work around them.
30084
30085         Don't insist on 'long long int' support in the preprocessor.  It
30086         breaks too many things.  For example, PRIdMAX still uses a 'long
30087         long int' format with the latest Sun compiler, even though
30088         HAVE_LONG_LONG_INT isn't defined due to that compiler's
30089         preprocessor problem.  This causes the latest coreutils to dump
30090         core on Solaris 10 sparc with the Sun C compiler.
30091         Instead, fix the 2007-10-16 problem in a different way, by evaluating
30092         the troublesome expressions at configure-time, not at #if-time.
30093         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
30094         preprocessor.
30095         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
30096         compile-time C checks, done at 'configure'-time.
30097         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
30098         * modules/inttypes (Makefile): Substitute the new symbols that
30099         gl_INTTYPES_H now generates.
30100         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
30101
30102 2007-11-12  Bruno Haible  <bruno@clisp.org>
30103
30104         Tests for Unicode character classification functions.
30105
30106         * modules/unictype/bidicategory-byname-tests: New file.
30107         * modules/unictype/bidicategory-name-tests: New file.
30108         * modules/unictype/bidicategory-of-tests: New file.
30109         * modules/unictype/bidicategory-test-tests: New file.
30110         * modules/unictype/block-list-tests: New file.
30111         * modules/unictype/block-of-tests: New file.
30112         * modules/unictype/block-test-tests: New file.
30113         * modules/unictype/category-C-tests: New file.
30114         * modules/unictype/category-Cc-tests: New file.
30115         * modules/unictype/category-Cf-tests: New file.
30116         * modules/unictype/category-Cn-tests: New file.
30117         * modules/unictype/category-Co-tests: New file.
30118         * modules/unictype/category-Cs-tests: New file.
30119         * modules/unictype/category-L-tests: New file.
30120         * modules/unictype/category-Ll-tests: New file.
30121         * modules/unictype/category-Lm-tests: New file.
30122         * modules/unictype/category-Lo-tests: New file.
30123         * modules/unictype/category-Lt-tests: New file.
30124         * modules/unictype/category-Lu-tests: New file.
30125         * modules/unictype/category-M-tests: New file.
30126         * modules/unictype/category-Mc-tests: New file.
30127         * modules/unictype/category-Me-tests: New file.
30128         * modules/unictype/category-Mn-tests: New file.
30129         * modules/unictype/category-N-tests: New file.
30130         * modules/unictype/category-Nd-tests: New file.
30131         * modules/unictype/category-Nl-tests: New file.
30132         * modules/unictype/category-No-tests: New file.
30133         * modules/unictype/category-P-tests: New file.
30134         * modules/unictype/category-Pc-tests: New file.
30135         * modules/unictype/category-Pd-tests: New file.
30136         * modules/unictype/category-Pe-tests: New file.
30137         * modules/unictype/category-Pf-tests: New file.
30138         * modules/unictype/category-Pi-tests: New file.
30139         * modules/unictype/category-Po-tests: New file.
30140         * modules/unictype/category-Ps-tests: New file.
30141         * modules/unictype/category-S-tests: New file.
30142         * modules/unictype/category-Sc-tests: New file.
30143         * modules/unictype/category-Sk-tests: New file.
30144         * modules/unictype/category-Sm-tests: New file.
30145         * modules/unictype/category-So-tests: New file.
30146         * modules/unictype/category-Z-tests: New file.
30147         * modules/unictype/category-Zl-tests: New file.
30148         * modules/unictype/category-Zp-tests: New file.
30149         * modules/unictype/category-Zs-tests: New file.
30150         * modules/unictype/category-and-not-tests: New file.
30151         * modules/unictype/category-and-tests: New file.
30152         * modules/unictype/category-byname-tests: New file.
30153         * modules/unictype/category-name-tests: New file.
30154         * modules/unictype/category-none-tests: New file.
30155         * modules/unictype/category-of-tests: New file.
30156         * modules/unictype/category-or-tests: New file.
30157         * modules/unictype/category-test-withtable-tests: New file.
30158         * modules/unictype/combining-class-tests: New file.
30159         * modules/unictype/ctype-alnum-tests: New file.
30160         * modules/unictype/ctype-alpha-tests: New file.
30161         * modules/unictype/ctype-blank-tests: New file.
30162         * modules/unictype/ctype-cntrl-tests: New file.
30163         * modules/unictype/ctype-digit-tests: New file.
30164         * modules/unictype/ctype-graph-tests: New file.
30165         * modules/unictype/ctype-lower-tests: New file.
30166         * modules/unictype/ctype-print-tests: New file.
30167         * modules/unictype/ctype-punct-tests: New file.
30168         * modules/unictype/ctype-space-tests: New file.
30169         * modules/unictype/ctype-upper-tests: New file.
30170         * modules/unictype/ctype-xdigit-tests: New file.
30171         * modules/unictype/decimal-digit-tests: New file.
30172         * modules/unictype/digit-tests: New file.
30173         * modules/unictype/mirror-tests: New file.
30174         * modules/unictype/numeric-tests: New file.
30175         * modules/unictype/property-alphabetic-tests: New file.
30176         * modules/unictype/property-ascii-hex-digit-tests: New file.
30177         * modules/unictype/property-bidi-arabic-digit-tests: New file.
30178         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
30179         * modules/unictype/property-bidi-block-separator-tests: New file.
30180         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
30181         * modules/unictype/property-bidi-common-separator-tests: New file.
30182         * modules/unictype/property-bidi-control-tests: New file.
30183         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
30184         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
30185         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
30186         * modules/unictype/property-bidi-european-digit-tests: New file.
30187         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
30188         * modules/unictype/property-bidi-left-to-right-tests: New file.
30189         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
30190         * modules/unictype/property-bidi-other-neutral-tests: New file.
30191         * modules/unictype/property-bidi-pdf-tests: New file.
30192         * modules/unictype/property-bidi-segment-separator-tests: New file.
30193         * modules/unictype/property-bidi-whitespace-tests: New file.
30194         * modules/unictype/property-byname-tests: New file.
30195         * modules/unictype/property-combining-tests: New file.
30196         * modules/unictype/property-composite-tests: New file.
30197         * modules/unictype/property-currency-symbol-tests: New file.
30198         * modules/unictype/property-dash-tests: New file.
30199         * modules/unictype/property-decimal-digit-tests: New file.
30200         * modules/unictype/property-default-ignorable-code-point-tests: New file.
30201         * modules/unictype/property-deprecated-tests: New file.
30202         * modules/unictype/property-diacritic-tests: New file.
30203         * modules/unictype/property-extender-tests: New file.
30204         * modules/unictype/property-format-control-tests: New file.
30205         * modules/unictype/property-grapheme-base-tests: New file.
30206         * modules/unictype/property-grapheme-extend-tests: New file.
30207         * modules/unictype/property-grapheme-link-tests: New file.
30208         * modules/unictype/property-hex-digit-tests: New file.
30209         * modules/unictype/property-hyphen-tests: New file.
30210         * modules/unictype/property-id-continue-tests: New file.
30211         * modules/unictype/property-id-start-tests: New file.
30212         * modules/unictype/property-ideographic-tests: New file.
30213         * modules/unictype/property-ids-binary-operator-tests: New file.
30214         * modules/unictype/property-ids-trinary-operator-tests: New file.
30215         * modules/unictype/property-ignorable-control-tests: New file.
30216         * modules/unictype/property-iso-control-tests: New file.
30217         * modules/unictype/property-join-control-tests: New file.
30218         * modules/unictype/property-left-of-pair-tests: New file.
30219         * modules/unictype/property-line-separator-tests: New file.
30220         * modules/unictype/property-logical-order-exception-tests: New file.
30221         * modules/unictype/property-lowercase-tests: New file.
30222         * modules/unictype/property-math-tests: New file.
30223         * modules/unictype/property-non-break-tests: New file.
30224         * modules/unictype/property-not-a-character-tests: New file.
30225         * modules/unictype/property-numeric-tests: New file.
30226         * modules/unictype/property-other-alphabetic-tests: New file.
30227         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
30228         * modules/unictype/property-other-grapheme-extend-tests: New file.
30229         * modules/unictype/property-other-id-continue-tests: New file.
30230         * modules/unictype/property-other-id-start-tests: New file.
30231         * modules/unictype/property-other-lowercase-tests: New file.
30232         * modules/unictype/property-other-math-tests: New file.
30233         * modules/unictype/property-other-uppercase-tests: New file.
30234         * modules/unictype/property-paired-punctuation-tests: New file.
30235         * modules/unictype/property-paragraph-separator-tests: New file.
30236         * modules/unictype/property-pattern-syntax-tests: New file.
30237         * modules/unictype/property-pattern-white-space-tests: New file.
30238         * modules/unictype/property-private-use-tests: New file.
30239         * modules/unictype/property-punctuation-tests: New file.
30240         * modules/unictype/property-quotation-mark-tests: New file.
30241         * modules/unictype/property-radical-tests: New file.
30242         * modules/unictype/property-sentence-terminal-tests: New file.
30243         * modules/unictype/property-soft-dotted-tests: New file.
30244         * modules/unictype/property-space-tests: New file.
30245         * modules/unictype/property-terminal-punctuation-tests: New file.
30246         * modules/unictype/property-test-tests: New file.
30247         * modules/unictype/property-titlecase-tests: New file.
30248         * modules/unictype/property-unassigned-code-value-tests: New file.
30249         * modules/unictype/property-unified-ideograph-tests: New file.
30250         * modules/unictype/property-uppercase-tests: New file.
30251         * modules/unictype/property-variation-selector-tests: New file.
30252         * modules/unictype/property-white-space-tests: New file.
30253         * modules/unictype/property-xid-continue-tests: New file.
30254         * modules/unictype/property-xid-start-tests: New file.
30255         * modules/unictype/property-zero-width-tests: New file.
30256         * modules/unictype/scripts-tests: New file.
30257         * modules/unictype/syntax-c-ident-tests: New file.
30258         * modules/unictype/syntax-c-whitespace-tests: New file.
30259         * modules/unictype/syntax-java-ident-tests: New file.
30260         * modules/unictype/syntax-java-whitespace-tests: New file.
30261         * tests/unictype/test-bidi_byname.c: New file.
30262         * tests/unictype/test-bidi_name.c: New file.
30263         * tests/unictype/test-bidi_of.c: New file.
30264         * tests/unictype/test-bidi_test.c: New file.
30265         * tests/unictype/test-block_list.c: New file.
30266         * tests/unictype/test-block_of.c: New file.
30267         * tests/unictype/test-block_test.c: New file.
30268         * tests/unictype/test-categ_and.c: New file.
30269         * tests/unictype/test-categ_and_not.c: New file.
30270         * tests/unictype/test-categ_byname.c: New file.
30271         * tests/unictype/test-categ_name.c: New file.
30272         * tests/unictype/test-categ_none.c: New file.
30273         * tests/unictype/test-categ_of.c: New file.
30274         * tests/unictype/test-categ_or.c: New file.
30275         * tests/unictype/test-categ_test_withtable.c: New file.
30276         * tests/unictype/test-combining.c: New file.
30277         * tests/unictype/test-decdigit.c: New file.
30278         * tests/unictype/test-digit.c: New file.
30279         * tests/unictype/test-mirror.c: New file.
30280         * tests/unictype/test-numeric.c: New file.
30281         * tests/unictype/test-pr_byname.c: New file.
30282         * tests/unictype/test-pr_test.c: New file.
30283         * tests/unictype/test-predicate-part1.h: New file.
30284         * tests/unictype/test-predicate-part2.h: New file.
30285         * tests/unictype/test-scripts.c: New file.
30286         * tests/unictype/test-sy_c_ident.c: New file.
30287         * tests/unictype/test-sy_java_ident.c: New file.
30288
30289         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
30290         for Unicode 5.0.0.
30291         * tests/unictype/test-categ_Cc.c: Likewise.
30292         * tests/unictype/test-categ_Cf.c: Likewise.
30293         * tests/unictype/test-categ_Cn.c: Likewise.
30294         * tests/unictype/test-categ_Co.c: Likewise.
30295         * tests/unictype/test-categ_Cs.c: Likewise.
30296         * tests/unictype/test-categ_L.c: Likewise.
30297         * tests/unictype/test-categ_Ll.c: Likewise.
30298         * tests/unictype/test-categ_Lm.c: Likewise.
30299         * tests/unictype/test-categ_Lo.c: Likewise.
30300         * tests/unictype/test-categ_Lt.c: Likewise.
30301         * tests/unictype/test-categ_Lu.c: Likewise.
30302         * tests/unictype/test-categ_M.c: Likewise.
30303         * tests/unictype/test-categ_Mc.c: Likewise.
30304         * tests/unictype/test-categ_Me.c: Likewise.
30305         * tests/unictype/test-categ_Mn.c: Likewise.
30306         * tests/unictype/test-categ_N.c: Likewise.
30307         * tests/unictype/test-categ_Nd.c: Likewise.
30308         * tests/unictype/test-categ_Nl.c: Likewise.
30309         * tests/unictype/test-categ_No.c: Likewise.
30310         * tests/unictype/test-categ_P.c: Likewise.
30311         * tests/unictype/test-categ_Pc.c: Likewise.
30312         * tests/unictype/test-categ_Pd.c: Likewise.
30313         * tests/unictype/test-categ_Pe.c: Likewise.
30314         * tests/unictype/test-categ_Pf.c: Likewise.
30315         * tests/unictype/test-categ_Pi.c: Likewise.
30316         * tests/unictype/test-categ_Po.c: Likewise.
30317         * tests/unictype/test-categ_Ps.c: Likewise.
30318         * tests/unictype/test-categ_S.c: Likewise.
30319         * tests/unictype/test-categ_Sc.c: Likewise.
30320         * tests/unictype/test-categ_Sk.c: Likewise.
30321         * tests/unictype/test-categ_Sm.c: Likewise.
30322         * tests/unictype/test-categ_So.c: Likewise.
30323         * tests/unictype/test-categ_Z.c: Likewise.
30324         * tests/unictype/test-categ_Zl.c: Likewise.
30325         * tests/unictype/test-categ_Zp.c: Likewise.
30326         * tests/unictype/test-categ_Zs.c: Likewise.
30327         * tests/unictype/test-ctype_alnum.c: Likewise.
30328         * tests/unictype/test-ctype_alpha.c: Likewise.
30329         * tests/unictype/test-ctype_blank.c: Likewise.
30330         * tests/unictype/test-ctype_cntrl.c: Likewise.
30331         * tests/unictype/test-ctype_digit.c: Likewise.
30332         * tests/unictype/test-ctype_graph.c: Likewise.
30333         * tests/unictype/test-ctype_lower.c: Likewise.
30334         * tests/unictype/test-ctype_print.c: Likewise.
30335         * tests/unictype/test-ctype_punct.c: Likewise.
30336         * tests/unictype/test-ctype_space.c: Likewise.
30337         * tests/unictype/test-ctype_upper.c: Likewise.
30338         * tests/unictype/test-ctype_xdigit.c: Likewise.
30339         * tests/unictype/test-decdigit.h: Likewise.
30340         * tests/unictype/test-digit.h: Likewise.
30341         * tests/unictype/test-numeric.h: Likewise.
30342         * tests/unictype/test-pr_alphabetic.c: Likewise.
30343         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
30344         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
30345         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
30346         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
30347         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
30348         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
30349         * tests/unictype/test-pr_bidi_control.c: Likewise.
30350         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
30351         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
30352         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
30353         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
30354         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
30355         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
30356         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
30357         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
30358         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
30359         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
30360         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
30361         * tests/unictype/test-pr_combining.c: Likewise.
30362         * tests/unictype/test-pr_composite.c: Likewise.
30363         * tests/unictype/test-pr_currency_symbol.c: Likewise.
30364         * tests/unictype/test-pr_dash.c: Likewise.
30365         * tests/unictype/test-pr_decimal_digit.c: Likewise.
30366         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
30367         * tests/unictype/test-pr_deprecated.c: Likewise.
30368         * tests/unictype/test-pr_diacritic.c: Likewise.
30369         * tests/unictype/test-pr_extender.c: Likewise.
30370         * tests/unictype/test-pr_format_control.c: Likewise.
30371         * tests/unictype/test-pr_grapheme_base.c: Likewise.
30372         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
30373         * tests/unictype/test-pr_grapheme_link.c: Likewise.
30374         * tests/unictype/test-pr_hex_digit.c: Likewise.
30375         * tests/unictype/test-pr_hyphen.c: Likewise.
30376         * tests/unictype/test-pr_id_continue.c: Likewise.
30377         * tests/unictype/test-pr_id_start.c: Likewise.
30378         * tests/unictype/test-pr_ideographic.c: Likewise.
30379         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
30380         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
30381         * tests/unictype/test-pr_ignorable_control.c: Likewise.
30382         * tests/unictype/test-pr_iso_control.c: Likewise.
30383         * tests/unictype/test-pr_join_control.c: Likewise.
30384         * tests/unictype/test-pr_left_of_pair.c: Likewise.
30385         * tests/unictype/test-pr_line_separator.c: Likewise.
30386         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
30387         * tests/unictype/test-pr_lowercase.c: Likewise.
30388         * tests/unictype/test-pr_math.c: Likewise.
30389         * tests/unictype/test-pr_non_break.c: Likewise.
30390         * tests/unictype/test-pr_not_a_character.c: Likewise.
30391         * tests/unictype/test-pr_numeric.c: Likewise.
30392         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
30393         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
30394         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
30395         * tests/unictype/test-pr_other_id_continue.c: Likewise.
30396         * tests/unictype/test-pr_other_id_start.c: Likewise.
30397         * tests/unictype/test-pr_other_lowercase.c: Likewise.
30398         * tests/unictype/test-pr_other_math.c: Likewise.
30399         * tests/unictype/test-pr_other_uppercase.c: Likewise.
30400         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
30401         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
30402         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
30403         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
30404         * tests/unictype/test-pr_private_use.c: Likewise.
30405         * tests/unictype/test-pr_punctuation.c: Likewise.
30406         * tests/unictype/test-pr_quotation_mark.c: Likewise.
30407         * tests/unictype/test-pr_radical.c: Likewise.
30408         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
30409         * tests/unictype/test-pr_soft_dotted.c: Likewise.
30410         * tests/unictype/test-pr_space.c: Likewise.
30411         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
30412         * tests/unictype/test-pr_titlecase.c: Likewise.
30413         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
30414         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
30415         * tests/unictype/test-pr_uppercase.c: Likewise.
30416         * tests/unictype/test-pr_variation_selector.c: Likewise.
30417         * tests/unictype/test-pr_white_space.c: Likewise.
30418         * tests/unictype/test-pr_xid_continue.c: Likewise.
30419         * tests/unictype/test-pr_xid_start.c: Likewise.
30420         * tests/unictype/test-pr_zero_width.c: Likewise.
30421         * tests/unictype/test-sy_c_whitespace.c: Likewise.
30422         * tests/unictype/test-sy_java_whitespace.c: Likewise.
30423
30424 2007-11-12  Bruno Haible  <bruno@clisp.org>
30425
30426         Unicode character classification functions.
30427         * lib/unictype.h: New file.
30428         * modules/unictype/base: New file.
30429         * modules/unictype/category-L: New file.
30430         * modules/unictype/category-Lu: New file.
30431         * modules/unictype/category-Ll: New file.
30432         * modules/unictype/category-Lt: New file.
30433         * modules/unictype/category-Lm: New file.
30434         * modules/unictype/category-Lo: New file.
30435         * modules/unictype/category-M: New file.
30436         * modules/unictype/category-Mn: New file.
30437         * modules/unictype/category-Mc: New file.
30438         * modules/unictype/category-Me: New file.
30439         * modules/unictype/category-N: New file.
30440         * modules/unictype/category-Nd: New file.
30441         * modules/unictype/category-Nl: New file.
30442         * modules/unictype/category-No: New file.
30443         * modules/unictype/category-P: New file.
30444         * modules/unictype/category-Pc: New file.
30445         * modules/unictype/category-Pd: New file.
30446         * modules/unictype/category-Ps: New file.
30447         * modules/unictype/category-Pe: New file.
30448         * modules/unictype/category-Pi: New file.
30449         * modules/unictype/category-Pf: New file.
30450         * modules/unictype/category-Po: New file.
30451         * modules/unictype/category-S: New file.
30452         * modules/unictype/category-Sm: New file.
30453         * modules/unictype/category-Sc: New file.
30454         * modules/unictype/category-Sk: New file.
30455         * modules/unictype/category-So: New file.
30456         * modules/unictype/category-Z: New file.
30457         * modules/unictype/category-Zs: New file.
30458         * modules/unictype/category-Zl: New file.
30459         * modules/unictype/category-Zp: New file.
30460         * modules/unictype/category-C: New file.
30461         * modules/unictype/category-Cc: New file.
30462         * modules/unictype/category-Cf: New file.
30463         * modules/unictype/category-Cs: New file.
30464         * modules/unictype/category-Co: New file.
30465         * modules/unictype/category-Cn: New file.
30466         * modules/unictype/category-or: New file.
30467         * modules/unictype/category-of: New file.
30468         * modules/unictype/category-test: New file.
30469         * modules/unictype/category-test-withtable: New file.
30470         * modules/unictype/category-byname: New file.
30471         * modules/unictype/category-none: New file.
30472         * modules/unictype/category-and: New file.
30473         * modules/unictype/category-and-not: New file.
30474         * modules/unictype/category-name: New file.
30475         * modules/unictype/combining-class: New file.
30476         * modules/unictype/category-all: New file.
30477         * modules/unictype/bidicategory-all: New file.
30478         * modules/unictype/bidicategory-byname: New file.
30479         * modules/unictype/bidicategory-name: New file.
30480         * modules/unictype/bidicategory-of: New file.
30481         * modules/unictype/bidicategory-test: New file.
30482         * modules/unictype/decimal-digit: New file.
30483         * modules/unictype/digit: New file.
30484         * modules/unictype/numeric: New file.
30485         * modules/unictype/mirror: New file.
30486         * modules/unictype/property-white-space: New file.
30487         * modules/unictype/property-alphabetic: New file.
30488         * modules/unictype/property-other-alphabetic: New file.
30489         * modules/unictype/property-not-a-character: New file.
30490         * modules/unictype/property-default-ignorable-code-point: New file.
30491         * modules/unictype/property-other-default-ignorable-code-point: New
30492         file.
30493         * modules/unictype/property-deprecated: New file.
30494         * modules/unictype/property-logical-order-exception: New file.
30495         * modules/unictype/property-variation-selector: New file.
30496         * modules/unictype/property-private-use: New file.
30497         * modules/unictype/property-unassigned-code-value: New file.
30498         * modules/unictype/property-uppercase: New file.
30499         * modules/unictype/property-other-uppercase: New file.
30500         * modules/unictype/property-lowercase: New file.
30501         * modules/unictype/property-other-lowercase: New file.
30502         * modules/unictype/property-titlecase: New file.
30503         * modules/unictype/property-soft-dotted: New file.
30504         * modules/unictype/property-id-start: New file.
30505         * modules/unictype/property-other-id-start: New file.
30506         * modules/unictype/property-id-continue: New file.
30507         * modules/unictype/property-other-id-continue: New file.
30508         * modules/unictype/property-xid-start: New file.
30509         * modules/unictype/property-xid-continue: New file.
30510         * modules/unictype/property-pattern-white-space: New file.
30511         * modules/unictype/property-pattern-syntax: New file.
30512         * modules/unictype/property-join-control: New file.
30513         * modules/unictype/property-grapheme-base: New file.
30514         * modules/unictype/property-grapheme-extend: New file.
30515         * modules/unictype/property-other-grapheme-extend: New file.
30516         * modules/unictype/property-grapheme-link: New file.
30517         * modules/unictype/property-bidi-control: New file.
30518         * modules/unictype/property-bidi-left-to-right: New file.
30519         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
30520         * modules/unictype/property-bidi-arabic-right-to-left: New file.
30521         * modules/unictype/property-bidi-european-digit: New file.
30522         * modules/unictype/property-bidi-eur-num-separator: New file.
30523         * modules/unictype/property-bidi-eur-num-terminator: New file.
30524         * modules/unictype/property-bidi-arabic-digit: New file.
30525         * modules/unictype/property-bidi-common-separator: New file.
30526         * modules/unictype/property-bidi-block-separator: New file.
30527         * modules/unictype/property-bidi-segment-separator: New file.
30528         * modules/unictype/property-bidi-whitespace: New file.
30529         * modules/unictype/property-bidi-non-spacing-mark: New file.
30530         * modules/unictype/property-bidi-boundary-neutral: New file.
30531         * modules/unictype/property-bidi-pdf: New file.
30532         * modules/unictype/property-bidi-embedding-or-override: New file.
30533         * modules/unictype/property-bidi-other-neutral: New file.
30534         * modules/unictype/property-hex-digit: New file.
30535         * modules/unictype/property-ascii-hex-digit: New file.
30536         * modules/unictype/property-ideographic: New file.
30537         * modules/unictype/property-unified-ideograph: New file.
30538         * modules/unictype/property-radical: New file.
30539         * modules/unictype/property-ids-binary-operator: New file.
30540         * modules/unictype/property-ids-trinary-operator: New file.
30541         * modules/unictype/property-zero-width: New file.
30542         * modules/unictype/property-space: New file.
30543         * modules/unictype/property-non-break: New file.
30544         * modules/unictype/property-iso-control: New file.
30545         * modules/unictype/property-format-control: New file.
30546         * modules/unictype/property-dash: New file.
30547         * modules/unictype/property-hyphen: New file.
30548         * modules/unictype/property-punctuation: New file.
30549         * modules/unictype/property-line-separator: New file.
30550         * modules/unictype/property-paragraph-separator: New file.
30551         * modules/unictype/property-quotation-mark: New file.
30552         * modules/unictype/property-sentence-terminal: New file.
30553         * modules/unictype/property-terminal-punctuation: New file.
30554         * modules/unictype/property-currency-symbol: New file.
30555         * modules/unictype/property-math: New file.
30556         * modules/unictype/property-other-math: New file.
30557         * modules/unictype/property-paired-punctuation: New file.
30558         * modules/unictype/property-left-of-pair: New file.
30559         * modules/unictype/property-combining: New file.
30560         * modules/unictype/property-composite: New file.
30561         * modules/unictype/property-decimal-digit: New file.
30562         * modules/unictype/property-numeric: New file.
30563         * modules/unictype/property-diacritic: New file.
30564         * modules/unictype/property-extender: New file.
30565         * modules/unictype/property-ignorable-control: New file.
30566         * modules/unictype/property-test: New file.
30567         * modules/unictype/property-byname: New file.
30568         * modules/unictype/property-all: New file.
30569         * modules/unictype/scripts: New file.
30570         * modules/unictype/scripts-all: New file.
30571         * modules/unictype/block-of: New file.
30572         * modules/unictype/block-test: New file.
30573         * modules/unictype/block-list: New file.
30574         * modules/unictype/block-all: New file.
30575         * modules/unictype/syntax-c-whitespace: New file.
30576         * modules/unictype/syntax-java-whitespace: New file.
30577         * modules/unictype/syntax-c-ident: New file.
30578         * modules/unictype/syntax-java-ident: New file.
30579         * modules/unictype/ctype-alnum: New file.
30580         * modules/unictype/ctype-alpha: New file.
30581         * modules/unictype/ctype-cntrl: New file.
30582         * modules/unictype/ctype-digit: New file.
30583         * modules/unictype/ctype-graph: New file.
30584         * modules/unictype/ctype-lower: New file.
30585         * modules/unictype/ctype-print: New file.
30586         * modules/unictype/ctype-punct: New file.
30587         * modules/unictype/ctype-space: New file.
30588         * modules/unictype/ctype-upper: New file.
30589         * modules/unictype/ctype-xdigit: New file.
30590         * modules/unictype/ctype-blank: New file.
30591         * lib/unictype/bidi_byname.c: New file.
30592         * lib/unictype/bidi_name.c: New file.
30593         * lib/unictype/bidi_of.c: New file.
30594         * lib/unictype/bidi_test.c: New file.
30595         * lib/unictype/bitmap.h: New file.
30596         * lib/unictype/block_test.c: New file.
30597         * lib/unictype/blocks.c: New file.
30598         * lib/unictype/categ_C.c: New file.
30599         * lib/unictype/categ_Cc.c: New file.
30600         * lib/unictype/categ_Cf.c: New file.
30601         * lib/unictype/categ_Cn.c: New file.
30602         * lib/unictype/categ_Co.c: New file.
30603         * lib/unictype/categ_Cs.c: New file.
30604         * lib/unictype/categ_L.c: New file.
30605         * lib/unictype/categ_Ll.c: New file.
30606         * lib/unictype/categ_Lm.c: New file.
30607         * lib/unictype/categ_Lo.c: New file.
30608         * lib/unictype/categ_Lt.c: New file.
30609         * lib/unictype/categ_Lu.c: New file.
30610         * lib/unictype/categ_M.c: New file.
30611         * lib/unictype/categ_Mc.c: New file.
30612         * lib/unictype/categ_Me.c: New file.
30613         * lib/unictype/categ_Mn.c: New file.
30614         * lib/unictype/categ_N.c: New file.
30615         * lib/unictype/categ_Nd.c: New file.
30616         * lib/unictype/categ_Nl.c: New file.
30617         * lib/unictype/categ_No.c: New file.
30618         * lib/unictype/categ_P.c: New file.
30619         * lib/unictype/categ_Pc.c: New file.
30620         * lib/unictype/categ_Pd.c: New file.
30621         * lib/unictype/categ_Pe.c: New file.
30622         * lib/unictype/categ_Pf.c: New file.
30623         * lib/unictype/categ_Pi.c: New file.
30624         * lib/unictype/categ_Po.c: New file.
30625         * lib/unictype/categ_Ps.c: New file.
30626         * lib/unictype/categ_S.c: New file.
30627         * lib/unictype/categ_Sc.c: New file.
30628         * lib/unictype/categ_Sk.c: New file.
30629         * lib/unictype/categ_Sm.c: New file.
30630         * lib/unictype/categ_So.c: New file.
30631         * lib/unictype/categ_Z.c: New file.
30632         * lib/unictype/categ_Zl.c: New file.
30633         * lib/unictype/categ_Zp.c: New file.
30634         * lib/unictype/categ_Zs.c: New file.
30635         * lib/unictype/categ_and.c: New file.
30636         * lib/unictype/categ_and_not.c: New file.
30637         * lib/unictype/categ_byname.c: New file.
30638         * lib/unictype/categ_name.c: New file.
30639         * lib/unictype/categ_none.c: New file.
30640         * lib/unictype/categ_of.c: New file.
30641         * lib/unictype/categ_or.c: New file.
30642         * lib/unictype/categ_test.c: New file.
30643         * lib/unictype/combining.c: New file.
30644         * lib/unictype/ctype_alnum.c: New file.
30645         * lib/unictype/ctype_alpha.c: New file.
30646         * lib/unictype/ctype_blank.c: New file.
30647         * lib/unictype/ctype_cntrl.c: New file.
30648         * lib/unictype/ctype_digit.c: New file.
30649         * lib/unictype/ctype_graph.c: New file.
30650         * lib/unictype/ctype_lower.c: New file.
30651         * lib/unictype/ctype_print.c: New file.
30652         * lib/unictype/ctype_punct.c: New file.
30653         * lib/unictype/ctype_space.c: New file.
30654         * lib/unictype/ctype_upper.c: New file.
30655         * lib/unictype/ctype_xdigit.c: New file.
30656         * lib/unictype/decdigit.c: New file.
30657         * lib/unictype/digit.c: New file.
30658         * lib/unictype/identsyntaxmap.h: New file.
30659         * lib/unictype/mirror.c: New file.
30660         * lib/unictype/numeric.c: New file.
30661         * lib/unictype/pr_alphabetic.c: New file.
30662         * lib/unictype/pr_ascii_hex_digit.c: New file.
30663         * lib/unictype/pr_bidi_arabic_digit.c: New file.
30664         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
30665         * lib/unictype/pr_bidi_block_separator.c: New file.
30666         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
30667         * lib/unictype/pr_bidi_common_separator.c: New file.
30668         * lib/unictype/pr_bidi_control.c: New file.
30669         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
30670         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
30671         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
30672         * lib/unictype/pr_bidi_european_digit.c: New file.
30673         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
30674         * lib/unictype/pr_bidi_left_to_right.c: New file.
30675         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
30676         * lib/unictype/pr_bidi_other_neutral.c: New file.
30677         * lib/unictype/pr_bidi_pdf.c: New file.
30678         * lib/unictype/pr_bidi_segment_separator.c: New file.
30679         * lib/unictype/pr_bidi_whitespace.c: New file.
30680         * lib/unictype/pr_byname.c: New file.
30681         * lib/unictype/pr_byname.gperf: New file.
30682         * lib/unictype/pr_combining.c: New file.
30683         * lib/unictype/pr_composite.c: New file.
30684         * lib/unictype/pr_currency_symbol.c: New file.
30685         * lib/unictype/pr_dash.c: New file.
30686         * lib/unictype/pr_decimal_digit.c: New file.
30687         * lib/unictype/pr_default_ignorable_code_point.c: New file.
30688         * lib/unictype/pr_deprecated.c: New file.
30689         * lib/unictype/pr_diacritic.c: New file.
30690         * lib/unictype/pr_extender.c: New file.
30691         * lib/unictype/pr_format_control.c: New file.
30692         * lib/unictype/pr_grapheme_base.c: New file.
30693         * lib/unictype/pr_grapheme_extend.c: New file.
30694         * lib/unictype/pr_grapheme_link.c: New file.
30695         * lib/unictype/pr_hex_digit.c: New file.
30696         * lib/unictype/pr_hyphen.c: New file.
30697         * lib/unictype/pr_id_continue.c: New file.
30698         * lib/unictype/pr_id_start.c: New file.
30699         * lib/unictype/pr_ideographic.c: New file.
30700         * lib/unictype/pr_ids_binary_operator.c: New file.
30701         * lib/unictype/pr_ids_trinary_operator.c: New file.
30702         * lib/unictype/pr_ignorable_control.c: New file.
30703         * lib/unictype/pr_iso_control.c: New file.
30704         * lib/unictype/pr_join_control.c: New file.
30705         * lib/unictype/pr_left_of_pair.c: New file.
30706         * lib/unictype/pr_line_separator.c: New file.
30707         * lib/unictype/pr_logical_order_exception.c: New file.
30708         * lib/unictype/pr_lowercase.c: New file.
30709         * lib/unictype/pr_math.c: New file.
30710         * lib/unictype/pr_non_break.c: New file.
30711         * lib/unictype/pr_not_a_character.c: New file.
30712         * lib/unictype/pr_numeric.c: New file.
30713         * lib/unictype/pr_other_alphabetic.c: New file.
30714         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
30715         * lib/unictype/pr_other_grapheme_extend.c: New file.
30716         * lib/unictype/pr_other_id_continue.c: New file.
30717         * lib/unictype/pr_other_id_start.c: New file.
30718         * lib/unictype/pr_other_lowercase.c: New file.
30719         * lib/unictype/pr_other_math.c: New file.
30720         * lib/unictype/pr_other_uppercase.c: New file.
30721         * lib/unictype/pr_paired_punctuation.c: New file.
30722         * lib/unictype/pr_paragraph_separator.c: New file.
30723         * lib/unictype/pr_pattern_syntax.c: New file.
30724         * lib/unictype/pr_pattern_white_space.c: New file.
30725         * lib/unictype/pr_private_use.c: New file.
30726         * lib/unictype/pr_punctuation.c: New file.
30727         * lib/unictype/pr_quotation_mark.c: New file.
30728         * lib/unictype/pr_radical.c: New file.
30729         * lib/unictype/pr_sentence_terminal.c: New file.
30730         * lib/unictype/pr_soft_dotted.c: New file.
30731         * lib/unictype/pr_space.c: New file.
30732         * lib/unictype/pr_terminal_punctuation.c: New file.
30733         * lib/unictype/pr_test.c: New file.
30734         * lib/unictype/pr_titlecase.c: New file.
30735         * lib/unictype/pr_unassigned_code_value.c: New file.
30736         * lib/unictype/pr_unified_ideograph.c: New file.
30737         * lib/unictype/pr_uppercase.c: New file.
30738         * lib/unictype/pr_variation_selector.c: New file.
30739         * lib/unictype/pr_white_space.c: New file.
30740         * lib/unictype/pr_xid_continue.c: New file.
30741         * lib/unictype/pr_xid_start.c: New file.
30742         * lib/unictype/pr_zero_width.c: New file.
30743         * lib/unictype/scripts.c: New file.
30744         * lib/unictype/sy_c_ident.c: New file.
30745         * lib/unictype/sy_c_whitespace.c: New file.
30746         * lib/unictype/sy_java_ident.c: New file.
30747         * lib/unictype/sy_java_whitespace.c: New file.
30748
30749         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
30750         Unicode 5.0.0.
30751         * lib/unictype/blocks.h: Likewise.
30752         * lib/unictype/categ_C.h: Likewise.
30753         * lib/unictype/categ_Cc.h: Likewise.
30754         * lib/unictype/categ_Cf.h: Likewise.
30755         * lib/unictype/categ_Cn.h: Likewise.
30756         * lib/unictype/categ_Co.h: Likewise.
30757         * lib/unictype/categ_Cs.h: Likewise.
30758         * lib/unictype/categ_L.h: Likewise.
30759         * lib/unictype/categ_Ll.h: Likewise.
30760         * lib/unictype/categ_Lm.h: Likewise.
30761         * lib/unictype/categ_Lo.h: Likewise.
30762         * lib/unictype/categ_Lt.h: Likewise.
30763         * lib/unictype/categ_Lu.h: Likewise.
30764         * lib/unictype/categ_M.h: Likewise.
30765         * lib/unictype/categ_Mc.h: Likewise.
30766         * lib/unictype/categ_Me.h: Likewise.
30767         * lib/unictype/categ_Mn.h: Likewise.
30768         * lib/unictype/categ_N.h: Likewise.
30769         * lib/unictype/categ_Nd.h: Likewise.
30770         * lib/unictype/categ_Nl.h: Likewise.
30771         * lib/unictype/categ_No.h: Likewise.
30772         * lib/unictype/categ_P.h: Likewise.
30773         * lib/unictype/categ_Pc.h: Likewise.
30774         * lib/unictype/categ_Pd.h: Likewise.
30775         * lib/unictype/categ_Pe.h: Likewise.
30776         * lib/unictype/categ_Pf.h: Likewise.
30777         * lib/unictype/categ_Pi.h: Likewise.
30778         * lib/unictype/categ_Po.h: Likewise.
30779         * lib/unictype/categ_Ps.h: Likewise.
30780         * lib/unictype/categ_S.h: Likewise.
30781         * lib/unictype/categ_Sc.h: Likewise.
30782         * lib/unictype/categ_Sk.h: Likewise.
30783         * lib/unictype/categ_Sm.h: Likewise.
30784         * lib/unictype/categ_So.h: Likewise.
30785         * lib/unictype/categ_Z.h: Likewise.
30786         * lib/unictype/categ_Zl.h: Likewise.
30787         * lib/unictype/categ_Zp.h: Likewise.
30788         * lib/unictype/categ_Zs.h: Likewise.
30789         * lib/unictype/categ_of.h: Likewise.
30790         * lib/unictype/combining.h: Likewise.
30791         * lib/unictype/ctype_alnum.h: Likewise.
30792         * lib/unictype/ctype_alpha.h: Likewise.
30793         * lib/unictype/ctype_blank.h: Likewise.
30794         * lib/unictype/ctype_cntrl.h: Likewise.
30795         * lib/unictype/ctype_digit.h: Likewise.
30796         * lib/unictype/ctype_graph.h: Likewise.
30797         * lib/unictype/ctype_lower.h: Likewise.
30798         * lib/unictype/ctype_print.h: Likewise.
30799         * lib/unictype/ctype_punct.h: Likewise.
30800         * lib/unictype/ctype_space.h: Likewise.
30801         * lib/unictype/ctype_upper.h: Likewise.
30802         * lib/unictype/ctype_xdigit.h: Likewise.
30803         * lib/unictype/decdigit.h: Likewise.
30804         * lib/unictype/digit.h: Likewise.
30805         * lib/unictype/mirror.h: Likewise.
30806         * lib/unictype/numeric.h: Likewise.
30807         * lib/unictype/pr_alphabetic.h: Likewise.
30808         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
30809         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
30810         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
30811         * lib/unictype/pr_bidi_block_separator.h: Likewise.
30812         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
30813         * lib/unictype/pr_bidi_common_separator.h: Likewise.
30814         * lib/unictype/pr_bidi_control.h: Likewise.
30815         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
30816         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
30817         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
30818         * lib/unictype/pr_bidi_european_digit.h: Likewise.
30819         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
30820         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
30821         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
30822         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
30823         * lib/unictype/pr_bidi_pdf.h: Likewise.
30824         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
30825         * lib/unictype/pr_bidi_whitespace.h: Likewise.
30826         * lib/unictype/pr_combining.h: Likewise.
30827         * lib/unictype/pr_composite.h: Likewise.
30828         * lib/unictype/pr_currency_symbol.h: Likewise.
30829         * lib/unictype/pr_dash.h: Likewise.
30830         * lib/unictype/pr_decimal_digit.h: Likewise.
30831         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
30832         * lib/unictype/pr_deprecated.h: Likewise.
30833         * lib/unictype/pr_diacritic.h: Likewise.
30834         * lib/unictype/pr_extender.h: Likewise.
30835         * lib/unictype/pr_format_control.h: Likewise.
30836         * lib/unictype/pr_grapheme_base.h: Likewise.
30837         * lib/unictype/pr_grapheme_extend.h: Likewise.
30838         * lib/unictype/pr_grapheme_link.h: Likewise.
30839         * lib/unictype/pr_hex_digit.h: Likewise.
30840         * lib/unictype/pr_hyphen.h: Likewise.
30841         * lib/unictype/pr_id_continue.h: Likewise.
30842         * lib/unictype/pr_id_start.h: Likewise.
30843         * lib/unictype/pr_ideographic.h: Likewise.
30844         * lib/unictype/pr_ids_binary_operator.h: Likewise.
30845         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
30846         * lib/unictype/pr_ignorable_control.h: Likewise.
30847         * lib/unictype/pr_iso_control.h: Likewise.
30848         * lib/unictype/pr_join_control.h: Likewise.
30849         * lib/unictype/pr_left_of_pair.h: Likewise.
30850         * lib/unictype/pr_line_separator.h: Likewise.
30851         * lib/unictype/pr_logical_order_exception.h: Likewise.
30852         * lib/unictype/pr_lowercase.h: Likewise.
30853         * lib/unictype/pr_math.h: Likewise.
30854         * lib/unictype/pr_non_break.h: Likewise.
30855         * lib/unictype/pr_not_a_character.h: Likewise.
30856         * lib/unictype/pr_numeric.h: Likewise.
30857         * lib/unictype/pr_other_alphabetic.h: Likewise.
30858         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
30859         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
30860         * lib/unictype/pr_other_id_continue.h: Likewise.
30861         * lib/unictype/pr_other_id_start.h: Likewise.
30862         * lib/unictype/pr_other_lowercase.h: Likewise.
30863         * lib/unictype/pr_other_math.h: Likewise.
30864         * lib/unictype/pr_other_uppercase.h: Likewise.
30865         * lib/unictype/pr_paired_punctuation.h: Likewise.
30866         * lib/unictype/pr_paragraph_separator.h: Likewise.
30867         * lib/unictype/pr_pattern_syntax.h: Likewise.
30868         * lib/unictype/pr_pattern_white_space.h: Likewise.
30869         * lib/unictype/pr_private_use.h: Likewise.
30870         * lib/unictype/pr_punctuation.h: Likewise.
30871         * lib/unictype/pr_quotation_mark.h: Likewise.
30872         * lib/unictype/pr_radical.h: Likewise.
30873         * lib/unictype/pr_sentence_terminal.h: Likewise.
30874         * lib/unictype/pr_soft_dotted.h: Likewise.
30875         * lib/unictype/pr_space.h: Likewise.
30876         * lib/unictype/pr_terminal_punctuation.h: Likewise.
30877         * lib/unictype/pr_titlecase.h: Likewise.
30878         * lib/unictype/pr_unassigned_code_value.h: Likewise.
30879         * lib/unictype/pr_unified_ideograph.h: Likewise.
30880         * lib/unictype/pr_uppercase.h: Likewise.
30881         * lib/unictype/pr_variation_selector.h: Likewise.
30882         * lib/unictype/pr_white_space.h: Likewise.
30883         * lib/unictype/pr_xid_continue.h: Likewise.
30884         * lib/unictype/pr_xid_start.h: Likewise.
30885         * lib/unictype/pr_zero_width.h: Likewise.
30886         * lib/unictype/scripts.h: Likewise.
30887         * lib/unictype/scripts_byname.gperf: Likewise.
30888         * lib/unictype/sy_c_ident.h: Likewise.
30889         * lib/unictype/sy_c_whitespace.h: Likewise.
30890         * lib/unictype/sy_java_ident.h: Likewise.
30891         * lib/unictype/sy_java_whitespace.h: Likewise.
30892
30893         * lib/unictype/Makefile: New file.
30894         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
30895         glibc.
30896         * lib/unictype/3level.h: New file, copied from glibc.
30897         * lib/unictype/3levelbit.h: New file.
30898
30899 2007-11-11  Bruno Haible  <bruno@clisp.org>
30900
30901         * modules/gperf: New file.
30902         * modules/iconv_open (Depends-on): Add it.
30903         (Makefile.am): Remove the GPERF definition.
30904
30905 2007-11-11  Bruno Haible  <bruno@clisp.org>
30906
30907         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
30908         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
30909
30910 2007-11-11  Bruno Haible  <bruno@clisp.org>
30911
30912         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
30913         (usage): Remove function.
30914
30915 2007-11-11  Bruno Haible  <bruno@clisp.org>
30916
30917         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
30918         gl_FUNC_CEILF_LIBS.
30919         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
30920         gl_FUNC_CEIL_LIBS.
30921         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
30922         gl_FUNC_CEILL_LIBS.
30923         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
30924         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
30925         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
30926
30927 2007-11-11  Bruno Haible  <bruno@clisp.org>
30928
30929         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
30930         roundf were declared but do not exist on functions.
30931         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
30932         roundl were declared but do not exist on functions.
30933         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
30934         HAVE_FLOORL_AND_CEILL, respectively.
30935         Needed for Sun C on Solaris 10.
30936
30937 2007-11-11  Bruno Haible  <bruno@clisp.org>
30938
30939         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
30940         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
30941         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
30942         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
30943         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
30944         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
30945         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
30946         HAVE_DECL_ROUNDF.
30947         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
30948         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
30949         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
30950         of HAVE_DECL_ROUND*.
30951         * modules/math (Makefile.am): Update.
30952
30953 2007-11-10  Bruno Haible  <bruno@clisp.org>
30954
30955         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
30956         ptrdiff_t as m4/intl.m4.
30957
30958 2007-11-10  Jim Meyering  <meyering@redhat.com>
30959
30960         Avoid link failure for the argmatch test.
30961         * tests/test-argmatch.c (usage): Define function to avoid a link
30962         failure: argmatch_die requires a usage function.
30963
30964 2007-11-09  Bruno Haible  <bruno@clisp.org>
30965
30966         * doc/functions/snprintf.texi: Mention BeOS deficiency.
30967         * doc/functions/vsnprintf.texi: Likewise.
30968         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
30969         with a size argument < 2.
30970
30971 2007-11-09  Bruno Haible  <bruno@clisp.org>
30972
30973         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
30974         buffer. Fixes an inefficiency introduced on 2007-11-03.
30975
30976 2007-11-09  Bruno Haible  <bruno@clisp.org>
30977
30978         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
30979         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
30980
30981 2007-11-08  Jim Meyering  <meyering@redhat.com>
30982
30983         Change cache variable name prefix "jm_" to "gl_" everywhere.
30984         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
30985         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
30986         * m4/uptime.m4: s/gl_/jm_/
30987
30988 2007-11-07  Bruno Haible  <bruno@clisp.org>
30989
30990         Update to GNU gettext 0.17.
30991         * m4/intl.m4: Update to GNU gettext 0.17.
30992         * m4/po.m4: Likewise.
30993         * modules/gettext (Files): Remove m4/ulonglong.m4.
30994         (configure.ac): Require gettext infrastructure from version 0.17.
30995
30996 2007-11-06  Bruno Haible  <bruno@clisp.org>
30997
30998         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
30999         symbolic values are not defined in a public header.
31000         * lib/freadable.c (freadable) [QNX]: Likewise.
31001         * lib/freadahead.c (freadahead) [QNX]: Likewise.
31002         * lib/freading.c (freading) [QNX]: Likewise.
31003         * lib/fseterr.c (fseterr) [QNX]: Likewise.
31004         * lib/fwritable.c (fwritable) [QNX]: Likewise.
31005         * lib/fwriting.c (fwriting) [QNX]: Likewise.
31006         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
31007         Reported by Alain Magloire.
31008
31009         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
31010
31011 2007-11-05  Bruno Haible  <bruno@clisp.org>
31012
31013         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
31014         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
31015         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
31016         Reported by Eric Blake.
31017
31018 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31019             Bruno Haible  <bruno@clisp.org>
31020
31021         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
31022         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
31023         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
31024         (malloc): Undefine also before including <stdlib.h>.
31025         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
31026         Needed on OSF/1 4.0.
31027
31028 2007-11-05  Jim Meyering  <meyering@redhat.com>
31029
31030         git-version-gen: sync from coreutils.
31031         * build-aux/git-version-gen: Add comments.
31032         Change the first '-' to '.' in the snapshot version string,
31033         e.g., 6.9-377-08144 -> 6.9.377-08144
31034         Remove first parameter.
31035         Don't declare a version "-dirty" merely because a time
31036         stamp has changed.
31037
31038 2007-11-04  Bruno Haible  <bruno@clisp.org>
31039
31040         * lib/lock.h: Protect all macro definitions containing an 'if'
31041         statement through a "do { ... } while (0)".
31042         * lib/tls.h: Likewise.
31043
31044 2007-11-04  Bruno Haible  <bruno@clisp.org>
31045
31046         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
31047
31048 2007-11-04  Bruno Haible  <bruno@clisp.org>
31049
31050         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
31051         * modules/fprintf-posix (Depends-on): Add nocrash.
31052         * modules/snprintf-posix (Depends-on): Likewise.
31053         * modules/sprintf-posix (Depends-on): Likewise.
31054         * modules/vasnprintf-posix (Depends-on): Likewise.
31055         * modules/vasprintf-posix (Depends-on): Likewise.
31056         * modules/vfprintf-posix (Depends-on): Likewise.
31057         * modules/vsnprintf-posix (Depends-on): Likewise.
31058         * modules/vsprintf-posix (Depends-on): Likewise.
31059         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31060         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31061         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31062         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31063         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31064         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31065         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31066
31067 2007-11-04  Bruno Haible  <bruno@clisp.org>
31068
31069         * modules/nocrash: New file.
31070         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
31071         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
31072
31073 2007-11-04  Bruno Haible  <bruno@clisp.org>
31074
31075         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
31076         precision handling.
31077         * tests/test-vasprintf-posix.c (test_function): Likewise.
31078         * tests/test-snprintf-posix.h (test_function): Likewise.
31079         * tests/test-sprintf-posix.h (test_function): Likewise.
31080
31081         Fix *printf behaviour for large precisions on mingw and BeOS.
31082         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
31083         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
31084         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
31085         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31086         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31087         gl_PRINTF_PRECISION and test its result. Invoke
31088         gl_PREREQ_VASNPRINTF_PRECISION.
31089         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31090         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31091         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31092         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31093         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31094         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31095         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31096         * doc/functions/fprintf.texi: Update.
31097         * doc/functions/printf.texi: Update.
31098         * doc/functions/snprintf.texi: Update.
31099         * doc/functions/sprintf.texi: Update.
31100         * doc/functions/vfprintf.texi: Update.
31101         * doc/functions/vprintf.texi: Update.
31102         * doc/functions/vsnprintf.texi: Update.
31103         * doc/functions/vsprintf.texi: Update.
31104
31105 2007-11-04  Bruno Haible  <bruno@clisp.org>
31106
31107         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
31108
31109 2007-11-04  Bruno Haible  <bruno@clisp.org>
31110
31111         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
31112         Reported by Sylvain Beucler <beuc@gnu.org>.
31113
31114 2007-11-03  Bruno Haible  <bruno@clisp.org>
31115
31116         * tests/test-fprintf-posix2.sh: New file.
31117         * tests/test-fprintf-posix2.c: New file.
31118         * modules/fprintf-posix-tests (Files): Add them.
31119         (TESTS): Add test-fprintf-posix2.sh.
31120         (configure.ac): Check for getrlimit and setrlimit.
31121         (check_PROGRAMS): Add test-fprintf-posix2.
31122
31123         * tests/test-printf-posix2.sh: New file.
31124         * tests/test-printf-posix2.c: New file.
31125         * modules/printf-posix-tests (Files): Add them.
31126         (TESTS): Add test-printf-posix2.sh.
31127         (configure.ac): Check for getrlimit and setrlimit.
31128         (check_PROGRAMS): Add test-printf-posix2.
31129
31130         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
31131         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
31132         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
31133         (decode_double): New function, copied from decode_long_double.
31134         (scale10_round_decimal_decoded): New function, extracted from
31135         scale10_round_decimal_long_double.
31136         (scale10_round_decimal_long_double): Use it.
31137         (scale10_round_decimal_double): New function.
31138         (floorlog10): New function.
31139         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
31140         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
31141         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31142         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31143         gl_PRINTF_ENOMEM and test its result. Invoke
31144         gl_PREREQ_VASNPRINTF_ENOMEM.
31145         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31146         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31147         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31148         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31149         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31150         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31151         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31152         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
31153         * modules/snprintf-posix (Depends-on): Likewise.
31154         * modules/sprintf-posix (Depends-on): Likewise.
31155         * modules/vasnprintf-posix (Depends-on): Likewise.
31156         * modules/vasprintf-posix (Depends-on): Likewise.
31157         * modules/vfprintf-posix (Depends-on): Likewise.
31158         * modules/vsnprintf-posix (Depends-on): Likewise.
31159         * modules/vsprintf-posix (Depends-on): Likewise.
31160         * doc/functions/fprintf.texi: Update.
31161         * doc/functions/printf.texi: Update.
31162         * doc/functions/snprintf.texi: Update.
31163         * doc/functions/sprintf.texi: Update.
31164         * doc/functions/vfprintf.texi: Update.
31165         * doc/functions/vprintf.texi: Update.
31166         * doc/functions/vsnprintf.texi: Update.
31167         * doc/functions/vsprintf.texi: Update.
31168
31169 2007-11-03  Bruno Haible  <bruno@clisp.org>
31170
31171         * modules/frexp-nolibm-tests: New file.
31172
31173         * modules/frexp-nolibm: New file.
31174         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
31175
31176 2007-11-03  Bruno Haible  <bruno@clisp.org>
31177
31178         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
31179         value is C99 compliant.
31180         Needed for OSF/1 5.1.
31181
31182 2007-11-03  Bruno Haible  <bruno@clisp.org>
31183
31184         Fix out-of-memory handling of vasnprintf.
31185         * lib/printf-parse.c: Include <errno.h>.
31186         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
31187         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
31188         is already set.
31189
31190 2007-11-02  Eric Blake  <ebb9@byu.net>
31191
31192         Fix tests on cygwin.
31193         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
31194
31195 2007-11-01  Bruno Haible  <bruno@clisp.org>
31196
31197         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
31198         warning.
31199         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
31200         needed for POSIX compatibility.
31201
31202 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
31203
31204         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
31205         for compatibility with GNU.
31206
31207 2007-11-01  Bruno Haible  <bruno@clisp.org>
31208
31209         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
31210         (putenv): Renamed from rpl_putenv. Change argument type from
31211         'const char *' to 'char *'.
31212         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
31213         of defining putenv in config.h, just set REPLACE_PUTENV.
31214         * modules/putenv (Depends-on): Add stdlib.
31215         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
31216         (Include): Use <stdlib.h>.
31217         * lib/stdlib.in.h (putenv): New declaration.
31218         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
31219         REPLACE_PUTENV.
31220         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
31221         REPLACE_PUTENV.
31222         Needed for MacOS X 10.5.0.
31223         Reported by Peter O'Gorman <peter@pogma.com>.
31224
31225 2007-11-01  Jim Meyering  <meyering@redhat.com>
31226
31227         Treat an empty date string exactly like "0".
31228         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
31229         if the remaining date string (to be parsed) is empty, use "0".
31230         Reported by Mischa Molhoek and discussed in this thread:
31231         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
31232
31233 2007-10-31  Bruno Haible  <bruno@clisp.org>
31234
31235         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
31236         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
31237         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
31238         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
31239         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
31240         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
31241
31242 2007-10-31  Bruno Haible  <bruno@clisp.org>
31243
31244         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
31245         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
31246         (AC_TYPE_LONG_LONG_INT): Use it.
31247         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
31248         it as well.
31249         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
31250         to m4/longlong.m4.
31251         * modules/stdint (Files): Remove m4/ulonglong.m4.
31252         * modules/strtoull (Files): Use m4/longlong.m4 instead of
31253         m4/ulonglong.m4.
31254         * modules/strtoumax (Files): Likewise.
31255
31256 2007-10-30  Bruno Haible  <bruno@clisp.org>
31257
31258         * modules/xvasprintf-posix: New file.
31259         Suggested by Eric Blake.
31260
31261 2007-10-30  Bruno Haible  <bruno@clisp.org>
31262
31263         * modules/xprintf-posix-tests: New file.
31264         * tests/test-xprintf-posix.sh: New file.
31265         * tests/test-xprintf-posix.c: New file.
31266         * tests/test-xfprintf-posix.c: New file.
31267
31268         * modules/xprintf-posix: New file.
31269
31270 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31271
31272         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
31273         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
31274         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
31275
31276 2007-10-29  Bruno Haible  <bruno@clisp.org>
31277
31278         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
31279         contain the special marker '_cv_'.
31280         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31281         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31282         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31283         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
31284         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31285         Reported by Ralf Wildenhues.
31286
31287 2007-10-29  Bruno Haible  <bruno@clisp.org>
31288
31289         * gnulib-tool (func_import): When --lgpl is not specified, set
31290         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
31291         GPLv3.
31292         Reported by Simon Josefsson.
31293
31294 2007-10-28  Bruno Haible  <bruno@clisp.org>
31295
31296         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
31297         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
31298         HAVE_DECL_ISFINITE.
31299         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
31300         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
31301         HAVE_DECL_ISFINITE.
31302
31303 2007-10-28  Bruno Haible  <bruno@clisp.org>
31304
31305         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
31306         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
31307
31308 2007-10-28  Bruno Haible  <bruno@clisp.org>
31309
31310         Fix link errors with Sun C 5.0 on Solaris 10.
31311         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
31312         function is declared but not present in the compiler's libm.
31313         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31314         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
31315         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
31316         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
31317         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
31318         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
31319         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
31320         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
31321         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
31322         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
31323         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
31324         HAVE_DECL_FLOORL.
31325
31326 2007-10-28  Bruno Haible  <bruno@clisp.org>
31327
31328         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
31329         gl_FUNC_FLOORL. Cache the result.
31330         (gl_FUNC_FLOORL): Use it.
31331         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
31332         gl_FUNC_CEILL. Cache the result.
31333         (gl_FUNC_CEILL): Use it.
31334
31335         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
31336         gl_FUNC_FLOOR. Cache the result.
31337         (gl_FUNC_FLOOR): Use it.
31338         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
31339         gl_FUNC_CEIL. Cache the result.
31340         (gl_FUNC_CEIL): Use it.
31341
31342         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
31343         gl_FUNC_FLOORF. Cache the result.
31344         (gl_FUNC_FLOORF): Use it.
31345         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
31346         gl_FUNC_CEILF. Cache the result.
31347         (gl_FUNC_CEILF): Use it.
31348
31349 2007-10-28  Bruno Haible  <bruno@clisp.org>
31350
31351         * gnulib-tool: Allow specifying the LGPL version number through
31352         --lgpl=2 or --lgpl=3.
31353         (func_usage): Document --lgpl with argument.
31354         Handle --lgpl=... arguments.
31355         (func_import): Recognize also gl_LGPL calls with an argument. When
31356         --lgpl=2 is used and the module's license is just LGPL, report an
31357         error. Set sed_transform_lib_file according to the lgpl variable. In
31358         the generated files, use --lgpl or gl_LGPL invocations with argument,
31359         if necessary.
31360         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
31361         an LGPv2+ license.
31362         * doc/gnulib-tool.texi (Modified imports): Update explanation of
31363         gl_LGPL macro.
31364
31365 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31366             Bruno Haible  <bruno@clisp.org>
31367
31368         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
31369         (u16_uctomb_aux): Likewise.
31370         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
31371         !HAVE_INLINE.
31372         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
31373
31374 2007-10-28  Bruno Haible  <bruno@clisp.org>
31375
31376         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
31377         Invoke AM_GETTEXT_OPTION if it exists.
31378         * modules/vasprintf: Likewise.
31379         * modules/verror: Likewise.
31380         * modules/xprintf: Likewise.
31381         * modules/xvasprintf: Likewise.
31382
31383 2007-10-27  Ben Pfaff  <blp@gnu.org>
31384
31385         * lib/math.in.h: Define isfinite macro and prototypes for
31386         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
31387         implementations.
31388         * m4/math_h.m4: New substitutions for isfinite module.
31389         * lib/isfinite.c: New file.
31390         * m4/isfinite.m4: New file.
31391         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
31392         * modules/isfinite: New file.
31393         * modules/isfinite-tests: New file.
31394         * tests/tests-isfinite.c: New file.
31395         * doc/functions/isfinite.texi: Mention isfinite module.
31396         * MODULES.html.sh: Mention new module.
31397
31398 2007-10-27  Ben Pfaff  <blp@gnu.org>
31399
31400         Ralf Wildenhues reported that Tru64 4.0D declares the round
31401         functions but does not have definitions.
31402         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
31403         cannot be found in any library, set the output variable to
31404         "missing" instead of "".
31405         * m4/round.m4: Also use our substitute if we cannot find round in
31406         any library, even if it is declared.
31407         * m4/roundf.m4: Likewise for roundf.
31408         * m4/roundl.m4: Likewise for roundl.
31409         * lib/math.in.h: Undefine roundf, round, roundl before defining
31410         their replacements, to allow for hypothetical systems where these
31411         may be defined as macros but not available in libraries.
31412
31413 2007-10-27  Bruno Haible  <bruno@clisp.org>
31414
31415         * doc/gnulib.texi: Invoke @firstparagraphindent.
31416         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
31417         changes in gnulib.
31418         (Source changes): New section.
31419
31420 2007-10-26  Bruno Haible  <bruno@clisp.org>
31421
31422         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
31423         borrowed from autoconf.
31424
31425 2007-10-26  Bruno Haible  <bruno@clisp.org>
31426
31427         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
31428         strerror returned the empty string. Needed on HP-UX 11.00.
31429
31430 2007-10-24  Micah Cowan  <micah@cowan.name>
31431
31432         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
31433         * build-aux/bootstrap: Remove support for now-unnecessary option,
31434         --cvs-user, and envvars CVS_USER, CVS_RSH.
31435
31436 2007-10-24  Jim Meyering  <meyering@redhat.com>
31437
31438         Avoid diagnostics from sha1sum when there is no cached checksum.
31439         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
31440         if the po.s1 file hasn't been created yet.
31441
31442         * build-aux/bootstrap: Sync from coreutils:
31443         2007-10-24  Jim Meyering  <meyering@redhat.com>
31444         Get gnulib from the git repository, not from an obsolete cvs one.
31445         * build-aux/bootstrap: Suggestion from Micah Cowan.
31446         2007-10-04  Jim Meyering  <jim@meyering.net>
31447         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
31448         (update_po_files): Work also when there are no .po files in po/.
31449
31450 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
31451
31452         * README: Append ".git" to git and cg examples.
31453         Problem reported by Benoit Sigoure.
31454
31455 2007-10-23  Micah Cowan  <micah@cowan.name>
31456
31457         * users.txt: Add wget.
31458
31459 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31460
31461         Fix linking of some unistdio tests on FreeBSD.
31462         * modules/unistdio/u16-vsnprintf-tests
31463         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
31464         * modules/unistdio/u16-vsprintf-tests
31465         (test_u16_vsnprintf1_LDADD): Likewise.
31466         * modules/unistdio/u32-vsnprintf-tests
31467         (test_u32_vsnprintf1_LDADD): Likewise.
31468         * modules/unistdio/u32-vsprintf-tests
31469         (test_u32_vsprintf1_LDADD): Likewise.
31470         * modules/unistdio/u8-vsnprintf-tests
31471         (test_u8_vsnprintf1_LDADD): Likewise.
31472         * modules/unistdio/u8-vsprintf-tests
31473         (test_u8_vsprintf1_LDADD): Likewise.
31474         * modules/unistdio/ulc-vsnprintf-tests
31475         (test_ulc_vsnprintf1_LDADD): Likewise.
31476         * modules/unistdio/ulc-vsprintf-tests
31477         (test_ulc_vsprintf1_LDADD): Likewise.
31478
31479         Fix linking of some uniconv tests on FreeBSD.
31480         * modules/uniconv/u16-conv-from-enc-tests
31481         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
31482         * modules/uniconv/u16-conv-to-enc-tests
31483         (test_u16_conv_to_enc_LDADD): Likewise.
31484         * modules/uniconv/u16-strconv-from-enc-tests
31485         (test_u16_strconv_from_enc_LDADD): Likewise.
31486         * modules/uniconv/u16-strconv-to-enc-tests
31487         (test_u16_strconv_to_enc_LDADD): Likewise.
31488         * modules/uniconv/u32-conv-from-enc-tests
31489         (test_u32_conv_from_enc_LDADD): Likewise.
31490         * modules/uniconv/u32-conv-to-enc-tests
31491         (test_u32_conv_to_enc_LDADD): Likewise.
31492         * modules/uniconv/u32-strconv-from-enc-tests
31493         (test_u32_strconv_from_enc_LDADD): Likewise.
31494         * modules/uniconv/u32-strconv-to-enc-tests
31495         (test_u32_strconv_to_enc_LDADD): Likewise.
31496         * modules/uniconv/u8-conv-from-enc-tests
31497         (test_u8_conv_from_enc_LDADD): Likewise.
31498         * modules/uniconv/u8-conv-to-enc-tests
31499         (test_u8_conv_to_enc_LDADD): Likewise.
31500         * modules/uniconv/u8-strconv-from-enc-tests
31501         (test_u8_strconv_from_enc_LDADD): Likewise.
31502         * modules/uniconv/u8-strconv-to-enc-tests
31503         (test_u8_strconv_to_enc_LDADD): Likewise.
31504
31505 2007-10-22  Bruno Haible  <bruno@clisp.org>
31506
31507         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
31508         size.
31509
31510 2007-10-22  Eric Blake  <ebb9@byu.net>
31511
31512         Tweak x*printf documentation.
31513         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
31514         variable name and comments.
31515         Suggested by Bruno Haible.
31516
31517 2007-10-22  Bruno Haible  <bruno@clisp.org>
31518
31519         * lib/acl.c (copy_acl): Fix file name in comment.
31520
31521 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
31522
31523         Fix Tru64 problem with stdbool.h.
31524         * lib/stdbool.in.h (false, true):
31525         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
31526         Don't declare as an enum in this situation; it runs afoul of Tru64.
31527         Problem reported by Steven M. Schweda in
31528         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
31529
31530 2007-10-22  Eric Blake  <ebb9@byu.net>
31531
31532         Also wrap vf?printf.
31533         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
31534         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
31535         (xvprintf, xvfprintf): New functions.
31536
31537 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31538
31539         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
31540         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
31541
31542         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
31543         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
31544
31545 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
31546
31547         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
31548         by Bruno Haible.
31549
31550 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31551
31552         * lib/getloadavg.c
31553         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
31554         Undef `sys' after including sys/table.h, for Tru64 4.0D.
31555
31556         * tests/test-i-ring.c: Work for C89.
31557
31558 2007-10-22  Bruno Haible  <bruno@clisp.org>
31559
31560         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
31561         -1u, in preprocessor expression, so that we don't test for the bug
31562         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
31563         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
31564
31565 2007-10-22  Eric Blake  <ebb9@byu.net>
31566
31567         * tests/test-yesno.sh: Silence stderr during test.
31568
31569 2007-10-22  Simon Josefsson  <simon@josefsson.org>
31570
31571         * modules/crypto/gc-camellia: New file.
31572
31573         * m4/gc-camellia.m4: New file.
31574
31575         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
31576
31577         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
31578
31579 2007-10-22  Simon Josefsson  <simon@josefsson.org>
31580
31581         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
31582         --help to stdout.  Reported by sms@antinode.org (Steven
31583         M. Schweda).
31584
31585 2007-10-22  Simon Josefsson  <simon@josefsson.org>
31586
31587         * users.txt: Fix link to libksba.
31588
31589 2007-10-21  Ben Pfaff  <blp@gnu.org>
31590
31591         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
31592         round.c roundf implementation that depends on floorf and ceilf to
31593         be tested unconditionally.
31594
31595 2007-10-21  Ben Pfaff  <blp@gnu.org>
31596
31597         * m4/check-libm-func.m4: Removed.
31598         * m4/check-math-lib.m4: New file.
31599         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
31600         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
31601         definition and lack of AC_LIBOBJ([roundf]).
31602         * m4/roundl.m4: Ditto, and similarly for roundl.
31603         * modules/round: Reference new m4 file.
31604         * modules/roundf: Ditto.
31605         * modules/roundl: Ditto.
31606         * tests/test-round2.c (main): Use ROUND instead of round.
31607         Bug report from Bruno Haible.
31608
31609 2007-10-21  Bruno Haible  <bruno@clisp.org>
31610
31611         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
31612         context.
31613
31614 2007-10-21  Bruno Haible  <bruno@clisp.org>
31615
31616         * tests/test-wcwidth.c (main): Allow negative result for some control
31617         characters.
31618
31619         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
31620         Needed on OSF/1 5.1.
31621
31622 2007-10-21  Bruno Haible  <bruno@clisp.org>
31623
31624         * tests/test-floorf1.c: Include isnanf.h.
31625         (main): Use isnanf() instead of isnan().
31626         * tests/test-ceilf1.c: Include isnanf.h.
31627         (main): Use isnanf() instead of isnan().
31628         * tests/test-truncf1.c: Include isnanf.h.
31629         (main): Use isnanf() instead of isnan().
31630         * tests/test-roundf1.c: Include isnanf.h.
31631         (main): Use isnanf() instead of isnan().
31632
31633 2007-10-21  Eric Blake  <ebb9@byu.net>
31634
31635         * users.txt: Update URL for m4.
31636
31637 2007-10-21  Bruno Haible  <bruno@clisp.org>
31638
31639         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
31640
31641 2007-10-21  Bruno Haible  <bruno@clisp.org>
31642
31643         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
31644         Git's management files if the CVS files are not present.
31645
31646 2007-10-20  Bruno Haible  <bruno@clisp.org>
31647
31648         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
31649         gcc-3.4.x.
31650
31651 2007-10-20  Ben Pfaff  <blp@gnu.org>
31652
31653         * lib/math.in.h: Declare round, roundf, roundl if we are providing
31654         implementations.
31655         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
31656         * lib/round.c: New file.
31657         * lib/roundf.c: New file.
31658         * lib/roundl.c: New file.
31659         * m4/round.m4: New file.
31660         * m4/roundf.m4: New file.
31661         * m4/roundl.m4: New file.
31662         * m4/check-libm-func-m4: New file.
31663         * modules/math: Replace round, roundf, roundl related @VARS@ in
31664         math.in.h.
31665         * modules/round: New file.
31666         * modules/round-tests: New file.
31667         * modules/roundf: New file.
31668         * modules/roundf-tests: New file.
31669         * modules/roundl: New file.
31670         * modules/roundl-tests: New file.
31671         * tests/test-round1.c: New file.
31672         * tests/test-round2.c: New file.
31673         * tests/test-roundf1.c: New file.
31674         * tests/test-roundf2.c: New file.
31675         * tests/test-roundl.c: New file.
31676         * doc/functions/round.texi: Mention round module.
31677         * doc/functions/roundf.texi: Mention roundf module.
31678         * doc/functions/roundl.texi: Mention roundl module.
31679         * MODULES.html.sh: Mention new modules.
31680         Thanks to Bruno Haible for suggestions.
31681
31682 2007-10-20  Jim Meyering  <meyering@redhat.com>
31683
31684         * lib/xprintf.c: Include <config.h> unconditionally.
31685
31686         Change xprintf's license to GPL.
31687         * modules/xprintf (License): s/LGPL/GPL/, since this module
31688         depends on modules (exit and exitfail) which are GPL.
31689         Suggestion from Bruno Haible.
31690
31691         xprintf fixes.
31692         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
31693         Use a clearer diagnostic.
31694         Patch from Bruno Haible.
31695
31696 2007-10-20  Bruno Haible  <bruno@clisp.org>
31697
31698         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
31699         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
31700         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31701
31702 2007-10-20  Bruno Haible  <bruno@clisp.org>
31703
31704         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
31705         precision in the comparison result > x - 1 or similar.
31706         * tests/test-ceilf2.c (correct_result_p): Likewise.
31707         * tests/test-truncf2.c (correct_result_p): Likewise.
31708         * tests/test-trunc2.c (correct_result_p): Likewise.
31709         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31710
31711 2007-10-20  Bruno Haible  <bruno@clisp.org>
31712
31713         * modules/ceil: New file.
31714         * m4/ceil.m4: New file.
31715         * doc/functions/ceil.texi: Mention the 'ceil' module.
31716
31717 2007-10-20  Bruno Haible  <bruno@clisp.org>
31718
31719         * modules/floor: New file.
31720         * m4/floor.m4: New file.
31721         * doc/functions/floor.texi: Mention the 'floor' module.
31722
31723 2007-10-20  Bruno Haible  <bruno@clisp.org>
31724
31725         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
31726         of %a.
31727         * modules/floorf-tests (Depends-on): Likewise.
31728         * modules/truncf-tests (Depends-on): Likewise.
31729         * modules/trunc-tests (Depends-on): Likewise.
31730         Reported by Ben Pfaff.
31731
31732 2007-10-19  Jim Meyering  <meyering@redhat.com>
31733
31734         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
31735         Don't bother testing specific errno values.  Just test ferror.
31736
31737         New module: xprintf
31738         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
31739
31740 2007-10-19  Bruno Haible  <bruno@clisp.org>
31741
31742         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
31743         syntax.
31744         * modules/javaexec (Makefile.am): Likewise.
31745         * modules/relocatable-prog (Makefile.am): Likewise.
31746         Suggested by Jim Meyering.
31747
31748 2007-10-18  Bruno Haible  <bruno@clisp.org>
31749
31750         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
31751         Reported by Jim Meyering.
31752
31753 2007-10-18  Eric Blake  <ebb9@byu.net>
31754
31755         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
31756
31757 2007-10-18  Bruno Haible  <bruno@clisp.org>
31758
31759         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
31760         the format string into writable memory. Needed in Fortify conditions.
31761
31762 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
31763             Bruno Haible  <bruno@clisp.org>
31764
31765         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
31766         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
31767         * modules/trim (Depends-on): Add mbchar.
31768         (configure.ac): Add gl_FUNC_MBRTOWC.
31769         (Makefile.am): Augment lib_SOURCES.
31770
31771 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
31772
31773         Modify glob.c to use fstatat and dirfd, to simplify it.
31774         Suggested by Eric Blake.
31775         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
31776         Don't include <stdbool.h>; not used.
31777         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
31778         (link_exists_p): Simplify implementation, since we can now assume
31779         dirfd and fstatat.
31780         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
31781
31782 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31783
31784         * gnulib-tool (func_get_dependencies): Fix sed script to
31785         match only tests.
31786
31787 2007-10-17  Bruno Haible  <bruno@clisp.org>
31788
31789         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
31790         allow locale names without encoding suffix.
31791         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31792         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31793
31794 2007-10-16  Bruno Haible  <bruno@clisp.org>
31795
31796         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
31797         * lib/getgroups.c (getgroups): Likewise.
31798         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
31799
31800 2007-10-16  Bruno Haible  <bruno@clisp.org>
31801
31802         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
31803         * modules/malloc-posix (License): Likewise.
31804         * modules/realloc-posix (License): Likewise.
31805         * modules/calloc-posix (License): Likewise.
31806         * modules/intprops (License): Change from GPL to LGPL, with
31807         Paul Eggert's approval.
31808
31809 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31810
31811         Merge glibc changes into lib/glob.c.
31812
31813         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
31814         2007-10-15 04:59:03 UTC.  Here are the changes:
31815
31816         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
31817
31818         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
31819
31820         * lib/glob.c: Add some branch prediction throughout.
31821
31822         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
31823
31824         [BZ #5103]
31825         * lib/glob.c (glob): Recognize patterns starting \/.
31826
31827         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
31828
31829         [BZ #3996]
31830         * lib/glob.c (attribute_hidden): Define if not defined.
31831         (glob): Unescape dirname, filename or username when needed and not
31832         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
31833         is NULL.  Handle unescaped [ in pattern without closing ].
31834         Don't pass GLOB_CHECK down to recursive glob for directories.
31835         (__glob_pattern_type): New function.
31836         (__glob_pattern_p): Implement using __glob_pattern_type.
31837         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
31838         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
31839         Remove unreachable code.
31840
31841         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
31842
31843         * lib/glob.c (glob_in_dir): Add some comments and asserts to
31844         explain why there are no leaks.
31845
31846         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
31847
31848         [BZ #3253]
31849         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
31850         time, rather allocate increasingly bigger arrays of pointers, if
31851         possible with alloca, if too large with malloc.
31852
31853 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31854
31855         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
31856         Problem reported by H.Merijn Brand in
31857         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
31858         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
31859         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
31860
31861 2007-10-15  Bruno Haible  <bruno@clisp.org>
31862
31863         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
31864         with explicit rpl_ prefix.
31865         * lib/fopen.c (fopen): Likewise.
31866         * lib/freopen.c (freopen): Likewise.
31867         * lib/iconv.c (iconv): Likewise.
31868         * lib/iconv_close.c (iconv_close): Likewise.
31869
31870 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31871
31872         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
31873
31874 2007-10-15  Bruno Haible  <bruno@clisp.org>
31875
31876         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
31877         <stddef.h> instead of <stdlib.h> since we only need NULL.
31878         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31879
31880 2007-10-15  Bruno Haible  <bruno@clisp.org>
31881
31882         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
31883         Replace paragraph talking about LIBOBJS.
31884         Reported by Colin Watson <cjwatson@debian.org>.
31885
31886 2007-10-15  Bruno Haible  <bruno@clisp.org>
31887
31888         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
31889         <stdlib.h> before using NULL.
31890
31891 2007-10-15  Simon Josefsson  <simon@josefsson.org>
31892
31893         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
31894         Reported by Albert Chin <china@thewrittenword.com>.
31895
31896 2007-10-14  Bruno Haible  <bruno@clisp.org>
31897
31898         * modules/iconv_open-utf-tests: New file.
31899         * tests/test-iconv-utf.c: New file.
31900
31901         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
31902         * modules/iconv_open-utf: New file.
31903         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
31904         (iconv, iconv_close): New declarations.
31905         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
31906         be defined.
31907         (iconv_open): Add special handling of conversion between UTF-8 and
31908         UTF-{16,32}{BE,LE}.
31909         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
31910         * lib/iconv_close.c: New file.
31911         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
31912         gl_FUNC_ICONV_OPEN.
31913         (gl_FUNC_ICONV_OPEN): Use it.
31914         (gl_FUNC_ICONV_OPEN_UTF): New macro.
31915         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
31916         and REPLACE_ICONV_UTF.
31917         * modules/iconv_open (Depends-on): Add c-strcase.
31918         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
31919         ICONV_CONST.
31920         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
31921
31922 2007-10-13  Albert Chin  <china@thewrittenword.com>
31923             Bruno Haible  <bruno@clisp.org>
31924
31925         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
31926         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
31927
31928 2007-10-13  Bruno Haible  <bruno@clisp.org>
31929
31930         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
31931         defined, use the ISO C99 inline semantics.
31932         * lib/argp.h (ARGP_EI): Likewise.
31933
31934 2007-10-13  Bruno Haible  <bruno@clisp.org>
31935
31936         Handle 'inline' change in gcc 4.3.0.
31937         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
31938         argp_fmtstream_write, argp_fmtstream_set_lmargin,
31939         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
31940         argp_fmtstream_point): Disable 'extern' declaration if the function
31941         definition is going to be provided inline.
31942         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
31943         semantics, not the ISO C99 inline semantics.
31944         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
31945         'extern' declaration if the function definition is going to be provided
31946         inline.
31947         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
31948         the GNU C inline semantics, not the ISO C99 inline semantics. With
31949         GCC 4.2, avoid a warning.
31950
31951 2007-10-13  Bruno Haible  <bruno@clisp.org>
31952
31953         * lib/freading.h (freading): Enable the use of __freading for
31954         glibc >= 2.7.
31955         * lib/freading.c (freading): Likewise.
31956
31957 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
31958
31959         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
31960         "warning: C99 inline functions are not supported; using GNU89".
31961
31962 2007-10-12  Bruno Haible  <bruno@clisp.org>
31963
31964         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
31965         of 2.
31966         * tests/test-ceilf2.c: New file.
31967         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
31968
31969         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
31970         * modules/ceilf-tests: Update.
31971
31972 2007-10-12  Bruno Haible  <bruno@clisp.org>
31973
31974         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
31975         of 2.
31976         * tests/test-floorf2.c: New file.
31977         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
31978
31979         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
31980         * modules/floorf-tests: Update.
31981
31982 2007-10-12  Bruno Haible  <bruno@clisp.org>
31983
31984         * tests/test-trunc2.c: New file.
31985         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
31986
31987         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
31988         * modules/trunc-tests: Update.
31989
31990 2007-10-12  Bruno Haible  <bruno@clisp.org>
31991
31992         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
31993         of 2.
31994         * tests/test-truncf2.c: New file.
31995         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
31996
31997         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
31998         * modules/truncf-tests: Update.
31999
32000 2007-10-11  Eric Blake  <ebb9@byu.net>
32001
32002         Don't claim strerror is broken on Interix.
32003         * doc/functions/strerror.texi (strerror): Known broken systems are
32004         now Solaris 8, and not Interix.
32005         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
32006         Interix on cross-compile.
32007         Reported by Martin Koeppe in
32008         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
32009
32010 2007-10-11  Bruno Haible  <bruno@clisp.org>
32011
32012         * modules/i-ring-tests: New file.
32013         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
32014         instead of assert.
32015
32016 2007-10-11  Bruno Haible  <bruno@clisp.org>
32017
32018         * modules/filenamecat-tests: New file.
32019         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
32020         * lib/filenamecat.c: Remove test code.
32021
32022 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
32023
32024         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
32025
32026         * lib/strerror.c: Include <string.h> always, to test interface,
32027         and to remove the need for the dummy.
32028         Include intprops.h to compute width instead of doing it ourselves
32029         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
32030         (strerror): Define it to return NULL if there's no system strerror.
32031         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
32032         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
32033         ancient pre-strerror Unix systems well any more.  Saying "unknown
32034         system error" is enough.
32035         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
32036         simpler strerror.c implementation.
32037         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
32038         Simplify the tests to reflect the simpler strerror implementation.
32039         * modules/strerror (Depends-on): Add intprops.
32040
32041 2007-10-09  Eric Blake  <ebb9@byu.net>
32042
32043         Silence test-fpending.
32044         * modules/fpending-tests (Files): Add wrapper script.
32045         * tests/test-fpending.sh: New file.
32046
32047 2007-10-09  Bruno Haible  <bruno@clisp.org>
32048
32049         * MODULES.html.sh (func_module): Don't create a hyperlink for
32050         function names like 'printf_frexp'.
32051         (Misc): Add crc, memxor.
32052         (Characteristics of floating types): New section.
32053         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
32054         isnanf-nolibm, signbit, trunc, truncf, truncl.
32055         (Enhancements for ISO C 99 functions): New subsection Input/output.
32056         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
32057         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
32058         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
32059         (Compatibility checks for POSIX:2001 functions): Add clock-time.
32060         (Enhancements for POSIX:2001 functions): Add chdir-long.
32061         (File system functions): Add areadlink, chdir-safer, read-file.
32062         Remove cycle-check.
32063         (File system as inode set): New section.
32064         (Date and time): Add gethrxtime.
32065         (Multithreading): Add openmp.
32066         (Internationalization functions): Add localename.
32067         (Unicode string functions): Add unistr/u*-mbsnlen.
32068         (Support for maintaining and releasing projects): Add git-version-gen.
32069         (Lone files): Remove directories.
32070
32071 2007-10-08  Ben Pfaff  <blp@gnu.org>
32072
32073         * lib/xmalloca.h: Fix typo in comment.
32074
32075 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
32076
32077         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
32078         when avoiding problems with integer overflow.  Use a portable test
32079         instead.
32080
32081 2007-10-08  Simon Josefsson  <simon@josefsson.org>
32082
32083         * modules/dummy (License): Change to LGPLv2+.
32084         * modules/float (License): Likewise
32085         * modules/realloc (License): Likewise
32086         * modules/stdlib (License): Likewise
32087
32088 2007-10-07  Bruno Haible  <bruno@clisp.org>
32089
32090         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
32091         * floor.c (TWO_MANT_DIG): Likewise.
32092         * ceil.c (TWO_MANT_DIG): Likewise.
32093         Reported by Ben Pfaff.
32094
32095 2007-10-07  Bruno Haible  <bruno@clisp.org>
32096
32097         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
32098         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
32099         * lib/frexp.c (FUNC): Likewise.
32100         * lib/printf-frexp.h (printf_frexp): Likewise.
32101         * lib/printf-frexpl.h (printf_frexpl): Likewise.
32102         * lib/printf-frexp.c (FUNC): Likewise.
32103         Suggested by Jim Meyering.
32104
32105 2007-10-07  Jim Meyering  <meyering@redhat.com>
32106
32107         Make xnanosleep's integer overflow test more robust.
32108         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
32109         so that gcc-4.3.0 doesn't optimize away this test for overflow.
32110
32111 2007-10-07  Bruno Haible  <bruno@clisp.org>
32112
32113         * NEWS: Mention the license change.
32114
32115         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
32116         abbreviations in the modules files.
32117
32118         Change copyright notice from GPLv2+ to GPLv3+.
32119         * README: Change copyright notice.
32120         * MODULES.html.sh: Likewise.
32121         * build-aux/bootstrap.conf: Likewise.
32122         * build-aux/config.libpath: Likewise.
32123         * build-aux/csharpcomp.sh.in: Likewise.
32124         * build-aux/csharpexec.sh.in: Likewise.
32125         * build-aux/install-reloc: Likewise.
32126         * build-aux/javacomp.sh.in: Likewise.
32127         * build-aux/javaexec.sh.in: Likewise.
32128         * build-aux/ldd.sh.in: Likewise.
32129         * build-aux/reloc-ldflags: Likewise.
32130         * build-aux/relocatable.sh.in: Likewise.
32131         * build-aux/x-to-1.in: Likewise.
32132         * check-module: Likewise.
32133         * config/srclistvars.sh: Likewise.
32134         * gnulib-tool: Likewise.
32135         * lib/acl-internal.h: Likewise.
32136         * lib/acl.c: Likewise.
32137         * lib/acl.h: Likewise.
32138         * lib/acl_entries.c: Likewise.
32139         * lib/areadlink-with-size.c: Likewise.
32140         * lib/areadlink.c: Likewise.
32141         * lib/areadlink.h: Likewise.
32142         * lib/argmatch.c: Likewise.
32143         * lib/argmatch.h: Likewise.
32144         * lib/argp-ba.c: Likewise.
32145         * lib/argp-eexst.c: Likewise.
32146         * lib/argp-fmtstream.c: Likewise.
32147         * lib/argp-fmtstream.h: Likewise.
32148         * lib/argp-fs-xinl.c: Likewise.
32149         * lib/argp-help.c: Likewise.
32150         * lib/argp-namefrob.h: Likewise.
32151         * lib/argp-parse.c: Likewise.
32152         * lib/argp-pin.c: Likewise.
32153         * lib/argp-pv.c: Likewise.
32154         * lib/argp-pvh.c: Likewise.
32155         * lib/argp-xinl.c: Likewise.
32156         * lib/argp.h: Likewise.
32157         * lib/at-func.c: Likewise.
32158         * lib/atanl.c: Likewise.
32159         * lib/backupfile.c: Likewise.
32160         * lib/backupfile.h: Likewise.
32161         * lib/basename.c: Likewise.
32162         * lib/binary-io.h: Likewise.
32163         * lib/byteswap.in.h: Likewise.
32164         * lib/c-stack.c: Likewise.
32165         * lib/c-stack.h: Likewise.
32166         * lib/c-strcasestr.c: Likewise.
32167         * lib/c-strcasestr.h: Likewise.
32168         * lib/c-strstr.c: Likewise.
32169         * lib/c-strstr.h: Likewise.
32170         * lib/c-strtod.c: Likewise.
32171         * lib/calloc.c: Likewise.
32172         * lib/canon-host.c: Likewise.
32173         * lib/canon-host.h: Likewise.
32174         * lib/canonicalize-lgpl.c: Likewise.
32175         * lib/canonicalize.c: Likewise.
32176         * lib/canonicalize.h: Likewise.
32177         * lib/ceil.c: Likewise.
32178         * lib/ceilf.c: Likewise.
32179         * lib/ceill.c: Likewise.
32180         * lib/chdir-long.c: Likewise.
32181         * lib/chdir-long.h: Likewise.
32182         * lib/chdir-safer.c: Likewise.
32183         * lib/chdir-safer.h: Likewise.
32184         * lib/chown.c: Likewise.
32185         * lib/classpath.c: Likewise.
32186         * lib/classpath.h: Likewise.
32187         * lib/clean-temp.c: Likewise.
32188         * lib/clean-temp.h: Likewise.
32189         * lib/cloexec.c: Likewise.
32190         * lib/close-stream.c: Likewise.
32191         * lib/closein.c: Likewise.
32192         * lib/closein.h: Likewise.
32193         * lib/closeout.c: Likewise.
32194         * lib/closeout.h: Likewise.
32195         * lib/concat-filename.c: Likewise.
32196         * lib/copy-file.c: Likewise.
32197         * lib/copy-file.h: Likewise.
32198         * lib/count-one-bits.h: Likewise.
32199         * lib/crc.c: Likewise.
32200         * lib/crc.h: Likewise.
32201         * lib/creat-safer.c: Likewise.
32202         * lib/csharpcomp.c: Likewise.
32203         * lib/csharpcomp.h: Likewise.
32204         * lib/csharpexec.c: Likewise.
32205         * lib/csharpexec.h: Likewise.
32206         * lib/cycle-check.c: Likewise.
32207         * lib/cycle-check.h: Likewise.
32208         * lib/diacrit.c: Likewise.
32209         * lib/diacrit.h: Likewise.
32210         * lib/diffseq.h: Likewise.
32211         * lib/dirchownmod.c: Likewise.
32212         * lib/dirent.in.h: Likewise.
32213         * lib/dirfd.c: Likewise.
32214         * lib/dirfd.h: Likewise.
32215         * lib/dirname.c: Likewise.
32216         * lib/dirname.h: Likewise.
32217         * lib/dummy.c: Likewise.
32218         * lib/dup-safer.c: Likewise.
32219         * lib/dup2.c: Likewise.
32220         * lib/eealloc.h: Likewise.
32221         * lib/error.c: Likewise.
32222         * lib/error.h: Likewise.
32223         * lib/euidaccess.c: Likewise.
32224         * lib/exclude.c: Likewise.
32225         * lib/exclude.h: Likewise.
32226         * lib/execute.c: Likewise.
32227         * lib/execute.h: Likewise.
32228         * lib/exitfail.c: Likewise.
32229         * lib/exitfail.h: Likewise.
32230         * lib/expl.c: Likewise.
32231         * lib/fatal-signal.c: Likewise.
32232         * lib/fatal-signal.h: Likewise.
32233         * lib/fbufmode.c: Likewise.
32234         * lib/fbufmode.h: Likewise.
32235         * lib/fchdir.c: Likewise.
32236         * lib/fchmodat.c: Likewise.
32237         * lib/fchownat.c: Likewise.
32238         * lib/fcntl--.h: Likewise.
32239         * lib/fcntl-safer.h: Likewise.
32240         * lib/fcntl.in.h: Likewise.
32241         * lib/fd-safer.c: Likewise.
32242         * lib/fflush.c: Likewise.
32243         * lib/file-has-acl.c: Likewise.
32244         * lib/file-set.c: Likewise.
32245         * lib/file-type.c: Likewise.
32246         * lib/file-type.h: Likewise.
32247         * lib/fileblocks.c: Likewise.
32248         * lib/filemode.c: Likewise.
32249         * lib/filemode.h: Likewise.
32250         * lib/filename.h: Likewise.
32251         * lib/filenamecat.c: Likewise.
32252         * lib/filenamecat.h: Likewise.
32253         * lib/findprog.c: Likewise.
32254         * lib/findprog.h: Likewise.
32255         * lib/float.in.h: Likewise.
32256         * lib/floor.c: Likewise.
32257         * lib/floorf.c: Likewise.
32258         * lib/floorl.c: Likewise.
32259         * lib/fopen-safer.c: Likewise.
32260         * lib/fopen.c: Likewise.
32261         * lib/fpending.c: Likewise.
32262         * lib/fpending.h: Likewise.
32263         * lib/fprintf.c: Likewise.
32264         * lib/fprintftime.h: Likewise.
32265         * lib/fpucw.h: Likewise.
32266         * lib/fpurge.c: Likewise.
32267         * lib/fpurge.h: Likewise.
32268         * lib/freadable.c: Likewise.
32269         * lib/freadable.h: Likewise.
32270         * lib/freadahead.c: Likewise.
32271         * lib/freadahead.h: Likewise.
32272         * lib/freading.c: Likewise.
32273         * lib/freading.h: Likewise.
32274         * lib/free.c: Likewise.
32275         * lib/freopen.c: Likewise.
32276         * lib/frexp.c: Likewise.
32277         * lib/frexpl.c: Likewise.
32278         * lib/fseek.c: Likewise.
32279         * lib/fseterr.c: Likewise.
32280         * lib/fseterr.h: Likewise.
32281         * lib/fstatat.c: Likewise.
32282         * lib/fstrcmp.c: Likewise.
32283         * lib/fstrcmp.h: Likewise.
32284         * lib/fsusage.c: Likewise.
32285         * lib/fsusage.h: Likewise.
32286         * lib/ftell.c: Likewise.
32287         * lib/ftello.c: Likewise.
32288         * lib/fts-cycle.c: Likewise.
32289         * lib/fts.c: Likewise.
32290         * lib/fts_.h: Likewise.
32291         * lib/full-read.c: Likewise.
32292         * lib/full-read.h: Likewise.
32293         * lib/full-write.c: Likewise.
32294         * lib/full-write.h: Likewise.
32295         * lib/fwritable.c: Likewise.
32296         * lib/fwritable.h: Likewise.
32297         * lib/fwriteerror.c: Likewise.
32298         * lib/fwriteerror.h: Likewise.
32299         * lib/fwriting.c: Likewise.
32300         * lib/fwriting.h: Likewise.
32301         * lib/gcd.c: Likewise.
32302         * lib/gcd.h: Likewise.
32303         * lib/getcwd.c: Likewise.
32304         * lib/getdate.h: Likewise.
32305         * lib/getdate.y: Likewise.
32306         * lib/getdomainname.c: Likewise.
32307         * lib/getdomainname.h: Likewise.
32308         * lib/getgroups.c: Likewise.
32309         * lib/gethostname.c: Likewise.
32310         * lib/gethrxtime.c: Likewise.
32311         * lib/gethrxtime.h: Likewise.
32312         * lib/getloadavg.c: Likewise.
32313         * lib/getndelim2.c: Likewise.
32314         * lib/getndelim2.h: Likewise.
32315         * lib/getnline.c: Likewise.
32316         * lib/getnline.h: Likewise.
32317         * lib/getopt.c: Likewise.
32318         * lib/getopt.in.h: Likewise.
32319         * lib/getopt1.c: Likewise.
32320         * lib/getopt_int.h: Likewise.
32321         * lib/getpagesize.h: Likewise.
32322         * lib/getsubopt.c: Likewise.
32323         * lib/gettime.c: Likewise.
32324         * lib/getugroups.c: Likewise.
32325         * lib/getugroups.h: Likewise.
32326         * lib/getusershell.c: Likewise.
32327         * lib/gl_anyavltree_list1.h: Likewise.
32328         * lib/gl_anyavltree_list2.h: Likewise.
32329         * lib/gl_anyhash_list1.h: Likewise.
32330         * lib/gl_anyhash_list2.h: Likewise.
32331         * lib/gl_anylinked_list1.h: Likewise.
32332         * lib/gl_anylinked_list2.h: Likewise.
32333         * lib/gl_anyrbtree_list1.h: Likewise.
32334         * lib/gl_anyrbtree_list2.h: Likewise.
32335         * lib/gl_anytree_list1.h: Likewise.
32336         * lib/gl_anytree_list2.h: Likewise.
32337         * lib/gl_anytree_oset.h: Likewise.
32338         * lib/gl_anytreehash_list1.h: Likewise.
32339         * lib/gl_anytreehash_list2.h: Likewise.
32340         * lib/gl_array_list.c: Likewise.
32341         * lib/gl_array_list.h: Likewise.
32342         * lib/gl_array_oset.c: Likewise.
32343         * lib/gl_array_oset.h: Likewise.
32344         * lib/gl_avltree_list.c: Likewise.
32345         * lib/gl_avltree_list.h: Likewise.
32346         * lib/gl_avltree_oset.c: Likewise.
32347         * lib/gl_avltree_oset.h: Likewise.
32348         * lib/gl_avltreehash_list.c: Likewise.
32349         * lib/gl_avltreehash_list.h: Likewise.
32350         * lib/gl_carray_list.c: Likewise.
32351         * lib/gl_carray_list.h: Likewise.
32352         * lib/gl_linked_list.c: Likewise.
32353         * lib/gl_linked_list.h: Likewise.
32354         * lib/gl_linkedhash_list.c: Likewise.
32355         * lib/gl_linkedhash_list.h: Likewise.
32356         * lib/gl_list.c: Likewise.
32357         * lib/gl_list.h: Likewise.
32358         * lib/gl_oset.c: Likewise.
32359         * lib/gl_oset.h: Likewise.
32360         * lib/gl_rbtree_list.c: Likewise.
32361         * lib/gl_rbtree_list.h: Likewise.
32362         * lib/gl_rbtree_oset.c: Likewise.
32363         * lib/gl_rbtree_oset.h: Likewise.
32364         * lib/gl_rbtreehash_list.c: Likewise.
32365         * lib/gl_rbtreehash_list.h: Likewise.
32366         * lib/gl_sublist.c: Likewise.
32367         * lib/gl_sublist.h: Likewise.
32368         * lib/group-member.c: Likewise.
32369         * lib/group-member.h: Likewise.
32370         * lib/hard-locale.c: Likewise.
32371         * lib/hard-locale.h: Likewise.
32372         * lib/hash-pjw.c: Likewise.
32373         * lib/hash-pjw.h: Likewise.
32374         * lib/hash-triple.c: Likewise.
32375         * lib/hash.c: Likewise.
32376         * lib/hash.h: Likewise.
32377         * lib/human.c: Likewise.
32378         * lib/human.h: Likewise.
32379         * lib/i-ring.c: Likewise.
32380         * lib/i-ring.h: Likewise.
32381         * lib/idcache.c: Likewise.
32382         * lib/imaxabs.c: Likewise.
32383         * lib/imaxdiv.c: Likewise.
32384         * lib/inet_pton.c: Likewise.
32385         * lib/inet_pton.h: Likewise.
32386         * lib/intprops.h: Likewise.
32387         * lib/inttostr.c: Likewise.
32388         * lib/inttostr.h: Likewise.
32389         * lib/inttypes.in.h: Likewise.
32390         * lib/isapipe.c: Likewise.
32391         * lib/isdir.c: Likewise.
32392         * lib/isnan.c: Likewise.
32393         * lib/isnan.h: Likewise.
32394         * lib/isnanf.c: Likewise.
32395         * lib/isnanf.h: Likewise.
32396         * lib/isnanl-nolibm.h: Likewise.
32397         * lib/isnanl.c: Likewise.
32398         * lib/isnanl.h: Likewise.
32399         * lib/javacomp.c: Likewise.
32400         * lib/javacomp.h: Likewise.
32401         * lib/javaexec.c: Likewise.
32402         * lib/javaexec.h: Likewise.
32403         * lib/javaversion.c: Likewise.
32404         * lib/javaversion.h: Likewise.
32405         * lib/javaversion.java: Likewise.
32406         * lib/lbrkprop.h: Likewise.
32407         * lib/lchmod.h: Likewise.
32408         * lib/lchown.c: Likewise.
32409         * lib/ldexpl.c: Likewise.
32410         * lib/linebreak.c: Likewise.
32411         * lib/linebreak.h: Likewise.
32412         * lib/linebuffer.c: Likewise.
32413         * lib/linebuffer.h: Likewise.
32414         * lib/locale.in.h: Likewise.
32415         * lib/logl.c: Likewise.
32416         * lib/long-options.c: Likewise.
32417         * lib/long-options.h: Likewise.
32418         * lib/lstat.c: Likewise.
32419         * lib/lstat.h: Likewise.
32420         * lib/math.in.h: Likewise.
32421         * lib/mbchar.c: Likewise.
32422         * lib/mbchar.h: Likewise.
32423         * lib/mbfile.h: Likewise.
32424         * lib/mbiter.h: Likewise.
32425         * lib/mbscasecmp.c: Likewise.
32426         * lib/mbscasestr.c: Likewise.
32427         * lib/mbschr.c: Likewise.
32428         * lib/mbscspn.c: Likewise.
32429         * lib/mbslen.c: Likewise.
32430         * lib/mbsncasecmp.c: Likewise.
32431         * lib/mbsnlen.c: Likewise.
32432         * lib/mbspbrk.c: Likewise.
32433         * lib/mbspcasecmp.c: Likewise.
32434         * lib/mbsrchr.c: Likewise.
32435         * lib/mbssep.c: Likewise.
32436         * lib/mbsspn.c: Likewise.
32437         * lib/mbsstr.c: Likewise.
32438         * lib/mbstok_r.c: Likewise.
32439         * lib/mbswidth.c: Likewise.
32440         * lib/mbswidth.h: Likewise.
32441         * lib/mbuiter.h: Likewise.
32442         * lib/memcasecmp.c: Likewise.
32443         * lib/memcasecmp.h: Likewise.
32444         * lib/memchr.c: Likewise.
32445         * lib/memcmp.c: Likewise.
32446         * lib/memcoll.c: Likewise.
32447         * lib/memcoll.h: Likewise.
32448         * lib/memcpy.c: Likewise.
32449         * lib/memrchr.c: Likewise.
32450         * lib/mkancesdirs.c: Likewise.
32451         * lib/mkdir-p.c: Likewise.
32452         * lib/mkdir-p.h: Likewise.
32453         * lib/mkdir.c: Likewise.
32454         * lib/mkdirat.c: Likewise.
32455         * lib/mkdtemp.c: Likewise.
32456         * lib/mkstemp-safer.c: Likewise.
32457         * lib/mkstemp.c: Likewise.
32458         * lib/modechange.c: Likewise.
32459         * lib/modechange.h: Likewise.
32460         * lib/mountlist.c: Likewise.
32461         * lib/mountlist.h: Likewise.
32462         * lib/mpsort.c: Likewise.
32463         * lib/nanosleep.c: Likewise.
32464         * lib/obstack.c: Likewise.
32465         * lib/obstack.h: Likewise.
32466         * lib/open-safer.c: Likewise.
32467         * lib/open.c: Likewise.
32468         * lib/openat-die.c: Likewise.
32469         * lib/openat-priv.h: Likewise.
32470         * lib/openat-proc.c: Likewise.
32471         * lib/openat.c: Likewise.
32472         * lib/openat.h: Likewise.
32473         * lib/pagealign_alloc.c: Likewise.
32474         * lib/pagealign_alloc.h: Likewise.
32475         * lib/physmem.c: Likewise.
32476         * lib/physmem.h: Likewise.
32477         * lib/pipe-safer.c: Likewise.
32478         * lib/pipe.c: Likewise.
32479         * lib/pipe.h: Likewise.
32480         * lib/posixtm.c: Likewise.
32481         * lib/posixtm.h: Likewise.
32482         * lib/posixver.c: Likewise.
32483         * lib/printf-frexp.c: Likewise.
32484         * lib/printf-frexp.h: Likewise.
32485         * lib/printf-frexpl.c: Likewise.
32486         * lib/printf-frexpl.h: Likewise.
32487         * lib/printf.c: Likewise.
32488         * lib/progname.c: Likewise.
32489         * lib/progname.h: Likewise.
32490         * lib/progreloc.c: Likewise.
32491         * lib/putenv.c: Likewise.
32492         * lib/quote.c: Likewise.
32493         * lib/quote.h: Likewise.
32494         * lib/quotearg.c: Likewise.
32495         * lib/quotearg.h: Likewise.
32496         * lib/raise.c: Likewise.
32497         * lib/readline.c: Likewise.
32498         * lib/readline.h: Likewise.
32499         * lib/readlink.c: Likewise.
32500         * lib/readtokens.c: Likewise.
32501         * lib/readtokens.h: Likewise.
32502         * lib/readtokens0.c: Likewise.
32503         * lib/readtokens0.h: Likewise.
32504         * lib/readutmp.c: Likewise.
32505         * lib/readutmp.h: Likewise.
32506         * lib/realloc.c: Likewise.
32507         * lib/relocwrapper.c: Likewise.
32508         * lib/rename-dest-slash.c: Likewise.
32509         * lib/rename.c: Likewise.
32510         * lib/rmdir.c: Likewise.
32511         * lib/rpmatch.c: Likewise.
32512         * lib/safe-read.c: Likewise.
32513         * lib/safe-read.h: Likewise.
32514         * lib/safe-write.c: Likewise.
32515         * lib/safe-write.h: Likewise.
32516         * lib/same-inode.h: Likewise.
32517         * lib/same.c: Likewise.
32518         * lib/same.h: Likewise.
32519         * lib/save-cwd.c: Likewise.
32520         * lib/save-cwd.h: Likewise.
32521         * lib/savedir.c: Likewise.
32522         * lib/savedir.h: Likewise.
32523         * lib/savewd.c: Likewise.
32524         * lib/savewd.h: Likewise.
32525         * lib/search.in.h: Likewise.
32526         * lib/setenv.c: Likewise.
32527         * lib/setenv.h: Likewise.
32528         * lib/settime.c: Likewise.
32529         * lib/sh-quote.c: Likewise.
32530         * lib/sh-quote.h: Likewise.
32531         * lib/sig2str.c: Likewise.
32532         * lib/sig2str.h: Likewise.
32533         * lib/signal.in.h: Likewise.
32534         * lib/signbitd.c: Likewise.
32535         * lib/signbitf.c: Likewise.
32536         * lib/signbitl.c: Likewise.
32537         * lib/sigprocmask.c: Likewise.
32538         * lib/sincosl.c: Likewise.
32539         * lib/sleep.c: Likewise.
32540         * lib/sprintf.c: Likewise.
32541         * lib/sqrtl.c: Likewise.
32542         * lib/stat-time.h: Likewise.
32543         * lib/stdio--.h: Likewise.
32544         * lib/stdio-safer.h: Likewise.
32545         * lib/stdlib--.h: Likewise.
32546         * lib/stdlib-safer.h: Likewise.
32547         * lib/stdlib.in.h: Likewise.
32548         * lib/stpcpy.c: Likewise.
32549         * lib/stpncpy.c: Likewise.
32550         * lib/strchrnul.c: Likewise.
32551         * lib/strcspn.c: Likewise.
32552         * lib/strerror.c: Likewise.
32553         * lib/strftime.c: Likewise.
32554         * lib/strftime.h: Likewise.
32555         * lib/striconveh.c: Likewise.
32556         * lib/striconveh.h: Likewise.
32557         * lib/striconveha.c: Likewise.
32558         * lib/striconveha.h: Likewise.
32559         * lib/stripslash.c: Likewise.
32560         * lib/strnlen1.c: Likewise.
32561         * lib/strnlen1.h: Likewise.
32562         * lib/strtod.c: Likewise.
32563         * lib/strtoimax.c: Likewise.
32564         * lib/strtok_r.c: Likewise.
32565         * lib/strtol.c: Likewise.
32566         * lib/strtoll.c: Likewise.
32567         * lib/strtoul.c: Likewise.
32568         * lib/strtoull.c: Likewise.
32569         * lib/sysexits.in.h: Likewise.
32570         * lib/tempname.c: Likewise.
32571         * lib/tempname.h: Likewise.
32572         * lib/timespec.h: Likewise.
32573         * lib/tls.c: Likewise.
32574         * lib/tls.h: Likewise.
32575         * lib/tmpdir.c: Likewise.
32576         * lib/tmpdir.h: Likewise.
32577         * lib/tmpfile-safer.c: Likewise.
32578         * lib/tmpfile.c: Likewise.
32579         * lib/trigl.c: Likewise.
32580         * lib/trigl.h: Likewise.
32581         * lib/trim.c: Likewise.
32582         * lib/trim.h: Likewise.
32583         * lib/trunc.c: Likewise.
32584         * lib/truncf.c: Likewise.
32585         * lib/truncl.c: Likewise.
32586         * lib/tsearch.c: Likewise.
32587         * lib/unicodeio.c: Likewise.
32588         * lib/unicodeio.h: Likewise.
32589         * lib/unistd--.h: Likewise.
32590         * lib/unistd-safer.h: Likewise.
32591         * lib/unistdio/ulc-fprintf.c: Likewise.
32592         * lib/unistdio/ulc-vfprintf.c: Likewise.
32593         * lib/unlinkdir.c: Likewise.
32594         * lib/unlinkdir.h: Likewise.
32595         * lib/unlocked-io.h: Likewise.
32596         * lib/unsetenv.c: Likewise.
32597         * lib/userspec.c: Likewise.
32598         * lib/utime.c: Likewise.
32599         * lib/utimecmp.c: Likewise.
32600         * lib/utimecmp.h: Likewise.
32601         * lib/utimens.c: Likewise.
32602         * lib/verify.h: Likewise.
32603         * lib/verror.c: Likewise.
32604         * lib/verror.h: Likewise.
32605         * lib/version-etc-fsf.c: Likewise.
32606         * lib/version-etc.c: Likewise.
32607         * lib/version-etc.h: Likewise.
32608         * lib/vfprintf.c: Likewise.
32609         * lib/vprintf.c: Likewise.
32610         * lib/vsprintf.c: Likewise.
32611         * lib/w32spawn.h: Likewise.
32612         * lib/wait-process.c: Likewise.
32613         * lib/wait-process.h: Likewise.
32614         * lib/wcwidth.c: Likewise.
32615         * lib/write-any-file.c: Likewise.
32616         * lib/xalloc-die.c: Likewise.
32617         * lib/xalloc.h: Likewise.
32618         * lib/xasprintf.c: Likewise.
32619         * lib/xgetcwd.c: Likewise.
32620         * lib/xgetcwd.h: Likewise.
32621         * lib/xgetdomainname.c: Likewise.
32622         * lib/xgetdomainname.h: Likewise.
32623         * lib/xgethostname.c: Likewise.
32624         * lib/xmalloc.c: Likewise.
32625         * lib/xmalloca.c: Likewise.
32626         * lib/xmalloca.h: Likewise.
32627         * lib/xmemcoll.c: Likewise.
32628         * lib/xnanosleep.c: Likewise.
32629         * lib/xreadlink.c: Likewise.
32630         * lib/xreadlink.h: Likewise.
32631         * lib/xsetenv.c: Likewise.
32632         * lib/xsetenv.h: Likewise.
32633         * lib/xstriconv.c: Likewise.
32634         * lib/xstriconv.h: Likewise.
32635         * lib/xstrndup.c: Likewise.
32636         * lib/xstrndup.h: Likewise.
32637         * lib/xstrtod.c: Likewise.
32638         * lib/xstrtod.h: Likewise.
32639         * lib/xstrtol-error.c: Likewise.
32640         * lib/xstrtol.c: Likewise.
32641         * lib/xstrtol.h: Likewise.
32642         * lib/xtime.h: Likewise.
32643         * lib/xvasprintf.c: Likewise.
32644         * lib/xvasprintf.h: Likewise.
32645         * lib/yesno.c: Likewise.
32646         * lib/yesno.h: Likewise.
32647         * posix-modules: Likewise.
32648         * tests/test-alloca-opt.c: Likewise.
32649         * tests/test-arcfour.c: Likewise.
32650         * tests/test-arctwo.c: Likewise.
32651         * tests/test-argmatch.c: Likewise.
32652         * tests/test-argp-2.sh: Likewise.
32653         * tests/test-argp.c: Likewise.
32654         * tests/test-arpa_inet.c: Likewise.
32655         * tests/test-array_list.c: Likewise.
32656         * tests/test-array_oset.c: Likewise.
32657         * tests/test-atexit.c: Likewise.
32658         * tests/test-avltree_list.c: Likewise.
32659         * tests/test-avltree_oset.c: Likewise.
32660         * tests/test-avltreehash_list.c: Likewise.
32661         * tests/test-base64.c: Likewise.
32662         * tests/test-binary-io.c: Likewise.
32663         * tests/test-byteswap.c: Likewise.
32664         * tests/test-c-ctype.c: Likewise.
32665         * tests/test-c-strcasecmp.c: Likewise.
32666         * tests/test-c-strcasestr.c: Likewise.
32667         * tests/test-c-strncasecmp.c: Likewise.
32668         * tests/test-c-strstr.c: Likewise.
32669         * tests/test-canonicalize-lgpl.c: Likewise.
32670         * tests/test-canonicalize.c: Likewise.
32671         * tests/test-carray_list.c: Likewise.
32672         * tests/test-ceilf.c: Likewise.
32673         * tests/test-ceill.c: Likewise.
32674         * tests/test-count-one-bits.c: Likewise.
32675         * tests/test-crc.c: Likewise.
32676         * tests/test-dirname.c: Likewise.
32677         * tests/test-fbufmode.c: Likewise.
32678         * tests/test-fcntl.c: Likewise.
32679         * tests/test-fflush.c: Likewise.
32680         * tests/test-floorf.c: Likewise.
32681         * tests/test-floorl.c: Likewise.
32682         * tests/test-fopen.c: Likewise.
32683         * tests/test-fprintf-posix.c: Likewise.
32684         * tests/test-fprintf-posix.h: Likewise.
32685         * tests/test-fpurge.c: Likewise.
32686         * tests/test-freadable.c: Likewise.
32687         * tests/test-freadahead.c: Likewise.
32688         * tests/test-freading.c: Likewise.
32689         * tests/test-freopen.c: Likewise.
32690         * tests/test-frexp.c: Likewise.
32691         * tests/test-frexpl.c: Likewise.
32692         * tests/test-fseek.c: Likewise.
32693         * tests/test-fseeko.c: Likewise.
32694         * tests/test-fseterr.c: Likewise.
32695         * tests/test-fstrcmp.c: Likewise.
32696         * tests/test-ftell.c: Likewise.
32697         * tests/test-ftello.c: Likewise.
32698         * tests/test-fwritable.c: Likewise.
32699         * tests/test-fwriting.c: Likewise.
32700         * tests/test-getaddrinfo.c: Likewise.
32701         * tests/test-getpass.c: Likewise.
32702         * tests/test-gettimeofday.c: Likewise.
32703         * tests/test-hmac-md5.c: Likewise.
32704         * tests/test-hmac-sha1.c: Likewise.
32705         * tests/test-iconv.c: Likewise.
32706         * tests/test-iconvme.c: Likewise.
32707         * tests/test-inttypes.c: Likewise.
32708         * tests/test-isnan.c: Likewise.
32709         * tests/test-isnanf.c: Likewise.
32710         * tests/test-isnanl-nolibm.c: Likewise.
32711         * tests/test-isnanl.c: Likewise.
32712         * tests/test-isnanl.h: Likewise.
32713         * tests/test-ldexpl.c: Likewise.
32714         * tests/test-linked_list.c: Likewise.
32715         * tests/test-linkedhash_list.c: Likewise.
32716         * tests/test-locale.c: Likewise.
32717         * tests/test-localename.c: Likewise.
32718         * tests/test-lock.c: Likewise.
32719         * tests/test-lseek.c: Likewise.
32720         * tests/test-malloca.c: Likewise.
32721         * tests/test-math.c: Likewise.
32722         * tests/test-mbscasecmp.c: Likewise.
32723         * tests/test-mbscasestr1.c: Likewise.
32724         * tests/test-mbscasestr2.c: Likewise.
32725         * tests/test-mbscasestr3.c: Likewise.
32726         * tests/test-mbscasestr4.c: Likewise.
32727         * tests/test-mbschr.c: Likewise.
32728         * tests/test-mbscspn.c: Likewise.
32729         * tests/test-mbsncasecmp.c: Likewise.
32730         * tests/test-mbspbrk.c: Likewise.
32731         * tests/test-mbspcasecmp.c: Likewise.
32732         * tests/test-mbsrchr.c: Likewise.
32733         * tests/test-mbsspn.c: Likewise.
32734         * tests/test-mbsstr1.c: Likewise.
32735         * tests/test-mbsstr2.c: Likewise.
32736         * tests/test-mbsstr3.c: Likewise.
32737         * tests/test-md5.c: Likewise.
32738         * tests/test-memmem.c: Likewise.
32739         * tests/test-netinet_in.c: Likewise.
32740         * tests/test-open.c: Likewise.
32741         * tests/test-printf-frexp.c: Likewise.
32742         * tests/test-printf-frexpl.c: Likewise.
32743         * tests/test-printf-posix.c: Likewise.
32744         * tests/test-printf-posix.h: Likewise.
32745         * tests/test-rbtree_list.c: Likewise.
32746         * tests/test-rbtree_oset.c: Likewise.
32747         * tests/test-rbtreehash_list.c: Likewise.
32748         * tests/test-read-file.c: Likewise.
32749         * tests/test-rijndael.c: Likewise.
32750         * tests/test-search.c: Likewise.
32751         * tests/test-signbit.c: Likewise.
32752         * tests/test-sleep.c: Likewise.
32753         * tests/test-snprintf-posix.c: Likewise.
32754         * tests/test-snprintf-posix.h: Likewise.
32755         * tests/test-snprintf.c: Likewise.
32756         * tests/test-sprintf-posix.c: Likewise.
32757         * tests/test-sprintf-posix.h: Likewise.
32758         * tests/test-stat-time.c: Likewise.
32759         * tests/test-stdbool.c: Likewise.
32760         * tests/test-stdint.c: Likewise.
32761         * tests/test-stdio.c: Likewise.
32762         * tests/test-stdlib.c: Likewise.
32763         * tests/test-stpncpy.c: Likewise.
32764         * tests/test-strcasestr.c: Likewise.
32765         * tests/test-striconv.c: Likewise.
32766         * tests/test-striconveh.c: Likewise.
32767         * tests/test-striconveha.c: Likewise.
32768         * tests/test-string.c: Likewise.
32769         * tests/test-sys_select.c: Likewise.
32770         * tests/test-sys_socket.c: Likewise.
32771         * tests/test-sys_stat.c: Likewise.
32772         * tests/test-sys_time.c: Likewise.
32773         * tests/test-sysexits.c: Likewise.
32774         * tests/test-time.c: Likewise.
32775         * tests/test-tls.c: Likewise.
32776         * tests/test-trunc.c: Likewise.
32777         * tests/test-truncf.c: Likewise.
32778         * tests/test-truncl.c: Likewise.
32779         * tests/test-unistd.c: Likewise.
32780         * tests/test-vasnprintf-posix.c: Likewise.
32781         * tests/test-vasnprintf-posix2.c: Likewise.
32782         * tests/test-vasnprintf.c: Likewise.
32783         * tests/test-vasprintf-posix.c: Likewise.
32784         * tests/test-vasprintf.c: Likewise.
32785         * tests/test-verify.c: Likewise.
32786         * tests/test-vfprintf-posix.c: Likewise.
32787         * tests/test-vprintf-posix.c: Likewise.
32788         * tests/test-vsnprintf-posix.c: Likewise.
32789         * tests/test-vsnprintf.c: Likewise.
32790         * tests/test-vsprintf-posix.c: Likewise.
32791         * tests/test-wchar.c: Likewise.
32792         * tests/test-wctype.c: Likewise.
32793         * tests/test-wcwidth.c: Likewise.
32794         * tests/test-xstrtol.c: Likewise.
32795         * tests/test-xvasprintf.c: Likewise.
32796         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32797         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32798         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32799         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32800         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32801         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32802         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32803         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32804         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32805         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32806         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32807         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32808         * tests/uniname/test-uninames.c: Likewise.
32809         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32810         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
32811         * tests/unistdio/test-u16-printf1.h: Likewise.
32812         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32813         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32814         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32815         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32816         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32817         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32818         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32819         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
32820         * tests/unistdio/test-u32-printf1.h: Likewise.
32821         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32822         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32823         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32824         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32825         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32826         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32827         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32828         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
32829         * tests/unistdio/test-u8-printf1.h: Likewise.
32830         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32831         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32832         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32833         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32834         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32835         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32836         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32837         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
32838         * tests/unistdio/test-ulc-printf1.h: Likewise.
32839         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32840         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32841         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32842         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32843         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32844         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32845         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32846         * tests/uniwidth/test-u16-width.c: Likewise.
32847         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32848         * tests/uniwidth/test-u32-width.c: Likewise.
32849         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32850         * tests/uniwidth/test-u8-width.c: Likewise.
32851         * tests/uniwidth/test-uc_width.c: Likewise.
32852         * config/srclist-update: Likewise.
32853         (fixlicense): Update to GPLv3+.
32854
32855         Change copyright notice from LGPLv2.1+ to LGPLv3+.
32856         * tests/test-tsearch.c: Change copyright notice.
32857
32858         Change copyright notice from LGPLv2.0+ to LGPLv3+.
32859         * lib/c-strcaseeq.h: Change copyright notice.
32860         * lib/streq.h: Likewise.
32861         * lib/uniconv.h: Likewise.
32862         * lib/uniconv/u-conv-from-enc.h: Likewise.
32863         * lib/uniconv/u-conv-to-enc.h: Likewise.
32864         * lib/uniconv/u-strconv-from-enc.h: Likewise.
32865         * lib/uniconv/u-strconv-to-enc.h: Likewise.
32866         * lib/uniconv/u16-conv-from-enc.c: Likewise.
32867         * lib/uniconv/u16-conv-to-enc.c: Likewise.
32868         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
32869         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
32870         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
32871         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
32872         * lib/uniconv/u32-conv-from-enc.c: Likewise.
32873         * lib/uniconv/u32-conv-to-enc.c: Likewise.
32874         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
32875         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
32876         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
32877         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
32878         * lib/uniconv/u8-conv-from-enc.c: Likewise.
32879         * lib/uniconv/u8-conv-to-enc.c: Likewise.
32880         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
32881         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
32882         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
32883         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
32884         * lib/uniname.h: Likewise.
32885         * lib/uniname/uniname.c: Likewise.
32886         * lib/unistdio.h: Likewise.
32887         * lib/unistdio/u-asnprintf.h: Likewise.
32888         * lib/unistdio/u-asprintf.h: Likewise.
32889         * lib/unistdio/u-printf-args.c: Likewise.
32890         * lib/unistdio/u-printf-args.h: Likewise.
32891         * lib/unistdio/u-printf-parse.h: Likewise.
32892         * lib/unistdio/u-snprintf.h: Likewise.
32893         * lib/unistdio/u-sprintf.h: Likewise.
32894         * lib/unistdio/u-vasprintf.h: Likewise.
32895         * lib/unistdio/u-vsnprintf.h: Likewise.
32896         * lib/unistdio/u-vsprintf.h: Likewise.
32897         * lib/unistdio/u16-asnprintf.c: Likewise.
32898         * lib/unistdio/u16-asprintf.c: Likewise.
32899         * lib/unistdio/u16-printf-parse.c: Likewise.
32900         * lib/unistdio/u16-snprintf.c: Likewise.
32901         * lib/unistdio/u16-sprintf.c: Likewise.
32902         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
32903         * lib/unistdio/u16-u16-asprintf.c: Likewise.
32904         * lib/unistdio/u16-u16-snprintf.c: Likewise.
32905         * lib/unistdio/u16-u16-sprintf.c: Likewise.
32906         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
32907         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
32908         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
32909         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
32910         * lib/unistdio/u16-vasnprintf.c: Likewise.
32911         * lib/unistdio/u16-vasprintf.c: Likewise.
32912         * lib/unistdio/u16-vsnprintf.c: Likewise.
32913         * lib/unistdio/u16-vsprintf.c: Likewise.
32914         * lib/unistdio/u32-asnprintf.c: Likewise.
32915         * lib/unistdio/u32-asprintf.c: Likewise.
32916         * lib/unistdio/u32-printf-parse.c: Likewise.
32917         * lib/unistdio/u32-snprintf.c: Likewise.
32918         * lib/unistdio/u32-sprintf.c: Likewise.
32919         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
32920         * lib/unistdio/u32-u32-asprintf.c: Likewise.
32921         * lib/unistdio/u32-u32-snprintf.c: Likewise.
32922         * lib/unistdio/u32-u32-sprintf.c: Likewise.
32923         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
32924         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
32925         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
32926         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
32927         * lib/unistdio/u32-vasnprintf.c: Likewise.
32928         * lib/unistdio/u32-vasprintf.c: Likewise.
32929         * lib/unistdio/u32-vsnprintf.c: Likewise.
32930         * lib/unistdio/u32-vsprintf.c: Likewise.
32931         * lib/unistdio/u8-asnprintf.c: Likewise.
32932         * lib/unistdio/u8-asprintf.c: Likewise.
32933         * lib/unistdio/u8-printf-parse.c: Likewise.
32934         * lib/unistdio/u8-snprintf.c: Likewise.
32935         * lib/unistdio/u8-sprintf.c: Likewise.
32936         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
32937         * lib/unistdio/u8-u8-asprintf.c: Likewise.
32938         * lib/unistdio/u8-u8-snprintf.c: Likewise.
32939         * lib/unistdio/u8-u8-sprintf.c: Likewise.
32940         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
32941         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
32942         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
32943         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
32944         * lib/unistdio/u8-vasnprintf.c: Likewise.
32945         * lib/unistdio/u8-vasprintf.c: Likewise.
32946         * lib/unistdio/u8-vsnprintf.c: Likewise.
32947         * lib/unistdio/u8-vsprintf.c: Likewise.
32948         * lib/unistdio/ulc-asnprintf.c: Likewise.
32949         * lib/unistdio/ulc-asprintf.c: Likewise.
32950         * lib/unistdio/ulc-printf-parse.c: Likewise.
32951         * lib/unistdio/ulc-snprintf.c: Likewise.
32952         * lib/unistdio/ulc-sprintf.c: Likewise.
32953         * lib/unistdio/ulc-vasnprintf.c: Likewise.
32954         * lib/unistdio/ulc-vasprintf.c: Likewise.
32955         * lib/unistdio/ulc-vsnprintf.c: Likewise.
32956         * lib/unistdio/ulc-vsprintf.c: Likewise.
32957         * lib/unistr.h: Likewise.
32958         * lib/unistr/u-cpy-alloc.h: Likewise.
32959         * lib/unistr/u-cpy.h: Likewise.
32960         * lib/unistr/u-endswith.h: Likewise.
32961         * lib/unistr/u-move.h: Likewise.
32962         * lib/unistr/u-set.h: Likewise.
32963         * lib/unistr/u-startswith.h: Likewise.
32964         * lib/unistr/u-stpcpy.h: Likewise.
32965         * lib/unistr/u-stpncpy.h: Likewise.
32966         * lib/unistr/u-strcat.h: Likewise.
32967         * lib/unistr/u-strcpy.h: Likewise.
32968         * lib/unistr/u-strcspn.h: Likewise.
32969         * lib/unistr/u-strdup.h: Likewise.
32970         * lib/unistr/u-strlen.h: Likewise.
32971         * lib/unistr/u-strncat.h: Likewise.
32972         * lib/unistr/u-strncpy.h: Likewise.
32973         * lib/unistr/u-strnlen.h: Likewise.
32974         * lib/unistr/u-strpbrk.h: Likewise.
32975         * lib/unistr/u-strspn.h: Likewise.
32976         * lib/unistr/u-strstr.h: Likewise.
32977         * lib/unistr/u-strtok.h: Likewise.
32978         * lib/unistr/u16-check.c: Likewise.
32979         * lib/unistr/u16-chr.c: Likewise.
32980         * lib/unistr/u16-cmp.c: Likewise.
32981         * lib/unistr/u16-cpy-alloc.c: Likewise.
32982         * lib/unistr/u16-cpy.c: Likewise.
32983         * lib/unistr/u16-endswith.c: Likewise.
32984         * lib/unistr/u16-mblen.c: Likewise.
32985         * lib/unistr/u16-mbsnlen.c: Likewise.
32986         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32987         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32988         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32989         * lib/unistr/u16-mbtouc.c: Likewise.
32990         * lib/unistr/u16-mbtoucr.c: Likewise.
32991         * lib/unistr/u16-move.c: Likewise.
32992         * lib/unistr/u16-next.c: Likewise.
32993         * lib/unistr/u16-prev.c: Likewise.
32994         * lib/unistr/u16-set.c: Likewise.
32995         * lib/unistr/u16-startswith.c: Likewise.
32996         * lib/unistr/u16-stpcpy.c: Likewise.
32997         * lib/unistr/u16-stpncpy.c: Likewise.
32998         * lib/unistr/u16-strcat.c: Likewise.
32999         * lib/unistr/u16-strchr.c: Likewise.
33000         * lib/unistr/u16-strcmp.c: Likewise.
33001         * lib/unistr/u16-strcpy.c: Likewise.
33002         * lib/unistr/u16-strcspn.c: Likewise.
33003         * lib/unistr/u16-strdup.c: Likewise.
33004         * lib/unistr/u16-strlen.c: Likewise.
33005         * lib/unistr/u16-strmblen.c: Likewise.
33006         * lib/unistr/u16-strmbtouc.c: Likewise.
33007         * lib/unistr/u16-strncat.c: Likewise.
33008         * lib/unistr/u16-strncmp.c: Likewise.
33009         * lib/unistr/u16-strncpy.c: Likewise.
33010         * lib/unistr/u16-strnlen.c: Likewise.
33011         * lib/unistr/u16-strpbrk.c: Likewise.
33012         * lib/unistr/u16-strrchr.c: Likewise.
33013         * lib/unistr/u16-strspn.c: Likewise.
33014         * lib/unistr/u16-strstr.c: Likewise.
33015         * lib/unistr/u16-strtok.c: Likewise.
33016         * lib/unistr/u16-to-u32.c: Likewise.
33017         * lib/unistr/u16-to-u8.c: Likewise.
33018         * lib/unistr/u16-uctomb-aux.c: Likewise.
33019         * lib/unistr/u16-uctomb.c: Likewise.
33020         * lib/unistr/u32-check.c: Likewise.
33021         * lib/unistr/u32-chr.c: Likewise.
33022         * lib/unistr/u32-cmp.c: Likewise.
33023         * lib/unistr/u32-cpy-alloc.c: Likewise.
33024         * lib/unistr/u32-cpy.c: Likewise.
33025         * lib/unistr/u32-endswith.c: Likewise.
33026         * lib/unistr/u32-mblen.c: Likewise.
33027         * lib/unistr/u32-mbsnlen.c: Likewise.
33028         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
33029         * lib/unistr/u32-mbtouc.c: Likewise.
33030         * lib/unistr/u32-mbtoucr.c: Likewise.
33031         * lib/unistr/u32-move.c: Likewise.
33032         * lib/unistr/u32-next.c: Likewise.
33033         * lib/unistr/u32-prev.c: Likewise.
33034         * lib/unistr/u32-set.c: Likewise.
33035         * lib/unistr/u32-startswith.c: Likewise.
33036         * lib/unistr/u32-stpcpy.c: Likewise.
33037         * lib/unistr/u32-stpncpy.c: Likewise.
33038         * lib/unistr/u32-strcat.c: Likewise.
33039         * lib/unistr/u32-strchr.c: Likewise.
33040         * lib/unistr/u32-strcmp.c: Likewise.
33041         * lib/unistr/u32-strcpy.c: Likewise.
33042         * lib/unistr/u32-strcspn.c: Likewise.
33043         * lib/unistr/u32-strdup.c: Likewise.
33044         * lib/unistr/u32-strlen.c: Likewise.
33045         * lib/unistr/u32-strmblen.c: Likewise.
33046         * lib/unistr/u32-strmbtouc.c: Likewise.
33047         * lib/unistr/u32-strncat.c: Likewise.
33048         * lib/unistr/u32-strncmp.c: Likewise.
33049         * lib/unistr/u32-strncpy.c: Likewise.
33050         * lib/unistr/u32-strnlen.c: Likewise.
33051         * lib/unistr/u32-strpbrk.c: Likewise.
33052         * lib/unistr/u32-strrchr.c: Likewise.
33053         * lib/unistr/u32-strspn.c: Likewise.
33054         * lib/unistr/u32-strstr.c: Likewise.
33055         * lib/unistr/u32-strtok.c: Likewise.
33056         * lib/unistr/u32-to-u16.c: Likewise.
33057         * lib/unistr/u32-to-u8.c: Likewise.
33058         * lib/unistr/u32-uctomb.c: Likewise.
33059         * lib/unistr/u8-check.c: Likewise.
33060         * lib/unistr/u8-chr.c: Likewise.
33061         * lib/unistr/u8-cmp.c: Likewise.
33062         * lib/unistr/u8-cpy-alloc.c: Likewise.
33063         * lib/unistr/u8-cpy.c: Likewise.
33064         * lib/unistr/u8-endswith.c: Likewise.
33065         * lib/unistr/u8-mblen.c: Likewise.
33066         * lib/unistr/u8-mbsnlen.c: Likewise.
33067         * lib/unistr/u8-mbtouc-aux.c: Likewise.
33068         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
33069         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
33070         * lib/unistr/u8-mbtouc.c: Likewise.
33071         * lib/unistr/u8-mbtoucr.c: Likewise.
33072         * lib/unistr/u8-move.c: Likewise.
33073         * lib/unistr/u8-next.c: Likewise.
33074         * lib/unistr/u8-prev.c: Likewise.
33075         * lib/unistr/u8-set.c: Likewise.
33076         * lib/unistr/u8-startswith.c: Likewise.
33077         * lib/unistr/u8-stpcpy.c: Likewise.
33078         * lib/unistr/u8-stpncpy.c: Likewise.
33079         * lib/unistr/u8-strcat.c: Likewise.
33080         * lib/unistr/u8-strchr.c: Likewise.
33081         * lib/unistr/u8-strcmp.c: Likewise.
33082         * lib/unistr/u8-strcpy.c: Likewise.
33083         * lib/unistr/u8-strcspn.c: Likewise.
33084         * lib/unistr/u8-strdup.c: Likewise.
33085         * lib/unistr/u8-strlen.c: Likewise.
33086         * lib/unistr/u8-strmblen.c: Likewise.
33087         * lib/unistr/u8-strmbtouc.c: Likewise.
33088         * lib/unistr/u8-strncat.c: Likewise.
33089         * lib/unistr/u8-strncmp.c: Likewise.
33090         * lib/unistr/u8-strncpy.c: Likewise.
33091         * lib/unistr/u8-strnlen.c: Likewise.
33092         * lib/unistr/u8-strpbrk.c: Likewise.
33093         * lib/unistr/u8-strrchr.c: Likewise.
33094         * lib/unistr/u8-strspn.c: Likewise.
33095         * lib/unistr/u8-strstr.c: Likewise.
33096         * lib/unistr/u8-strtok.c: Likewise.
33097         * lib/unistr/u8-to-u16.c: Likewise.
33098         * lib/unistr/u8-to-u32.c: Likewise.
33099         * lib/unistr/u8-uctomb-aux.c: Likewise.
33100         * lib/unistr/u8-uctomb.c: Likewise.
33101         * lib/unitypes.h: Likewise.
33102         * lib/uniwidth.h: Likewise.
33103         * lib/uniwidth/cjk.h: Likewise.
33104         * lib/uniwidth/u16-strwidth.c: Likewise.
33105         * lib/uniwidth/u16-width.c: Likewise.
33106         * lib/uniwidth/u32-strwidth.c: Likewise.
33107         * lib/uniwidth/u32-width.c: Likewise.
33108         * lib/uniwidth/u8-strwidth.c: Likewise.
33109         * lib/uniwidth/u8-width.c: Likewise.
33110         * lib/uniwidth/width.c: Likewise.
33111
33112 2007-10-07  Bruno Haible  <bruno@clisp.org>
33113
33114         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
33115         The file is still under LGPL (see modules/inttypes).
33116
33117 2007-10-06  Bruno Haible  <bruno@clisp.org>
33118
33119         * modules/trunc (Dependencies): Add 'extensions'.
33120         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
33121         Reported by Ben Pfaff <blp@gnu.org>.
33122
33123 2007-10-06  Bruno Haible  <bruno@clisp.org>
33124
33125         * modules/freopen-tests: New file.
33126         * tests/test-freopen.c: New file.
33127
33128         * modules/fopen-tests: New file.
33129         * tests/test-fopen.c: New file.
33130
33131         * modules/fopen: New file.
33132         * lib/fopen.c: New file.
33133         * m4/fopen.m4: New file.
33134         * modules/freopen: New file.
33135         * lib/freopen.c: New file.
33136         * m4/freopen.m4: New file.
33137         * lib/stdio.in.h (fopen, freopen): New declarations.
33138         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
33139         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
33140         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
33141         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
33142         * doc/functions/fopen.texi: Mention the 'fopen' module.
33143         * doc/functions/freopen.texi: Mention the 'freopen' module.
33144
33145 2007-10-06  Bruno Haible  <bruno@clisp.org>
33146
33147         * modules/open-tests: New file.
33148         * tests/test-open.c: New file.
33149
33150         * modules/open: New file.
33151         * lib/open.c: New file.
33152         * m4/open.m4: New file.
33153         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
33154         lib/open.c does.
33155         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
33156         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
33157         macros.
33158         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
33159         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
33160         REPLACE_OPEN.
33161         * doc/functions/open.texi: Mention the 'open' module.
33162
33163 2007-10-04  Bruno Haible  <bruno@clisp.org>
33164
33165         * modules/ceill-tests: New file.
33166         * tests/test-ceill.c: New file.
33167
33168         * modules/ceill: New file.
33169         * lib/ceill.c: Replace entire file.
33170         * m4/ceill.m4: New file.
33171         * lib/math.in.h (ceill): Replace declaration.
33172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
33173         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
33174         * doc/functions/ceill.texi: Mention the 'ceill' module.
33175         * modules/mathl (Files): Remove lib/ceill.c.
33176         (Depends-on): Add ceill.
33177
33178 2007-10-04  Bruno Haible  <bruno@clisp.org>
33179
33180         * modules/ceilf-tests: New file.
33181         * tests/test-ceilf.c: New file.
33182
33183         * modules/ceilf: New file.
33184         * lib/ceil.c: New file.
33185         * lib/ceilf.c: New file.
33186         * m4/ceilf.m4: New file.
33187         * lib/math.in.h (ceilf): New declaration.
33188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
33189         HAVE_DECL_CEILF.
33190         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
33191         HAVE_DECL_CEILF.
33192         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
33193
33194 2007-10-04  Bruno Haible  <bruno@clisp.org>
33195
33196         * modules/floorl-tests: New file.
33197         * tests/test-floorl.c: New file.
33198
33199         * modules/floorl: New file.
33200         * lib/floorl.c: Replace entire file.
33201         * m4/floorl.m4: New file.
33202         * lib/math.in.h (floorl): Replace declaration.
33203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
33204         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
33205         * doc/functions/floorl.texi: Mention the 'floorl' module.
33206         * modules/mathl (Files): Remove lib/floorl.c.
33207         (Depends-on): Add floorl.
33208
33209 2007-10-04  Bruno Haible  <bruno@clisp.org>
33210
33211         * modules/floorf-tests: New file.
33212         * tests/test-floorf.c: New file.
33213
33214         * modules/floorf: New file.
33215         * lib/floor.c: New file.
33216         * lib/floorf.c: New file.
33217         * m4/floorf.m4: New file.
33218         * lib/math.in.h (floorf): New declaration.
33219         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
33220         HAVE_DECL_FLOORF.
33221         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
33222         HAVE_DECL_FLOORF.
33223         * doc/functions/floorf.texi: Mention the 'floorf' module.
33224
33225 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
33226             Bruno Haible  <bruno@clisp.org>
33227
33228         Advertise for the Git server instead of the CVS server.
33229         * doc/gnulib-intro.texi (Steady Development): Mention the Git
33230         repository instead of the CVS one.
33231         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
33232         about all VCS systems generically.
33233         * doc/gnulib.texi (Introduction): Capitalize `Git'.
33234
33235 2007-10-04  Bruno Haible  <bruno@clisp.org>
33236
33237         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
33238         means.
33239         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
33240
33241 2007-10-04  Bruno Haible  <bruno@clisp.org>
33242
33243         * modules/truncl-tests: New file.
33244         * tests/test-truncl.c: New file.
33245
33246         * modules/truncl: New file.
33247         * lib/truncl.c: New file.
33248         * m4/truncl.m4: New file.
33249         * lib/math.in.h (truncl): New declaration.
33250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
33251         HAVE_DECL_TRUNCL.
33252         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
33253         HAVE_DECL_TRUNCL.
33254         * doc/functions/truncl.texi: Mention the 'truncl' module.
33255
33256 2007-10-04  Bruno Haible  <bruno@clisp.org>
33257
33258         * modules/truncf-tests: New file.
33259         * tests/test-truncf.c: New file.
33260
33261         * modules/truncf: New file.
33262         * lib/trunc.c: Make paramerizable through USE_* macros.
33263         * lib/truncf.c: New file.
33264         * m4/truncf.m4: New file.
33265         * lib/math.in.h (truncf): New declaration.
33266         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
33267         HAVE_DECL_TRUNCF.
33268         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
33269         HAVE_DECL_TRUNCF.
33270         * doc/functions/truncf.texi: Mention the 'truncf' module.
33271
33272 2007-10-03  Bruno Haible  <bruno@clisp.org>
33273
33274         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
33275         augmentation also for tests modules.
33276         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
33277         * modules/atexit-tests (Makefile.am): Likewise.
33278         * modules/binary-io-tests (Makefile.am): Likewise.
33279         * modules/c-strcase-tests (Makefile.am): Likewise.
33280         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
33281         * modules/canonicalize-tests (Makefile.am): Likewise.
33282         * modules/closein-tests (Makefile.am): Likewise.
33283         * modules/fprintf-posix-tests (Makefile.am): Likewise.
33284         * modules/freadahead-tests (Makefile.am): Likewise.
33285         * modules/fseek-tests (Makefile.am): Likewise.
33286         * modules/fseeko-tests (Makefile.am): Likewise.
33287         * modules/ftell-tests (Makefile.am): Likewise.
33288         * modules/ftello-tests (Makefile.am): Likewise.
33289         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
33290         * modules/isnanl-tests (Makefile.am): Likewise.
33291         * modules/lseek-tests (Makefile.am): Likewise.
33292         * modules/mbscasecmp-tests (Makefile.am): Likewise.
33293         * modules/mbscasestr-tests (Makefile.am): Likewise.
33294         * modules/mbschr-tests (Makefile.am): Likewise.
33295         * modules/mbscspn-tests (Makefile.am): Likewise.
33296         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
33297         * modules/mbspbrk-tests (Makefile.am): Likewise.
33298         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
33299         * modules/mbsrchr-tests (Makefile.am): Likewise.
33300         * modules/mbsspn-tests (Makefile.am): Likewise.
33301         * modules/mbsstr-tests (Makefile.am): Likewise.
33302         * modules/printf-posix-tests (Makefile.am): Likewise.
33303         * modules/snprintf-posix-tests (Makefile.am): Likewise.
33304         * modules/sprintf-posix-tests (Makefile.am): Likewise.
33305         * modules/tsearch-tests (Makefile.am): Likewise.
33306         * modules/uniname/uniname-tests (Makefile.am): Likewise.
33307         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
33308         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
33309         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
33310         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
33311         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
33312         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
33313         * modules/vprintf-posix-tests (Makefile.am): Likewise.
33314         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
33315         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
33316         * modules/xstrtoimax-tests (Makefile.am): Likewise.
33317         * modules/xstrtol-tests (Makefile.am): Likewise.
33318         * modules/xstrtoumax-tests (Makefile.am): Likewise.
33319         * modules/yesno-tests (Makefile.am): Likewise.
33320
33321 2007-10-03  Bruno Haible  <bruno@clisp.org>
33322
33323         * modules/trunc-tests: New file.
33324         * tests/test-trunc.c: New file.
33325
33326         * modules/trunc: New file.
33327         * lib/trunc.c: New file.
33328         * m4/trunc.m4: New file.
33329         * lib/math.in.h (trunc): New declaration.
33330         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
33331         HAVE_DECL_TRUNC.
33332         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
33333         HAVE_DECL_TRUNC.
33334         * doc/functions/trunc.texi: Mention the 'trunc' module.
33335
33336 2007-10-03  Bruno Haible  <bruno@clisp.org>
33337
33338         * tests/test-fpending.c: New file, mostly copied
33339         from coreutils/lib/t-fpending.c.
33340         * modules/fpending-tests: New file.
33341
33342 2007-10-03  Bruno Haible  <bruno@clisp.org>
33343
33344         Port the stdio extensions to QNX (untested).
33345         * lib/fseterr.c (fseterr): Add support for QNX.
33346         * lib/fbufmode.c (fbufmode): Likewise.
33347         * lib/freadable.c (freadable): Likewise.
33348         * lib/fwritable.c (fwritable): Likewise.
33349         * lib/freading.c (freading): Likewise.
33350         * lib/fwriting.c (fwriting): Likewise.
33351         * lib/freadahead.c (freadahed): Likewise.
33352         * lib/fpurge.c (fpurge): Likewise.
33353         * lib/fseeko.c (rpl_fseeko): Likewise.
33354
33355 2007-10-03  Bruno Haible  <bruno@clisp.org>
33356             Jim Meyering  <jim@meyering.net>
33357             Eric Blake  <ebb9@byu.net>
33358
33359         * doc/relocatable.texi: Use @command instead of @program.
33360
33361 2007-10-02  Jim Meyering  <jim@meyering.net>
33362
33363         Perform one more "_.h" -> ".in.h" substitution.
33364         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
33365         instead of unistd_.h here, too.
33366
33367 2007-10-01  Bruno Haible  <bruno@clisp.org>
33368
33369         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
33370         Needed for the alloca-opt module.
33371
33372 2007-09-30  Bruno Haible  <bruno@clisp.org>
33373
33374         * lib/alloca.in.h: Renamed from lib/alloca_.h.
33375         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
33376         alloca_.h.
33377         * lib/argz.in.h: Renamed from lib/argz_.h.
33378         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
33379         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
33380         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
33381         byteswap_.h.
33382         * lib/dirent.in.h: Renamed from lib/dirent_.h.
33383         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
33384         dirent_.h.
33385         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
33386         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
33387         fcntl_.h.
33388         * lib/float.in.h: Renamed from lib/float_.h.
33389         * modules/float (Files, Makefile.am): Use float.in.h instead of
33390         float_.h.
33391         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
33392         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
33393         fnmatch_.h.
33394         * lib/getopt.in.h: Renamed from lib/getopt_.h.
33395         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
33396         getopt_.h.
33397         * lib/glob.in.h: Renamed from lib/glob_.h.
33398         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
33399         * lib/iconv.in.h: Renamed from lib/iconv_.h.
33400         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
33401         iconv_.h.
33402         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
33403         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
33404         inttypes_.h.
33405         * lib/locale.in.h: Renamed from lib/locale_.h.
33406         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
33407         locale_.h.
33408         * lib/math.in.h: Renamed from lib/math_.h.
33409         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
33410         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
33411         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
33412         of netinet_in_.h. Add dependency.
33413         * lib/poll.in.h: Renamed from lib/poll_.h.
33414         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
33415         * lib/search.in.h: Renamed from lib/search_.h.
33416         * modules/search (Files, Makefile.am): Use search.in.h instead of
33417         search_.h.
33418         * lib/signal.in.h: Renamed from lib/signal_.h.
33419         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
33420         _signal.h.
33421         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
33422         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
33423         stdbool_.h.
33424         * lib/stdint.in.h: Renamed from lib/stdint_.h.
33425         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
33426         stdint_.h.
33427         * lib/stdio.in.h: Renamed from lib/stdio_.h.
33428         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
33429         stdio_.h.
33430         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
33431         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
33432         stdlib_.h.
33433         * lib/string.in.h: Renamed from lib/string_.h.
33434         * modules/string (Files, Makefile.am): Use string.in.h instead of
33435         string_.h.
33436         * doc/gnulib-tool.texi (Initial import): Update.
33437         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
33438         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
33439         of sys_select_.h. Add dependency.
33440         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
33441         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
33442         of sys_socket_.h.
33443         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
33444         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
33445         sys_stat_.h.
33446         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
33447         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
33448         sys_time_.h.
33449         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
33450         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
33451         sysexits_.h.
33452         * lib/time.in.h: Renamed from lib/time_.h.
33453         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
33454         * lib/unistd.in.h: Renamed from lib/unistd_.h.
33455         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
33456         unistd_.h.
33457         * lib/wchar.in.h: Renamed from lib/wchar_.h.
33458         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
33459         wchar_.h.
33460         * lib/wctype.in.h: Renamed from lib/wctype_.h.
33461         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
33462         wctype_.h.
33463         * build-aux/bootstrap (slurp): Update.
33464         * lib/.cppi-disable: Update.
33465
33466 2007-09-30  Bruno Haible  <bruno@clisp.org>
33467
33468         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
33469         Needed on BeOS.
33470
33471 2007-09-30  Bruno Haible  <bruno@clisp.org>
33472
33473         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
33474
33475 2007-09-29  Bruno Haible  <bruno@clisp.org>
33476
33477         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
33478
33479 2007-09-29  Bruno Haible  <bruno@clisp.org>
33480
33481         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
33482         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
33483         * build-aux/install-reloc: Compile also areadlink.c.
33484         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
33485
33486 2007-09-29  Bruno Haible  <bruno@clisp.org>
33487
33488         * gnulib-tool (func_emit_initmacro_done): Indentation.
33489
33490 2007-09-29  Bruno Haible  <bruno@clisp.org>
33491
33492         * README: Add CVS checkout update instructions.
33493         Info from Bob Proulx <bob@proulx.com>.
33494
33495 2007-09-28  Eric Blake  <ebb9@byu.net>
33496
33497         Provide move-if-change.
33498         * build-aux/move-if-change: New file, based on best practice
33499         rather than any canonical upstream location.
33500
33501 2007-09-28  Jim Meyering  <jim@meyering.net>
33502
33503         Fix canonicalize loop-detection corner case.
33504         Do not attempt to stat the symlink values stored via seen_triple.
33505         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
33506         on linux-2.6.18, (but not 2.6.22).
33507         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
33508         triple_compare.  The former compares dev,ino,filename, while the latter
33509         would actually stat dirname(filename) when dev and ino were equal.
33510         * lib/hash-triple.c: Install <string.h>.
33511         (STREQ): Define.
33512         (triple_compare_ino_str): New function.
33513         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
33514
33515 2007-09-28  Eric Blake  <ebb9@byu.net>
33516
33517         Enforce that AC_REPLACE_FUNCS files exist.
33518         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
33519         override check for typos.
33520
33521         Fix test-closein on Solaris 10.
33522         * tests/test-closein.c (main): Don't assume stdin can be inherited
33523         closed on all systems.
33524         * tests/test-closein.sh: Likewise.
33525         Reported by Piotr Tarnowski.
33526
33527 2007-09-28  Jim Meyering  <jim@meyering.net>
33528
33529         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
33530
33531 2007-09-27  Jim Meyering  <jim@meyering.net>
33532
33533         canonicalize: Avoid a false-positive cycle failure.
33534         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
33535         Sort.  Remove cycle-check.
33536         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
33537         not cycle-check.h.
33538         (seen_triple): New function.
33539         (canonicalize_filename_mode): Use it instead of cycle-check.
33540         * tests/test-canonicalize.c: Add a test for this bug.
33541         * tests/test-canonicalize.sh: Set up and run the test.
33542
33543         New module, file-set, from coreutils.
33544         * modules/file-set: Define it.
33545         * lib/file-set.c, lib/file-set.h: Implement.
33546
33547         New module, hash-triple, from coreutils.
33548         * modules/hash-triple: Define it.
33549         * lib/hash-triple.c, lib/hash-triple.h: Implement.
33550
33551 2007-09-25  Eric Blake  <ebb9@byu.net>
33552
33553         Fix strerror on Interix.
33554         * lib/string_.h (strerror): Declare replacement.
33555         * doc/functions/strerror.texi (strerror): Document the Interix
33556         shortcoming.
33557         * modules/string (Makefile.am): Support new hooks.
33558         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
33559         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
33560         gl_FUNC_STRERROR_SEPARATE.
33561         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
33562         * lib/strerror.c (rpl_strerror): Provide replacement.
33563         * modules/strerror (Depends-on): Add string.
33564         (configure.ac): Detect use of module.
33565         * tests/test-strerror.c: New file.
33566         * modules/strerror-tests: New test module.
33567         * modules/argp (Depends-on): Add strerror.
33568         * modules/error (Depends-on): Likewise.
33569         Reported by Martin Koeppe.
33570
33571 2007-09-24  Bruno Haible  <bruno@clisp.org>
33572
33573         * README: Update git instructions.
33574
33575 2007-09-24  Eric Blake  <ebb9@byu.net>
33576
33577         Revert fpending breakage from 2007-09-08.
33578         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
33579         __fpending.c.
33580
33581 2007-09-24  Jim Meyering  <jim@meyering.net>
33582
33583         filenamecat.c: Add a test.
33584         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
33585         showing how the function works when DIR is the empty string.
33586
33587 2007-09-21  Simon Josefsson  <simon@josefsson.org>
33588
33589         * tests/test-canonicalize.sh: Turn on executable bit.
33590
33591 2007-09-19  Eric Blake  <ebb9@byu.net>
33592
33593         * README: Update CVS instructions.
33594
33595 2007-09-18  Bruno Haible  <bruno@clisp.org>
33596
33597         * modules/areadlink: New file.
33598         * lib/areadlink.h (areadlink): New declaration.
33599         * lib/areadlink.c: New file, based on lib/xreadlink.c.
33600
33601 2007-09-17  Jim Meyering  <jim@meyering.net>
33602
33603         * lib/savewd.c (ESTALE) [!defined]: Define.
33604         Reported to be required on Interix by Martin Koeppe.
33605
33606 2007-09-17  Bruno Haible  <bruno@clisp.org>
33607
33608         * gnulib-tool (func_version): Use $version.
33609
33610 2007-09-16  Bruno Haible  <bruno@clisp.org>
33611
33612         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
33613         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
33614         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
33615         Reported by Greg Schafer <gschafer@zip.com.au>.
33616
33617 2007-09-15  Bruno Haible  <bruno@clisp.org>
33618
33619         * gnulib-tool (sed): Try a little harder to make bash understand the
33620         alias.
33621         Reported by Bruce Korb <bruce.korb@gmail.com>.
33622
33623 2007-09-13  Eric Blake  <ebb9@byu.net>
33624
33625         * ChangeLog: Remove conflict markers.
33626
33627 2007-09-13  Simon Josefsson  <simon@josefsson.org>
33628
33629         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
33630         Reported by Bruno Haible <bruno@clisp.org>.
33631
33632 2007-09-12  Bruno Haible  <bruno@clisp.org>
33633
33634         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
33635         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
33636         is not defined.
33637
33638 2007-09-12  Eric Blake  <ebb9@byu.net>
33639
33640         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
33641         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
33642         Autoconf definition.
33643         * modules/euidaccess (Depends-on): Add extensions, for
33644         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
33645         * modules/fnmatch (Depends-on): Likewise.
33646         * modules/getaddrinfo (Depends-on): Likewise.
33647         * modules/getdelim (Depends-on): Likewise.
33648         * modules/getline (Depends-on): Likewise.
33649         * modules/getsubopt (Depends-on): Likewise.
33650         * modules/gettext (Depends-on): Likewise.
33651         * modules/group-member (Depends-on): Likewise.
33652         * modules/mbchar (Depends-on): Likewise.
33653         * modules/memmem (Depends-on): Likewise.
33654         * modules/mempcpy (Depends-on): Likewise.
33655         * modules/memrchr (Depends-on): Likewise.
33656         * modules/pagealign_alloc (Depends-on): Likewise.
33657         * modules/readutmp (Depends-on): Likewise.
33658         * modules/stpcpy (Depends-on): Likewise.
33659         * modules/stpncpy (Depends-on): Likewise.
33660         * modules/strchrnul (Depends-on): Likewise.
33661         * modules/strndup (Depends-on): Likewise.
33662         * modules/strsep (Depends-on): Likewise.
33663         * modules/strverscmp (Depends-on): Likewise.
33664         * modules/vasprintf (Depends-on): Likewise.
33665         * modules/wcwidth (Depends-on): Likewise.
33666         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
33667         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
33668         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
33669         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
33670         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
33671         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33672         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
33673         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
33674         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
33675         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33676         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
33677         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
33678         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
33679         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
33680         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
33681         * m4/readutmp.m4 (gl_READUTMP): Likewise.
33682         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33683         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
33684         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
33685         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
33686         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
33687         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
33688         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
33689         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
33690         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
33691         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
33692         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
33693         so that lock.m4 can be used in gettext without extensions module.
33694
33695 2007-09-11  Bruno Haible  <bruno@clisp.org>
33696
33697         * m4/isc-posix.m4: Remove file.
33698         Suggested by Eric Blake.
33699
33700 2007-09-11  Eric Blake  <ebb9@byu.net>
33701
33702         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
33703
33704 2007-09-10  Bruno Haible  <bruno@clisp.org>
33705
33706         * posix-modules: Fix typo in error message.
33707         Reported by Matt <mkraai@beckman.com>.
33708
33709 2007-09-09  Bruno Haible  <bruno@clisp.org>
33710
33711         * doc/functions/getdelim.texi: Update list of platforms lacking the
33712         function.
33713         * doc/functions/getline.texi: Likewise.
33714
33715 2007-09-09  Jim Meyering  <jim@meyering.net>
33716
33717         * lib/hash.c (hash_initialize): Detect calloc failure.
33718         Reported by Bruno Haible.
33719
33720 2007-09-09  Bruno Haible  <bruno@clisp.org>
33721
33722         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
33723         malloc or realloc fails.
33724
33725 2007-09-09  Bruno Haible  <bruno@clisp.org>
33726
33727         * modules/getcwd (Depends-on): Add malloc-posix.
33728         * modules/glob (Depends-on): Likewise.
33729         * modules/putenv (Depends-on): Likewise.
33730         * modules/strdup (Depends-on): Likewise.
33731         * modules/getdelim (Depends-on): Add realloc-posix.
33732         * modules/read-file (Depends-on): Likewise.
33733
33734 2007-09-09  Bruno Haible  <bruno@clisp.org>
33735
33736         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
33737         (gl_FUNC_MALLOC_POSIX): Require it.
33738         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
33739         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
33740         * modules/realloc (Files): Add m4/malloc.m4.
33741         * modules/calloc (Files): Likewise.
33742
33743 2007-09-09  Bruno Haible  <bruno@clisp.org>
33744
33745         * modules/malloc-posix: New file.
33746         * modules/malloc (Depends-on): Add malloc-posix.
33747         * lib/malloc.c: Include errno.h.
33748         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
33749         and a POSIX-compatible malloc into a single function. Set ENOMEM
33750         when returning NULL.
33751         * m4/malloc.m4: New file.
33752         * doc/functions/malloc.texi: Mention the malloc-posix module.
33753         * lib/stdlib_.h (malloc): New declaration.
33754         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33755         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
33756         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
33757         and HAVE_MALLOC_POSIX.
33758
33759 2007-09-09  Bruno Haible  <bruno@clisp.org>
33760
33761         * modules/realloc-posix: New file.
33762         * modules/realloc (Depends-on): Add realloc-posix.
33763         * lib/realloc.c: Include errno.h.
33764         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
33765         and a POSIX-compatible realloc into a single function. Set ENOMEM
33766         when returning NULL.
33767         * m4/realloc.m4: New file.
33768         * doc/functions/realloc.texi: Mention the realloc-posix module.
33769         * lib/stdlib_.h (realloc): New declaration.
33770         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33771         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
33772         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
33773         and HAVE_REALLOC_POSIX.
33774
33775 2007-09-09  Bruno Haible  <bruno@clisp.org>
33776
33777         * modules/calloc-posix: New file.
33778         * modules/calloc (Depends-on): Add calloc-posix.
33779         * lib/calloc.c: Include errno.h.
33780         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
33781         and a POSIX-compatible calloc into a single function. Set ENOMEM
33782         when returning NULL.
33783         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
33784         * doc/functions/calloc.texi: Mention the calloc-posix module.
33785         * lib/stdlib_.h (calloc): New declaration.
33786         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33787         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
33788         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
33789         and HAVE_CALLOC_POSIX.
33790
33791 2007-09-09  Bruno Haible  <bruno@clisp.org>
33792
33793         Allow for modules to show an arbitrary notice.
33794         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
33795         * gnulib-tool: New option --extract-notice.
33796         (func_usage): Document it.
33797         (sed_extract_prog): Update.
33798         (func_get_notice): New function.
33799         (func_modules_notice): New function.
33800         (func_import, func_create_testdir): Invoke it.
33801         Suggested by Jim Meyering.
33802
33803 2007-09-09  Bruno Haible  <bruno@clisp.org>
33804
33805         * gnulib-tool: New options --verbose, --quiet.
33806         (func_usage): Document them.
33807         (verbose): New variable.
33808         (func_execute_command): New function.
33809         (func_import): Don't show the module list and the file list if
33810         $verbose < 0.
33811         (func_create_testdir): Likewise. Use func_execute_command.
33812         (func_create_megatestdir): Use func_execute_command.
33813
33814 2007-09-08  Bruno Haible  <bruno@clisp.org>
33815
33816         * gnulib-tool (func_import): Prefer rsync over wget when available,
33817         for fetching the PO files.
33818
33819 2007-09-08  Bruno Haible  <bruno@clisp.org>
33820
33821         * posix-modules: New file. Portions copied from gnulib-tool.
33822         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
33823
33824 2007-09-08  Jim Meyering  <jim@meyering.net>
33825
33826         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
33827         * lib/fpending.h: Rename from __fpending.h.
33828         * lib/fpending.c: Rename from __fpending.c.
33829         Include "fpending.h", not "__fpending.h".
33830         * lib/__fpending.h, lib/__fpending.c: Remove files.
33831         * modules/fpending (Files): Reflect new file names.
33832         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
33833
33834 2007-09-08  Bruno Haible  <bruno@clisp.org>
33835
33836         * m4/inttypes-h.m4: Remove stub file.
33837
33838 2007-09-07  Simon Josefsson  <simon@josefsson.org>
33839
33840         * doc/headers/stdint.texi: Discuss #include_next issue.
33841
33842 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
33843
33844         * build-aux/bootstrap: Remove obsolete comment about wget --help.
33845
33846 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33847
33848         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
33849         in variable name.
33850
33851 2007-09-03  Jim Meyering  <jim@meyering.net>
33852
33853         New module: git-version-gen.
33854         * modules/git-version-gen: New file.
33855
33856         Import changes from coreutils for bootstrap script.
33857
33858         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
33859
33860         bootstrap: uses rsync to download the .po files
33861         * build-aux/bootstrap (po_download_command_format): New global.
33862         (download_po_files): Use rsync.
33863         (update_po_files): Don't remove .po files after download,
33864         so future rsync runs can take advantage of the copies.
33865
33866         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
33867
33868         Solve the unnecessary-.po-file-regeneration problem once and for all.
33869         * build-aux/bootstrap (download_po_files): New function, renamed from
33870         get_translations.  Now, downloads, but doesn't update LINGUAS.
33871         (update_po_files): New function.
33872
33873         bootstrap: Ignore more.
33874         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
33875         uniwidth to e.g., lib/.gitignore.
33876         (slurp): Handle the sys_stat_.h -> sys mapping, too.
33877
33878         * build-aux/bootstrap: New setting: vc_ignore.
33879         (insert_sorted_if_absent): Create $file if absent.
33880         Adapt to new, possibly empty, list: $vc_ignore.
33881
33882         bootstrap: generate more ignorable names
33883         * build-aux/bootstrap (slurp): When generating ignorable names,
33884         also map .sin to .sed, .gperf to .c, and .y to .c.
33885
33886 2007-09-03  Jim Meyering  <jim@meyering.net>
33887
33888         * build-aux/git-version-gen: New file, from coreutils.  For details, see
33889         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
33890
33891 2007-09-02  Bruno Haible  <bruno@clisp.org>
33892
33893         Fix mis-recognition of 'mcs' on QNX 6.
33894         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
33895         output contains the string "Mono".
33896         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
33897         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
33898
33899 2007-09-01  Bruno Haible  <bruno@clisp.org>
33900
33901         Fix collision between uniwidth/* and linebreak modules.
33902         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
33903         u32_width): Remove declarations.
33904         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
33905         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
33906         streq3, streq2, streq1, streq0): Remove functions.
33907         (STREQ): Remove macro.
33908         (is_cjk_encoding): Remove function.
33909         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
33910         (uc_width, u8_width, u16_width, u32_width): Remove functions.
33911         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
33912         * NEWS: Document the change.
33913
33914 2007-09-01  Bruno Haible  <bruno@clisp.org>
33915
33916         * lib/streq.h: Add double-inclusion guard.
33917
33918 2007-09-01  Karl Berry  <karl@gnu.org>
33919
33920         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
33921
33922 2007-08-28  Jim Meyering  <jim@meyering.net>
33923
33924         Rename mreadlink_with_size to areadlink_with_size.
33925         * NEWS: Document the change.
33926         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
33927         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
33928         * lib/mreadlink.h: Rename this to...
33929         * lib/areadlink.h: ...this.
33930         * modules/mreadlink-with-size: Rename this to...
33931         * modules/areadlink-with-size: ...this.
33932         * lib/canonicalize.c: Reflect the renaming.
33933         * modules/canonicalize: Likewise.
33934
33935 2007-08-26  Bruno Haible  <bruno@clisp.org>
33936
33937         * gnulib-tool (func_import): When deciding which files to remove,
33938         consider also dangling symbolic links.
33939         Reported by Eric Blake.
33940
33941 2007-08-26  Bruno Haible  <bruno@clisp.org>
33942
33943         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
33944
33945 2007-08-23  Simon Josefsson  <simon@josefsson.org>
33946
33947         * lib/readline.c: Don't include getline.h, the prototype is now
33948         found in stdio.h.
33949
33950 2007-08-23  Jim Meyering  <jim@meyering.net>
33951
33952         Getdelim touchup.
33953         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
33954         around the funlockfile call, since funlockfile never sets errno.
33955         Don't set errno upon failed realloc.
33956
33957 2007-08-22  Eric Blake  <ebb9@byu.net>
33958
33959         Getline touchups.
33960         * lib/getdelim.c (getdelim): Revert regression that required *n to
33961         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
33962         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
33963         getdelim, rather than whether implementation is missing.
33964         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
33965         * lib/stdio_.h (getline): Also declare if replacement is
33966         required.
33967         * doc/functions/getdelim.texi: New file.
33968         * doc/functions/getline.texi: Likewise.
33969         * doc/gnulib.texi (Function Substitutes): Add new files.
33970         Reported by Bruno Haible.
33971
33972 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
33973
33974         * users.txt: Add Guile.
33975
33976 2007-08-22  Eric Blake  <ebb9@byu.net>
33977
33978         * tests/test-getdelim.c (main): Use remove, not unlink.
33979         * tests/test-getline.c (main): Likewise.
33980
33981         Move getline and getdelim into stdio.h, per POSIX 200x.
33982         * modules/getline (Files): Remove getline.h.
33983         (Depends-on): Add stdio.
33984         (configure.ac): Add module indicator.
33985         * modules/getdelim (Files): Remove getdelim.h.
33986         (Depends-on): Add stdio.
33987         (configure.ac): Add module indicator.
33988         * modules/stdio (Makefile.am): Work with new indicators.
33989         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
33990         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
33991         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33992         * lib/getdelim.h: Delete.
33993         * lib/getline.h: Delete.
33994         * lib/stdio_.h (getdelim, getline): Declare.
33995         * modules/getdelim-tests: New module.
33996         * modules/getline-tests: Likewise.
33997         * tests/test-getdelim.c: New file.
33998         * tests/test-getline.c: Likewise.
33999         * NEWS: Document the change.
34000         * lib/getline.c: Update choice of header.
34001         * lib/csharpcomp.c: Likewise.
34002         * lib/getpass.c: Likewise.
34003         * lib/javacomp.c: Likewise.
34004         * lib/javaversion.c: Likewise.
34005         * lib/yesno.c: Likewise.
34006         * lib/getdelim.c: Likewise.
34007         (getdelim): Set errno on failure, and avoid memory leak.
34008
34009 2007-08-19  Bruno Haible  <bruno@clisp.org>
34010
34011         * modules/closein (Depends-on): Add freadahead.
34012         * lib/closein.c: Include freadahead.h.
34013         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
34014         is zero.
34015
34016 2007-08-19  Bruno Haible  <bruno@clisp.org>
34017
34018         * modules/freadahead-tests: New file.
34019         * tests/test-freadahead.sh: New file.
34020         * tests/test-freadahead.c: New file.
34021
34022         * modules/freadahead: New file.
34023         * lib/freadahead.h: New file.
34024         * lib/freadahead.c: New file.
34025         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
34026         fbufmode, fpurge, freadable, fwritable.
34027
34028 2007-08-19  Eric Blake  <ebb9@byu.net>
34029
34030         Test yesno in combination with closein.
34031         * lib/yesno.c (yesno): Document use of stdin.
34032         * modules/yesno-tests (Files): New module.
34033         * tests/test-yesno.c (main): New file.
34034         * tests/test-yesno.sh: Likewise.
34035
34036 2007-08-19  Bruno Haible  <bruno@clisp.org>
34037
34038         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
34039         * lib/fseeko.c (rpl_fseeko): Likewise.
34040         * lib/fseterr.c (fseterr): Likewise.
34041
34042 2007-08-19  Bruno Haible  <bruno@clisp.org>
34043
34044         * tests/test-lseek.c (main): Disable a test for BeOS.
34045         * doc/functions/lseek.texi: Document the BeOS bug.
34046
34047 2007-08-19  Bruno Haible  <bruno@clisp.org>
34048             Eric Blake  <ebb9@byu.net>
34049
34050         * lib/lseek.c: Include <sys/stat.h>.
34051         (rpl_lseek): Add workaround code also for Unix platforms.
34052         Needed for BeOS.
34053         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
34054         * doc/functions/lseek.texi: Document BeOS definiency.
34055
34056 2007-08-18  Bruno Haible  <bruno@clisp.org>
34057
34058         * modules/fstrcmp-tests: New file.
34059         * tests/test-fstrcmp.c: New file.
34060
34061 2007-08-18  Bruno Haible  <bruno@clisp.org>
34062
34063         * modules/fstrcmp: New file, from GNU gettext with modifications.
34064         * lib/fstrcmp.h: New file, from GNU gettext.
34065         * lib/fstrcmp.c: New file, from GNU gettext.
34066         * MODULES.html.sh (String handling): Add fstrcmp.
34067
34068 2007-08-18  Bruno Haible  <bruno@clisp.org>
34069
34070         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
34071         'bool'.
34072         (diag, compareseq): Remove const from the ctxt argument.
34073         (USE_HEURISTIC): Undefine at the end.
34074
34075 2007-08-18  Jim Meyering  <jim@meyering.net>
34076
34077         New file: lib/idcache.h
34078         * NEWS: Mention the addition.
34079         * modules/idcache (Files): Add lib/idcache.h
34080         * lib/idcache.c: Include "idcache.h".
34081         Don't include <sys/types.h>.
34082         Add a FIXME comment.
34083         Move file-scoped "static" declarations to the top.
34084         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
34085
34086 2007-08-17  Bruno Haible  <bruno@clisp.org>
34087         and Paul Eggert  <eggert@cs.ucla.edu>
34088
34089         * MODULES.html.sh: Add diffseq.
34090         * modules/diffseq: New file.
34091         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
34092         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
34093
34094 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
34095
34096         Import changes from coreutils for bootstrap script.
34097
34098         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
34099
34100         * build-aux/bootstrap (slurp): Work even in environments where
34101         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
34102         current code does not slurp files whose names start with ".", and
34103         this looks like it might be a troublesome area.
34104
34105         2007-07-11  Jim Meyering  <jim@meyering.net>
34106
34107         If there's a GPL vN copyright comment, require that N == 3.
34108
34109         2007-07-08  Jim Meyering  <jim@meyering.net>
34110
34111         Run the coreutils-specific code only if tests/Makefile.am.in exists.
34112         * build-aux/bootstrap (mam_template): Move definition out of loop.
34113
34114         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
34115
34116         * build-aux/bootstrap (symlink_to_dir): Rename function from
34117         symlink_to_gnulib.  Add a directory parameter.  Update all
34118         callers.
34119         (cp_mark_as_generated): Also check for -- and link to -- files in
34120         gl/.
34121
34122         2007-07-08  Jim Meyering  <jim@meyering.net>
34123
34124         Adapt to deeper hierarchy in gnulib.
34125         * build-aux/bootstrap (symlink_to_dir): If the destination
34126         directory doesn't exist, create it. This is required at least for
34127         "lib/uniwidth/cjk.h".
34128
34129         2007-05-15  Jim Meyering  <jim@meyering.net>
34130
34131         * build-aux/bootstrap: Now that generated Makefile.am files
34132         are no longer under version control, they must be created at
34133         bootstrap time.
34134
34135 2007-08-14  Ben Pfaff  <blp@gnu.org>
34136
34137         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
34138
34139 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
34140
34141         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
34142         given the changes below.
34143         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
34144         even on hosts that have padding bits beyond the supported 64.
34145
34146 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34147
34148         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
34149         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
34150         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
34151         depends on it.
34152         (xstrtol_error): Remove.
34153         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
34154         but with a different signature.
34155         (ATTRIBUTE_NORETURN, __attribute__): New macros.
34156         * lib/xstrtol-error.c: Include exitfail.h.
34157         (xstrtol_fatal): New function, with a different signature from the
34158         old xstrtol_error, so that the caller need not worry about passing
34159         in an exit status, or about storage management of the option argument.
34160         (xstrtol_error): Now a static function.  Redo signature to
34161         implement xstrtol_fatal.  Output the correct number of hyphens in
34162         front of the option so that the caller need not worry about
34163         storage management.
34164         (N_): New macro.
34165         (_): Remove; not used now.
34166         * modules/xstrtol: Depend on getopt.
34167         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
34168         of old STRTOL_FATAL_ERROR macro.
34169         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
34170         of test program.
34171         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
34172         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
34173
34174 2007-08-08  Eric Blake  <ebb9@byu.net>
34175
34176         * lib/xstrtol-error.c: Add missing include.
34177
34178         Move xstrtol messages into gnulib domain, when --pobase is used.
34179         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
34180         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
34181         * modules/xstrtol (Files): Distribute new file.
34182         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
34183         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
34184         * tests/test-xstrtol.c: ...into new file.
34185         * tests/test-xstrtoul.c: Also test xstrtoul.
34186         * tests/test-xstrtoimax.c: Also test xstrtoimax.
34187         * tests/test-xstrtoumax.c: Also test xstrtoumax.
34188         * tests/test-xstrtol.sh: Drive the tests.
34189         * tests/test-xstrtoimax.sh: Likewise.
34190         * tests/test-xstrtoumax.sh: Likewise.
34191         * modules/xstrtol-tests: New module.
34192         * modules/xstrtoimax-tests: Likewise.
34193         * modules/xstrtoumax-tests: Likewise.
34194
34195 2007-08-08  Jim Meyering  <jim@meyering.net>
34196
34197         New function: mfile_name_concat.
34198         * lib/filenamecat.c (mfile_name_concat): New function, just like
34199         file_name_concat, but return NULL upon failure rather than exiting
34200         with a diagnostic.
34201         * lib/filenamecat.h: Declare it.
34202
34203 2007-08-07  Bruno Haible  <bruno@clisp.org>
34204
34205         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
34206         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
34207         warning from gcc.
34208         Reported by Eric Blake.
34209
34210 2007-08-07  Simon Josefsson  <simon@josefsson.org>
34211
34212         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
34213         * modules/crypto/arcfour (License): Likewise.
34214         * modules/crypto/des-tests (License): Likewise.
34215         * modules/crypto/gc-arctwo-tests (License): Likewise.
34216         * modules/crypto/gc-des-tests (License): Likewise.
34217         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
34218         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
34219         * modules/crypto/gc-md2-tests (License): Likewise.
34220         * modules/crypto/gc-md4-tests (License): Likewise.
34221         * modules/crypto/gc-md5-tests (License): Likewise.
34222         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
34223         * modules/crypto/gc-rijndael-tests (License): Likewise.
34224         * modules/crypto/gc-sha1-tests (License): Likewise.
34225         * modules/crypto/gc-tests (License): Likewise.
34226         * modules/crypto/hmac-md5 (License): Likewise.
34227         * modules/crypto/hmac-sha1 (License): Likewise.
34228         * modules/crypto/md2-tests (License): Likewise.
34229         * modules/crypto/md4-tests (License): Likewise.
34230         * modules/crypto/md5 (License): Likewise.
34231         * modules/crypto/rijndael (License): Likewise.
34232         * modules/crypto/sha1 (License): Likewise.
34233         * modules/memxor (License): Likewise.
34234
34235 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
34236         and Bruno Haible  <bruno@clisp.org>
34237
34238         * NEWS: Describe interface changes to human, xstrtol.
34239         * lib/human.h: Include <xstrtol.h>.
34240         (human_options): Return enum strtol_error, not int.  Remove
34241         bool arg; take int * instead.
34242         * lib/human.c: Don't include "gettext.h".
34243         (_): Remove; no longer used.
34244         Don't include <xstrtol.h>, since human.h does it.
34245         (human_options): Adjust to abovementioned interface changes.
34246         Do not report error to stderr; that's now the caller's
34247         responsibility.
34248         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
34249         interface change.
34250         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
34251         Str, Argument_type_string.  All uses changed.  Put " argument"
34252         in diagnostics to make them clearer.  Change wording of suffix
34253         message for clarity.
34254         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
34255         Argument_type_string.
34256         (STRTOL_FATAL_WARN): Remove; no longer used.
34257         * modules/human (Depends-on): Remove gettext-h.
34258
34259 2007-08-06  Simon Josefsson  <simon@josefsson.org>
34260
34261         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
34262
34263 2007-07-31  Bruno Haible  <bruno@clisp.org>
34264
34265         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
34266         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
34267         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
34268
34269 2007-07-31  Bruno Haible  <bruno@clisp.org>
34270
34271         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
34272         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
34273
34274 2007-07-30  Bruno Haible  <bruno@clisp.org>
34275
34276         * modules/base64 (License): Use the synonymous term "LGPLv2+".
34277         * modules/c-ctype (License): Likewise.
34278         * modules/c-strcase (License): Likewise.
34279         * modules/check-version (License): Likewise.
34280         * modules/iconv (License): Likewise.
34281         * modules/iconv_open (License): Likewise.
34282         * modules/read-file (License): Likewise.
34283         * modules/striconv (License): Likewise.
34284         * modules/strverscmp (License): Likewise.
34285         * modules/vasprintf (License): Likewise.
34286         * modules/crypto/des (License): Likewise.
34287         * modules/crypto/gc (License): Likewise.
34288         * modules/crypto/gc-arcfour (License): Likewise.
34289         * modules/crypto/gc-arctwo (License): Likewise.
34290         * modules/crypto/gc-des (License): Likewise.
34291         * modules/crypto/gc-hmac-md5 (License): Likewise.
34292         * modules/crypto/gc-hmac-sha1 (License): Likewise.
34293         * modules/crypto/gc-md2 (License): Likewise.
34294         * modules/crypto/gc-md4 (License): Likewise.
34295         * modules/crypto/gc-md5 (License): Likewise.
34296         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
34297         * modules/crypto/gc-random (License): Likewise.
34298         * modules/crypto/gc-rijndael (License): Likewise.
34299         * modules/crypto/gc-sha1 (License): Likewise.
34300         * modules/crypto/md2 (License): Likewise.
34301         * modules/crypto/md4 (License): Likewise.
34302
34303 2007-07-30  Jim Meyering  <jim@meyering.net>
34304
34305         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
34306         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
34307         it has valid stat data.  This bug would cause du not to count the
34308         sizes of inaccessible directories.
34309         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
34310         in <http://bugzilla.redhat.com/250077>.
34311
34312 2007-07-25  Peter O'Gorman  <peter@pogma.com>
34313             Bruno Haible  <bruno@clisp.org>
34314
34315         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
34316         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
34317         #include_next, gives a diagnostic about it, but reports no error in
34318         the exit code.
34319         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
34320
34321 2007-07-24  Ben Pfaff  <blp@gnu.org>
34322
34323         Improve name: "count-one-bits" is better than "popcount".
34324         * MODULES.html.sh: Update name.
34325         * lib/popcount.h: Renamed lib/count-one-bits.h.
34326         (popcount): Renamed count_one_bits.
34327         (popcountl): Renamed count_one_bits_l.
34328         (popcountll): Renamed count_one_bits_ll.
34329         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
34330         * modules/popcount: Renamed module/count-one-bits.
34331         * modules/popcount-tests: Renamed module/count-one-bits-tests.
34332         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
34333
34334 2007-07-23  Ben Pfaff  <blp@gnu.org>
34335
34336         * lib/popcount.h (popcount32): Reduce size of constants, to allow
34337         better code generation, and add U to large constants to avoid
34338         warnings, in non-GCC case.
34339         Suggested by Bruno Haible.
34340
34341 2007-07-23  Ben Pfaff  <blp@gnu.org>
34342
34343         * lib/popcount.h: Use verify_true instead of if...abort.
34344         * modules/popcount: Depend on verify module.
34345         Suggested by Jim Meyering.
34346
34347 2007-07-23  Bruno Haible  <bruno@clisp.org>
34348
34349         * gnulib-tool (func_import): Create a .cvsignore file also when the
34350         directory is not yet in CVS but the toplevel directory is. When
34351         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
34352         Reported by Karl Berry.
34353
34354 2007-07-22  Ben Pfaff  <blp@gnu.org>
34355
34356         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
34357         case.
34358         Suggested by Eric Blake.
34359
34360 2007-07-22  Ben Pfaff  <blp@gnu.org>
34361
34362         New module: popcount.
34363         * MODULES.html.sh: Add popcount.
34364         * modules/popcount: New file.
34365         * modules/popcount-tests: New file.
34366         * tests/test-popcount.c: New file.
34367         * lib/popcount.h: New file.
34368         * m4/popcount.m4: New file.
34369
34370 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
34371
34372         * build-aux/announce-gen: Update to GPLv3.
34373
34374         * build-aux/config.guess: Update from config.
34375
34376 2007-07-21  Bruno Haible  <bruno@clisp.org>
34377
34378         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
34379         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
34380
34381 2007-07-20  Jim Meyering  <jim@meyering.net>
34382
34383         * check-module: Diagnose a self-dependency.
34384
34385 2007-07-19  Bruno Haible  <bruno@clisp.org>
34386
34387         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
34388         empty.
34389         Reported by Eric Blake.
34390
34391 2007-07-18  Bruno Haible  <bruno@clisp.org>
34392
34393         * gnulib-tool: New options --po-base, --po-domain.
34394         (func_usage): Document them.
34395         (pobase, po_domain): New variables.
34396         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
34397         DEFAULT_TEXT_DOMAIN.
34398         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
34399         (func_import): Consider pobase and po_domain. Create a po/ directory.
34400         (func_create_testdir): Set pobase and po_domain to empty.
34401         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
34402         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
34403
34404 2007-07-18  Bruno Haible  <bruno@clisp.org>
34405
34406         * gnulib-tool (func_get_automake_snippet): Synthesize also an
34407         EXTRA_DIST augmentation for files in build-aux/.
34408
34409 2007-07-16  Bruno Haible  <bruno@clisp.org>
34410
34411         * modules/lseek (License): Use the synonymous term "LGPLv2+".
34412         * modules/getdelim (License): Likewise.
34413
34414 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34415
34416         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
34417         * modules/d-type (License): Likewise.
34418         * modules/extensions (License): Likewise.
34419         * modules/fnmatch (License): Likewise.
34420         * modules/fseeko (License): Likewise.
34421         * modules/getaddrinfo (License): Likewise.
34422         * modules/getline (License): Likewise.
34423         * modules/getlogin_r (License): Likewise.
34424         * modules/getpass (License): Likewise.
34425         * modules/gettimeofday (License): Likewise.
34426         * modules/glob (License): Likewise.
34427         * modules/inet_ntop (License): Likewise.
34428         * modules/malloc (License): Likewise.
34429         * modules/malloca (License): Likewise.
34430         * modules/memmem (License): Likewise.
34431         * modules/mempcpy (License): Likewise.
34432         * modules/memset (License): Likewise.
34433         * modules/minmax (License): Likewise.
34434         * modules/mktime (License): Likewise.
34435         * modules/netinet_in (License): Likewise.
34436         * modules/pathmax (License): Likewise.
34437         * modules/poll (License): Likewise.
34438         * modules/regex (License): Likewise.
34439         * modules/snprintf (License): Likewise.
34440         * modules/stdbool (License): Likewise.
34441         * modules/stdint (License): Likewise.
34442         * modules/stdio (License): Likewise.
34443         * modules/strcase (License): Likewise.
34444         * modules/strcasestr (License): Likewise.
34445         * modules/strdup (License): Likewise.
34446         * modules/string (License): Likewise.
34447         * modules/strndup (License): Likewise.
34448         * modules/strnlen (License): Likewise.
34449         * modules/strpbrk (License): Likewise.
34450         * modules/strptime (License): Likewise.
34451         * modules/strsep (License): Likewise.
34452         * modules/sys_select (License): Likewise.
34453         * modules/sys_socket (License): Likewise.
34454         * modules/sys_stat (License): Likewise.
34455         * modules/sys_time (License): Likewise.
34456         * modules/time (License): Likewise.
34457         * modules/time_r (License): Likewise.
34458         * modules/timegm (License): Likewise.
34459         * modules/unistd (License): Likewise.
34460         * modules/vsnprintf (License): Likewise.
34461         * modules/wctype (License): Likewise.
34462
34463 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34464
34465         * modules/argz (License): LGPLv2+.
34466
34467 2007-07-15  Karl Berry  <karl@gnu.org>
34468
34469         * doc/gnulib.texi: revise node structure per new fdl.texi.
34470
34471 2007-07-14  Bruno Haible  <bruno@clisp.org>
34472
34473         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
34474         the output file.
34475         * lib/uniname/uninames.h: Regenerated.
34476
34477 2007-07-14  Karl Berry  <karl@gnu.org>
34478
34479         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
34480         omitting sectioning and index commands.
34481
34482 2007-07-13  Bruno Haible  <bruno@clisp.org>
34483
34484         New gnulib-tool option --more-symlinks.
34485         * gnulib-tool (func_usage): Document --more-symlinks.
34486         (do_copyrights): New variable.
34487         Recognize option --more-symlinks.
34488         (func_import): Don't add a copyright notice transform to
34489         sed_transform_lib_file if do_copyrights is empty.
34490
34491 2007-07-13  Bruno Haible  <bruno@clisp.org>
34492
34493         * lib/vasnprintf.c (decimal_point_char): Define also if
34494         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
34495         && !NEED_PRINTF_DIRECTIVE_A.
34496         Reported by Clemens Koller <clemens.koller@anagramm.de> via
34497         Gary V. Vaughan <gary@gnu.org>.
34498
34499 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
34500
34501         * lib/inttypes_.h: Undo previous change, since it was fixed
34502         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
34503
34504 2007-07-13  Bruno Haible  <bruno@clisp.org>
34505
34506         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
34507         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
34508
34509 2007-07-13  Jim Meyering  <jim@meyering.net>
34510
34511         df: Don't fail for Tru64's "file-on-file mount".
34512         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
34513         so we fall through and use statfs instead.  Details here:
34514         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
34515         Reported by Albert Chin.
34516
34517 2007-07-13  Bruno Haible  <bruno@clisp.org>
34518
34519         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
34520         * modules/configmake (License): Likewise.
34521         * modules/gettext (License): Likewise.
34522         * modules/gettext-h (License): Likewise.
34523         * modules/include_next (License): Likewise.
34524         * modules/link-warning (License): Likewise.
34525         * modules/localcharset (License): Likewise.
34526         * modules/localename (License): Likewise.
34527         * modules/lock (License): Likewise.
34528         * modules/relocatable-lib-lgpl (License): Likewise.
34529         * modules/size_max (License): Likewise.
34530         * modules/vasnprintf (License): Likewise.
34531         * modules/wchar (License): Likewise.
34532         * modules/xsize (License): Likewise.
34533
34534 2007-07-13  Bruno Haible  <bruno@clisp.org>
34535
34536         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
34537         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
34538
34539 2007-07-12  Bruno Haible  <bruno@clisp.org>
34540
34541         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
34542         in the modules files.
34543
34544 2007-07-11  Karl Berry  <karl@gnu.org>
34545
34546         * MODULES.html.sh (func_module): use
34547          sed -e '\|^'"${includefile}"'$|d'
34548          instead of /.../d, to avoid errors on $includefile's containing /.
34549
34550 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
34551
34552         * gnulib-tool (func_import): Avoid duplication of --avoid
34553         statements
34554         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
34555         names to `_' in variable names.
34556
34557 2007-07-10  Eric Blake  <ebb9@byu.net>
34558
34559         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
34560         * NEWS: Document this change.
34561
34562 2007-07-08  Bruno Haible  <bruno@clisp.org>
34563
34564         Update to Unicode 5.0.
34565         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
34566         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
34567         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
34568         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
34569         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
34570         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
34571         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
34572         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
34573         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
34574         U+10A3F, U+1D242..U+1D244.
34575         (nonspacing_table_ind): Update.
34576         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
34577         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
34578
34579 2007-07-08  Bruno Haible  <bruno@clisp.org>
34580
34581         Update to Unicode 5.0.
34582         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
34583         code transform. Extend the name index field of unicode_name_to_code and
34584         unicode_code_to_name from 16 to 24 bits.
34585         * lib/uniname/uniname.c (unicode_character_name,
34586         unicode_name_character): Add the range 0x12xxx to the code transform.
34587         * lib/uniname/uninames.h: Regenerated.
34588         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
34589
34590 2007-07-07  Bruno Haible  <bruno@clisp.org>
34591
34592         * modules/wcwidth-tests: New file.
34593         * tests/test-wcwidth.c: New file.
34594
34595         Work around MacOS X wcwidth() bug.
34596         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
34597         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
34598         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
34599         original wcwidth in non-UTF-8 locales.
34600         * modules/wcwidth (Depends-on): Add localcharset, streq,
34601         uniwidth/width.
34602         * doc/functions/wcwidth.texi: Update.
34603
34604 2007-07-07  Bruno Haible  <bruno@clisp.org>
34605
34606         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
34607         (wcwidth): New declaration.
34608         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
34609         macros.
34610         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
34611         here. Prepare for creating <wchar.h> unconditionally.
34612         * modules/wchar (Depends-on): Add link-warning.
34613         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
34614         REPLACE_WCWIDTH, and GL_LINK_WARNING.
34615         * lib/wcwidth.h: Remove file.
34616         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
34617         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
34618         * modules/wcwidth (Files): Remove lib/wcwidth.h.
34619         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
34620         (Include): Replace wcwidth.h with <wchar.h>.
34621         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
34622         * lib/mbchar.h: Don't include wcwidth.h.
34623         * lib/mbswidth.c: Likewise.
34624         * NEWS: Mention the change.
34625
34626 2007-07-07  Bruno Haible  <bruno@clisp.org>
34627
34628         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
34629         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
34630         definition with an external declaration.
34631         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
34632         defined as a function. Remove AC_C_INLINE requirement.
34633         * modules/wcwidth (Files): Add lib/wcwidth.c.
34634         (Makefile.am): Remove redundant statement.
34635
34636 2007-07-07  Bruno Haible  <bruno@clisp.org>
34637
34638         * MODULES.html.sh (Unicode string functions): Add the new modules.
34639
34640         * tests/uniwidth/test-u32-strwidth.c: New file.
34641         * modules/uniwidth/u32-strwidth-tests: New file.
34642
34643         * lib/uniwidth/u32-strwidth.c: New file.
34644         * modules/uniwidth/u32-strwidth: New file.
34645
34646         * tests/uniwidth/test-u16-strwidth.c: New file.
34647         * modules/uniwidth/u16-strwidth-tests: New file.
34648
34649         * lib/uniwidth/u16-strwidth.c: New file.
34650         * modules/uniwidth/u16-strwidth: New file.
34651
34652         * tests/uniwidth/test-u8-strwidth.c: New file.
34653         * modules/uniwidth/u8-strwidth-tests: New file.
34654
34655         * lib/uniwidth/u8-strwidth.c: New file.
34656         * modules/uniwidth/u8-strwidth: New file.
34657
34658         * tests/uniwidth/test-u32-width.c: New file.
34659         * modules/uniwidth/u32-width-tests: New file.
34660
34661         * lib/uniwidth/u32-width.c: New file.
34662         * modules/uniwidth/u32-width: New file.
34663
34664         * tests/uniwidth/test-u16-width.c: New file.
34665         * modules/uniwidth/u16-width-tests: New file.
34666
34667         * lib/uniwidth/u16-width.c: New file.
34668         * modules/uniwidth/u16-width: New file.
34669
34670         * tests/uniwidth/test-u8-width.c: New file.
34671         * modules/uniwidth/u8-width-tests: New file.
34672
34673         * lib/uniwidth/u8-width.c: New file.
34674         * modules/uniwidth/u8-width: New file.
34675
34676         * tests/uniwidth/test-uc_width.c: New file.
34677         * modules/uniwidth/width-tests: New file.
34678
34679         * lib/uniwidth/width.c: New file, from GNU libiconv.
34680         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
34681         * modules/uniwidth/width: New file.
34682
34683         * lib/uniwidth.h: New file, from GNU libiconv.
34684         * modules/uniwidth/base: New file.
34685
34686 2007-07-07  Bruno Haible  <bruno@clisp.org>
34687
34688         * lib/uniname.h: New file, from GNU gettext.
34689         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
34690         * lib/uniname/uninames.h: New file, from GNU gettext.
34691         * lib/uniname/uniname.c: New file, from GNU gettext.
34692         * tests/uniname/test-uninames.sh: New file.
34693         * tests/uniname/test-uninames.c: New file, from GNU gettext.
34694         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
34695         * modules/uniname/base: New file.
34696         * modules/uniname/uniname: New file.
34697         * modules/uniname/uniname-tests: New file.
34698         * MODULES.html.sh (Unicode string functions): Add the new modules.
34699
34700 2007-07-06  Bruno Haible  <bruno@clisp.org>
34701
34702         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
34703
34704 2007-07-06  Bruno Haible  <bruno@clisp.org>
34705
34706         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
34707         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
34708         includes <cygwin/sys_time.h> which includes <sys/select.h> which
34709         include <sys/time.h>.
34710         Reported by Eric Blake.
34711
34712 2007-07-06  Eric Blake  <ebb9@byu.net>
34713
34714         Fix testing canonicalize on cygwin.
34715         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34716         Revert patch from 2007-06-19.
34717         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
34718         canonicalize module is also in use.
34719         * tests/test-canonicalize.c: New file.
34720         * tests/test-canonicalize.sh: Likewise.
34721         * modules/canonicalize-tests: Likewise.
34722
34723 2007-07-06  Jim Meyering  <jim@meyering.net>
34724
34725         * lib/getugroups.c (getugroups): Detect getgrent failure.
34726         Adjust comment to reflect reality: this function may return -1.
34727
34728 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34729
34730         * build-aux/bootstrap (TP_URL,get_translations): Update to use
34731         the new TP address.
34732         (usage): Fix typo
34733         (gnulib_mk): New variable.
34734
34735 2007-07-05  Jim Meyering  <jim@meyering.net>
34736
34737         Don't let endgrent clobber errno, no matter how improbable.
34738         * lib/getugroups.c (getugroups): Save and restore errno around
34739         endgrent call.
34740
34741         Close the group DB even when failing with 2^31 or more members.
34742         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
34743
34744 2007-07-04  Jim Meyering  <jim@meyering.net>
34745
34746         * lib/getugroups.h: New file.
34747         * lib/getugroups.c: Include "getugroups.h".
34748         Remove uses of "register" keyword.
34749         Move local variable, "cp", down into scope where used.
34750         Give "username" parameter the "const" attribute.
34751         * modules/getugroups (Files): Add lib/getugroups.h
34752
34753 2007-07-04  Karl Berry  <karl@gnu.org>
34754
34755         * MODULES.html.sh (func_all_modules): Complete rename of
34756         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
34757
34758 2007-07-02  Bruno Haible  <bruno@clisp.org>
34759
34760         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
34761         mode, when inttypes.h comes from gnulib.
34762         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
34763
34764 2007-07-02  Simon Josefsson  <simon@josefsson.org>
34765
34766         * NEWS: Mention lgpl module name change.
34767
34768         * modules/lgpl-2.1: Renamed from lgpl.
34769
34770         * NEWS: Mention gpl module name change.
34771
34772         * modules/gpl-3.0: New file, based on gpl-2.0.
34773
34774         * modules/gpl-2.0: Renamed from gpl.
34775
34776         * modules/gpl: Fix filename, doc/gpl.texi is now found at
34777         doc/gpl-2.0.texi.
34778
34779 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
34780
34781         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
34782         #define __STDC_LIMIT_MACROS temporarily while including
34783         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
34784         Problem reported by Joel E. Denny in
34785         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
34786
34787 2007-07-01  Bruno Haible  <bruno@clisp.org>
34788
34789         * lib/unistdio.h: New file.
34790         * lib/unistdio/u-asnprintf.h: New file.
34791         * lib/unistdio/u-asprintf.h: New file.
34792         * lib/unistdio/u-printf-args.c: New file.
34793         * lib/unistdio/u-printf-args.h: New file.
34794         * lib/unistdio/u-printf-parse.h: New file.
34795         * lib/unistdio/u-snprintf.h: New file.
34796         * lib/unistdio/u-sprintf.h: New file.
34797         * lib/unistdio/u-vasprintf.h: New file.
34798         * lib/unistdio/u-vsnprintf.h: New file.
34799         * lib/unistdio/u-vsprintf.h: New file.
34800         * lib/unistdio/ulc-asnprintf.c: New file.
34801         * lib/unistdio/ulc-asprintf.c: New file.
34802         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
34803         * lib/unistdio/ulc-printf-parse.c: New file.
34804         * lib/unistdio/ulc-snprintf.c: New file.
34805         * lib/unistdio/ulc-sprintf.c: New file.
34806         * lib/unistdio/ulc-vasnprintf.c: New file.
34807         * lib/unistdio/ulc-vasprintf.c: New file.
34808         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
34809         * lib/unistdio/ulc-vsnprintf.c: New file.
34810         * lib/unistdio/ulc-vsprintf.c: New file.
34811         * lib/unistdio/u8-asnprintf.c: New file.
34812         * lib/unistdio/u8-asprintf.c: New file.
34813         * lib/unistdio/u8-printf-parse.c: New file.
34814         * lib/unistdio/u8-snprintf.c: New file.
34815         * lib/unistdio/u8-sprintf.c: New file.
34816         * lib/unistdio/u8-vasnprintf.c: New file.
34817         * lib/unistdio/u8-vasprintf.c: New file.
34818         * lib/unistdio/u8-vsnprintf.c: New file.
34819         * lib/unistdio/u8-vsprintf.c: New file.
34820         * lib/unistdio/u8-u8-asnprintf.c: New file.
34821         * lib/unistdio/u8-u8-asprintf.c: New file.
34822         * lib/unistdio/u8-u8-snprintf.c: New file.
34823         * lib/unistdio/u8-u8-sprintf.c: New file.
34824         * lib/unistdio/u8-u8-vasnprintf.c: New file.
34825         * lib/unistdio/u8-u8-vasprintf.c: New file.
34826         * lib/unistdio/u8-u8-vsnprintf.c: New file.
34827         * lib/unistdio/u8-u8-vsprintf.c: New file.
34828         * lib/unistdio/u16-asnprintf.c: New file.
34829         * lib/unistdio/u16-asprintf.c: New file.
34830         * lib/unistdio/u16-printf-parse.c: New file.
34831         * lib/unistdio/u16-snprintf.c: New file.
34832         * lib/unistdio/u16-sprintf.c: New file.
34833         * lib/unistdio/u16-vasnprintf.c: New file.
34834         * lib/unistdio/u16-vasprintf.c: New file.
34835         * lib/unistdio/u16-vsnprintf.c: New file.
34836         * lib/unistdio/u16-vsprintf.c: New file.
34837         * lib/unistdio/u16-u16-asnprintf.c: New file.
34838         * lib/unistdio/u16-u16-asprintf.c: New file.
34839         * lib/unistdio/u16-u16-snprintf.c: New file.
34840         * lib/unistdio/u16-u16-sprintf.c: New file.
34841         * lib/unistdio/u16-u16-vasnprintf.c: New file.
34842         * lib/unistdio/u16-u16-vasprintf.c: New file.
34843         * lib/unistdio/u16-u16-vsnprintf.c: New file.
34844         * lib/unistdio/u16-u16-vsprintf.c: New file.
34845         * lib/unistdio/u32-asnprintf.c: New file.
34846         * lib/unistdio/u32-asprintf.c: New file.
34847         * lib/unistdio/u32-printf-parse.c: New file.
34848         * lib/unistdio/u32-snprintf.c: New file.
34849         * lib/unistdio/u32-sprintf.c: New file.
34850         * lib/unistdio/u32-vasnprintf.c: New file.
34851         * lib/unistdio/u32-vasprintf.c: New file.
34852         * lib/unistdio/u32-vsnprintf.c: New file.
34853         * lib/unistdio/u32-vsprintf.c: New file.
34854         * lib/unistdio/u32-u32-asnprintf.c: New file.
34855         * lib/unistdio/u32-u32-asprintf.c: New file.
34856         * lib/unistdio/u32-u32-snprintf.c: New file.
34857         * lib/unistdio/u32-u32-sprintf.c: New file.
34858         * lib/unistdio/u32-u32-vasnprintf.c: New file.
34859         * lib/unistdio/u32-u32-vasprintf.c: New file.
34860         * lib/unistdio/u32-u32-vsnprintf.c: New file.
34861         * lib/unistdio/u32-u32-vsprintf.c: New file.
34862         * tests/unistdio/test-ulc-asnprintf1.c: New file.
34863         * tests/unistdio/test-ulc-asnprintf1.h: New file.
34864         * tests/unistdio/test-ulc-printf1.h: New file.
34865         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
34866         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
34867         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
34868         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
34869         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
34870         * tests/unistdio/test-ulc-vasprintf1.c: New file.
34871         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
34872         * tests/unistdio/test-ulc-vsprintf1.c: New file.
34873         * tests/unistdio/test-u8-asnprintf1.c: New file.
34874         * tests/unistdio/test-u8-asnprintf1.h: New file.
34875         * tests/unistdio/test-u8-printf1.h: New file.
34876         * tests/unistdio/test-u8-vasnprintf1.c: New file.
34877         * tests/unistdio/test-u8-vasnprintf2.c: New file.
34878         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
34879         * tests/unistdio/test-u8-vasnprintf3.c: New file.
34880         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
34881         * tests/unistdio/test-u8-vasprintf1.c: New file.
34882         * tests/unistdio/test-u8-vsnprintf1.c: New file.
34883         * tests/unistdio/test-u8-vsprintf1.c: New file.
34884         * tests/unistdio/test-u16-asnprintf1.c: New file.
34885         * tests/unistdio/test-u16-asnprintf1.h: New file.
34886         * tests/unistdio/test-u16-printf1.h: New file.
34887         * tests/unistdio/test-u16-vasnprintf1.c: New file.
34888         * tests/unistdio/test-u16-vasnprintf2.c: New file.
34889         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
34890         * tests/unistdio/test-u16-vasnprintf3.c: New file.
34891         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
34892         * tests/unistdio/test-u16-vasprintf1.c: New file.
34893         * tests/unistdio/test-u16-vsnprintf1.c: New file.
34894         * tests/unistdio/test-u16-vsprintf1.c: New file.
34895         * tests/unistdio/test-u32-asnprintf1.c: New file.
34896         * tests/unistdio/test-u32-asnprintf1.h: New file.
34897         * tests/unistdio/test-u32-printf1.h: New file.
34898         * tests/unistdio/test-u32-vasnprintf1.c: New file.
34899         * tests/unistdio/test-u32-vasnprintf2.c: New file.
34900         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
34901         * tests/unistdio/test-u32-vasnprintf3.c: New file.
34902         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
34903         * tests/unistdio/test-u32-vasprintf1.c: New file.
34904         * tests/unistdio/test-u32-vsnprintf1.c: New file.
34905         * tests/unistdio/test-u32-vsprintf1.c: New file.
34906         * modules/unistdio/base: New file.
34907         * modules/unistdio/u-printf-args: New file.
34908         * modules/unistdio/ulc-asnprintf: New file.
34909         * modules/unistdio/ulc-asprintf: New file.
34910         * modules/unistdio/ulc-fprintf: New file.
34911         * modules/unistdio/ulc-printf-parse: New file.
34912         * modules/unistdio/ulc-snprintf: New file.
34913         * modules/unistdio/ulc-sprintf: New file.
34914         * modules/unistdio/ulc-vasnprintf: New file.
34915         * modules/unistdio/ulc-vasprintf: New file.
34916         * modules/unistdio/ulc-vfprintf: New file.
34917         * modules/unistdio/ulc-vsnprintf: New file.
34918         * modules/unistdio/ulc-vsprintf: New file.
34919         * modules/unistdio/u8-asnprintf: New file.
34920         * modules/unistdio/u8-asprintf: New file.
34921         * modules/unistdio/u8-printf-parse: New file.
34922         * modules/unistdio/u8-snprintf: New file.
34923         * modules/unistdio/u8-sprintf: New file.
34924         * modules/unistdio/u8-vasnprintf: New file.
34925         * modules/unistdio/u8-vasprintf: New file.
34926         * modules/unistdio/u8-vsnprintf: New file.
34927         * modules/unistdio/u8-vsprintf: New file.
34928         * modules/unistdio/u8-u8-asnprintf: New file.
34929         * modules/unistdio/u8-u8-asprintf: New file.
34930         * modules/unistdio/u8-u8-snprintf: New file.
34931         * modules/unistdio/u8-u8-sprintf: New file.
34932         * modules/unistdio/u8-u8-vasnprintf: New file.
34933         * modules/unistdio/u8-u8-vasprintf: New file.
34934         * modules/unistdio/u8-u8-vsnprintf: New file.
34935         * modules/unistdio/u8-u8-vsprintf: New file.
34936         * modules/unistdio/u16-asnprintf: New file.
34937         * modules/unistdio/u16-asprintf: New file.
34938         * modules/unistdio/u16-printf-parse: New file.
34939         * modules/unistdio/u16-snprintf: New file.
34940         * modules/unistdio/u16-sprintf: New file.
34941         * modules/unistdio/u16-vasnprintf: New file.
34942         * modules/unistdio/u16-vasprintf: New file.
34943         * modules/unistdio/u16-vsnprintf: New file.
34944         * modules/unistdio/u16-vsprintf: New file.
34945         * modules/unistdio/u16-u16-asnprintf: New file.
34946         * modules/unistdio/u16-u16-asprintf: New file.
34947         * modules/unistdio/u16-u16-snprintf: New file.
34948         * modules/unistdio/u16-u16-sprintf: New file.
34949         * modules/unistdio/u16-u16-vasnprintf: New file.
34950         * modules/unistdio/u16-u16-vasprintf: New file.
34951         * modules/unistdio/u16-u16-vsnprintf: New file.
34952         * modules/unistdio/u16-u16-vsprintf: New file.
34953         * modules/unistdio/u32-asnprintf: New file.
34954         * modules/unistdio/u32-asprintf: New file.
34955         * modules/unistdio/u32-printf-parse: New file.
34956         * modules/unistdio/u32-snprintf: New file.
34957         * modules/unistdio/u32-sprintf: New file.
34958         * modules/unistdio/u32-vasnprintf: New file.
34959         * modules/unistdio/u32-vasprintf: New file.
34960         * modules/unistdio/u32-vsnprintf: New file.
34961         * modules/unistdio/u32-vsprintf: New file.
34962         * modules/unistdio/u32-u32-asnprintf: New file.
34963         * modules/unistdio/u32-u32-asprintf: New file.
34964         * modules/unistdio/u32-u32-snprintf: New file.
34965         * modules/unistdio/u32-u32-sprintf: New file.
34966         * modules/unistdio/u32-u32-vasnprintf: New file.
34967         * modules/unistdio/u32-u32-vasprintf: New file.
34968         * modules/unistdio/u32-u32-vsnprintf: New file.
34969         * modules/unistdio/u32-u32-vsprintf: New file.
34970         * modules/unistdio/ulc-asnprintf-tests: New file.
34971         * modules/unistdio/ulc-vasnprintf-tests: New file.
34972         * modules/unistdio/ulc-vasprintf-tests: New file.
34973         * modules/unistdio/ulc-vsnprintf-tests: New file.
34974         * modules/unistdio/ulc-vsprintf-tests: New file.
34975         * modules/unistdio/u8-asnprintf-tests: New file.
34976         * modules/unistdio/u8-vasnprintf-tests: New file.
34977         * modules/unistdio/u8-vasprintf-tests: New file.
34978         * modules/unistdio/u8-vsnprintf-tests: New file.
34979         * modules/unistdio/u8-vsprintf-tests: New file.
34980         * modules/unistdio/u16-asnprintf-tests: New file.
34981         * modules/unistdio/u16-vasnprintf-tests: New file.
34982         * modules/unistdio/u16-vasprintf-tests: New file.
34983         * modules/unistdio/u16-vsnprintf-tests: New file.
34984         * modules/unistdio/u16-vsprintf-tests: New file.
34985         * modules/unistdio/u32-asnprintf-tests: New file.
34986         * modules/unistdio/u32-vasnprintf-tests: New file.
34987         * modules/unistdio/u32-vasprintf-tests: New file.
34988         * modules/unistdio/u32-vsnprintf-tests: New file.
34989         * modules/unistdio/u32-vsprintf-tests: New file.
34990         * MODULES.html.sh (Unicode string functions): Add the new modules.
34991
34992 2007-07-01  Bruno Haible  <bruno@clisp.org>
34993
34994         * lib/sprintf.c (sprintf): Limit the available length estimation,
34995         to avoid address wraparound.
34996         * lib/vsprintf.c (vsprintf): Likewise.
34997         * modules/sprintf-posix (Dependencies): Add stdint.
34998         * modules/vsprintf-posix (Dependencies): Likewise.
34999
35000 2007-07-01  Bruno Haible  <bruno@clisp.org>
35001
35002         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
35003         Windows PATH as well. Conservative double-quoting. Comments.
35004
35005 2007-07-01  Bruno Haible  <bruno@clisp.org>
35006             Eric Blake  <ebb9@byu.net>
35007             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35008
35009         * gnulib-tool (self_abspathname): Fix algorithm to cope with
35010         empty components in $PATH, denoting '.'.
35011
35012 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35013
35014         * gnulib-tool: Fix indentation.
35015         (func_create_megatestdir): Likewise.
35016         Report by Bruno Haible.
35017
35018 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35019
35020         Sync from Automake.
35021         * build-aux/gnupload: Fix shell portability issues with for loops.
35022         Report by Karl Berry.
35023
35024 2007-06-29  Simon Josefsson  <simon@josefsson.org>
35025
35026         * build-aux/maint.mk (POURL): Use translationproject.org.
35027
35028 2007-06-27  Simon Josefsson  <simon@josefsson.org>
35029             Bruno Haible  <bruno@clisp.org>
35030
35031         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
35032         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
35033         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
35034         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
35035         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
35036
35037 2007-06-27  Bruno Haible  <bruno@clisp.org>
35038
35039         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
35040         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
35041
35042 2007-06-26  Karl Berry  <karl@gnu.org>
35043
35044         * MODULES.html.sh: remove xreadlink-with-size.
35045
35046 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
35047
35048         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
35049         method that I hope also handles the double-include problem noted
35050         by Bruno Haible in
35051         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
35052
35053 2007-06-23  Bruno Haible  <bruno@clisp.org>
35054
35055         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35056         Don't let the 'mostlyclean' target fail if the last subdirectory could
35057         not be removed.
35058         Reported by Karl Berry.
35059
35060 2007-06-23  Bruno Haible  <bruno@clisp.org>
35061
35062         * gnulib-tool (echo): Add a speedier workaround for ksh.
35063         * tests/test-echo.sh: Likewise.
35064
35065 2007-06-23  Bruno Haible  <bruno@clisp.org>
35066
35067         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
35068         * tests/test-echo.sh: Likewise.
35069
35070 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35071
35072         * gnulib-tool (IFS): Initialize early, so we don't set it to
35073         empty later.
35074         (self_abspathname): Rewrite algorithm to set it, reindent.
35075         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
35076         (func_create_megatestdir): Merge some sed scripts.
35077
35078 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
35079
35080         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
35081         exposed by Sun Studio 11 cc on Solaris 8.
35082
35083 2007-06-22  Bruno Haible  <bruno@clisp.org>
35084
35085         * gnulib-tool (echo): Ensure the echo primitive does not interpret
35086         backslashes.
35087         * tests/test-echo.sh: New file.
35088
35089 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35090
35091         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
35092         simplify `sed_replace_build_aux' scripts, they are portable but
35093         echoing them with `echo' is not.
35094         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
35095
35096 2007-06-21  Karl Berry  <karl@gnu.org>
35097
35098         * config/srclist.txt: guess we can't handle the licenses via
35099         srclist at the moment.
35100
35101 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
35102
35103         * MODULES.html.sh: Add include_next.
35104         * modules/include_next: New file.
35105
35106 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
35107
35108         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
35109         INCLUDE_NEXT.
35110         (gl_CHECK_NEXT_HEADERS): New macro.
35111         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
35112         the obsolescent gl_ABSOLUTE_HEADER.
35113         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
35114         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
35115         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
35116         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35117         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
35118         * m4/math_h.m4 (gl_MATH_H): Likewise.
35119         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
35120         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35121         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
35122         * m4/stdint.m4 (gl_STDINT_H): Likewise.
35123         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
35124         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
35125         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
35126         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35127         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
35128         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
35129         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
35130         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35131         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
35132         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
35133         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35134         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35135         * m4/inttypes.m4 (gl_INTTYPES_H): Define
35136         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
35137         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
35138         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
35139         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
35140         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
35141         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
35142         * lib/float_.h: Likewise.
35143         * lib/inttypes_.h: Likewise.
35144         * lib/math_.h: Likewise.
35145         * lib/search_.h: Likewise.
35146         * lib/signal_.h: Likewise.
35147         * lib/stdint_.h: Likewise.
35148         * lib/stdio_.h: Likewise.
35149         * lib/stdlib_.h: Likewise.
35150         * lib/string_.h: Likewise.
35151         * lib/sys_stat_.h: Likewise.
35152         * lib/sys_time_.h: Likewise.
35153         * lib/time_.h: Likewise.
35154         * lib/unistd_.h: Likewise.
35155         * lib/wchar_.h: Likewise.
35156         * lib/wctype_.h: Likewise.
35157         * lib/dirent_.h: Likewise.
35158         * lib/iconv_.h: Likewise.
35159         * lib/locale_.h: Likewise.
35160         * lib/netinet_in_.h: Likewise.
35161         * lib/sys_select_.h: Likewise.
35162         * lib/sys_socket_.h: Likewise.
35163         * lib/sysexits_.h: Likewise.
35164         * modules/fcntl (Depends-on): Depend on include_next, not
35165         absolute_header.
35166         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
35167         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
35168         * modules/fchdir: Likewise.
35169         * modules/float: Likewise.
35170         * modules/iconv_open: Likewise.
35171         * modules/inttypes: Likewise.
35172         * modules/locale: Likewise.
35173         * modules/math: Likewise.
35174         * modules/netinet_in: Likewise.
35175         * modules/search: Likewise.
35176         * modules/signal: Likewise.
35177         * modules/stdint: Likewise.
35178         * modules/stdio: Likewise.
35179         * modules/stdlib: Likewise.
35180         * modules/string: Likewise.
35181         * modules/sys_select: Likewise.
35182         * modules/sys_socket: Likewise.
35183         * modules/sys_stat: Likewise.
35184         * modules/sys_time: Likewise.
35185         * modules/sysexits: Likewise.
35186         * modules/time: Likewise.
35187         * modules/unistd: Likewise.
35188         * modules/wchar: Likewise.
35189         * modules/wctype: Likewise.
35190         * modules/sys_stat: Change maintainer to "all".
35191         * modules/unistd: Likewise.
35192
35193 2007-06-20  Karl Berry  <karl@gnu.org>
35194
35195         * config/srclist.txt: track www changes in license files.
35196
35197 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
35198
35199         * build-aux/bootstrap: Remove stray dot.
35200         Make sure build_aux settings are honored when linking
35201         gnulib_extra_files.
35202
35203 2007-06-19  Eric Blake  <ebb9@byu.net>
35204
35205         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
35206         Allow compilation on cygwin.
35207
35208 2007-06-19  Jim Meyering  <jim@meyering.net>
35209
35210         xreadlink-with-size: Remove module.  No longer used.
35211         Ex-callers now use xreadlink or mreadlink-with-size.
35212         * modules/xreadlink-with-size: Remove module.
35213         * lib/xreadlink-with-size.c: Remove file.
35214         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
35215         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
35216         just before the function definition *is* accurate.
35217
35218         Eliminate one way canonicalize_filename_mode could exit.
35219         * lib/canonicalize.c (canonicalize_filename_mode):
35220         Use mreadlink_with_size, not xreadlink_with_size.
35221
35222 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
35223
35224         Detect porting problems to FreeBSD/arm, which has time_t wider than
35225         long int.  Original problem reported for GNU diff by Xin Li in
35226         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
35227         * modules/getdate (Depends-on): Add intprops, verify.
35228         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
35229         is an integer type no wider than long int.
35230
35231 2007-06-18  Jim Meyering  <jim@meyering.net>
35232
35233         New module: mreadlink-with-size.
35234         * MODULES.html.sh: Add mreadlink-with-size.
35235         * modules/mreadlink-with-size: New module
35236         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
35237         not xreadlink-with-size.
35238         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
35239
35240 2007-06-16  Bruno Haible  <bruno@clisp.org>
35241
35242         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
35243         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
35244         Reported by Gary V. Vaughan <gary@gnu.org>.
35245
35246 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35247
35248         Revamp lchown so that it lives in unistd.h where it belongs.
35249         * lib/lchown.h: Remove.
35250         * lib/dirchownmod.c: Don't include lib/lchown.h.
35251         * lib/fchownat.c: Likewise.
35252         * lib/openat.c: Likewise.
35253         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
35254         does not follow symlinks.
35255         (EOPNOTSUPP): Define if not defined.
35256         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
35257         is defined to 0.
35258         (lchown): New decl.
35259         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
35260         Do not check for lchown decl.
35261         Set REPLACE_LCHOWN.
35262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
35263         REPLACE_LCHOWN.
35264         * modules/chown: Make it clear it follows symlinks.
35265         * modules/lchown: Make it clear it doesn't follow symlinks.
35266         (Files): Remove lib/lchown.h
35267         (Depends-on): Add unistd.
35268         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
35269         (Include): Include <unistd.h>, not "lchown.h".
35270         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
35271         REPLACE_LCHOWN.
35272
35273 2007-06-15  Jim Meyering  <jim@meyering.net>
35274
35275         Change license (GPL to LGPL) of fsusage and dependents.
35276         * modules/fsusage (License): Change to LGPL.
35277         * modules/full-read (License): Likewise.
35278         * modules/full-write (License): Likewise.
35279         * modules/safe-read (License): Likewise.
35280         * modules/safe-write (License): Likewise.
35281
35282 2007-06-14  Ben Pfaff  <blp@gnu.org>
35283
35284         Missing part of allocsa -> malloca transition.
35285         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
35286         gl_MALLOCA.
35287
35288 2007-06-12  Bruno Haible  <bruno@clisp.org>
35289
35290         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
35291         to ia64, x86_64, i386.
35292         Reported by Eric Blake.
35293
35294 2007-06-12  Bruno Haible  <bruno@clisp.org>
35295
35296         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
35297         cross-compiling to x86_64.
35298
35299 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
35300
35301         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
35302         glitch reported by Ralf Wildenhues in
35303         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
35304
35305         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
35306         Vin Shelton.
35307
35308 2007-06-11  Bruno Haible  <bruno@clisp.org>
35309
35310         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
35311         replacement string.
35312         Reported by Eric Blake.
35313
35314 2007-06-10  Bruno Haible  <bruno@clisp.org>
35315
35316         Prepare vasnprintf code for use with Unicode strings.
35317         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
35318         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
35319         TYPE_U32_STRING.
35320         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
35321         a_u32_string variants.
35322         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
35323         * lib/printf-args.c: Don't include config.h and the specification
35324         header if PRINTF_FETCHARGS is already defined.
35325         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
35326         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
35327         TYPE_U16_STRING, TYPE_U32_STRING.
35328         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
35329         u16_directive, u16_directives, u32_directive, u32_directives): New
35330         types.
35331         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
35332         New declarations.
35333         * lib/printf-parse.c: Don't include config.h and the specification
35334         header if PRINTF_PARSE is already defined. Eliminate the set of
35335         parameters for WIDE_CHAR_VERSION; the user of this file must provide
35336         them now. Include c-ctype.h.
35337         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
35338         directive and CHAR_T_ONLY_ASCII.
35339         * lib/vasnprintf.c: Don't include config.h and the specification header
35340         if VASNPRINTF is already defined.
35341         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
35342         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
35343         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
35344         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
35345         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
35346         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
35347         code accordingly.
35348         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
35349         pad_ourselves also in this case, with the 'c' and 's' directives, and
35350         with a different notion of "width".
35351         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
35352
35353 2007-06-10  Bruno Haible  <bruno@clisp.org>
35354
35355         * modules/unistr/u32-mbsnlen: New file.
35356         * lib/unistr/u32-mbsnlen.c: New file.
35357
35358         * modules/unistr/u16-mbsnlen: New file.
35359         * lib/unistr/u16-mbsnlen.c: New file.
35360
35361         * modules/unistr/u8-mbsnlen: New file.
35362         * lib/unistr/u8-mbsnlen.c: New file.
35363
35364         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
35365         declarations.
35366
35367 2007-06-10  Bruno Haible  <bruno@clisp.org>
35368
35369         * lib/string_.h (mbsnlen): New declaration.
35370         * lib/mbsnlen.c: New file.
35371         * m4/mbsnlen.m4: New file.
35372         * modules/mbsnlen: New file.
35373         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
35374         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
35375         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
35376
35377 2007-06-10  Bruno Haible  <bruno@clisp.org>
35378
35379         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
35380
35381 2007-06-10  Bruno Haible  <bruno@clisp.org>
35382
35383         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
35384         * lib/mbuiter.h: Likewise.
35385
35386 2007-06-10  Bruno Haible  <bruno@clisp.org>
35387
35388         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
35389         declaration.
35390
35391 2007-06-10  Karl Berry  <karl@gnu.org>
35392
35393         * config/srclist.txt: remove gettext entries, Bruno prefers
35394         to update individually.
35395
35396 2007-06-10  Bruno Haible  <bruno@clisp.org>
35397
35398         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
35399         'maxlen'. Ensure only length + width bytes are allocated, not
35400         length + 1 + width.
35401
35402 2007-06-09  Bruno Haible  <bruno@clisp.org>
35403
35404         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
35405         (CHAR_T): Remove macro.
35406         (VASNPRINTF): Update.
35407
35408 2007-06-09  Bruno Haible  <bruno@clisp.org>
35409
35410         * MODULES.html.sh (Unicode string functions): Add the new modules.
35411
35412         * modules/uniconv/u32-conv-to-enc: New file.
35413         * lib/uniconv/u32-conv-to-enc.c: New file.
35414         * modules/uniconv/u32-conv-to-enc-tests: New file.
35415         * tests/uniconv/test-u32-conv-to-enc.c: New file.
35416
35417         * modules/uniconv/u16-conv-to-enc: New file.
35418         * lib/uniconv/u16-conv-to-enc.c: New file.
35419         * lib/uniconv/u-conv-to-enc.h: New file.
35420         * modules/uniconv/u16-conv-to-enc-tests: New file.
35421         * tests/uniconv/test-u16-conv-to-enc.c: New file.
35422
35423         * modules/uniconv/u8-conv-to-enc: New file.
35424         * lib/uniconv/u8-conv-to-enc.c: New file.
35425         * modules/uniconv/u8-conv-to-enc-tests: New file.
35426         * tests/uniconv/test-u8-conv-to-enc.c: New file.
35427
35428         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
35429         u32_conv_to_encoding): New declarations.
35430
35431 2007-06-09  Bruno Haible  <bruno@clisp.org>
35432
35433         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
35434
35435 2007-06-09  Bruno Haible  <bruno@clisp.org>
35436
35437         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
35438         * modules/malloca: Renamed from modules/allocsa, updated.
35439         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
35440         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
35441         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
35442         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
35443         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
35444         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
35445         * modules/xmalloca: Renamed from modules/xallocsa, updated.
35446         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
35447         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
35448         * modules/c-strcasestr (Depends-on): Update.
35449         * lib/c-strcasestr.c: Update.
35450         * modules/c-strstr (Depends-on): Update.
35451         * lib/c-strstr.c: Update.
35452         * modules/canonicalize-lgpl (Depends-on): Update.
35453         * lib/canonicalize-lgpl.c: Update.
35454         * modules/clean-temp (Depends-on): Update.
35455         * lib/clean-temp.c: Update.
35456         * modules/csharpcomp (Depends-on): Update.
35457         * lib/csharpcomp.c: Update.
35458         * modules/csharpexec (Depends-on): Update.
35459         * lib/csharpexec.c: Update.
35460         * modules/javacomp (Depends-on): Update.
35461         * lib/javacomp.c: Update.
35462         * modules/javaexec (Depends-on): Update.
35463         * lib/javaexec.c: Update.
35464         * modules/mbscasestr (Depends-on): Update.
35465         * lib/mbscasestr.c: Update.
35466         * modules/mbsstr (Depends-on): Update.
35467         * lib/mbsstr.c: Update.
35468         * modules/setenv (Depends-on): Update.
35469         * lib/setenv.c: Update.
35470         * modules/strcasestr (Depends-on): Update.
35471         * lib/strcasestr.c: Update.
35472         * modules/striconveha (Depends-on): Update.
35473         * lib/striconveha.c: Update.
35474         * modules/relocatable-prog-wrapper (Files): Update.
35475         * lib/relocwrapper.c: Update.
35476         * build-aux/install-reloc: Update.
35477         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
35478
35479 2007-06-08  Bruno Haible  <bruno@clisp.org>
35480
35481         Port to uClibc.
35482         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
35483         * lib/fpurge.c (fpurge): Likewise.
35484         * lib/freading.c (freading): Likewise.
35485         * lib/fseeko.c (rpl_fseeko): Likewise.
35486         * lib/fseterr.c (fseterr): Likewise.
35487         * lib/fwriting.c (fwriting): Likewise.
35488         * tests/test-fflush.c (main): Avoid a failure on uClibc.
35489
35490 2007-06-08  Bruno Haible  <bruno@clisp.org>
35491
35492         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
35493         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
35494         * modules/gettext (Files): Add m4/intlmacosx.m4.
35495
35496 2007-06-07  Bruno Haible  <bruno@clisp.org>
35497
35498         * modules/localename-tests: New file.
35499         * tests/test-localename.c: New file.
35500
35501         New module 'localename'.
35502         * lib/localename.h: New file.
35503         * lib/localename.c: New file, from GNU gettext.
35504         * m4/localename.m4: New file.
35505         * modules/localename: New file.
35506
35507 2007-06-07  Bruno Haible  <bruno@clisp.org>
35508
35509         Work around the lack of <wchar.h> on some builds of uClibc.
35510         * doc/headers/wchar.texi: Update.
35511         * lib/wchar_.h: Include <wchar.h> only if it exists.
35512         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
35513         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
35514         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
35515         doesn't exist.
35516         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
35517         * modules/mbfile (Depends-on): Add wchar.
35518         * modules/mbiter (Depends-on): Likewise.
35519         * modules/mbuiter (Depends-on): Likewise.
35520         Reported by Simon Josefsson.
35521
35522 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
35523
35524         Work around problem reported by Steven M. Schweda in
35525         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
35526         Tru64 5.1B with the Compaq compiler environment installed declares
35527         an 'isblank' function but does not define it in the C library.
35528         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
35529         * lib/regex_internal.h (isblank): Likewise.
35530         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
35531         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35532
35533 2007-06-05  Bruno Haible  <bruno@clisp.org>
35534
35535         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
35536         ia64.
35537         * modules/printf-safe: New file.
35538         * modules/fprintf-posix (Depends-on): Add printf-safe.
35539         * modules/printf-posix (Depends-on): Likewise.
35540         * modules/snprintf-posix (Depends-on): Likewise.
35541         * modules/sprintf-posix (Depends-on): Likewise.
35542         * modules/vasnprintf-posix (Depends-on): Likewise.
35543         * modules/vasprintf-posix (Depends-on): Likewise.
35544         * modules/vfprintf-posix (Depends-on): Likewise.
35545         * modules/vprintf-posix (Depends-on): Likewise.
35546         * modules/vsnprintf-posix (Depends-on): Likewise.
35547         * modules/vsprintf-posix (Depends-on): Likewise.
35548         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
35549         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
35550         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
35551         "no" on i386, x86_64, ia64.
35552         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
35553         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35554         on i386, x86_64, ia64.
35555         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
35556         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35557         on i386, x86_64, ia64.
35558         * tests/test-vasnprintf-posix.c: Include float.h.
35559         (LDBL80_WORDS): New macro.
35560         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35561         on i386, x86_64, ia64.
35562         * tests/test-vasprintf-posix.c: Include float.h.
35563         (LDBL80_WORDS): New macro.
35564         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35565         on i386, x86_64, ia64.
35566         * tests/test-snprintf-posix.c: Include float.h.
35567         * tests/test-sprintf-posix.c: Likewise.
35568         * tests/test-vsnprintf-posix.c: Likewise.
35569         * tests/test-vsprintf-posix.c: Likewise.
35570
35571 2007-06-05  Bruno Haible  <bruno@clisp.org>
35572
35573         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
35574         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
35575         non-IEEE numbers on i386, x86_64, ia64.
35576         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
35577         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
35578         * tests/test-isnanl.h: Include float.h.
35579         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
35580
35581 2007-06-05  Bruno Haible  <bruno@clisp.org>
35582
35583         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
35584         also the %a / %A. Handle the %a / %A code before this extra handling.
35585
35586 2007-06-05  Bruno Haible  <bruno@clisp.org>
35587
35588         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
35589         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
35590
35591 2007-06-05  Bruno Haible  <bruno@clisp.org>
35592
35593         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
35594         typo in variable name.
35595
35596 2007-06-05  Eric Blake  <ebb9@byu.net>
35597
35598         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
35599         Reported by Simon Josefsson.
35600
35601 2007-06-04  Bruno Haible  <bruno@clisp.org>
35602
35603         Avoid test failures on some PowerPC platforms.
35604         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
35605         Define differently for PowerPC.
35606         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
35607         Reported by Gary V. Vaughan <gary@gnu.org>.
35608
35609 2007-06-02  Bruno Haible  <bruno@clisp.org>
35610
35611         Fix test-stdint failure on FreeBSD/ia64.
35612         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
35613         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
35614         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
35615         * doc/headers/stdint.texi: Update.
35616
35617 2007-06-01  Bruno Haible  <bruno@clisp.org>
35618
35619         * tests/test-binary-io.c (main): Pass a third argument to open().
35620         Reported by Gary V. Vaughan <gary@gnu.org>.
35621
35622 2007-06-01  Bruno Haible  <bruno@clisp.org>
35623
35624         * doc/functions/frexpl.texi: Update for mingw.
35625
35626 2007-06-01  Bruno Haible  <bruno@clisp.org>
35627
35628         * tests/test-lseek.c (main): Disable test of errno for invalid third
35629         argument.
35630         * doc/functions/lseek.texi: Update.
35631         Reported by Gary V. Vaughan <gary@gnu.org>.
35632
35633 2007-05-28  Bruno Haible  <bruno@clisp.org>
35634
35635         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
35636
35637 2007-05-31  Eric Blake  <ebb9@byu.net>
35638
35639         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
35640         cross compiling.
35641
35642 2007-05-30  Eric Blake  <ebb9@byu.net>
35643         and Bruno Haible  <bruno@clisp.org>
35644
35645         Work around mingw test failures exposed by m4-1.4.9b.
35646         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
35647         * tests/test-unistd.c: Disable uid_t and git_t tests for the
35648         moment.
35649
35650 2007-05-30  Bruno Haible  <bruno@clisp.org>
35651
35652         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
35653         assuming that they are closed. Needed on HP-UX 11.
35654
35655 2007-05-29  Bruno Haible  <bruno@clisp.org>
35656
35657         Fix a problem with #include_next.
35658         * lib/dirent_.h: Split the double-inclusion guard.
35659         * lib/fcntl_.h: Likewise.
35660         * lib/float_.h: Likewise.
35661         * lib/iconv_.h: Likewise.
35662         * lib/inttypes_.h: Likewise.
35663         * lib/locale_.h: Likewise.
35664         * lib/math_.h: Likewise.
35665         * lib/netinet_in_.h: Likewise.
35666         * lib/search_.h: Likewise.
35667         * lib/signal_.h: Likewise.
35668         * lib/stdint_.h: Likewise.
35669         * lib/stdio_.h: Likewise.
35670         * lib/stdlib_.h: Likewise.
35671         * lib/string_.h: Likewise.
35672         * lib/sys_select_.h: Likewise.
35673         * lib/sys_socket_.h: Likewise.
35674         * lib/sys_stat_.h: Likewise.
35675         * lib/sys_time_.h: Likewise.
35676         * lib/sysexits_.h: Likewise.
35677         * lib/time_.h: Likewise.
35678         * lib/unistd_.h: Likewise.
35679         * lib/wchar_.h: Likewise.
35680         * lib/wctype_.h: Likewise.
35681
35682 2007-05-29  Bruno Haible  <bruno@clisp.org>
35683
35684         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
35685         for the moment.
35686
35687 2007-05-29  Bruno Haible  <bruno@clisp.org>
35688
35689         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
35690         invocation.
35691         Reported by Eric Blake.
35692
35693 2007-05-29  Bruno Haible  <bruno@clisp.org>
35694
35695         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
35696         compiling case.
35697
35698 2007-05-29  Eric Blake  <ebb9@byu.net>
35699             Bruno Haible  <bruno@clisp.org>
35700
35701         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
35702         cross compiles.
35703
35704 2007-05-28  Eric Blake  <ebb9@byu.net>
35705
35706         * modules/closein-tests (test_closein_LDADD): Support test on
35707         cygwin with libtool.
35708
35709 2007-05-28  Bruno Haible  <bruno@clisp.org>
35710
35711         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
35712         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35713         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35714         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35715         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35716         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35717         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35718         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35719         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35720
35721 2007-05-28  Eric Blake  <ebb9@byu.net>
35722
35723         Unconditionally include <config.h> in unit tests.
35724         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
35725         * tests/test-allocsa.c, tests/test-arcfour.c,
35726         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
35727         tests/test-array_list.c, tests/test-array_oset.c,
35728         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
35729         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
35730         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
35731         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
35732         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
35733         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
35734         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
35735         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
35736         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
35737         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
35738         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
35739         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
35740         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
35741         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
35742         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
35743         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
35744         test-md5.c, test-memmem.c, test-printf-posix.c,
35745         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
35746         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
35747         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
35748         test-strcasestr.c, test-striconv.c, test-striconveh.c,
35749         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
35750         test-vasnprintf-posix2.c, test-vasnprintf.c,
35751         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
35752         test-vfprintf-posix.c, test-vprintf-posix.c,
35753         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
35754         test-xvasprintf.c: Likewise.
35755
35756 2007-05-28  Bruno Haible  <bruno@clisp.org>
35757
35758         * gnulib-tool (func_import): Remember the --with-tests command-line
35759         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
35760         Reported by Eric Blake.
35761
35762 2007-05-28  Bruno Haible  <bruno@clisp.org>
35763
35764         * modules/ftell-tests: New file.
35765         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
35766         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
35767
35768         * lib/ftell.c: New file.
35769         * modules/ftell: New file.
35770         * m4/ftell.m4: New file.
35771         * doc/functions/ftell.texi: Update.
35772         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
35773         REPLACE_FTELL.
35774         * lib/stdio_.h (rpl_ftell): New declaration.
35775         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
35776         REPLACE_FTELL.
35777
35778 2007-05-28  Eric Blake  <ebb9@byu.net>
35779
35780         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
35781
35782 2007-05-28  Bruno Haible  <bruno@clisp.org>
35783
35784         * modules/fseek-tests: New file.
35785         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
35786         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
35787
35788         * lib/fseek.c: New file.
35789         * modules/fseek: New file.
35790         * m4/fseek.m4: New file.
35791         * doc/functions/fseek.texi: Update.
35792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
35793         REPLACE_FSEEK.
35794         * lib/stdio_.h (rpl_fseek): New declaration.
35795         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
35796         REPLACE_FSEEK.
35797
35798 2007-05-28  Bruno Haible  <bruno@clisp.org>
35799
35800         * lib/stdio_.h (fflush): More comments.
35801
35802 2007-05-28  Bruno Haible  <bruno@clisp.org>
35803
35804         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
35805         runtime test.
35806
35807 2007-05-28  Eric Blake  <ebb9@byu.net>
35808
35809         Improve lseek module.
35810         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
35811         * lib/unistd_.h (lseek): Scale back link warning message.
35812         * tests/test-lseek.c: Beef up test.
35813         * tests/test-lseek.sh: Exercise more facets of lseek.
35814         Reported by Bruno Haible.
35815
35816 2007-05-28  Bruno Haible  <bruno@clisp.org>
35817
35818         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
35819         to define.
35820
35821 2007-05-27  Bruno Haible  <bruno@clisp.org>
35822
35823         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
35824
35825 2007-05-27  Bruno Haible  <bruno@clisp.org>
35826
35827         * modules/openmp: New file.
35828         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
35829         Noah Misch.
35830
35831 2007-05-26  Bruno Haible  <bruno@clisp.org>
35832
35833         * modules/chdir-long (Depends-on): Add fchdir.
35834         * modules/chdir-safer (Depends-on): Likewise.
35835         * modules/fts (Depends-on): Likewise.
35836         * modules/fts-lgpl (Depends-on): Likewise.
35837         * modules/openat (Depends-on): Likewise.
35838         * modules/savewd (Depends-on): Likewise.
35839
35840 2007-05-24  Eric Blake  <ebb9@byu.net>
35841
35842         Fix lseek on mingw.
35843         * modules/lseek: New module.
35844         * m4/lseek.m4: New file.
35845         * lib/lseek.c: New file.
35846         * modules/lseek-tests: New file.
35847         * tests/test-lseek.c: New file.
35848         * tests/test-lseek.sh: New file.
35849         * MODULES.html.sh: Document lseek module.
35850         * modules/fflush (Depends-on): Add lseek, fseeko.
35851         * modules/fseeko (Depends-on): Likewise.
35852         * modules/ftello (Depends-on): Likewise.
35853         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
35854         broken.
35855         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
35856         broken.
35857         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
35858         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
35859         * lib/ftello.c (rpl_ftello): Likewise.
35860         * tests/test-fseeko.c (main): Test this.
35861         * tests/test-fseeko.sh: Likewise.
35862         * tests/test-ftello.c (main): Likewise.
35863         * tests/test-ftello.sh: Likewise.
35864         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
35865         implies replacing fseek.
35866         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
35867         HAVE_FTELLO.
35868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
35869         * modules/unistd (Makefile.am): Likewise.
35870         * lib/unistd_.h (lseek): Declare a replacement.
35871         * doc/functions/lseek.texi (lseek): Document this fix.
35872         * doc/functions/fseek.texi (fseek): Likewise.
35873         * doc/functions/ftell.texi (ftell): Likewise.
35874
35875 2007-05-24  Bruno Haible  <bruno@clisp.org>
35876
35877         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
35878         in the printed representation of a NaN.
35879         * tests/test-vasprintf-posix.c (test_function): Likewise.
35880         * tests/test-snprintf-posix.h (test_function): Likewise.
35881         * tests/test-sprintf-posix.h (test_function): Likewise.
35882         Reported by Eric Blake.
35883
35884 2007-05-23  Eric Blake  <ebb9@byu.net>
35885
35886         Fix fseeko/ftello on cygwin 1.5.24.
35887         * doc/functions/fseeko.texi (fseeko): Document the fix.
35888         * doc/functions/ftello.texi (ftello): Document the fix.
35889         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
35890         * doc/functions/stdout.text (stdout): New file.
35891         * doc/functions/stderr.text (stderr): New file.
35892         * doc/gnulib.texi (Function Substitutes): Use new files.
35893         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
35894         prior to 1.7.0.
35895         * tests/test-ftello.c (main): Likewise for ftello.
35896         * tests/test-fseeko.sh: New file.
35897         * tests/test-ftello.sh: New file.
35898         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
35899         with seekable stdin.
35900         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
35901         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
35902         (gl_REPLACE_FSEEKO): New macro.
35903         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
35904         * modules/fseeko (Files): Distribute fseeko.c.
35905         * modules/ftello (Files): Distribute ftello.c.
35906         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
35907         mode.
35908         * lib/ftello.c (rpl_ftello): New file.
35909         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
35910         fseeko, ftello.
35911         (gl_STDIN_LARGE_OFFSET): New macro.
35912         * modules/stdio (Makefile.am): Perform the replacement.
35913         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
35914
35915 2007-05-23  Bruno Haible  <bruno@clisp.org>
35916
35917         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
35918         GNULIB_POSIXCHECK is defined.
35919
35920 2007-05-21  Bruno Haible  <bruno@clisp.org>
35921
35922         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
35923         Check also the output for NaN arguments. When cross-compiling, guess
35924         no on IRIX.
35925         * lib/vasnprintf.c: Update comments.
35926         * tests/test-vasnprintf-posix.c (strisnan): New function.
35927         (test_function): Use it.
35928         * tests/test-vasprintf-posix.c (strisnan): New function.
35929         (test_function): Use it.
35930         * tests/test-snprintf-posix.h (strisnan): New function.
35931         (test_function): Use it.
35932         * tests/test-sprintf-posix.h (strisnan): New function.
35933         (test_function): Use it.
35934         Reported by Eric Blake.
35935
35936 2007-05-20  Bruno Haible  <bruno@clisp.org>
35937
35938         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
35939         numbers that fails on BeOS.
35940         * doc/functions/frexpl.texi: Update.
35941
35942 2007-05-20  Jim Meyering  <jim@meyering.net>
35943
35944         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
35945         forced upon us by glibc-2.6.
35946
35947 2007-05-20  Bruno Haible  <bruno@clisp.org>
35948
35949         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
35950         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
35951         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
35952         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
35953         NEED_PRINTF_INFINITE.
35954         (is_infinitel): New function.
35955         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
35956         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
35957         gl_PREREQ_VASNPRINTF_INFINITE.
35958         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
35959         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35960         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
35961         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
35962         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
35963         gl_PREREQ_VASNPRINTF_INFINITE.
35964         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35965         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35966         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35967         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35968         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35969         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35970         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35971         * doc/functions/fprintf.texi: Update.
35972         * doc/functions/printf.texi: Update.
35973         * doc/functions/snprintf.texi: Update.
35974         * doc/functions/sprintf.texi: Update.
35975         * doc/functions/vfprintf.texi: Update.
35976         * doc/functions/vprintf.texi: Update.
35977         * doc/functions/vsnprintf.texi: Update.
35978         * doc/functions/vsprintf.texi: Update.
35979
35980 2007-05-20  Bruno Haible  <bruno@clisp.org>
35981
35982         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
35983         was not found in libc.
35984         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
35985
35986 2007-05-20  Bruno Haible  <bruno@clisp.org>
35987
35988         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35989         printed as "-nan" instead of "nan".
35990         * tests/test-vasprintf-posix.c (test_function): Likewise.
35991         * tests/test-snprintf-posix.h (test_function): Likewise.
35992         * tests/test-sprintf-posix.h (test_function): Likewise.
35993         Needed for HP-UX 11.
35994
35995 2007-05-20  Jim Meyering  <jim@meyering.net>
35996
35997         Fix buggy test for the fchownat-deref bug.
35998         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
35999         symlink required for the run-test.  Without it, this test would
36000         always declare that fchownat doesn't work, and client code would
36001         unnecessarily use the replacement function with fixed libc.
36002         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
36003         Reported by Greg Schafer.
36004
36005 2007-05-19  Bruno Haible  <bruno@clisp.org>
36006
36007         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
36008         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
36009         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
36010         Needed for IRIX 6.5 and Solaris 2.5.1.
36011
36012 2007-05-19  Bruno Haible  <bruno@clisp.org>
36013
36014         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
36015         (test_function): Skip tests involving -0.0 on platforms where
36016         -0.0 = 0.0.
36017         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
36018         (test_function): Skip tests involving -0.0 on platforms where
36019         -0.0 = 0.0.
36020         * tests/test-snprintf-posix.h (have_minus_zero): New function.
36021         (test_function): Skip tests involving -0.0 on platforms where
36022         -0.0 = 0.0.
36023         * tests/test-sprintf-posix.h (have_minus_zero): New function.
36024         (test_function): Skip tests involving -0.0 on platforms where
36025         -0.0 = 0.0.
36026         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
36027         tests.
36028         * tests/test-printf-posix.h (test_function): Likewise.
36029         * tests/test-printf-posix.output: Remove all -0.0 related results.
36030         Needed for IRIX 6.5.
36031
36032 2007-05-19  Bruno Haible  <bruno@clisp.org>
36033
36034         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
36035         printed as "nan0x7fffffff" instead of "nan".
36036         * tests/test-vasprintf-posix.c (test_function): Likewise.
36037         * tests/test-snprintf-posix.h (test_function): Likewise.
36038         * tests/test-sprintf-posix.h (test_function): Likewise.
36039         * tests/test-fprintf-posix.h (NaN): Remove macro.
36040         (test_function): Remove all NaN related tests.
36041         * tests/test-printf-posix.h (NaN): Remove macro.
36042         (test_function): Remove all NaN related tests.
36043         * tests/test-printf-posix.output: Remove all NaN related results.
36044         Needed for IRIX 6.5.
36045
36046 2007-05-19  Bruno Haible  <bruno@clisp.org>
36047
36048         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
36049         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
36050
36051 2007-05-19  Bruno Haible  <bruno@clisp.org>
36052
36053         * lib/float_.h: New file.
36054         * m4/float_h.m4: New file.
36055         * modules/float: New file.
36056         * modules/isnanl (Dependencies): Add float.
36057         * modules/isnanl-nolibm (Dependencies): Likewise.
36058         * modules/mathl (Dependencies): Likewise.
36059         * modules/printf-frexpl (Dependencies): Likewise.
36060         * modules/signbit (Dependencies): Likewise.
36061         * modules/vasnprintf (Dependencies): Likewise.
36062         * doc/headers/float.texi: Update.
36063
36064 2007-05-19  Jim Meyering  <jim@meyering.net>
36065
36066         * lib/utimens.c (gl_futimens): Rename from futimens,
36067         now that glibc-2.6 declares futimens.
36068         * lib/utimens.h: Likewise.
36069
36070 2007-05-19  Bruno Haible  <bruno@clisp.org>
36071
36072         Avoid test failures on mingw.
36073         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
36074         * tests/test-printf-posix.sh: Likewise.
36075         * tests/test-vfprintf-posix.sh: Likewise.
36076         * tests/test-vprintf-posix.sh: Likewise.
36077
36078 2007-05-19  Bruno Haible  <bruno@clisp.org>
36079
36080         Fix *printf result for NaN, Inf, -0.0 on mingw.
36081         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
36082         * lib/vasnprintf.c: Include math.h and isnan.h.
36083         (is_infinite_or_zero): New function.
36084         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
36085         values in the %f, %F, %e, %E, %g, %G directives.
36086         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
36087         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36088         gl_PRINTF_INFINITE and test its result. Invoke
36089         gl_PREREQ_VASNPRINTF_INFINITE.
36090         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36091         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36092         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36093         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36094         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36095         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36096         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36097         * doc/functions/fprintf.texi: Update.
36098         * doc/functions/printf.texi: Update.
36099         * doc/functions/snprintf.texi: Update.
36100         * doc/functions/sprintf.texi: Update.
36101         * doc/functions/vfprintf.texi: Update.
36102         * doc/functions/vprintf.texi: Update.
36103         * doc/functions/vsnprintf.texi: Update.
36104         * doc/functions/vsprintf.texi: Update.
36105
36106 2007-05-19  Bruno Haible  <bruno@clisp.org>
36107
36108         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
36109         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
36110         Instead of multiplying with 10^k, set extra_zeroes to k.
36111         (scale10_round_long_double): Remove function.
36112
36113 2007-05-18  Bruno Haible  <bruno@clisp.org>
36114
36115         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
36116         introduced on 2007-05-06.
36117
36118 2007-05-18  Bruno Haible  <bruno@clisp.org>
36119
36120         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
36121         %g directives.
36122         * tests/test-vasprintf-posix.c (test_function): Likewise.
36123         * tests/test-snprintf-posix.h (test_function): Likewise.
36124         * tests/test-sprintf-posix.h (test_function): Likewise.
36125
36126 2007-05-18  Bruno Haible  <bruno@clisp.org>
36127
36128         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
36129         (strmatch): New function.
36130         (test_function): Test the %f directive on numbers of various exponents.
36131         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
36132         (strmatch): New function.
36133         (test_function): Test the %f directive on numbers of various exponents.
36134         * tests/test-snprintf-posix.h (strmatch): New function.
36135         (test_function): Test the %f directive on numbers of various exponents.
36136         * tests/test-sprintf-posix.h (strmatch): New function.
36137         (test_function): Test the %f directive on numbers of various exponents.
36138         * tests/test-snprintf-posix.c (SIZEOF): New macro.
36139         * tests/test-sprintf-posix.c (SIZEOF): New macro.
36140         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
36141         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
36142
36143 2007-05-18  Bruno Haible  <bruno@clisp.org>
36144
36145         Add support for 'long double' number output.
36146         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
36147         * lib/vasnprintf.c: Include math.h and float+.h.
36148         (mp_limb_t): New type.
36149         (GMP_LIMB_BITS): New macro.
36150         (mp_twolimb_t): New type.
36151         (GMP_TWOLIMB_BITS): New macro.
36152         (mpn_t): New type.
36153         (multiply, divide, convert_to_decimal, decode_long_double,
36154         scale10_round_long_double, scale10_round_decimal_long_double,
36155         floorlog10l): New functions.
36156         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
36157         for the %f, %F, %e, %E, %g, %G directives.
36158         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
36159         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36160         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
36161         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
36162         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36163         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36164         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36165         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36166         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36167         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36168         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36169         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
36170         * modules/snprintf-posix (Depends-on): Likewise.
36171         * modules/sprintf-posix (Depends-on): Likewise.
36172         * modules/vasnprintf-posix (Depends-on): Likewise.
36173         * modules/vasprintf-posix (Depends-on): Likewise.
36174         * modules/vfprintf-posix (Depends-on): Likewise.
36175         * modules/vsnprintf-posix (Depends-on): Likewise.
36176         * modules/vsprintf-posix (Depends-on): Likewise.
36177         * modules/vasnprintf (Files): Add lib/float+.h.
36178         * doc/functions/fprintf.texi: Update.
36179         * doc/functions/printf.texi: Update.
36180         * doc/functions/snprintf.texi: Update.
36181         * doc/functions/sprintf.texi: Update.
36182         * doc/functions/vfprintf.texi: Update.
36183         * doc/functions/vprintf.texi: Update.
36184         * doc/functions/vsnprintf.texi: Update.
36185         * doc/functions/vsprintf.texi: Update.
36186
36187 2007-05-18  Bruno Haible  <bruno@clisp.org>
36188
36189         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
36190
36191 2007-05-18  Bruno Haible  <bruno@clisp.org>
36192
36193         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
36194         for printing 64-bit integers. Needed for mingw.
36195
36196 2007-05-18  Bruno Haible  <bruno@clisp.org>
36197
36198         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
36199         gl_FUNC_FREXPL_WORKS.
36200         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
36201
36202 2007-05-18  Bruno Haible  <bruno@clisp.org>
36203
36204         * modules/frexpl-nolibm-tests: New file.
36205
36206         * modules/frexpl-nolibm: New file.
36207         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
36208
36209 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
36210
36211         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
36212         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
36213         GCC 4.2, which otherwise issues a lot of warnings.
36214         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
36215         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
36216         Likewise.
36217         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
36218         * modules/iconv_open (iconv.h): Likewise.
36219         * modules/locale (locale.h): Likewise.
36220         * modules/netinet_in (netinet/in.h): Likewise.
36221         * modules/sys_select (sys_select.h): Likewise.
36222         * modules/sys_socket (sys/socket.h): Likewise.
36223         * modules/sys_stat (sys/stat.h): Likewise.
36224         * modules/sysexits (sysexits.h): Likewise.
36225         * modules/unistd (unistd.h): Likewise.
36226
36227 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36228
36229         * modules/closein-tests (Makefile.am): Distribute
36230         `test-closein.sh'.
36231
36232 2007-05-17  Bruno Haible  <bruno@clisp.org>
36233
36234         * tests/test-printf-posix.output: Renamed from
36235         tests/test-fprintf-posix.out.
36236         * modules/fprintf-posix-tests: Update.
36237         * modules/printf-posix-tests: Update.
36238         * modules/vfprintf-posix-tests: Update.
36239         * modules/vprintf-posix-tests: Update.
36240         * tests/test-fprintf-posix.sh: Update.
36241         * tests/test-printf-posix.sh: Update.
36242         * tests/test-vfprintf-posix.sh: Update.
36243         * tests/test-vprintf-posix.sh: Update.
36244         Reported by Ralf Wildenhues.
36245
36246 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
36247
36248         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
36249         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
36250         GCC 4.2, which otherwise issues a lot of warnings.
36251         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
36252         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
36253         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
36254         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
36255         it should no longer be needed.
36256         * lib/string_.h: Likewise.
36257         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
36258         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
36259         * modules/inttypes (inttypes.h): Likewise.
36260         * modules/math (math.h): Likewise.
36261         * modules/search (search.h): Likewise.
36262         * modules/signal (signal.h): Likewise.
36263         * modules/stdint (stdint.h): Likewise.
36264         * modules/stdio (stdio.h): Likewise.
36265         * modules/stdlib (stdlib.h): Likewise.
36266         * modules/string (string.h): Likewise.
36267         * modules/sys_time (sys/time.h): Likewise.
36268         * modules/time (time.h): Likewise.
36269         * modules/wchar (wchar.h): Likewise.
36270         * modules/wctype (wtype.h): Likewise.
36271
36272 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
36273
36274         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
36275
36276 2007-05-13  Bruno Haible  <bruno@clisp.org>
36277
36278         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
36279         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
36280         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
36281         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
36282         (gl_PREREQ_STRTOK_R): Don't require it here.
36283
36284 2007-05-13  Bruno Haible  <bruno@clisp.org>
36285
36286         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
36287         when used in C++ mode.
36288
36289 2007-05-12  Bruno Haible  <bruno@clisp.org>
36290
36291         * lib/linebuffer.h: Tweak doc.
36292         * lib/linebuffer.c: Likewise.
36293
36294 2007-05-12  James Youngman  <jay@gnu.org>
36295
36296         * lib/linebuffer.c (readlinebuffer_delim): New function,
36297         like readlinebuffer, but use a caller-specified delimiter.
36298         (readlinebuffer): Just call readlinebuffer_delim with '\n'
36299         as the delimiter.
36300         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
36301
36302 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36303
36304         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
36305         * modules/openat (Files): Remove openat-die.c.
36306         (Depends-on): Add openat-die.
36307         * modules/openat-die: New module.
36308
36309 2007-05-06  Bruno Haible  <bruno@clisp.org>
36310
36311         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
36312         Update with info about Cygwin.
36313         * doc/functions/fprintf.texi: Update.
36314         * doc/functions/printf.texi: Update.
36315         * doc/functions/snprintf.texi: Update.
36316         * doc/functions/sprintf.texi: Update.
36317         * doc/functions/vfprintf.texi: Update.
36318         * doc/functions/vprintf.texi: Update.
36319         * doc/functions/vsnprintf.texi: Update.
36320         * doc/functions/vsprintf.texi: Update.
36321         Reported by Eric Blake.
36322
36323 2007-05-06  Bruno Haible  <bruno@clisp.org>
36324
36325         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
36326         padding ourselves for the floating-point directives.
36327         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
36328         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
36329         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36330         gl_PRINTF_FLAG_ZERO and test its result. Invoke
36331         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
36332         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36333         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
36334         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36335         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36336         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36337         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36338         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36339         * tests/test-snprintf-posix.h (test_function): Also check the width
36340         and some flags in the %f directive.
36341         * tests/test-sprintf-posix.h (test_function): Likewise.
36342         * tests/test-vasnprintf-posix.c (test_function): Likewise.
36343         * tests/test-vasprintf-posix.c (test_function): Likewise.
36344         * doc/functions/fprintf.texi: Update.
36345         * doc/functions/printf.texi: Update.
36346         * doc/functions/snprintf.texi: Update.
36347         * doc/functions/sprintf.texi: Update.
36348         * doc/functions/vfprintf.texi: Update.
36349         * doc/functions/vprintf.texi: Update.
36350         * doc/functions/vsnprintf.texi: Update.
36351         * doc/functions/vsprintf.texi: Update.
36352
36353 2007-05-06  Bruno Haible  <bruno@clisp.org>
36354
36355         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
36356         pass the ' flag character to sprintf or snprintf.
36357         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
36358         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
36359         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36360         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
36361         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
36362         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36363         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
36364         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36365         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36366         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36367         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36368         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36369         * tests/test-snprintf-posix.h (test_function): Also check the grouping
36370         flag.
36371         * tests/test-sprintf-posix.h (test_function): Likewise.
36372         * tests/test-vasnprintf-posix.c (test_function): Likewise.
36373         * tests/test-vasprintf-posix.c (test_function): Likewise.
36374         * doc/functions/fprintf.texi: Update.
36375         * doc/functions/printf.texi: Update.
36376         * doc/functions/snprintf.texi: Update.
36377         * doc/functions/sprintf.texi: Update.
36378         * doc/functions/vfprintf.texi: Update.
36379         * doc/functions/vprintf.texi: Update.
36380         * doc/functions/vsnprintf.texi: Update.
36381         * doc/functions/vsprintf.texi: Update.
36382
36383 2007-05-01  Bruno Haible  <bruno@clisp.org>
36384
36385         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
36386
36387 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
36388
36389         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
36390         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
36391
36392 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
36393
36394         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
36395         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
36396         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
36397
36398 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
36399
36400         * lib/argp-help.c (struct hol_entry): New member `ord'.
36401         (HOL_ENTRY_PTRCMP): Use ord for comparison
36402         (hol_sort): Initialize ord.
36403
36404 2007-05-01  Bruno Haible  <bruno@clisp.org>
36405
36406         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
36407         Reported by Eric Blake.
36408         * doc/gnulib.texi (Function Substitutes): Update.
36409
36410 2007-05-01  Bruno Haible  <bruno@clisp.org>
36411
36412         * doc/functions.texi: Remove file, now redundant through
36413         doc/functions/*.texi.
36414
36415 2007-05-01  Bruno Haible  <bruno@clisp.org>
36416
36417         * modules/argp (Depends-on): Add sleep.
36418
36419 2007-05-01  Bruno Haible  <bruno@clisp.org>
36420
36421         * modules/sleep-tests: New file.
36422         * tests/test-sleep.c: New file.
36423
36424         * modules/sleep: New file.
36425         * lib/sleep.c: New file.
36426         * m4/sleep.m4: New file.
36427         * lib/unistd_.h (sleep): New declaration.
36428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
36429         HAVE_SLEEP.
36430         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
36431         * doc/functions/sleep.texi: Document the sleep module.
36432
36433 2007-05-01  Bruno Haible  <bruno@clisp.org>
36434
36435         * lib/sigprocmask.h: Remove file.
36436         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
36437         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
36438         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
36439         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
36440         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
36441         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
36442         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
36443         HAVE_SIGSET_T as a shell variable.
36444         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
36445         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
36446         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
36447         (Depends-on): Add signal. Remove verify.
36448         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
36449         (Include): Mention <signal.h> instead of sigprocmask.h.
36450         * NEWS: Mention the change.
36451         * lib/fatal-signal.c: Don't include sigprocmask.h.
36452
36453 2007-05-01  Bruno Haible  <bruno@clisp.org>
36454
36455         * modules/signal: New file.
36456         * lib/signal_.h: New file.
36457         * m4/signal_h.m4: New file.
36458
36459 2007-05-01  Bruno Haible  <bruno@clisp.org>
36460
36461         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
36462         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
36463         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
36464         HAVE_WCTYPE_CTMP_BUG into wctype.h.
36465
36466 2007-05-01  Bruno Haible  <bruno@clisp.org>
36467
36468         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
36469         configure time.
36470         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
36471         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
36472         * modules/sys_stat (Makefile.am): Substitute their values into
36473         sys/stat.h.
36474
36475 2007-05-01  Bruno Haible  <bruno@clisp.org>
36476
36477         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
36478         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
36479         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
36480
36481 2007-05-01  Bruno Haible  <bruno@clisp.org>
36482
36483         * doc/header/assert.texi: Undo last change: don't mention the gnulib
36484         'assert' module here.
36485
36486 2007-05-01  Bruno Haible  <bruno@clisp.org>
36487
36488         * doc/functions/*.texi: New files.
36489         * doc/functions/google-ranking.txt: New file.
36490         * doc/gnulib.texi (Function Substitutes): New chapter.
36491         (ctime, inet_ntoa): Remove sections.
36492         * doc/ctime.texi: Remove file.
36493         * doc/inet_ntoa.texi: Remove file.
36494         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
36495         dependencies.
36496         (%.info): New rule, specifying a --reference-limit.
36497
36498 2007-05-01  Bruno Haible  <bruno@clisp.org>
36499
36500         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
36501
36502 2007-05-01  Bruno Haible  <bruno@clisp.org>
36503
36504         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
36505         the portability of 'mkdir' to mingw systems.
36506
36507 2007-05-01  Bruno Haible  <bruno@clisp.org>
36508
36509         * doc/headers/google-ranking.txt: New file.
36510
36511 2007-04-30  Eric Blake  <ebb9@byu.net>
36512
36513         Prefer fseeko to fseek.
36514         * modules/getpass (Depends-on): Add fseeko.
36515         * lib/getpass.c (getpass): Use fseeko, not fseek.
36516
36517 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
36518
36519         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
36520         assumes the sorting is stable, while most qsort implementations
36521         are not.  Use argument addresses to ensure they never compare as
36522         equal.
36523
36524         * tests/test-argp-2.sh (usage-indent test): Fix output
36525         (func_compare): Restore diff options
36526         * tests/test-argp.c: Restore #include "progname.h"
36527
36528 2007-04-29  Bruno Haible  <bruno@clisp.org>
36529
36530         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
36531         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36532         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
36533         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36534         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
36535         (configure.ac): Define CHECK_SNPRINTF_POSIX.
36536         (TESTS, check_PROGRAMS): Add test-snprintf.
36537         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
36538         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
36539         (TESTS, check_PROGRAMS): Add test-vsnprintf.
36540         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
36541         assertions that fail on HP-UX, OSF/1, or IRIX.
36542         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
36543
36544 2007-04-29  Bruno Haible  <bruno@clisp.org>
36545
36546         * MODULES.html.sh (posix_functions): Remove 'contents'.
36547
36548 2007-04-29  Karl Berry  <karl@gnu.org>
36549
36550         * config/srclist.txt (gendocs_template_min): new entry.
36551
36552 2007-04-29  Bruno Haible  <bruno@clisp.org>
36553
36554         Work around fpurge bug on BSD systems.
36555         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
36556         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
36557         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
36558         fpurge to rpl_fpurge if the system already has this function.
36559         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
36560         the case where the system already has this function. Correct invariants
36561         on BSD systems.
36562         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
36563         BSD systems.
36564
36565 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
36566
36567         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
36568         proposed by Sven Verdoolaege.
36569
36570         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
36571         options.
36572         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
36573         (usage and help tests): Update
36574
36575 2007-04-29  Bruno Haible  <bruno@clisp.org>
36576
36577         * tests/test-fflush.c (main): Use a file of size 17, not 10.
36578         Print more information in case of failure. Disable a test on BeOS.
36579
36580 2007-04-29  Bruno Haible  <bruno@clisp.org>
36581
36582         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
36583         This helps debugging on systems on which no gdb is available.
36584
36585 2007-04-29  Bruno Haible  <bruno@clisp.org>
36586
36587         * lib/freading.h: Improve comments.
36588         * lib/fwriting.h: Likewise.
36589         * tests/test-freading.c (main): Don't check freading immediately after
36590         repositioning. Needed for glibc.
36591
36592 2007-04-29  Bruno Haible  <bruno@clisp.org>
36593
36594         * lib/freading.c (freading): Trivial simplification.
36595
36596 2007-04-28  Bruno Haible  <bruno@clisp.org>
36597
36598         * tests/test-fwriting.c (main): Also test the interaction between
36599         fflush and fwriting.
36600         * modules/fwriting-tests (Depends-on): Add fflush.
36601
36602         * tests/test-freading.c (main): Also test the interaction between
36603         fflush and freading.
36604         * modules/freading-tests (Depends-on): Add fflush.
36605
36606 2007-04-28  Bruno Haible  <bruno@clisp.org>
36607
36608         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
36609         fseeko and ftello.
36610         Suggested by Eric Blake.
36611
36612 2007-04-28  Jim Meyering  <jim@meyering.net>
36613
36614         Avoid false-negative in gl_STDINT_H's C99 conformance test.
36615         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
36616         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
36617
36618 2007-04-27  Eric Blake  <ebb9@byu.net>
36619
36620         * doc/headers/assert.texi (assert.h): Document assert module use.
36621
36622 2007-04-27  Bruno Haible  <bruno@clisp.org>
36623
36624         * doc/headers/*.texi: New files.
36625         * doc/gnulib.texi (Header File Substitutes): New chapter.
36626         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
36627         dependencies.
36628         (standards.info ,standards.html, standards.dvi): Update dependencies.
36629         (mostlyclean, clean): New targets.
36630
36631 2007-04-27  Bruno Haible  <bruno@clisp.org>
36632
36633         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
36634         * modules/sysexits (Files, Makefile.am): Update.
36635
36636         * lib/sys_socket_.h: Renamed from lib/socket_.h.
36637         * modules/sys_socket (Files, Makefile.am): Update.
36638
36639         * lib/sys_stat_.h: Renamed from lib/stat_.h.
36640         * modules/sys_stat (Files, Makefile.am): Update.
36641
36642 2007-04-27  Eric Blake  <ebb9@byu.net>
36643
36644         * lib/freading.h: Improve comments.
36645         * lib/fwriting.h: Likewise.
36646         * lib/fflush.c: Likewise.
36647
36648         Fix closein for mingw.
36649         * modules/closein-tests: Add tests for closein.
36650         * tests/test-closein.c: New file.
36651         * tests/test-closein.sh: Likewise.
36652         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
36653         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
36654
36655 2007-04-27  Bruno Haible  <bruno@clisp.org>
36656
36657         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
36658         version is < 6.
36659         * lib/math_.h [__DECC]: Likewise.
36660         * lib/stdio_.h [__DECC]: Likewise.
36661         * lib/stdlib_.h [__DECC]: Likewise.
36662         * lib/string_.h [__DECC]: Likewise.
36663         * lib/time_.h [__DECC]: Likewise.
36664         * lib/wchar_.h [__DECC]: Likewise.
36665         * lib/wctype_.h [__DECC]: Likewise.
36666
36667 2007-04-27  Bruno Haible  <bruno@clisp.org>
36668
36669         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
36670
36671 2007-04-27  Bruno Haible  <bruno@clisp.org>
36672
36673         * lib/fflush.c: Add comments.
36674         * modules/fpurge-tests (Depends-on): Add fflush.
36675         * modules/freadable-tests (Depends-on): Likewise.
36676         * modules/fwritable-tests (Depends-on): Likewise.
36677
36678 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
36679
36680         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
36681         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
36682         Report by Bruno Haible <bruno@clisp.org>.
36683
36684 2007-04-26  Eric Blake  <ebb9@byu.net>
36685
36686         Fix fflush on mingw.
36687         * modules/fflush (Depends-on): Add freading.
36688         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
36689         but unread data.
36690
36691 2007-04-26  Eric Blake  <ebb9@byu.net>
36692         and Bruno Haible  <bruno@clisp.org>
36693
36694         Implement freading and fwriting.
36695         * lib/freading.c: New file.
36696         * lib/freading.h: Likewise.
36697         * m4/freading.m4: Likewise.
36698         * modules/freading: Likewise.
36699         * modules/freading-tests: Likewise.
36700         * tests/test-freading.c: Likewise.
36701         * lib/fwriting.c: New file.
36702         * lib/fwriting.h: Likewise.
36703         * m4/fwriting.m4: Likewise.
36704         * modules/fwriting: Likewise.
36705         * modules/fwriting-tests: Likewise.
36706         * tests/test-fwriting.c: Likewise.
36707         * MODULES.html.sh (File stream based Input/Output): Mention them.
36708
36709 2007-04-26  Bruno Haible  <bruno@clisp.org>
36710
36711         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
36712         'long' when we assume it.
36713         Suggested by Eric Blake.
36714
36715 2007-04-26  Bruno Haible  <bruno@clisp.org>
36716
36717         Ensure fseeko, ftello are declared on glibc systems.
36718         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
36719         * modules/fseeko (configure.ac-early): Likewise.
36720         * modules/ftello (configure.ac-early): Likewise.
36721         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
36722         AC_FUNC_FSEEKO for this.
36723         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
36724         (gl_CHECK_FSEEKO): Remove macro.
36725
36726 2007-04-26  Bruno Haible  <bruno@clisp.org>
36727
36728         * tests/test-fflush.c (main): Also check the ftell result after
36729         fflush and fseek/fseeko.
36730         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
36731         file descriptor position cache in the stream.
36732         * lib/fseeko.c (rpl_fseeko): Likewise.
36733
36734 2007-04-26  Bruno Haible  <bruno@clisp.org>
36735
36736         * modules/fflush-tests (Depends-on): Add fseeko.
36737
36738 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
36739             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36740
36741         * lib/argz_.h: ensure error_t definition is obtained in same
36742         mechanism system argz.h would have.
36743         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
36744         argz facilities are known bad.  Err on the side of caution if
36745         cross-compiling.
36746
36747 2007-04-25  Eric Blake  <ebb9@byu.net>
36748
36749         * lib/fpurge.c (includes): Use stdlib.h for free.
36750         * tests/test-fflush.c (main): Also test fflush-fseeko.
36751
36752 2007-04-25  Bruno Haible  <bruno@clisp.org>
36753
36754         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
36755         * lib/fseeko.c: New file.
36756         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
36757         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
36758         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
36759         gl_FUNC_FSEEKO.
36760         (gl_FUNC_FSEEKO): Invoke it.
36761         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
36762         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
36763         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
36764
36765 2007-04-25  Bruno Haible  <bruno@clisp.org>
36766
36767         * modules/fflush (Depends-on): Add ftello.
36768
36769 2007-04-25  Bruno Haible  <bruno@clisp.org>
36770
36771         * modules/ftello-tests: New file.
36772         * tests/test-ftello.c: New file.
36773
36774         * modules/ftello: New file.
36775         * m4/ftello.m4: New file.
36776         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
36777         HAVE_FTELLO.
36778         * lib/stdio_.h (ftello): New declaration.
36779         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
36780         HAVE_FTELLO.
36781
36782 2007-04-25  Bruno Haible  <bruno@clisp.org>
36783
36784         * modules/fseeko-tests: New file.
36785         * tests/test-fseeko.c: New file.
36786
36787         * modules/fseeko: New file.
36788         * m4/fseeko.m4: New file.
36789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
36790         HAVE_FSEEKO.
36791         * lib/stdio_.h (fseeko): New declaration.
36792         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
36793         HAVE_FSEEKO.
36794
36795 2007-04-25  Bruno Haible  <bruno@clisp.org>
36796
36797         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
36798
36799 2007-04-25  Bruno Haible  <bruno@clisp.org>
36800
36801         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
36802         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
36803         * tests/test-unistd.c: Likewise.
36804         * tests/test-fcntl.c: Likewise.
36805
36806 2007-04-23  Eric Blake  <ebb9@byu.net>
36807
36808         * lib/fflush.c: Fix missing include.
36809         Reported by Bruno Haible.
36810
36811 2007-04-23  Bruno Haible  <bruno@clisp.org>
36812
36813         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
36814         Reported by Eric Blake.
36815
36816 2007-04-23  Bruno Haible  <bruno@clisp.org>
36817
36818         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
36819
36820 2007-04-23  Bruno Haible  <bruno@clisp.org>
36821
36822         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
36823
36824 2007-04-23  Bruno Haible  <bruno@clisp.org>
36825
36826         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
36827         Needed on HP-UX 11.
36828
36829 2007-04-16  Eric Blake  <ebb9@byu.net>
36830
36831         Make fflush rely on fpurge.
36832         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
36833         open coding all variants.
36834         * modules/fflush (Depends-on): Add fpurge and unistd.
36835         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
36836         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
36837
36838         Fix --with-tests compilation on cygwin.
36839         * modules/argmatch-tests (Makefile.am): List gnulib library first
36840         in LDADD.
36841         * modules/argp-tests (Makefile.am): Likewise.
36842         * modules/array-list-tests (Makefile.am): Likewise.
36843         * modules/array-oset-tests (Makefile.am): Likewise.
36844         * modules/avltree-list-tests (Makefile.am): Likewise.
36845         * modules/avltree-oset-tests (Makefile.am): Likewise.
36846         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36847         * modules/carray-list-tests (Makefile.am): Likewise.
36848         * modules/dirname-tests (Makefile.am): Likewise.
36849         * modules/frexp-tests (Makefile.am): Likewise.
36850         * modules/isnanl-tests (Makefile.am): Likewise.
36851         * modules/linked-list-tests (Makefile.am): Likewise.
36852         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36853         * modules/lock-tests (Makefile.am): Likewise.
36854         * modules/rbtree-list-tests (Makefile.am): Likewise.
36855         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36856         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36857         * modules/tls-tests (Makefile.am): Likewise.
36858         * modules/tsearch-tests (Makefile.am): Likewise.
36859         * modules/xvasprintf-tests (Makefile.am): Likewise.
36860
36861         Fix fpurge for cygwin.
36862         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
36863         value.
36864         * modules/fpurge-tests (Depends-on): Clean up trash.
36865
36866 2007-04-16  Simon Josefsson  <simon@josefsson.org>
36867
36868         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
36869
36870         * m4/autobuild.m4: Re-indent.
36871
36872 2007-04-13  Bruno Haible  <bruno@clisp.org>
36873
36874         * modules/fpurge-tests: New file.
36875         * tests/test-fpurge.c: New file.
36876
36877         * modules/fpurge: New file.
36878         * lib/fpurge.h: New file.
36879         * lib/fpurge.c: New file.
36880         * m4/fpurge.m4: New file.
36881
36882 2007-04-13  Bruno Haible  <bruno@clisp.org>
36883
36884         * modules/fbufmode-tests: New file.
36885         * tests/test-fbufmode.c: New file.
36886
36887         * modules/fbufmode: New file.
36888         * lib/fbufmode.h: New file.
36889         * lib/fbufmode.c: New file.
36890         * m4/fbufmode.m4: New file.
36891
36892 2007-04-13  Bruno Haible  <bruno@clisp.org>
36893
36894         * modules/fwritable-tests: New file.
36895         * tests/test-fwritable.c: New file.
36896
36897         * modules/fwritable: New file.
36898         * lib/fwritable.h: New file.
36899         * lib/fwritable.c: New file.
36900         * m4/fwritable.m4: New file.
36901
36902 2007-04-13  Bruno Haible  <bruno@clisp.org>
36903
36904         * modules/freadable-tests: New file.
36905         * tests/test-freadable.c: New file.
36906
36907         * modules/freadable: New file.
36908         * lib/freadable.h: New file.
36909         * lib/freadable.c: New file.
36910         * m4/freadable.m4: New file.
36911
36912 2007-04-13  Bruno Haible  <bruno@clisp.org>
36913
36914         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
36915         MOSTLYCLEANFILES.
36916
36917 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
36918
36919         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
36920         gzip bootstrap.conf to avoid dragging in i18n machinery.
36921         (gnulib_tool_option): Use it.
36922
36923 2007-04-13  Bruno Haible  <bruno@clisp.org>
36924
36925         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
36926         %F directives.
36927         * tests/test-vasprintf-posix.c (test_function): Likewise.
36928         * tests/test-snprintf-posix.h (test_function): Likewise.
36929         * tests/test-sprintf-posix.h (test_function): Likewise.
36930         * tests/test-fprintf-posix.h (test_function): Likewise.
36931         * tests/test-printf-posix.h (test_function): Likewise.
36932         * tests/test-fprintf-posix.out: Likewise.
36933
36934 2007-04-13  Bruno Haible  <bruno@clisp.org>
36935
36936         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
36937         * modules/tls-tests (configure.ac): Likewise.
36938         Reported by Arto C. Nirkko <anirkko@insel.ch>.
36939
36940 2007-04-13  Bruno Haible  <bruno@clisp.org>
36941
36942         * lib/tls.c (glthread_tls_get): Fix return type.
36943         Patch by Arto C. Nirkko <anirkko@insel.ch>.
36944
36945 2007-04-12  Eric Blake  <ebb9@byu.net>
36946
36947         * modules/gettime (Depends-on): Remove gettime.
36948         Reported by Dmitry V. Levin.
36949
36950 2007-04-12  Bruno Haible  <bruno@clisp.org>
36951
36952         * modules/fflush (Include): Mention <stdio.h>.
36953         * modules/strtoimax (Include): Mention <inttypes.h>.
36954         * modules/strtoumax (Include): Likewise.
36955
36956 2007-04-12  Eric Blake  <ebb9@byu.net>
36957
36958         * .cvsignore: New file.
36959         * .gitignore: Likewise.
36960
36961 2007-04-12  Bruno Haible  <bruno@clisp.org>
36962
36963         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
36964         not before, since $(LDADD) often contains libgnu.a.
36965         * modules/striconv-tests (test_striconv_LDADD): Likewise.
36966         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
36967         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
36968         Needed on Cygwin.
36969
36970 2007-04-12  Eric Blake  <ebb9@byu.net>
36971
36972         Work around glibc's failure to flush stdin on fclose.
36973         * lib/closein.c (close_stdin): Flush stdin before closing.
36974
36975         Work around glibc's failure to reset seekable stdin on exit.
36976         * modules/closein: New module.
36977         * lib/closein.c: New file.
36978         * lib/closein.h: Likewise.
36979         * m4/closein.m4: Likewise.
36980         * MODULES.html.sh (File stream based Input/Output): Document it.
36981
36982 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36983
36984         * gnulib-tool: Rename generated 'autobuild' script to
36985         'do-autobuild' in --create-megatestdir output.
36986
36987         * doc/gnulib.texi (Build robot for gnulib): Fix.
36988
36989 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36990
36991         * modules/sysexits (Depends-on): Add absolute-header.
36992
36993 2007-04-12  Eric Blake  <ebb9@byu.net>
36994
36995         No need to preserve errno on success.
36996         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
36997         Reported by Bruno Haible.
36998
36999 2007-04-12  Simon Josefsson  <simon@josefsson.org>
37000
37001         * MODULES.html.sh (Support for maintaining and releasing
37002         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
37003
37004 2007-04-12  Simon Josefsson  <simon@josefsson.org>
37005
37006         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
37007
37008 2007-04-12  Simon Josefsson  <simon@josefsson.org>
37009
37010         * modules/autobuild: New module.
37011
37012         * m4/autobuild.m4: New file.
37013
37014 2007-04-11  Bruno Haible  <bruno@clisp.org>
37015
37016         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
37017         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
37018         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
37019         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
37020         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37021         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
37022         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
37023         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
37024         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
37025         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
37026         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
37027         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
37028         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
37029         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
37030         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
37031         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
37032         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
37033         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
37034         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
37035         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
37036         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
37037         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
37038         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
37039         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
37040         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
37041         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
37042         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
37043         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
37044         Reported by Eric Blake.
37045
37046 2007-04-11  Bruno Haible  <bruno@clisp.org>
37047
37048         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
37049
37050 2007-04-10  Bruno Haible  <bruno@clisp.org>
37051
37052         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
37053         for NaN and Infinity. Needed on FreeBSD 6.1.
37054         * tests/test-vasnprintf-posix.c (test_function): Undo last change
37055         regarding results for "%010a" of Infinity and NaN.
37056         * tests/test-vasprintf-posix.c (test_function): Likewise.
37057         * tests/test-snprintf-posix.h (test_function): Likewise.
37058         * tests/test-sprintf-posix.h (test_function): Likewise.
37059         * tests/test-fprintf-posix.h (test_function): Likewise.
37060         * tests/test-printf-posix.h (test_function): Likewise.
37061         * tests/test-fprintf-posix.out: Likewise.
37062
37063 2007-04-10  Bruno Haible  <bruno@clisp.org>
37064
37065         * modules/locale-tests: New file.
37066         * tests/test-locale.c: New file.
37067
37068         * modules/locale: New file.
37069         * lib/locale_.h: New file.
37070         * m4/locale_h.m4: New file.
37071
37072 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
37073             Bruno Haible  <bruno@clisp.org>
37074
37075         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
37076         be determined, test for availability of the copysignf, copysign,
37077         copysignl functions.
37078         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
37079         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
37080         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
37081
37082 2007-04-09  Eric Blake  <ebb9@byu.net>
37083
37084         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
37085         * modules/stdio (Makefile.am): Support fflush.
37086         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37087         * modules/fflush: New file.
37088         * lib/fflush.c: Likewise.
37089         * m4/fflush.m4: Likewise.
37090         * modules/fflush-tests: New test.
37091         * tests/test-fflush.c: Likewise.
37092         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
37093
37094 2007-04-06  Bruno Haible  <bruno@clisp.org>
37095
37096         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
37097         (VASNPRINTF): Use signbit for faster determination whether to print a
37098         minus sign.
37099         * modules/vasnprintf (Files): Remove lib/float+.h.
37100         * modules/fprintf-posix (Depends-on): Add signbit.
37101         * modules/snprintf-posix (Depends-on): Likewise.
37102         * modules/sprintf-posix (Depends-on): Likewise.
37103         * modules/vasnprintf-posix (Depends-on): Likewise.
37104         * modules/vasprintf-posix (Depends-on): Likewise.
37105         * modules/vfprintf-posix (Depends-on): Likewise.
37106         * modules/vsnprintf-posix (Depends-on): Likewise.
37107         * modules/vsprintf-posix (Depends-on): Likewise.
37108
37109 2007-04-06  Bruno Haible  <bruno@clisp.org>
37110
37111         * tests/test-frexp.c (main): Test also the sign bit of zero results.
37112         * tests/test-frexpl.c (main): Likewise.
37113         * tests/test-ldexpl.c (main): Likewise.
37114         * modules/frexp-tests (Depends-on): Add signbit.
37115         * modules/frexpl-tests (Depdends-on): Likewise.
37116         * modules/ldexpl-tests (Depdends-on): Likewise.
37117
37118 2007-04-06  Bruno Haible  <bruno@clisp.org>
37119
37120         * modules/signbit-tests: New file.
37121         * tests/test-signbit.c: New file.
37122
37123         * modules/signbit: New file.
37124         * lib/signbitf.c: New file.
37125         * lib/signbitd.c: New file.
37126         * lib/signbitl.c: New file.
37127         * m4/signbit.m4: New file.
37128         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
37129         (signbit): New macro.
37130         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
37131         REPLACE_SIGNBIT.
37132         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
37133         REPLACE_FREXPL into math.h.
37134
37135 2007-04-06  Bruno Haible  <bruno@clisp.org>
37136
37137         * modules/isnanf-nolibm-tests: New file.
37138         * tests/test-isnanf.c: New file.
37139
37140         * modules/isnanf-nolibm: New file.
37141         * lib/isnanf.h: New file.
37142         * lib/isnanf.c: New file.
37143         * lib/isnan.c: Consider the USE_FLOAT macro.
37144         * m4/isnanf.m4: New file.
37145
37146 2007-04-06  Bruno Haible  <bruno@clisp.org>
37147
37148         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
37149         (Link): New section.
37150
37151         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
37152
37153 2007-04-06  Bruno Haible  <bruno@clisp.org>
37154
37155         Assume the 'long double' type.
37156         * m4/longdouble.m4: Remove file.
37157         * config/srclist.txt: Don't mention longdouble.m4.
37158         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
37159         * lib/float+.h: Likewise.
37160         * lib/frexp.c: Likewise.
37161         * lib/printf-args.h: Likewise.
37162         * lib/printf-args.c: Likewise.
37163         * lib/printf-frexp.c: Likewise.
37164         * lib/printf-parse.c: Likewise.
37165         * lib/vasnprintf.c: Likewise.
37166         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
37167         * m4/intl.m4: Likewise.
37168         * m4/isnanl.m4: Likewise.
37169         * m4/printf.m4: Likewise.
37170         * m4/printf-frexpl.m4: Likewise.
37171         * m4/vasnprintf.m4: Likewise.
37172         * modules/allocsa (Files): Remove m4/longdouble.m4.
37173         * modules/gettext (Files): Likewise.
37174         * modules/relocatable-prog-wrapper (Files): Likewise.
37175         * modules/vasnprintf (Files): Likewise.
37176         * modules/isnanl (Files): Likewise.
37177         (Include): Simplify.
37178         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
37179         (Include): Simplify.
37180         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
37181         (Include): Simplify.
37182         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
37183         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37184         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
37185         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37186         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
37187         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37188         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
37189         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37190         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
37191         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37192         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
37193         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37194         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
37195         * tests/test-isnanl.c: Likewise.
37196         * tests/test-snprintf-posix.h: Likewise.
37197         * tests/test-sprintf-posix.h: Likewise.
37198         * tests/test-vasnprintf-posix.c: Likewise.
37199         * tests/test-vasnprintf-posix2.c: Likewise.
37200         * tests/test-vasprintf-posix.c: Likewise.
37201
37202 2007-04-06  Bruno Haible  <bruno@clisp.org>
37203
37204         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
37205         * lib/math_.h [__DECC]: Include the overridden include file through
37206         #include_next, outside the double-inclusion guard.
37207         * lib/stdio_.h [__DECC]: Likewise.
37208         * lib/stdlib_.h [__DECC]: Likewise.
37209         * lib/string_.h [__DECC]: Likewise.
37210         * lib/time_.h [__DECC]: Likewise.
37211         * lib/wchar_.h [__DECC]: Likewise.
37212         * lib/wctype_.h [__DECC]: Likewise.
37213         * lib/inttypes_.h [__DECC]: Likewise.
37214         Reported by Albert Chin <china@thewrittenword.com> in
37215         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
37216
37217 2007-04-04  Eric Blake  <ebb9@byu.net>
37218
37219         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
37220         1.5.x.
37221
37222 2007-04-04  Bruno Haible  <bruno@clisp.org>
37223
37224         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
37225         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
37226
37227 2007-04-04  Bruno Haible  <bruno@clisp.org>
37228
37229         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
37230         results for "%010a" of Infinity and NaN.
37231         * tests/test-vasprintf-posix.c (test_function): Likewise.
37232         * tests/test-snprintf-posix.h (test_function): Likewise.
37233         * tests/test-sprintf-posix.h (test_function): Likewise.
37234         * tests/test-fprintf-posix.h (test_function): Remove these tests.
37235         * tests/test-printf-posix.h (test_function): Likewise.
37236         * tests/test-fprintf-posix.out: Update.
37237         Needed for FreeBSD 6.1.
37238
37239 2007-04-04  Bruno Haible  <bruno@clisp.org>
37240
37241         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
37242         directly used by the gnulib modules nor by gnulib-tool.
37243
37244 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
37245
37246         * DEPENDENCIES: Give overall description of version dependency
37247         desirability.  Use more-typical names for apps.
37248         Add shell, coreutils, diffutils, grep, tar, gzip.
37249
37250 2007-04-04  Simon Josefsson  <simon@josefsson.org>
37251
37252         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
37253
37254 2007-04-04  Karl Berry  <karl@gnu.org>
37255
37256         * MODULES.html.sh (func_module): missing '.
37257
37258 2007-04-03  Bruno Haible  <bruno@clisp.org>
37259
37260         * modules/argmatch-tests (Makefile.am): New variable
37261         test_argmatch_LDADD.
37262         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
37263         * modules/array-list-tests (Makefile.am): New variable
37264         test_array_list_LDADD.
37265         * modules/array-oset-tests (Makefile.am): New variable
37266         test_array_oset_LDADD.
37267         * modules/avltree-list-tests (Makefile.am): New variable
37268         test_avltree_list_LDADD.
37269         * modules/avltree-oset-tests (Makefile.am): New variable
37270         test_avltree_oset_LDADD.
37271         * modules/avltreehash-list-tests (Makefile.am): New variable
37272         test_avltreehash_list_LDADD.
37273         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
37274         test_canonicalize_lgpl_LDADD.
37275         * modules/carray-list-tests (Makefile.am): New variable
37276         test_carray_list_LDADD.
37277         * modules/dirname-tests (Makefile.am): New variable
37278         test_dirname_LDADD.
37279         * modules/linked-list-tests (Makefile.am): New variable
37280         test_linked_list_LDADD.
37281         * modules/linkedhash-list-tests (Makefile.am): New variable
37282         test_linkedhash_list_LDADD.
37283         * modules/rbtree-list-tests (Makefile.am): New variable
37284         test_rbtree_list_LDADD.
37285         * modules/rbtree-oset-tests (Makefile.am): New variable
37286         test_rbtree_oset_LDADD.
37287         * modules/rbtreehash-list-tests (Makefile.am): New variable
37288         test_rbtreehash_list_LDADD.
37289         * modules/xvasprintf-tests (Makefile.am): New variable
37290         test_xvasprintf_LDADD.
37291         Reported by Eric Blake.
37292
37293 2007-04-03  Eric Blake  <ebb9@byu.net>
37294
37295         * DEPENDENCIES: Weaken m4 requirements.
37296
37297 2007-04-03  Bruno Haible  <bruno@clisp.org>
37298
37299         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
37300         * modules/isnanl-tests (configure.ac): Likewise.
37301
37302 2007-04-03  Ben Pfaff  <blp@gnu.org>
37303
37304         * modules/iconv_open: Add $(srcdir)/ to source directory
37305         references in Makefile fragments that call gperf, to fix VPATH
37306         builds.
37307
37308 2007-04-03  Bruno Haible  <bruno@clisp.org>
37309
37310         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
37311         * lib/ldexpl.c: Undo last change.
37312
37313 2007-04-03  Bruno Haible  <bruno@clisp.org>
37314
37315         * modules/printf-frexpl (Depends-on): Undo last change.
37316         (Files): Add m4/ldexpl.m4.
37317
37318 2007-04-03  Bruno Haible  <bruno@clisp.org>
37319
37320         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
37321         * modules/isnanl (Link): New section.
37322
37323         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
37324         * modules/frexp (Link): New section.
37325
37326         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
37327         * modules/frexpl (Link): New section.
37328
37329         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
37330         * modules/ldexpl (Link): New section.
37331
37332 2007-04-03  Bruno Haible  <bruno@clisp.org>
37333
37334         * modules/TEMPLATE-EXTENDED: New file.
37335         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
37336
37337 2007-04-03  Bruno Haible  <bruno@clisp.org>
37338
37339         * DEPENDENCIES: New file.
37340         Suggested by Simon Josefsson.
37341
37342 2007-04-03  Bruno Haible  <bruno@clisp.org>
37343
37344         * doc/gnulib.texi: Escape @.
37345
37346 2007-04-03  James Youngman  <jay@gnu.org>
37347         and Paul Eggert  <eggert@cs.ucla.edu>
37348
37349         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
37350         birthtime on all systems that have birthtime, not just those which
37351         use st_birthtimensec rather than st_birthtim.  Putting zero in
37352         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
37353         that the birth time is not available for files on an NFS mount.
37354
37355 2007-04-03  Simon Josefsson  <simon@josefsson.org>
37356
37357         * modules/memxor: Move back from crypto/, suggested by Bruno.
37358         * modules/crypto/hmac-sha1: Fix memxor dependency.
37359
37360         * modules/crypto/gc: Moved from ../.
37361
37362 2007-04-02  Eric Blake  <ebb9@byu.net>
37363
37364         * lib/ldexpl.c (includes): Avoid libm.
37365
37366         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
37367
37368 2007-04-02  Bruno Haible  <bruno@clisp.org>
37369
37370         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
37371         on IRIX.
37372
37373 2007-04-02  Bruno Haible  <bruno@clisp.org>
37374
37375         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
37376         x86 or x86_64 platforms running MacOS X.
37377         Reported by Ryan Schmidt <@ryandesign.com>.
37378
37379 2007-04-02  Bruno Haible  <bruno@clisp.org>
37380
37381         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
37382         i386.
37383
37384 2007-04-01  Simon Josefsson  <simon@josefsson.org>
37385
37386         * modules/crypto/arcfour: Moved from ../.
37387         * modules/crypto/arcfour-tests: Moved from ../.
37388         * modules/crypto/arctwo: Moved from ../.
37389         * modules/crypto/arctwo-tests: Moved from ../.
37390         * modules/crypto/des: Moved from ../.
37391         * modules/crypto/des-tests: Moved from ../.
37392         * modules/crypto/gc-arcfour: Moved from ../.
37393         * modules/crypto/gc-arcfour-tests: Moved from ../.
37394         * modules/crypto/gc-arctwo: Moved from ../.
37395         * modules/crypto/gc-arctwo-tests: Moved from ../.
37396         * modules/crypto/gc-des: Moved from ../.
37397         * modules/crypto/gc-des-tests: Moved from ../.
37398         * modules/crypto/gc-hmac-md5: Moved from ../.
37399         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
37400         * modules/crypto/gc-hmac-sha1: Moved from ../.
37401         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
37402         * modules/crypto/gc-md2: Moved from ../.
37403         * modules/crypto/gc-md2-tests: Moved from ../.
37404         * modules/crypto/gc-md4: Moved from ../.
37405         * modules/crypto/gc-md4-tests: Moved from ../.
37406         * modules/crypto/gc-md5: Moved from ../.
37407         * modules/crypto/gc-md5-tests: Moved from ../.
37408         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
37409         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
37410         * modules/crypto/gc-random: Moved from ../.
37411         * modules/crypto/gc-rijndael: Moved from ../.
37412         * modules/crypto/gc-rijndael-tests: Moved from ../.
37413         * modules/crypto/gc-sha1: Moved from ../.
37414         * modules/crypto/gc-sha1-tests: Moved from ../.
37415         * modules/crypto/gc-tests: Moved from ../.
37416         * modules/crypto/hmac-md5: Moved from ../.
37417         * modules/crypto/hmac-md5-tests: Moved from ../.
37418         * modules/crypto/hmac-sha1: Moved from ../.
37419         * modules/crypto/hmac-sha1-tests: Moved from ../.
37420         * modules/crypto/md2: Moved from ../.
37421         * modules/crypto/md2-tests: Moved from ../.
37422         * modules/crypto/md4: Moved from ../.
37423         * modules/crypto/md4-tests: Moved from ../.
37424         * modules/crypto/md5: Moved from ../.
37425         * modules/crypto/md5-tests: Moved from ../.
37426         * modules/crypto/memxor: Moved from ../.
37427         * modules/crypto/rijndael: Moved from ../.
37428         * modules/crypto/rijndael-tests: Moved from ../.
37429         * modules/crypto/sha1: Moved from ../.
37430
37431 2007-03-30  James Youngman  <jay@gnu.org>
37432
37433         * tests/test-stat-time.c (prepare_test): use chmod() rather than
37434         rename() to change the ctime of a file (because ctime is unaffected
37435         by rename on jfs2 on AIX 5.1).
37436         (main): Start by doing cleanup, in case a previous run failed leaving
37437         test files behind.
37438
37439 2007-03-31  Bruno Haible  <bruno@clisp.org>
37440
37441         Support old proprietary implementations of iconv.
37442         * modules/iconv_open: New file.
37443         * lib/iconv_.h: New file.
37444         * m4/iconv_h.m4: New file.
37445         * lib/iconv_open.c: New file.
37446         * lib/iconv_open-aix.gperf: New file.
37447         * lib/iconv_open-hpux.gperf: New file.
37448         * lib/iconv_open-irix.gperf: New file.
37449         * lib/iconv_open-osf.gperf: New file.
37450         * m4/iconv_open.m4: New file.
37451         * modules/linebreak (Depends-on): Add iconv_open.
37452         * modules/striconv (Depends-on): Likewise.
37453         * modules/striconveh (Depends-on): Likewise.
37454         * modules/unicodeio (Depends-on): Likewise.
37455         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
37456         (iconv_t)(-1).
37457         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
37458         conversion if cd is (iconv_t)(-1).
37459         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
37460         is not possible.
37461
37462 2007-03-31  Bruno Haible  <bruno@clisp.org>
37463
37464         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
37465         work on Solaris either. Protect also second use of "autodetect_jp".
37466
37467 2007-03-31  Bruno Haible  <bruno@clisp.org>
37468
37469         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
37470         the function is not present.
37471
37472 2007-03-31  Bruno Haible  <bruno@clisp.org>
37473
37474         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
37475         the function is not present.
37476
37477 2007-03-31  Bruno Haible  <bruno@clisp.org>
37478
37479         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
37480         a bug in HP-UX iconv_open().
37481
37482 2007-03-31  Bruno Haible  <bruno@clisp.org>
37483
37484         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
37485         (Mathematics <math.h>): New section, add fpieee.
37486         (Input/output <stdio.h>): Add fseterr.
37487         (Mathematics <math.h>): New section, add printf-frexp.
37488         (Container data structures): Add sublist.
37489         (Core language properties): Add fpucw, inline.
37490         (Functions for greatest-width integer types <inttypes.h>): Add
37491         imaxabs, imaxdiv, inttypes.
37492         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
37493         isnanl-nolibm, ldexp.
37494         (Mathematics <math.h>): New section, add printf-frexpl.
37495         (Support for systems lacking POSIX:2001): Add fprintf-posix,
37496         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
37497         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
37498         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
37499         (Unicode string functions): Add unistr/u*-mbtoucr.
37500         (Java): Add javacomp-script, javaexec-script.
37501         (C#): Add csharpcomp-script, csharpexec-script.
37502         (Support for building libraries and executables): Add havelib,
37503         relocatable-*.
37504         (Support for maintaining and releasing projects): Renamed from
37505         'Support for maintaining and release projects'. Add announce-gen.
37506
37507 2007-03-31  Bruno Haible  <bruno@clisp.org>
37508
37509         * README: Talk primarily about git.
37510         (git and CVS): Renamed from CVS.
37511         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
37512         gnulib is available through git.
37513         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
37514
37515 2007-03-30  Bruno Haible  <bruno@clisp.org>
37516
37517         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
37518         * lib/poll_.h: Likewise.
37519         * lib/stat_.h: Likewise.
37520         * lib/sys_time_.h: Likewise.
37521         * lib/sysexit_.h: Likewise.
37522         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
37523         * lib/stdbool_.h: Likewise.
37524         * lib/byteswap_.h: Add double-inclusion guard.
37525
37526 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
37527
37528         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
37529
37530 2007-03-30  Karl Berry  <karl@gnu.org>
37531
37532         * config/srclist-update: double space after USA in the license
37533         substitution, since that's how it's usually (?) written.
37534
37535 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
37536
37537         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
37538         reported by Bruno Haible.
37539
37540 2007-03-29  Bruno Haible  <bruno@clisp.org>
37541
37542         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
37543         a bug in AIX iconv().
37544
37545 2007-03-29  Bruno Haible  <bruno@clisp.org>
37546
37547         * modules/ldexpl-tests: New file.
37548         * tests/test-ldexpl.c: New file.
37549
37550 2007-03-29  Bruno Haible  <bruno@clisp.org>
37551
37552         * lib/ldexpl.c: Include fpucw.h.
37553         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
37554         multiplication.
37555         * modules/ldexpl (Depends-on): Add fpucw.
37556
37557 2007-03-29  Bruno Haible  <bruno@clisp.org>
37558
37559         * modules/ldexpl: New file.
37560         * m4/ldexpl.m4: New file.
37561         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
37562         set.
37563         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
37564         REPLACE_LDEXPL.
37565         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
37566         REPLACE_LDEXPL.
37567         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
37568         gl_FUNC_LDEXPL_WORKS.
37569         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
37570         * modules/mathl (Files): Remove lib/ldexpl.c.
37571         (Depends-on): Add ldexpl.
37572
37573 2007-03-29  Bruno Haible  <bruno@clisp.org>
37574
37575         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
37576
37577 2007-03-29  Bruno Haible  <bruno@clisp.org>
37578
37579         * tests/test-striconveh.c (main): Don't assume that a direct conversion
37580         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
37581         and possibly also HP-UX.
37582         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
37583         work on AIX, IRIX, HP-UX, OSF/1.
37584         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
37585         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
37586         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
37587         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
37588         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
37589         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
37590
37591 2007-03-29  Bruno Haible  <bruno@clisp.org>
37592
37593         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
37594
37595 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
37596
37597         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
37598         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
37599
37600 2007-03-29  Eric Blake  <ebb9@byu.net>
37601
37602         * lib/acl-internal.h: Remove redundant include.
37603         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
37604         Cygwin when a file is locked.
37605
37606 2007-03-29  Bruno Haible  <bruno@clisp.org>
37607
37608         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
37609         file.
37610         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
37611
37612 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
37613
37614         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
37615         try to remove a parent directory if the child couldn't be removed
37616         (except for the first rmdir, which could fail because the child
37617         doesn't exist).  Problem reported by Jeff Blaine in
37618         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
37619
37620 2007-03-28  Bruno Haible  <bruno@clisp.org>
37621
37622         * lib/striconveh.c (utf8conv_carefully): New function.
37623         (mem_cd_iconveh_internal): Invoke it.
37624
37625 2007-03-28  Bruno Haible  <bruno@clisp.org>
37626
37627         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
37628         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
37629         input.
37630         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
37631         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
37632         unistr/u8-uctomb.
37633
37634 2007-03-28  Bruno Haible  <bruno@clisp.org>
37635
37636         * modules/unistr/u8-mbtoucr: New file.
37637         * lib/unistr/u8-mbtoucr.c: New file.
37638         * modules/unistr/u16-mbtoucr: New file.
37639         * lib/unistr/u16-mbtoucr.c: New file.
37640         * modules/unistr/u16-mbtoucr: New file.
37641         * lib/unistr/u16-mbtoucr.c: New file.
37642         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
37643
37644 2007-03-27  Simon Josefsson  <simon@josefsson.org>
37645             Bruno Haible  <bruno@clisp.org>
37646
37647         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
37648         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
37649         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
37650
37651         * m4/stdio_h.m4: Add stubs for vasprintf too.
37652
37653         * modules/stdio: Support vasprintf in sed command.
37654
37655         * modules/vasprintf: Depend on stdio for prototypes.  Remove
37656         vasprintf.h.  Add stdio module indicator.
37657
37658         * lib/stdio_.h: Declare asprintf and vasprintf, based on
37659         vasprintf.h.
37660
37661         * lib/vasprintf.h: File removed.
37662
37663         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
37664         * lib/vasprintf.c: Ditto.
37665         * lib/xvasprintf.c: Ditto.
37666         * tests/test-vasprintf-posix.c: Ditto.
37667         * tests/test-vasprintf.c: Ditto.
37668
37669 2007-03-27  Bruno Haible  <bruno@clisp.org>
37670
37671         Make vasnprintf multithread-safe.
37672         * lib/vasnprintf.c (decimal_point_char): New function.
37673         (VASNPRINTF): Use it.
37674         Suggested by Simon Josefsson.
37675
37676 2007-03-27  Eric Blake  <ebb9@byu.net>
37677
37678         Support sub-second birthtime on cygwin.
37679         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
37680         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
37681         (get_stat_birthtime): Also work with st_birthtim.
37682
37683 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
37684
37685         * lib/stat-time.h (USE_BIRTHTIME): Remove.
37686         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
37687         (get_stat_birthtime_ns): Do not try to use "spare" fields.
37688         (get_stat_birthtime_ns): Simplify compile-time tests.
37689         (get_stat_birthtime): Change the API to look like
37690         get_stat_mtime etc., except return a negative tv_nsec on error.
37691         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
37692         Don't check for "spare" fields.
37693         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
37694         or for struct stat.st_birthtime, as these tests aren't used.
37695         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
37696
37697 2007-03-27  Bruno Haible  <bruno@clisp.org>
37698
37699         * lib/stat-time.h: Include <sys/stat.h>.
37700
37701 2007-03-27  James Youngman  <jay@gnu.org>
37702
37703         * lib/stat-time.h (get_stat_birthtime): New function for
37704           retrieving st_birthtime as provided by UFS2 (hence *BSD).
37705         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
37706           and its variants.
37707         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
37708         * modules/stat-time-test: New file.
37709         * tests/test-stat-time.c: New test, devised by Bruno Haible.
37710
37711 2007-03-26  Bruno Haible  <bruno@clisp.org>
37712
37713         Better support of signalling NaNs.
37714         * lib/atanl.c: Include isnanl.h.
37715         (atanl): Perform test for NaN at the beginning of the function and
37716         through a call to isnanl.
37717         * lib/cosl.c: Include isnanl.h.
37718         (cosl): Perform test for NaN at the beginning of the function and
37719         through a call to isnanl.
37720         * lib/ldexpl.c: Include isnanl.h.
37721         (ldexpl): Perform test for NaN through a call to isnanl.
37722         * lib/logl.c: Include isnanl.h.
37723         (logl): Perform test for NaN at the beginning of the function and
37724         through a call to isnanl.
37725         * lib/sinl.c: Include isnanl.h.
37726         (sinl): Perform test for NaN at the beginning of the function and
37727         through a call to isnanl.
37728         * lib/sqrtl.c: Include isnanl.h.
37729         (sqrtl): Perform test for NaN at the beginning of the function and
37730         through a call to isnanl.
37731         * lib/tanl.c: Include isnanl.h.
37732         (tanl): Perform test for NaN at the beginning of the function and
37733         through a call to isnanl.
37734         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
37735         * modules/mathl (Depends-on): Add isnanl.
37736
37737 2007-03-26  Eric Blake  <ebb9@byu.net>
37738
37739         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
37740         regression in logic sense of previous patch.
37741
37742 2007-03-26  Bruno Haible  <bruno@clisp.org>
37743
37744         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
37745         unportable shell command "if ! ...".
37746         Reported by Ralf Wildenhues.
37747
37748 2007-03-25  Bruno Haible  <bruno@clisp.org>
37749
37750         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
37751         <sysexits.h> file, and only add EX_CONFIG.
37752         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
37753         absolute file name and whether it is sufficient. Substitute also
37754         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
37755         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
37756         ABSOLUTE_SYSEXITS_H into sysexits.h.
37757
37758 2007-03-25  Bruno Haible  <bruno@clisp.org>
37759
37760         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
37761         hints is NULL.
37762
37763 2007-03-25  Bruno Haible  <bruno@clisp.org>
37764
37765         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
37766         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
37767
37768 2007-03-25  Bruno Haible  <bruno@clisp.org>
37769
37770         * lib/vasnprintf.c: Include langinfo.h.
37771         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
37772         multithread-safe.
37773         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
37774         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
37775         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37776         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37777         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37778         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37779         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37780         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
37781         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37782         Reported by Simon Josefsson.
37783
37784 2007-03-25  Bruno Haible  <bruno@clisp.org>
37785
37786         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
37787         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
37788         * modules/vasnprintf (Depends-on): Add stdint.
37789
37790 2007-03-25  Bruno Haible  <bruno@clisp.org>
37791
37792         * modules/fpieee: New file.
37793         * m4/fpieee.m4: New file.
37794         * modules/isnan-nolibm (Depends-on): Add fpieee.
37795         * modules/isnanl-nolibm (Depends-on): Add fpieee.
37796         * modules/isnanl (Depends-on): Add fpieee.
37797
37798 2007-03-25  Bruno Haible  <bruno@clisp.org>
37799
37800         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
37801
37802 2007-03-25  Bruno Haible  <bruno@clisp.org>
37803
37804         Avoid test failures on IRIX 6.5.
37805         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
37806         (main): Use it.
37807         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
37808         macros.
37809         (main): Use them.
37810
37811 2007-03-25  Bruno Haible  <bruno@clisp.org>
37812
37813         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
37814         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
37815         exists but doesn't work.
37816         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
37817         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
37818         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
37819         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
37820
37821 2007-03-25  Bruno Haible  <bruno@clisp.org>
37822
37823         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
37824         returns inf. Needed on IRIX 6.5.
37825
37826 2007-03-25  Bruno Haible  <bruno@clisp.org>
37827
37828         * tests/test-frexpl.c: Include isnanl-nolibm.h.
37829         (main): Use isnanl instead of x != x idiom.
37830         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
37831
37832         * tests/test-frexp.c: Include isnan.h.
37833         (main): Use isnan instead of x != x idiom.
37834         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
37835
37836 2007-03-25  Bruno Haible  <bruno@clisp.org>
37837
37838         * tests/test-frexp.c (NaN): New function/macro.
37839         (main): Use it instead of 0.0 / 0.0.
37840         * tests/test-isnan.c (NaN): New function/macro.
37841         (main): Use it instead of 0.0 / 0.0.
37842         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
37843         (test_function): Use it instead of 0.0 / 0.0.
37844         * tests/test-vasprintf-posix.c (NaN): New function/macro.
37845         (test_function): Use it instead of 0.0 / 0.0.
37846         * tests/test-snprintf-posix.h (NaN): New function/macro.
37847         (test_function): Use it instead of 0.0 / 0.0.
37848         * tests/test-sprintf-posix.h (NaN): New function/macro.
37849         (test_function): Use it instead of 0.0 / 0.0.
37850         * tests/test-fprintf-posix.h (NaN): New function/macro.
37851         (test_function): Use it instead of 0.0 / 0.0.
37852         * tests/test-printf-posix.h (NaN): New function/macro.
37853         (test_function): Use it instead of 0.0 / 0.0.
37854
37855         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
37856
37857 2007-03-25  Bruno Haible  <bruno@clisp.org>
37858
37859         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
37860
37861 2007-03-25  Bruno Haible  <bruno@clisp.org>
37862
37863         * lib/regexec.c (merge_state_with_log): Make static.
37864
37865 2007-03-25  Bruno Haible  <bruno@clisp.org>
37866
37867         * lib/trigl.c (kernel_rem_pio2): Make static.
37868
37869 2007-03-25  Bruno Haible  <bruno@clisp.org>
37870
37871         * lib/sincosl.c (sincosl_table): Make static.
37872
37873 2007-03-25  Bruno Haible  <bruno@clisp.org>
37874
37875         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
37876         if the compiler does not support C99.
37877
37878 2007-03-25  Bruno Haible  <bruno@clisp.org>
37879
37880         * modules/time (Makefile.am): Ensure all rule action lines start with a
37881         tab.
37882
37883 2007-03-24  Bruno Haible  <bruno@clisp.org>
37884
37885         * modules/tsearch-tests: New file.
37886         * tests/test-tsearch.sh: New file.
37887         * tests/test-tsearch.c: New file, mostly copied from glibc.
37888
37889         * modules/search-tests: New file.
37890         * tests/test-search.c: New file.
37891
37892         * modules/search: New file.
37893         * lib/search_.h: New file, incorporating lib/tsearch.h.
37894         * m4/search_h.m4: New file.
37895         * lib/tsearch.h: Remove file.
37896         * lib/tsearch.c: Include search.h instead of tsearch.h.
37897         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
37898         HAVE_TSEARCH.
37899         * modules/tsearch (Files): Remove lib/tsearch.h.
37900         (Depends-on): Add search.
37901         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
37902         (Include): Change tsearch.h into search.h.
37903
37904 2007-03-24  Bruno Haible  <bruno@clisp.org>
37905
37906         * modules/fpucw: New file.
37907         * lib/fpucw.h: New file.
37908         * lib/frexp.c: Include fpucw.h.
37909         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37910         (FUNC): Use them.
37911         * lib/printf-frexp.c: Include fpucw.h.
37912         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37913         (FUNC): Use them.
37914         * lib/vasnprintf.c: Include fpucw.h.
37915         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
37916         'long double' calculations.
37917         * tests/test-frexpl.c: Include fpucw.h.
37918         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37919         * tests/test-printf-frexpl.c: Include fpucw.h.
37920         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37921         * modules/frexpl (Depends-on): Add fpucw.
37922         * modules/printf-frexpl (Depends-on): Likewise.
37923         * modules/fprintf-posix (Depends-on): Likewise.
37924         * modules/snprintf-posix (Depends-on): Likewise.
37925         * modules/sprintf-posix (Depends-on): Likewise.
37926         * modules/vasnprintf-posix (Depends-on): Likewise.
37927         * modules/vasprintf-posix (Depends-on): Likewise.
37928         * modules/vfprintf-posix (Depends-on): Likewise.
37929         * modules/vsnprintf-posix (Depends-on): Likewise.
37930         * modules/vsprintf-posix (Depends-on): Likewise.
37931         * modules/frexpl-tests (Depends-on): Likewise.
37932         * modules/printf-frexpl-tests (Depends-on): Likewise.
37933
37934 2007-03-24  Bruno Haible  <bruno@clisp.org>
37935
37936         * lib/float+.h: New file.
37937         * lib/isnan.c: Include float+.h.
37938         (SIZE): New macro.
37939         (FUNC): Compare only SIZE bytes of the value.
37940         * lib/vasnprintf.c: Include float+.h.
37941         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
37942         SIZEOF_LDBL or SIZEOF_DBL bytes.
37943         * modules/isnan-nolibm (Files): Add lib/float+.h.
37944         * modules/isnanl-nolibm (Files): Add lib/float+.h.
37945         * modules/isnanl (Files): Add lib/float+.h.
37946         * modules/vasnprintf (Files): Add lib/float+.h.
37947
37948 2007-03-24  Bruno Haible  <bruno@clisp.org>
37949
37950         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
37951         include isnanl-nolibm.h.
37952
37953 2007-03-24  Bruno Haible  <bruno@clisp.org>
37954
37955         * tests/test-read-file.c (main): Don't produce spurious output for
37956         expected situations. Make the test fail if it encountered unexpected
37957         results.
37958
37959 2007-03-24  Bruno Haible  <bruno@clisp.org>
37960
37961         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
37962         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
37963
37964 2007-03-24  Bruno Haible  <bruno@clisp.org>
37965
37966         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
37967
37968 2007-03-24  Bruno Haible  <bruno@clisp.org>
37969
37970         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
37971         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
37972
37973         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
37974         * modules/utf8-ucs4: Turn into a symbolic link to module
37975         unistr/u8-mbtouc.
37976
37977         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
37978         utf8-ucs4-unsafe.
37979         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
37980         unistr/u8-mbtouc-unsafe.
37981
37982         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
37983         * modules/utf16-ucs4: Turn into a symbolic link to module
37984         unistr/u16-mbtouc.
37985
37986         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
37987         utf16-ucs4-unsafe.
37988         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
37989         unistr/u16-mbtouc-unsafe.
37990
37991         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
37992         * modules/ucs4-utf8: Turn into a symbolic link to module
37993         unistr/u8-ubtomb.
37994
37995         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
37996         * modules/ucs4-utf16: Turn into a symbolic link to module
37997         unistr/u16-ubtomb.
37998
37999 2007-03-24  Bruno Haible  <bruno@clisp.org>
38000
38001         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
38002         Enable the function only if HAVE_INLINE.
38003         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
38004         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
38005         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
38006         Enable the function only if HAVE_INLINE.
38007         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
38008         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
38009         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
38010         Enable the function only if HAVE_INLINE.
38011         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
38012         Enable the function only if HAVE_INLINE.
38013         * modules/utf8-ucs4: Update.
38014         * modules/utf8-ucs4-unsafe: Update.
38015         * modules/utf16-ucs4: Update.
38016         * modules/utf16-ucs4-unsafe: Update.
38017         * modules/ucs4-utf8: Update.
38018         * modules/ucs4-utf16: Update.
38019
38020 2007-03-24  Bruno Haible  <bruno@clisp.org>
38021
38022         * lib/utf8-ucs4.h: Remove file.
38023         * lib/utf8-ucs4-unsafe.h: Remove file.
38024         * lib/utf16-ucs4.h: Remove file.
38025         * lib/utf16-ucs4-unsafe.h: Remove file.
38026         * lib/ucs4-utf8.h: Remove file.
38027         * lib/ucs4-utf16.h: Remove file.
38028         * lib/unistr.h: Include their previous contents.
38029         * m4/utf-ucs4.m4: Remove file.
38030         * m4/ucs4-utf.m4: Remove file.
38031         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
38032         (Depends-on): Add unistr/base.
38033         (configure.ac): Remove gl_UTF_UCS4.
38034         (Makefile.am): Update.
38035         (Include): Change to unistr.h.
38036         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
38037         (Depends-on): Add unistr/base.
38038         (configure.ac): Remove gl_UTF_UCS4.
38039         (Makefile.am): Update.
38040         (Include): Change to unistr.h.
38041         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
38042         (Depends-on): Add unistr/base.
38043         (configure.ac): Remove gl_UTF_UCS4.
38044         (Makefile.am): Update.
38045         (Include): Change to unistr.h.
38046         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
38047         (Depends-on): Add unistr/base.
38048         (configure.ac): Remove gl_UTF_UCS4.
38049         (Makefile.am): Update.
38050         (Include): Change to unistr.h.
38051         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
38052         (Depends-on): Add unistr/base.
38053         (configure.ac): Remove gl_UCS4_UTF.
38054         (Makefile.am): Update.
38055         (Include): Change to unistr.h.
38056         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
38057         (Depends-on): Add unistr/base.
38058         (configure.ac): Remove gl_UCS4_UTF.
38059         (Makefile.am): Update.
38060         (Include): Change to unistr.h.
38061         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
38062         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
38063         utf8-ucs4-unsafe.h.
38064         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
38065         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
38066         utf16-ucs4-unsafe.h.
38067         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
38068         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
38069         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
38070         * lib/unistr/u8-strchr.c: Likewise.
38071         * lib/unistr/u8-strrchr.c: Likewise.
38072         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
38073         * lib/unistr/u16-strchr.c: Likewise.
38074         * lib/unistr/u16-strrchr.c: Likewise.
38075         * lib/striconveh.c: Update.
38076         * lib/linebreak.c: Update.
38077
38078 2007-03-24  Bruno Haible  <bruno@clisp.org>
38079
38080         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
38081         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
38082
38083 2007-03-22  Bruno Haible  <bruno@clisp.org>
38084
38085         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
38086
38087 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
38088
38089         * MODULES.html.sh (File system functions): New module write-any-file.
38090         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
38091         * m4/write-any-file.m4: New files.
38092
38093 2007-03-23  Eric Blake  <ebb9@byu.net>
38094
38095         * gnulib-tool: Rearrange space-tab sequences, since some editors
38096         like to eat them.
38097
38098 2007-03-23  Eric Blake  <ebb9@byu.net>
38099
38100         * lib/version-etc.c (version_etc_va): Update license wording to
38101         be more concise.  Recommended by Richard Stallman.
38102
38103 2007-03-22  Bruno Haible  <bruno@clisp.org>
38104
38105         * lib/poll.c (MSG_PEEK): New fallback definition.
38106
38107 2007-03-22  Bruno Haible  <bruno@clisp.org>
38108
38109         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
38110         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
38111         (main): Update.
38112         Fixes a compilation error on BeOS.
38113
38114 2007-03-22  Bruno Haible  <bruno@clisp.org>
38115
38116         * modules/frexpl-tests: New file.
38117         * tests/test-frexpl.c: New file.
38118
38119         * modules/frexpl: New file.
38120         * m4/frexpl.m4: New file.
38121         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
38122         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
38123         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
38124         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
38125         (Depends-on): Add frexpl. Remove isnanl-nolibm.
38126         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
38127
38128 2007-03-22  Bruno Haible  <bruno@clisp.org>
38129
38130         * lib/frexpl.c: Share code with lib/frexp.c.
38131         * modules/mathl (Files): Add lib/frexp.c.
38132         (Depends-on): Add isnanl-nolibm.
38133
38134 2007-03-22  Bruno Haible  <bruno@clisp.org>
38135
38136         * modules/printf-frexp (Files): Add m4/frexp.m4.
38137         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
38138         only if the found frexp function actually works.
38139
38140 2007-03-22  Bruno Haible  <bruno@clisp.org>
38141
38142         * lib/frexp.c: Remove older implementation that uses divisions.
38143
38144 2007-03-21  Bruno Haible  <bruno@clisp.org>
38145
38146         * modules/frexp-tests: New file.
38147         * tests/test-frexp.c: New file.
38148
38149         * modules/frexp: New file.
38150         * lib/frexp.c: New file.
38151         * m4/frexp.m4: New file.
38152         * lib/math_.h (frexp): New declaration.
38153         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
38154         REPLACE_FREXP.
38155         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
38156
38157 2007-03-21  Bruno Haible  <bruno@clisp.org>
38158
38159         * modules/isnanl-tests: New file.
38160         * tests/test-isnanl.c: New file.
38161
38162         * modules/isnanl: New file.
38163         * lib/isnanl.h: New file.
38164         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
38165         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
38166         gl_FUNC_ISNANL_WORKS.
38167         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
38168         New macros.
38169
38170 2007-03-21  Bruno Haible  <bruno@clisp.org>
38171
38172         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
38173         lib/isnanl.h.
38174         (Include): Update.
38175         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
38176         * lib/vasnprintf.c: Update.
38177         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
38178         tests/test-isnanl.h, remove tests/test-isnanl.c.
38179         (Makefile.am): Update.
38180         * tests/test-isnanl-nolibm.c: New file.
38181         * tests/test-isnanl.h: New file.
38182         * tests/test-isnanl.c: Remove file.
38183
38184 2007-03-21  Jim Meyering  <jim@meyering.net>
38185
38186         When trying to open ".", treat ESTALE like EACCES.
38187         * lib/savewd.c (savewd_save): Resort to forking not just upon
38188         failure with EACCES, but also when errno is ESTALE.
38189
38190 2007-03-20  Bruno Haible  <bruno@clisp.org>
38191
38192         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
38193         Needed on AIX 5.1. Reported by Matthew Woehlke.
38194
38195 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
38196
38197         Suggestions by Bruno Haible:
38198         * lib/acl-internal.h: Include "gettext.h" rather than rolling
38199         our own.
38200         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
38201         * modules/acl (Depends-on): Add gettext.
38202
38203 2007-03-19  Bruno Haible  <bruno@clisp.org>
38204
38205         * modules/iconvme: Remove file.
38206         * lib/iconvme.h: Remove file.
38207         * lib/iconvme.c: Remove file.
38208         * m4/iconvme.m4: Remove file.
38209
38210 2007-03-19  Bruno Haible  <bruno@clisp.org>
38211
38212         * doc/relocatable-maint.texi: Break long shell script line.
38213         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
38214
38215 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
38216
38217         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
38218         handle file_has_acl.
38219         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
38220         * lib/acl.c: Move header inclusions and related macro defns into
38221         lib/acl-internal.h.
38222         (S_ISLNK): Remove defn, since that's now done for us.
38223         (file_has_acl): Move to lib/file-has-acl.c.
38224         Call acl_trivial if available.  This is the crucial part of the fix.
38225         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
38226         shared within the library.  Rewrite a bit, partly to make it compatible
38227         with the GNU coding style.
38228         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
38229         Remove unnecessary double-quotes.
38230         Don't test for acl_to_text; the build will catch that.
38231         Replace acl_entries if it doesn't exist and it is needed.
38232         Check for -lsec and acl_trivial (as used on Solaris 10).
38233         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
38234         lib/file-has-acl.c.
38235         (Depends-on): Add sys_stat, for S_ISLNK.
38236
38237 2007-03-19  Ben Pfaff  <blp@gnu.org>
38238
38239         * doc/gnulib.texi: Fix typos.
38240         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
38241
38242 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
38243
38244         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
38245         If size is zero here, buf must be zero.
38246
38247 2007-03-19  Simon Josefsson  <simon@josefsson.org>
38248
38249         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
38250         <bruno@clisp.org>.
38251
38252 2007-03-18  Bruno Haible  <bruno@clisp.org>
38253
38254         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
38255         Suggested by Eric Blake.
38256
38257 2007-03-18  Ben Pfaff  <blp@gnu.org>
38258
38259         * doc/relocatable.texi: Recommend using as prefix a directory
38260         that does not exist and will never be created.  Based on
38261         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
38262         and others.
38263
38264 2007-03-17  Bruno Haible  <bruno@clisp.org>
38265
38266         * lib/fchownat.c: Include lchown.h.
38267
38268 2007-03-17  Bruno Haible  <bruno@clisp.org>
38269
38270         Fix endless loop when the given allocated size was > INT_MAX.
38271         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
38272         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
38273         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
38274         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
38275         * lib/sprintf.c (sprintf): Likewise.
38276
38277 2007-03-17  Bruno Haible  <bruno@clisp.org>
38278
38279         * tests/test-argp-2.sh (func_compare): Output a context diff.
38280
38281 2007-03-17  Bruno Haible  <bruno@clisp.org>
38282
38283         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
38284         locale's decimal-point character.
38285
38286 2007-03-17  Bruno Haible  <bruno@clisp.org>
38287
38288         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
38289         before comparing it. Needed because on some platforms (e.g. x86) a
38290         'long double' occupies less bytes than sizeof (long double).
38291
38292 2007-03-17  Bruno Haible  <bruno@clisp.org>
38293
38294         * tests/test-crc.c (main): Make printf statements 64-bit clean.
38295         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
38296         * tests/test-getaddrinfo.c (simple): Likewise.
38297         * tests/test-read-file.c (main): Likewise.
38298
38299 2007-03-17  Bruno Haible  <bruno@clisp.org>
38300
38301         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
38302
38303 2007-03-17  Bruno Haible  <bruno@clisp.org>
38304
38305         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
38306         unused variable.
38307
38308 2007-03-17  Bruno Haible  <bruno@clisp.org>
38309
38310         * tests/test-c-strcasecmp.c: Include c-strcase.h.
38311         * tests/test-c-strncasecmp.c: Likewise.
38312
38313 2007-03-17  Bruno Haible  <bruno@clisp.org>
38314
38315         * modules/stdlib (Depends-on): Add unistd.
38316         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
38317         Needed for MacOS X 10.3.
38318
38319 2007-03-17  Bruno Haible  <bruno@clisp.org>
38320
38321         * lib/unistr/u-strdup.h: Include <stdlib.h>.
38322
38323 2007-03-17  Bruno Haible  <bruno@clisp.org>
38324
38325         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
38326
38327 2007-03-17  Bruno Haible  <bruno@clisp.org>
38328
38329         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
38330         to reflect files copied from gnulib (with or without modifications).
38331         Suggested by Jim Meyering.
38332
38333 2007-03-17  Eric Blake  <ebb9@byu.net>
38334
38335         * NEWS: Document stdlib change from 2007-02-18.
38336
38337 2007-03-17  Jim Meyering  <jim@meyering.net>
38338
38339         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
38340         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
38341         someone uses a name containing shell meta-characters.
38342         Reported by Alfred M. Szmidt.
38343
38344         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
38345
38346 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
38347
38348         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
38349         and copy gettext configuration files only if configure.ac contains
38350         a use of AM_GNU_GETTEXT_VERSION.
38351
38352 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
38353
38354         * build-aux/bootstrap (gnulib_name): New variable.
38355         (gnulib_tool_options): Use it.
38356
38357 2007-03-13  Simon Josefsson  <simon@josefsson.org>
38358
38359         * tests/test-des.c: Use new namespace.
38360
38361 2007-03-15  Bruno Haible  <bruno@clisp.org>
38362
38363         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
38364         Reported by James Youngman <jay@gnu.org>.
38365
38366 2007-03-15  Bruno Haible  <bruno@clisp.org>
38367
38368         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
38369         declared prototype. Needed with cc on OSF/1 5.1.
38370
38371 2007-03-15  Bruno Haible  <bruno@clisp.org>
38372
38373         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
38374         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
38375         (struct gl_list_implementation): Add dispose_fn argument to the
38376         'create_empty', 'create' methods.
38377         (struct gl_list_impl_base): Add field 'dispose_fn'.
38378         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
38379         argument.
38380         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
38381         dispose_fn argument.
38382         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
38383         dispose_fn on the dropped values.
38384         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
38385         dispose_fn argument.
38386         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
38387         dropped values.
38388         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
38389         (gl_tree_remove_node): Call dispose_fn on the dropped value.
38390         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
38391         (gl_tree_remove_node): Call dispose_fn on the dropped value.
38392         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
38393         argument.
38394         (gl_tree_list_free): Call dispose_fn on the dropped values.
38395         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
38396         the dropped values.
38397         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
38398         Add dispose_fn argument.
38399         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
38400         Call dispose_fn on the dropped values.
38401         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
38402         Add dispose_fn argument.
38403         (gl_sublist_create): Initialize the 'dispose_fn' field.
38404         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
38405         * tests/test-array_list.c (main): Update.
38406         * tests/test-carray_list.c (main): Update.
38407         * tests/test-avltree_list.c (main): Update.
38408         * tests/test-rbtree_list.c (main): Update.
38409         * tests/test-avltreehash_list.c (main): Update.
38410         * tests/test-rbtreehash_list.c (main): Update.
38411         * tests/test-linked_list.c (main): Update.
38412         * tests/test-linkedhash_list.c (main): Update.
38413         * tests/test-array_oset.c (main): Update.
38414
38415 2007-03-15  Bruno Haible  <bruno@clisp.org>
38416
38417         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
38418         (gl_oset_create_empty): Add dispose_fn argument.
38419         (struct gl_oset_implementation): Add dispose_fn argument to
38420         'create_empty' method.
38421         (struct gl_oset_impl_base): Add dispose_fn field.
38422         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
38423         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
38424         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
38425         values.
38426         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
38427         (gl_tree_oset_free): Call dispose_fn on the dropped values.
38428         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
38429         dropped value.
38430         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
38431         dropped value.
38432         * tests/test-array_oset.c (main): Update.
38433         * tests/test-avltree_oset.c (main): Update.
38434         * tests/test-rbtree_oset.c (main): Update.
38435         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
38436
38437 2007-03-13  Bruno Haible  <bruno@clisp.org>
38438
38439         * tests/test-stdbool.c (i): Update after last patch.
38440
38441 2007-03-12  Bruno Haible  <bruno@clisp.org>
38442
38443         * lib/quotearg.c: Include <wctype.h> early, before the definition of
38444         the iswprint macro. Needed on Solaris 2.5.1.
38445
38446 2007-03-12  Bruno Haible  <bruno@clisp.org>
38447
38448         * tests/test-printf-frexp.c (main): Declare x as volatile.
38449
38450 2007-03-12  Simon Josefsson  <simon@josefsson.org>
38451
38452         * doc/gnulib.texi (Build robot for gnulib): New section.
38453
38454 2007-03-12  Jim Meyering  <jim@meyering.net>
38455
38456         * build-aux/bootstrap: New file.
38457         * build-aux/bootstrap.conf: New file, from coreutils.
38458
38459 2007-03-11  Bruno Haible  <bruno@clisp.org>
38460
38461         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
38462
38463 2007-03-12  Simon Josefsson  <simon@josefsson.org>
38464
38465         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
38466         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
38467         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
38468
38469 2007-03-11  Bruno Haible  <bruno@clisp.org>
38470
38471         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
38472         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
38473
38474 2007-03-11  Bruno Haible  <bruno@clisp.org>
38475
38476         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
38477         formula. Needed for SunPRO C 5.0.
38478
38479 2007-03-11  Bruno Haible  <bruno@clisp.org>
38480
38481         * modules/long-options (Depends-on): Add getopt.
38482
38483 2007-03-11  Bruno Haible  <bruno@clisp.org>
38484
38485         * modules/modechange (Depends-on): Add stdbool.
38486
38487 2007-03-11  Bruno Haible  <bruno@clisp.org>
38488
38489         * modules/i-ring (Depends-on): Add stdbool.
38490
38491 2007-03-11  Bruno Haible  <bruno@clisp.org>
38492
38493         * modules/gc-des (Depends-on): Add stdbool.
38494
38495 2007-03-11  Bruno Haible  <bruno@clisp.org>
38496
38497         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
38498
38499 2007-03-11  Bruno Haible  <bruno@clisp.org>
38500
38501         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
38502
38503 2007-03-11  Bruno Haible  <bruno@clisp.org>
38504
38505         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
38506
38507 2007-03-11  Bruno Haible  <bruno@clisp.org>
38508
38509         * lib/vasnprintf.c (sprintf): Undefine.
38510
38511 2007-03-11  Bruno Haible  <bruno@clisp.org>
38512
38513         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
38514         initializers in SunPRO C and Compaq C compilers.
38515
38516 2007-03-11  Bruno Haible  <bruno@clisp.org>
38517
38518         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
38519         decrementing code ANSI C compliant.
38520
38521 2007-03-11  Bruno Haible  <bruno@clisp.org>
38522
38523         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
38524         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
38525
38526 2007-03-11  Bruno Haible  <bruno@clisp.org>
38527
38528         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
38529         <stdbool.h> substitute doesn't pass.
38530
38531 2007-03-11  Bruno Haible  <bruno@clisp.org>
38532
38533         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
38534
38535 2007-03-11  Bruno Haible  <bruno@clisp.org>
38536
38537         * gnulib-tool (func_create_megatestdir): Create also an autobuild
38538         script, for submission to autobuild.josefsson.org.
38539
38540 2007-03-10  Bruno Haible  <bruno@clisp.org>
38541
38542         * modules/canonicalize-lgpl-tests: New file.
38543         * tests/test-canonicalize-lgpl.sh: New file.
38544         * tests/test-canonicalize-lgpl.c: New file.
38545
38546         * modules/c-strcase-tests: New file.
38547         * tests/test-c-strcase.sh: New file.
38548         * tests/test-c-strcasecmp.c: New file.
38549         * tests/test-c-strncasecmp.c: New file.
38550
38551         * modules/atexit-tests: New file.
38552         * tests/test-atexit.sh: New file.
38553         * tests/test-atexit.c: New file.
38554
38555 2007-03-10  Bruno Haible  <bruno@clisp.org>
38556
38557         * tests/test-binary-io.sh: Use temporary filenames that are not so
38558         likely to clash with those of other tests (in a parallel make).
38559         * tests/test-binary-io.c: Likewise.
38560
38561 2007-03-10  Bruno Haible  <bruno@clisp.org>
38562
38563         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
38564         fallback; use #error instead.
38565         Suggested by Simon Josefsson.
38566
38567 2007-03-10  Bruno Haible  <bruno@clisp.org>
38568
38569         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
38570         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
38571         first and the last.
38572
38573 2007-03-10  Bruno Haible  <bruno@clisp.org>
38574
38575         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
38576
38577 2007-03-10  Bruno Haible  <bruno@clisp.org>
38578
38579         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
38580         "make distcheck".
38581         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
38582         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
38583         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
38584
38585 2007-03-10  Bruno Haible  <bruno@clisp.org>
38586
38587         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
38588         variable.
38589         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
38590         variable.
38591
38592 2007-03-09  Eric Blake  <ebb9@byu.net>
38593         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
38594
38595         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
38596         types are not being provided by gnulib.
38597         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
38598         types are supported.
38599
38600 2007-03-10  Bruno Haible  <bruno@clisp.org>
38601
38602         * lib/stdio_.h (__attribute__): New macro.
38603         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
38604         vsprintf): Specify __attribute__ __format__ for GCC.
38605         Suggested by Eric Blake.
38606
38607 2007-03-09  Bruno Haible  <bruno@clisp.org>
38608
38609         * modules/printf-posix-tests: New file.
38610         * tests/test-printf-posix.sh: New file.
38611         * tests/test-printf-posix.c: New file.
38612
38613         * modules/printf-posix: New file.
38614         * lib/printf.c: New file.
38615         * m4/printf-posix-rpl.m4: New file.
38616         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
38617         REPLACE_PRINTF.
38618         * lib/stdio_.h (printf): New declaration.
38619         (format, __format__, ____printf____, ____scanf____, ____strftime____,
38620         ____strfmon____): New macros.
38621         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
38622         REPLACE_PRINTF.
38623
38624 2007-03-09  Bruno Haible  <bruno@clisp.org>
38625
38626         * tests/test-vasnprintf-posix2.sh: New file.
38627         * tests/test-vasnprintf-posix2.c: New file.
38628         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
38629         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
38630         (Makefile.am): Activate test-vasnprintf-posix2.sh.
38631
38632         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
38633         a locale dependent decimal point, rather than always '.'.
38634
38635 2007-03-09  Eric Blake  <ebb9@byu.net>
38636
38637         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
38638         spite of platforms like Tandem/NSK that define it to -1.
38639
38640 2007-03-08  Bruno Haible  <bruno@clisp.org>
38641
38642         * modules/vprintf-posix-tests: New file.
38643         * tests/test-vprintf-posix.sh: New file.
38644         * tests/test-vprintf-posix.c: New file.
38645         * tests/test-printf-posix.h: New file.
38646
38647         * modules/vprintf-posix: New file.
38648         * lib/vprintf.c: New file.
38649         * m4/vprintf-posix.m4: New file.
38650         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
38651         REPLACE_VPRINTF.
38652         * lib/stdio_.h (vprintf): New declaration.
38653         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
38654         REPLACE_VPRINTF.
38655
38656 2007-03-08  Bruno Haible  <bruno@clisp.org>
38657
38658         * modules/fprintf-posix-tests: New file.
38659         * tests/test-fprintf-posix.sh: New file.
38660         * tests/test-fprintf-posix.c: New file.
38661
38662         * modules/fprintf-posix: New file.
38663         * lib/fprintf.c: New file.
38664         * m4/fprintf-posix.m4: New file.
38665         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
38666         REPLACE_FPRINTF.
38667         * lib/stdio_.h (fprintf): New declaration.
38668         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
38669         REPLACE_FPRINTF.
38670
38671 2007-03-08  Bruno Haible  <bruno@clisp.org>
38672
38673         * modules/vfprintf-posix-tests: New file.
38674         * tests/test-vfprintf-posix.sh: New file.
38675         * tests/test-vfprintf-posix.c: New file.
38676         * tests/test-fprintf-posix.h: New file.
38677         * tests/test-fprintf-posix.out: New file.
38678
38679         * modules/vfprintf-posix: New file.
38680         * lib/vfprintf.c: New file.
38681         * m4/vfprintf-posix.m4: New file.
38682         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
38683         REPLACE_VFPRINTF.
38684         * lib/stdio_.h (vfprintf): New declaration.
38685         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
38686         REPLACE_VFPRINTF.
38687
38688 2007-03-08  Bruno Haible  <bruno@clisp.org>
38689
38690         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
38691
38692 2007-03-08  Bruno Haible  <bruno@clisp.org>
38693
38694         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
38695         instead of 'expr' invocations.
38696         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38697         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38698         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38699         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38700         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38701         Suggested by Paul Eggert.
38702
38703 2007-03-08  Bruno Haible  <bruno@clisp.org>
38704
38705         * modules/fseterr-tests: New file.
38706         * tests/test-fseterr.c: New file.
38707
38708         * modules/fseterr: New file.
38709         * lib/fseterr.h: New file.
38710         * lib/fseterr.c: New file.
38711
38712 2007-03-08  Bruno Haible  <bruno@clisp.org>
38713
38714         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
38715         * lib/getopt_.h: Likewise.
38716         * lib/mbswidth.h: Likewise.
38717         * lib/setenv.h: Likewise.
38718         * lib/vasnprintf.h: Likewise.
38719         * lib/vasprintf.h: Likewise.
38720         * lib/verror.h: Likewise.
38721         * lib/xsetenv.h: Likewise.
38722         * lib/xvasprintf.h: Likewise.
38723
38724 2007-03-08  Jim Meyering  <jim@meyering.net>
38725
38726         * users.txt: Add parted.
38727
38728         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
38729
38730 2007-03-07  Bruno Haible  <bruno@clisp.org>
38731
38732         * m4/printf.m4: Make the shell script snippets copy&pastable.
38733
38734 2007-03-02  Bruno Haible  <bruno@clisp.org>
38735
38736         * lib/netinet_in_.h: New file.
38737         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
38738         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
38739         * modules/netinet_in (Files): Add lib/netinet_in_.h.
38740         (Depends-on): Add absolute-header.
38741         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
38742         into netinet/in.h.
38743
38744 2007-03-03  Bruno Haible  <bruno@clisp.org>
38745
38746         * lib/sys_select_.h: New file.
38747         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
38748         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
38749         * modules/sys_select (Files): Add lib/sys_select_.h.
38750         (Depends-on): Add absolute-header.
38751         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
38752         into sys/select.h.
38753
38754 2007-03-02  Bruno Haible  <bruno@clisp.org>
38755
38756         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
38757         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
38758         values.
38759         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
38760         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
38761         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
38762         * modules/sys_socket (Depends-on): Add absolute-header.
38763         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
38764         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
38765         (Include): Remove requirement of inclusion of <sys/types.h>.
38766
38767 2007-03-02  Bruno Haible  <bruno@clisp.org>
38768
38769         * lib/byteswap_.h (bswap_32): Fix formula.
38770
38771 2007-03-06  Bruno Haible  <bruno@clisp.org>
38772
38773         * modules/sprintf-posix-tests: New file.
38774         * tests/test-sprintf-posix.c: New file.
38775
38776         * modules/sprintf-posix: New file.
38777         * lib/sprintf.c: New file.
38778         * m4/sprintf-posix.m4: New file.
38779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
38780         REPLACE_SPRINTF.
38781         * lib/stdio_.h (sprintf): New declaration.
38782         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
38783         REPLACE_SPRINTF.
38784
38785 2007-03-06  Bruno Haible  <bruno@clisp.org>
38786
38787         * modules/vsprintf-posix-tests: New file.
38788         * tests/test-vsprintf-posix.c: New file.
38789         * tests/test-sprintf-posix.h: New file.
38790
38791         * modules/vsprintf-posix: New file.
38792         * lib/vsprintf.c: New file.
38793         * m4/vsprintf-posix.m4: New file.
38794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
38795         REPLACE_VSPRINTF.
38796         * lib/stdio_.h (vsprintf): New declaration.
38797         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
38798         REPLACE_VSPRINTF.
38799
38800 2007-03-06  Bruno Haible  <bruno@clisp.org>
38801
38802         * modules/vsnprintf (Depend-on): Remove minmax.
38803
38804 2007-03-06  Bruno Haible  <bruno@clisp.org>
38805
38806         * modules/snprintf-posix-tests: New file.
38807         * tests/test-snprintf-posix.c: New file.
38808
38809         * modules/snprintf-posix: New file.
38810         * m4/snprintf-posix.m4: New file.
38811         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
38812         gl_FUNC_SNPRINTF.
38813         (gl_FUNC_SNPRINTF): Invoke it.
38814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
38815         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
38816         is set.
38817         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
38818
38819 2007-03-06  Bruno Haible  <bruno@clisp.org>
38820
38821         * modules/vsnprintf-posix-tests: New file.
38822         * tests/test-vsnprintf-posix.c: New file.
38823         * tests/test-snprintf-posix.h: New file.
38824
38825         * modules/vsnprintf-posix: New file.
38826         * m4/vsnprintf-posix.m4: New file.
38827         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
38828         gl_FUNC_VSNPRINTF.
38829         (gl_FUNC_VSNPRINTF): Invoke it.
38830         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
38831         * lib/stdio_.h (vsnprintf): Define as a replacement if
38832         REPLACE_VSNPRINTF is set.
38833         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
38834
38835 2007-03-06  Bruno Haible  <bruno@clisp.org>
38836
38837         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
38838         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
38839
38840 2007-03-06  Bruno Haible  <bruno@clisp.org>
38841
38842         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
38843         (asinl): Declare also if HAVE_DECL_ASINL is set.
38844         (atanl): Declare also if HAVE_DECL_ATANL is set.
38845         (ceill): Declare also if HAVE_DECL_CEILL is set.
38846         (cosl): Declare also if HAVE_DECL_COSL is set.
38847         (expl): Declare also if HAVE_DECL_EXPL is set.
38848         (floorl): Declare also if HAVE_DECL_FLOORL is set.
38849         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
38850         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
38851         (logl): Declare also if HAVE_DECL_LOGL is set.
38852         (sinl): Declare also if HAVE_DECL_SINL is set.
38853         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
38854         (tanl): Declare also if HAVE_DECL_TANL is set.
38855         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
38856         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
38857         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
38858         declaration of frexpl, ldexpl.
38859         * modules/printf-frexpl (Depends-on): Add math.
38860         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
38861
38862 2007-03-05  Bruno Haible  <bruno@clisp.org>
38863
38864         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
38865         frexpl and ldexpl are declared.
38866         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
38867
38868 2007-03-05  Bruno Haible  <bruno@clisp.org>
38869
38870         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
38871         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
38872
38873 2007-03-05  Bruno Haible  <bruno@clisp.org>
38874
38875         * lib/stdio_.h: Include <stddef.h>.
38876
38877 2007-03-05  Bruno Haible  <bruno@clisp.org>
38878
38879         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
38880
38881 2007-03-05  Bruno Haible  <bruno@clisp.org>
38882
38883         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
38884         NetBSD 4, from Ralf Wildenhues.
38885
38886 2007-03-04  Bruno Haible  <bruno@clisp.org>
38887
38888         * lib/vasprintf.h: Update #if logic for the case when the functions
38889         exist but are overridden.
38890
38891 2007-03-04  Bruno Haible  <bruno@clisp.org>
38892
38893         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
38894         implementations: glibc-2.4 and MacOS X 10.3.
38895         * tests/test-vasnprintf-posix.c (test_function): Test also the case
38896         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
38897         * tests/test-vasprintf-posix.c (test_function): Likewise.
38898
38899 2007-03-04  Bruno Haible  <bruno@clisp.org>
38900
38901         * modules/vasprintf-posix-tests: New file.
38902         * tests/test-vasprintf-posix.c: New file.
38903
38904         * modules/vasprintf-posix: New file.
38905         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
38906         defined.
38907         * m4/vasprintf-posix.m4: New file.
38908         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
38909         gl_FUNC_VASPRINTF.
38910         (gl_FUNC_VASPRINTF): Invoke it.
38911         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
38912         here.
38913         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
38914
38915 2007-03-04  Bruno Haible  <bruno@clisp.org>
38916
38917         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
38918         REPLACE_GETTIMEOFDAY.
38919         * modules/sys_time (Makefile.am): Likewise.
38920         * m4/sys_time_h.m4: Likewise.
38921         * m4/gettimeofday.m4: Likewise.
38922
38923 2007-03-04  Bruno Haible  <bruno@clisp.org>
38924
38925         * modules/vasnprintf-posix-tests: New file.
38926         * tests/test-vasnprintf-posix.c: New file.
38927
38928         * modules/vasnprintf-posix: New file.
38929         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
38930         printf-frexpl.h.
38931         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
38932         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
38933         REPLACE_VASNPRINTF is defined.
38934         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
38935         gl_FUNC_VASNPRINTF.
38936         (gl_FUNC_VASNPRINTF): Invoke it.
38937         * m4/vasnprintf-posix.m4: New file.
38938         * m4/printf.m4: New file.
38939
38940 2007-03-04  Bruno Haible  <bruno@clisp.org>
38941
38942         Compile progreloc.c only if --enable-relocatable is specified.
38943         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
38944         if --enable-relocatable was specified.
38945         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
38946         lib_SOURCES.
38947
38948 2007-03-04  Jim Meyering  <jim@meyering.net>
38949
38950         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
38951         Use it consistently, rather than enumerating errno constants.
38952
38953 2007-03-04  Bruno Haible  <bruno@clisp.org>
38954
38955         * modules/xvasprintf-tests: New file.
38956         * tests/test-xvasprintf.c: New file.
38957
38958         * modules/vasprintf-tests: New file.
38959         * tests/test-vasprintf.c: New file.
38960
38961         * modules/vasnprintf-tests: New file.
38962         * tests/test-vasnprintf.c: New file.
38963
38964         * modules/vsnprintf-tests: New file.
38965         * tests/test-vsnprintf.c: New file.
38966
38967         * modules/snprintf-tests: New file.
38968         * tests/test-snprintf.c: New file.
38969
38970 2007-03-04  Bruno Haible  <bruno@clisp.org>
38971
38972         Compile relocatable.c only if --enable-relocatable is specified.
38973         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
38974         gl_RELOCATABLE_LIBRARY.
38975         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
38976         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
38977         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
38978         gl_RELOCATABLE_LIBRARY.
38979         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
38980         (Makefile.am): Remove lib_SOURCES.
38981         * modules/relocatable-lib-lgpl (configure.ac): Invoke
38982         gl_RELOCATABLE_LIBRARY.
38983         (Makefile.am): Remove lib_SOURCES.
38984         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
38985         always.
38986         * modules/relocatable-prog-wrapper (configure.ac): Invoke
38987         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
38988
38989 2007-03-04  Bruno Haible  <bruno@clisp.org>
38990
38991         * modules/argmatch-tests: New file.
38992         * tests/test-argmatch.c: New file.
38993
38994         * tests/test-allocsa.c (main): Halve the number of loop runs.
38995
38996         * modules/alloca-opt-tests: New file.
38997         * tests/test-alloca-opt.c: New file.
38998
38999 2007-03-04  Jim Meyering  <jim@meyering.net>
39000
39001         Work around difference between Linux ACLs and Solaris 10 ZFS.
39002         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
39003         for EINVAL.
39004
39005 2007-03-03  Bruno Haible  <bruno@clisp.org>
39006
39007         * modules/relocatable-prog (Depends-on): Add back progreloc's
39008         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
39009
39010 2007-03-03  Bruno Haible  <bruno@clisp.org>
39011
39012         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
39013         * modules/relocatable-lib: New file.
39014
39015 2007-03-03  Bruno Haible  <bruno@clisp.org>
39016
39017         * modules/relocatable-prog: Renamed from modules/relocatable.
39018         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
39019
39020 2007-03-03  Bruno Haible  <bruno@clisp.org>
39021
39022         * modules/relocatable-script (Files): Add doc/relocatable.texi,
39023         m4/relocatable-lib.m4.
39024         (Depends-on): Remove 'relocatable'.
39025         (configure.ac): Add gl_RELOCATABLE_NOP.
39026
39027 2007-03-03  Bruno Haible  <bruno@clisp.org>
39028
39029         * modules/relocatable-prog-wrapper: New file.
39030         * modules/relocatable (Depends-on): Add it. Remove all other
39031         dependencies except progname.
39032         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
39033
39034         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
39035         (gl_FUNC_STRERROR): Nop.
39036         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
39037
39038         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
39039         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
39040
39041         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
39042         (gl_FUNC_READLINK): Update.
39043
39044         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
39045
39046 2007-03-03  Bruno Haible  <bruno@clisp.org>
39047
39048         * lib/xreadlink.c: Include <unistd.h> unconditionally.
39049         * modules/xreadlink (Depends-on): Add unistd.
39050         * modules/xreadlink-with-size (Depends-on): Likewise.
39051
39052 2007-03-03  Bruno Haible  <bruno@clisp.org>
39053
39054         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
39055         extracted from gt_FUNC_SETENV.
39056         (gt_FUNC_SETENV): Remove macro.
39057         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
39058         remove gt_FUNC_SETENV.
39059
39060 2007-03-03  Bruno Haible  <bruno@clisp.org>
39061
39062         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
39063         ENABLE_RELOCATABLE here.
39064         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
39065
39066 2007-03-03  Bruno Haible  <bruno@clisp.org>
39067
39068         * modules/rbtreehash-list-tests (Depends-on): Add progname.
39069         * tests/test-rbtreehash_list.c: Include progname.h.
39070         (main): Call set_program_name.
39071
39072         * modules/rbtree-oset-tests (Depends-on): Add progname.
39073         * tests/test-rbtree_oset.c: Include progname.h.
39074         (main): Call set_program_name.
39075
39076         * modules/rbtree-list-tests (Depends-on): Add progname.
39077         * tests/test-rbtree_list.c: Include progname.h.
39078         (main): Call set_program_name.
39079
39080         * modules/linked-list-tests (Depends-on): Add progname.
39081         * tests/test-linked_list.c: Include progname.h.
39082         (main): Call set_program_name.
39083
39084 2007-03-03  Bruno Haible  <bruno@clisp.org>
39085
39086         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
39087         All uses of __restrict changed to _Restrict_.
39088         * lib/glob_.h (__restrict): Remove macro.
39089
39090 2007-03-02  Bruno Haible  <bruno@clisp.org>
39091
39092         * modules/gettext (configure.ac): Require gettext infrastructure
39093         from version 0.16.1.
39094
39095 2007-03-02  Bruno Haible  <bruno@clisp.org>
39096
39097         * modules/linkedhash-list-tests (Depends-on): Add progname.
39098         * tests/test-linkedhash_list.c: Include progname.h.
39099         (main): Call set_program_name.
39100
39101         * modules/carray-list-tests (Depends-on): Add progname.
39102         * tests/test-carray_list.c: Include progname.h.
39103         (main): Call set_program_name.
39104
39105         * modules/avltreehash-list-tests (Depends-on): Add progname.
39106         * tests/test-avltreehash_list.c: Include progname.h.
39107         (main): Call set_program_name.
39108
39109         * modules/avltree-oset-tests (Depends-on): Add progname.
39110         * tests/test-avltree_oset.c: Include progname.h.
39111         (main): Call set_program_name.
39112
39113         * modules/avltree-list-tests (Depends-on): Add progname.
39114         * tests/test-avltree_list.c: Include progname.h.
39115         (main): Call set_program_name.
39116
39117         * modules/array-oset-tests (Depends-on): Add progname.
39118         * tests/test-array_oset.c: Include progname.h.
39119         (main): Call set_program_name.
39120
39121         * modules/array-list-tests (Depends-on): Add progname.
39122         * tests/test-array_list.c: Include progname.h.
39123         (main): Call set_program_name.
39124
39125         * modules/argp-tests (Depends-on): Add progname.
39126         * tests/test-argp.c: Include argp.h first. Include progname.h.
39127         (main): Call set_program_name.
39128
39129 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
39130
39131         * doc/gnulib-tool.texi (Initial import): Reword description of
39132         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
39133         limited effect even if defined after the first system include.
39134
39135 2007-03-01  Bruno Haible  <bruno@clisp.org>
39136
39137         * build-aux/config.libpath: Update to libtool-1.5.22.
39138         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39139
39140 2007-03-01  Bruno Haible  <bruno@clisp.org>
39141
39142         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
39143         foo_CFLAGS.
39144         Reported by Ralf Wildenhues.
39145
39146 2007-03-01  Bruno Haible  <bruno@clisp.org>
39147
39148         * build-aux/install-reloc: Remove object files left over by some
39149         compilers.
39150         Reported by Ralf Wildenhues.
39151
39152 2007-03-01  Bruno Haible  <bruno@clisp.org>
39153
39154         * build-aux/install-reloc: Break long lines.
39155
39156 2007-03-01  Bruno Haible  <bruno@clisp.org>
39157
39158         * doc/relocatable.texi: Document that it may not work on OpenBSD.
39159         Reported by Ralf Wildenhues.
39160
39161 2007-03-01  Bruno Haible  <bruno@clisp.org>
39162
39163         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
39164         include ordering constraints.
39165
39166 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39167
39168         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
39169         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
39170         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
39171         as another example.
39172         * lib/time_.h: Fix misspelling.
39173         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
39174         Require gl_HEADER_TIME_H_DEFAULTS.
39175         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
39176         * m4/time_r.m4 (gl_TIME_R): Likewise.
39177         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
39178
39179 2007-03-01  Bruno Haible  <bruno@clisp.org>
39180
39181         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
39182         * m4/utimens.m4 (gl_UTIMENS): Likewise.
39183
39184 2007-03-01  Jim Meyering  <jim@meyering.net>
39185
39186         * modules/xreadlink (Maintainer): Add my name.
39187         * modules/xreadlink-with-size (Depends-on): Alphabetize.
39188
39189 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
39190             Bruno Haible  <bruno@clisp.org>
39191
39192         * build-aux/install-reloc: Compile also c-ctype.c.
39193         * build-aux/relocatable.sh.in: New file.
39194         * doc/relocatable.texi: New file.
39195         * doc/relocatable-maint.texi: New file.
39196         * doc/gnulib.texi: Include relocatable-maint.texi.
39197         * lib/progreloc.c: Include unistd.h unconditionally.
39198         * lib/relocwrapper.c: Include unistd.h unconditionally.
39199         Include c-ctype.h.
39200         (add_dotbin): Use c_tolower.
39201         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
39202         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
39203         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
39204         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
39205         to m4/relocatable-lib.m4.
39206         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
39207         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
39208         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
39209         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
39210         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
39211         * modules/relocatable: New file.
39212         * modules/relocatable-lib: New file.
39213         * modules/relocatable-script: New file.
39214
39215 2007-02-28  Bruno Haible  <bruno@clisp.org>
39216
39217         Import --enable-relocatable infrastructure.
39218         * build-aux/config.libpath: New file, from GNU gettext.
39219         * build-aux/install-reloc: New file, from GNU gettext.
39220         * build-aux/reloc-ldflags: New file, from GNU gettext.
39221         * lib/relocatable.h: New file, from GNU gettext.
39222         * lib/relocatable.c: New file, from GNU gettext.
39223         * lib/relocwrapper.c: New file, from GNU gettext.
39224         * m4/relocatable.m4: New file, from GNU gettext.
39225
39226 2007-02-28  Bruno Haible  <bruno@clisp.org>
39227
39228         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
39229
39230         * modules/xreadlink: New file, from GNU gettext with modifications.
39231         * lib/xreadlink.c: New file, from GNU gettext.
39232         * lib/xreadlink.h: Add comments.
39233         (xreadlink): New declaration.
39234
39235         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
39236         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
39237         lib/xreadlink-with-size.c.
39238         (configure.ac): Remove gl_XREADLINK invocation.
39239         (Makefile.am): Augment lib_SOURCES.
39240         * m4/xreadlink.m4: Remove file.
39241         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
39242         (xreadlink_with_size): Renamed from xreadink.
39243         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
39244         * modules/canonicalize (Depends-on): Replace xreadlink with
39245         xreadlink-with-size.
39246         * lib/canonicalize.c (canonicalize_filename_mode): Update.
39247
39248 2007-02-25  Jim Meyering  <jim@meyering.net>
39249
39250         * build-aux/announce-gen: When complaining about excess arguments,
39251         list them.
39252
39253 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
39254
39255         * README: Document signed integer overflow situation more
39256         accurately.
39257
39258 2007-02-25  Bruno Haible  <bruno@clisp.org>
39259
39260         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
39261         'a' or 'A' conversion.
39262
39263 2007-02-25  Bruno Haible  <bruno@clisp.org>
39264
39265         * modules/filename: Renamed from modules/pathname.
39266         (Files): Replace lib/pathname.h with lib/filename.h. Replace
39267         lib/concatpath.c with lib/concat-filename.c.
39268         (Makefile.am): Update.
39269         (Include): Replace pathname.h with filename.h.
39270         * lib/filename.h: Renamed from lib/pathname.h.
39271         (concatenated_filename): Renamed from concatenated_pathname.
39272         * lib/concat-filename.c: Renamed from lib/concatpath.c.
39273         (concatenated_filename): Renamed from concatenated_pathname.
39274         * lib/findprog.c: Include filename.h instead of pathname.h.
39275         (find_in_path): Update.
39276         * lib/javacomp.c: Include filename.h instead of pathname.h.
39277         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
39278         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
39279         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
39280         is_oldgcj_14_13_usable, is_javac_usable): Update.
39281         * lib/javaexec.c: Include filename.h instead of pathname.h.
39282         (execute_java_class): Update.
39283         * modules/findprog: Update.
39284         * modules/javacomp: Update.
39285         * modules/javaexec: Update.
39286         * MODULES.html.sh (File system functions): Add 'filename', remove
39287         'pathname'.
39288
39289 2007-02-25  Bruno Haible  <bruno@clisp.org>
39290
39291         * modules/printf-frexpl-tests: New file.
39292         * tests/test-printf-frexpl.c: New file.
39293
39294         * modules/printf-frexpl: New file.
39295         * lib/printf-frexpl.h: New file.
39296         * lib/printf-frexpl.c: New file.
39297         * m4/printf-frexpl.m4: New file.
39298
39299 2007-02-25  Bruno Haible  <bruno@clisp.org>
39300
39301         * modules/printf-frexp-tests: New file.
39302         * tests/test-printf-frexp.c: New file.
39303
39304         * modules/printf-frexp: New file.
39305         * lib/printf-frexp.h: New file.
39306         * lib/printf-frexp.c: New file.
39307         * m4/printf-frexp.m4: New file.
39308
39309 2007-02-25  Bruno Haible  <bruno@clisp.org>
39310
39311         Assume automake >= 1.10 for the tests.
39312         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
39313         * modules/arctwo-tests: Likewise.
39314         * modules/argp-tests: Likewise.
39315         * modules/avltree-list-tests: Likewise.
39316         * modules/avltree-oset-tests: Likewise.
39317         * modules/avltreehash-list-tests: Likewise.
39318         * modules/carray-list-tests: Likewise.
39319         * modules/crc-tests: Likewise.
39320         * modules/des-tests: Likewise.
39321         * modules/gc-arcfour-tests: Likewise.
39322         * modules/gc-arctwo-tests: Likewise.
39323         * modules/gc-des-tests: Likewise.
39324         * modules/gc-hmac-md5-tests: Likewise.
39325         * modules/gc-hmac-sha1-tests: Likewise.
39326         * modules/gc-md2-tests: Likewise.
39327         * modules/gc-md4-tests: Likewise.
39328         * modules/gc-md5-tests: Likewise.
39329         * modules/gc-pbkdf2-sha1-tests: Likewise.
39330         * modules/gc-rijndael-tests: Likewise.
39331         * modules/gc-sha1-tests: Likewise.
39332         * modules/gc-tests: Likewise.
39333         * modules/getaddrinfo-tests: Likewise.
39334         * modules/hmac-md5-tests: Likewise.
39335         * modules/hmac-sha1-tests: Likewise.
39336         * modules/linked-list-tests: Likewise.
39337         * modules/linkedhash-list-tests: Likewise.
39338         * modules/lock-tests: Likewise.
39339         * modules/md2-tests: Likewise.
39340         * modules/md4-tests: Likewise.
39341         * modules/md5-tests: Likewise.
39342         * modules/rbtree-list-tests: Likewise.
39343         * modules/rbtree-oset-tests: Likewise.
39344         * modules/rbtreehash-list-tests: Likewise.
39345         * modules/read-file-tests: Likewise.
39346         * modules/rijndael-tests: Likewise.
39347         * modules/stdint-tests: Likewise.
39348         * modules/tls-tests: Likewise.
39349
39350 2007-02-24  Bruno Haible  <bruno@clisp.org>
39351
39352         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
39353         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
39354         function; instead check whether isnan with a double argument links.
39355         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
39356         function; instead check whether isnan with a 'long double' argument
39357         links.
39358         Reported by Eric Blake <ebb9@byu.net>.
39359
39360 2007-02-24  Bruno Haible  <bruno@clisp.org>
39361
39362         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
39363         defined.
39364         * lib/isnanl.c: Remove all code. Just include isnan.c.
39365         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
39366
39367 2007-02-25  Jim Meyering  <jim@meyering.net>
39368
39369         Avoid conflicting types for 'unsetenv' on FreeBSD.
39370         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
39371         conflicting with FreeBSD's (5.0 and 6.1) function declaration
39372         in stdlib.h.
39373
39374 2007-02-24  Bruno Haible  <bruno@clisp.org>
39375
39376         * modules/isnanl-nolibm-tests: New file.
39377         * tests/test-isnanl.c: New file.
39378
39379         * modules/isnanl-nolibm: New file.
39380         * lib/isnanl.h: New file.
39381         * lib/isnanl.c: New file.
39382         * m4/isnanl.m4: New file.
39383
39384 2007-02-24  Bruno Haible  <bruno@clisp.org>
39385
39386         * modules/isnan-nolibm-tests: New file.
39387         * tests/test-isnan.c: New file.
39388
39389         * modules/isnan-nolibm: New file.
39390         * lib/isnan.h: New file.
39391         * lib/isnan.c: New file.
39392         * m4/isnan.m4: New file.
39393
39394 2007-02-24  Bruno Haible  <bruno@clisp.org>
39395
39396         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
39397         assume that an exponent fits in 20 bits.
39398
39399 2007-02-24  Jim Meyering  <jim@meyering.net>
39400
39401         * m4/regex.m4: Update the description of the configure-time option,
39402         --without-included-regex, to state accurately what the defaults are,
39403         and perhaps to give people an idea why using this option is risky.
39404
39405 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
39406
39407         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
39408         loops on small arguments.  This attempts to avoid the problem
39409         Bruno Haible reported for AIX 4.3.2 in
39410         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
39411
39412 2007-02-23  Bruno Haible  <bruno@clisp.org>
39413
39414         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
39415         Needed for help2man.
39416
39417 2007-02-23  Karl Berry  <karl@gnu.org>
39418
39419         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
39420         exists, foo.h should be cvs-ignored, not committed.
39421
39422 2007-02-23  Eric Blake  <ebb9@byu.net>
39423
39424         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
39425         * lib/stat-time.h (includes): Likewise.
39426         * lib/utimecmp.c (includes): Likewise.
39427         * lib/utimens.h (includes): Likewise.
39428         * lib/getdate.y (includes): Also include "timespec.h" for use
39429         internal to the module.
39430         * modules/utimens (Depends-on): Revert yesterday's patch.
39431         * modules/nanosleep (Depends-on): Add missing dependency.
39432
39433 2007-02-22  Bruno Haible  <bruno@clisp.org>
39434
39435         * lib/glob.c: Don't include getlogin_r.h.
39436
39437 2007-02-22  Jim Meyering  <jim@meyering.net>
39438
39439         * modules/utimens (Depends-on): Add timespec, required for
39440         utimens.h's inclusion of timespec.h.
39441
39442 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
39443
39444         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
39445         long unreadable paths in GNU/Linux.  Problem reported by Andreas
39446         Schwab in
39447         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
39448         I'll try to think of a better way to fix the Solaris problem.
39449
39450         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
39451         like glibc; on Solaris 10, it fails with errno == EINVAL.
39452         POSIX says the behavior is unspecified if the first argument is NULL,
39453         so play it safe and never pass NULL to the system getcwd.
39454
39455 2007-02-21  Jim Meyering  <jim@meyering.net>
39456
39457         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
39458         of gettimeofday.  It would conflict with the one now always
39459         provided via sys_time_.h.  Reported by Matthew Woehlke, as
39460         an IRIX 6.5 build failure.
39461
39462 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
39463
39464         Minor fixups to port to Solaris 10 with Sun C 5.8.
39465         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
39466         * modules/getcwd (Depends-on): Add dirfd.
39467         * lib/putenv.c (putenv): #undef it.
39468         (rpl_putenv): New decl.
39469         (malloc, free): Include <stdlib.h> rather than prototyping separately.
39470
39471 2007-02-20  Bruno Haible  <bruno@clisp.org>
39472
39473         * modules/stdio-tests: New file.
39474         * tests/test-stdio.c: New file.
39475
39476         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
39477         (Depends-on): Add stdio.
39478         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
39479         (Include): Use <stdio.h> instead of vsnprintf.h.
39480         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
39481         HAVE_DECL_VSNPRINTF.
39482         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
39483
39484         * modules/snprintf (Files): Remove lib/snprintf.h.
39485         (Depends-on): Add stdio.
39486         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
39487         (Include): Use <stdio.h> instead of snprintf.h.
39488         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
39489         HAVE_DECL_SNPRINTF.
39490         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
39491         * lib/getaddrinfo.c: Likewise.
39492
39493         * modules/stdio: New file.
39494         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
39495         * lib/snprintf.h: Remove file.
39496         * lib/vsnprintf.h: Remove file.
39497         * lib/.cppi-disable: Remove snprintf.h.
39498         * m4/stdio_h.m4: New file.
39499         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
39500
39501 2007-02-20  Jim Meyering  <jim@meyering.net>
39502
39503         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
39504         used by e.g., mingw.  From Bruno Haible.
39505
39506 2007-02-19  Bruno Haible  <bruno@clisp.org>
39507
39508         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
39509         warnings.
39510         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39511
39512 2007-02-19  Bruno Haible  <bruno@clisp.org>
39513
39514         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
39515         from mingw users.
39516
39517 2007-02-19  Bruno Haible  <bruno@clisp.org>
39518
39519         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
39520         warnings.
39521         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
39522
39523 2007-02-19  Jim Meyering  <jim@meyering.net>
39524
39525         Don't use FD after a successful "fdopendir (fd)".
39526         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
39527         Reset it by calling dirfd on the just-obtained DIR*.
39528
39529         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
39530         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
39531
39532 2007-02-18  Bruno Haible  <bruno@clisp.org>
39533
39534         * lib/readlink.c: Include <unistd.h>.
39535         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
39536         HAVE_READLINK.
39537         * modules/readlink (Depends-on): Add unistd.
39538         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39539         (Include): Add <unistd.h>.
39540
39541         * lib/getlogin_r.h: Remove file.
39542         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
39543         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
39544         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
39545         HAVE_DECL_GETLOGIN_R.
39546         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
39547         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39548         (Include): Use <unistd.h> instead of getlogin_r.h.
39549
39550         * lib/getcwd.h: Remove file.
39551         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
39552         * lib/xgetcwd.c: Likewise.
39553         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
39554         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
39555         * modules/getcwd (Files): Remove lib/getcwd.h.
39556         (Depends-on): Add unistd.
39557         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39558         (Include): Use <unistd.h> instad of getcwd.h.
39559
39560         * lib/ftruncate.c: Include <unistd.h> first.
39561         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
39562         Set HAVE_FTRUNCATE.
39563         * modules/ftruncate (Depends-on): Add unistd.
39564         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39565
39566         * lib/fchdir.c: Include <unistd.h> first.
39567         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
39568         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
39569         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
39570         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39571         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
39572
39573         * lib/dup2.c: Include <unistd.h> first.
39574         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
39575         HAVE_DUP2.
39576         * modules/dup2 (Depends-on): Add unistd.
39577         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39578
39579         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
39580         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
39581         REPLACE_CHOWN. Don't define chown as a macro here.
39582         * modules/chown (Depends-on): Add unistd.
39583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39584
39585         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
39586         Add definition for GL_LINK_WARNING.
39587         (chown, dup2): New declarations.
39588         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
39589         link warning.
39590         (ftruncate): New declaration.
39591         (getcwd): New declaration, taken from old getcwd.h.
39592         (getlogin_r): New declaration, taken from old getlogin_r.h.
39593         (readlink): New declaration.
39594         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
39595         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
39596         (gl_PREREQ_UNISTD): Remove macro.
39597         (gl_UNISTD_MODULE_INDICATOR): New macro.
39598         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
39599         many new variables. Don't set UNISTD_H.
39600         * modules/unistd (Description): Change.
39601         (Depends-on): Add link-warning.
39602         (configure.ac): Update.
39603         (Makefile.am): Create unistd.h always. Substitute many new variables
39604         into it.
39605
39606 2007-02-18  Bruno Haible  <bruno@clisp.org>
39607
39608         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
39609         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
39610         HAVE_GETSUBOPT.
39611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
39612         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
39613         * lib/getsubopt.h: Remove file.
39614         * modules/getsubopt (Files): Remove lib/getsubopt.h.
39615         (Depends-on): Add stdlib.
39616         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39617         (Includes): Use <stdlib.h> instead of getsubopt.h.
39618         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
39619         Set HAVE_GETSUBOPT.
39620         * lib/getsubopt.c: Don't include getsubopt.h.
39621
39622 2007-02-18  Bruno Haible  <bruno@clisp.org>
39623
39624         * modules/fchdir (Depends-on): Add dup2.
39625
39626 2007-02-18  Bruno Haible  <bruno@clisp.org>
39627
39628         * lib/stdlib_.h: Handle glibc's special invocation convention
39629         specially.
39630
39631 2007-02-18  Bruno Haible  <bruno@clisp.org>
39632
39633         * modules/stdlib-tests: New file.
39634         * tests/test-stdlib.c: New file.
39635
39636         * modules/mkstemp (Files): Remove lib/mkstemp.h.
39637         (Depends-on): Add stdlib.
39638         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39639         (Includes): Use <stdlib.h> instead of mkstemp.h.
39640         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
39641         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
39642         * lib/mkstemp.c: Don't include mkstemp.h.
39643         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
39644         * lib/stdlib--.h: Don't include mkstemp.h.
39645
39646         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
39647         (Depends-on): Add stdlib.
39648         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39649         (Includes): Use <stdlib.h> instead of mkdtemp.h.
39650         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
39651         HAVE_MKDTEMP.
39652         * lib/mkdtemp.c: Don't include mkdtemp.h.
39653         * lib/clean-temp.c: Don't include mkdtemp.h.
39654
39655         * modules/exit (Files): Remove lib/exit.h.
39656         (Depends-on): Add stdlib.
39657         (Makefile.am): Remove lib_SOURCES.
39658         (Include): Use <stdlib.h> instead of exit.h.
39659         * lib/argmatch.c: Don't include exit.h.
39660         * lib/execute.c: Likewise.
39661         * lib/pagealign_alloc.c: Likewise.
39662         * lib/pipe.c: Likewise.
39663         * lib/wait-process.c: Likewise.
39664         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
39665         * lib/exitfail.c: Likewise.
39666         * lib/savewd.c: Likewise.
39667         * lib/xsetenv.c: Likewise.
39668
39669         * modules/stdlib: New file.
39670         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
39671         and extra comments about mkstemp().
39672         * lib/exit.h: Remove file.
39673         * lib/mkdtemp.h: Remove file.
39674         * lib/mkstemp.h: Remove file.
39675         * m4/stdlib_h.m4: New file.
39676         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
39677
39678 2007-02-18  Bruno Haible  <bruno@clisp.org>
39679
39680         * modules/math-tests: New file.
39681         * tests/test-math.c: New file.
39682
39683         * modules/math: New file.
39684         * modules/mathl (Files): Remove lib/mathl.h.
39685         (Depends-on): Add math.
39686         (Makefile.am): Don't mention mathl.h.
39687         (Include): Use <math.h> instead of mathl.h.
39688         * lib/math_.h: New file.
39689         * lib/mathl.h: Remove file.
39690         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
39691         mathl.h.
39692         * lib/asinl.c: Likewise.
39693         * lib/atanl.c: Likewise.
39694         * lib/ceill.c: Likewise.
39695         * lib/cosl.c: Likewise.
39696         * lib/expl.c: Likewise.
39697         * lib/floorl.c: Likewise.
39698         * lib/frexpl.c: Likewise.
39699         * lib/ldexpl.c: Likewise.
39700         * lib/logl.c: Likewise.
39701         * lib/sincosl.c: Likewise.
39702         * lib/sinl.c: Likewise.
39703         * lib/sqrtl.c: Likewise.
39704         * lib/tanl.c: Likewise.
39705         * lib/trigl.c: Likewise.
39706         * m4/math_h.m4: New file.
39707         * MODULES.html.sh (Mathematics): Add math.
39708
39709 2007-02-17  Bruno Haible  <bruno@clisp.org>
39710
39711         * modules/wctype-tests: New file.
39712         * tests/test-wctype.c: New file.
39713
39714         * modules/wchar-tests: New file.
39715         * tests/test-wchar.c: New file.
39716
39717         * modules/unistd-tests: New file.
39718         * tests/test-unistd.c: New file.
39719
39720         * modules/time-tests: New file.
39721         * tests/test-time.c: New file.
39722
39723         * modules/sysexits-tests: New file.
39724         * tests/test-sysexits.c: New file.
39725
39726         * modules/sys_time-tests: New file.
39727         * tests/test-sys_time.c: New file.
39728
39729         * modules/sys_stat-tests: New file.
39730         * tests/test-sys_stat.c: New file.
39731
39732         * modules/sys_socket-tests: New file.
39733         * tests/test-sys_socket.c: New file.
39734
39735         * modules/sys_select-tests: New file.
39736         * tests/test-sys_select.c: New file.
39737
39738         * modules/string-tests: New file.
39739         * tests/test-string.c: New file.
39740
39741         * modules/stdbool-tests: New file.
39742         * tests/test-stdbool.c: New file.
39743
39744         * modules/netinet_in-tests: New file.
39745         * tests/test-netinet_in.c: New file.
39746
39747         * modules/inttypes-tests: New file.
39748         * tests/test-inttypes.c: New file.
39749
39750         * modules/fcntl-tests: New file.
39751         * tests/test-fcntl.c: New file.
39752
39753         * modules/byteswap-tests: New file.
39754         * tests/test-byteswap.c: New file.
39755
39756         * modules/arpa_inet-tests: New file.
39757         * tests/test-arpa_inet.c: New file.
39758
39759 2007-02-17  Bruno Haible  <bruno@clisp.org>
39760
39761         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
39762         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
39763         if the corresponding module is not enabled. Emit link warnings if
39764         the function is used nevertheless.
39765         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
39766         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
39767         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
39768         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
39769         * modules/inttypes (Depends-on): Add link-warning.
39770         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39771         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
39772         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
39773         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
39774         * modules/imaxdiv (configure.ac): Likewise.
39775         * modules/strtoimax (configure.ac): Likewise.
39776         * modules/strtoumax (configure.ac): Likewise.
39777
39778 2007-02-17  Bruno Haible  <bruno@clisp.org>
39779
39780         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
39781         gl_STRING_MODULE_INDICATOR_DEFAULTS.
39782         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
39783         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
39784
39785 2007-02-17  Bruno Haible  <bruno@clisp.org>
39786
39787         * modules/link-warning: New file.
39788         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
39789         * lib/string_.h (GL_LINK_WARNING): Remove definition.
39790         * modules/string (Depends-on): Add link-warning.
39791         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39792         string.h.
39793         * MODULES.html.sh (Support for building libraries and executables): Add
39794         link-warning.
39795
39796 2007-02-17  Bruno Haible  <bruno@clisp.org>
39797
39798         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
39799         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
39800         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
39801         long lines.
39802
39803 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
39804             Bruno Haible  <bruno@clisp.org>
39805
39806         * modules/tmpfile: New file.
39807         * lib/tmpfile.c: New file.
39808         * m4/tmpfile.m4: New file.
39809         * MODULES.html.sh (func_all_modules): New section "Input/output".
39810
39811 2007-02-15  Bruno Haible  <bruno@clisp.org>
39812
39813         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
39814         (supports_delete_on_close): New function.
39815         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
39816
39817 2007-02-14  Bruno Haible  <bruno@clisp.org>
39818
39819         * modules/mbspcasecmp-tests: New file.
39820         * tests/test-mbspcasecmp.sh: New file.
39821         * tests/test-mbspcasecmp.c: New file.
39822
39823         New module mbspcasecmp.
39824         * modules/mbspcasecmp: New file.
39825         * lib/mbspcasecmp.c: New file.
39826         * lib/string_.h (strncasecmp): Change warning message.
39827         (mbspcasecmp): New declaration.
39828         * m4/mbspcasecmp.m4: New file.
39829         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39830         GNULIB_MBSPCASECMP.
39831         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
39832         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
39833
39834 2007-02-14  Bruno Haible  <bruno@clisp.org>
39835
39836         * modules/mbsncasecmp-tests: New file.
39837         * tests/test-mbsncasecmp.sh: New file.
39838         * tests/test-mbsncasecmp.c: New file.
39839
39840         New module mbsncasecmp.
39841         * modules/mbsncasecmp: New file.
39842         * lib/mbsncasecmp.c: New file.
39843         * lib/string_.h (mbsncasecmp): New declaration.
39844         * m4/mbsncasecmp.m4: New file.
39845         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39846         GNULIB_MBSNCASECMP.
39847         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
39848         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
39849
39850 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
39851
39852         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
39853         Verify that it doesn't overlap with our flags.
39854         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
39855         do not have the desired effect in multibyte locales; instead, use
39856         mbscasecmp.
39857         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
39858         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
39859         we don't require GNU fnmatch ourselves (if our users require it, they
39860         should do so explicitly).
39861
39862         Fix regex code so it doesn't rely on strcasecmp.
39863         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
39864         Otherwise, include gnulib's langinfo.h.
39865         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
39866         undesirable behavior in non-C locales.  Instead, rely on localecharset.
39867         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
39868         * modules/regex (FILES): Remove m4/codeset.m4.
39869         (Depends-on): Add localcharset.  Remove strcase.
39870
39871 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39872
39873         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
39874         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
39875
39876 2007-02-13  Bruno Haible  <bruno@clisp.org>
39877
39878         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
39879         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39880
39881 2007-02-12  Bruno Haible  <bruno@clisp.org>
39882
39883         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39884         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
39885         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
39886         time warning rather than a link error.
39887
39888 2007-02-12  Bruno Haible  <bruno@clisp.org>
39889
39890         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
39891         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
39892         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39893
39894 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39895
39896         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
39897         args, not 2.
39898
39899 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39900
39901         New module 'time', so that apps can include <time.h> as per
39902         POSIX and GNU instead of separate include files like time_r.h
39903         and timegm.h.  This implementation tries out a simpler approach
39904         for replacing decls in standard include files (as compared to
39905         the string module), somewhat as an experiment.
39906
39907         * config/srclist.txt: Comment out mktime.c for now.
39908         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
39909         since it doesn't apply any more.  Use generic wording instead.
39910         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
39911         'time'.
39912         * lib/time_.h, m4/time_h.m4, modules/time: New files.
39913         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
39914         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
39915         Don't include <sys/types.h>; no longer needed since we assume C89.
39916         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
39917         * lib/strftime.c: Likewise.
39918         * lib/time_r.c: Likewise.
39919         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
39920         * lib/nanosleep.c: Include <time.h> first, to check interface.
39921         * lib/strptime.c: Likewise.
39922         * lib/time_r.c: Likewise.
39923         * lib/timegm.c: Likewise.
39924         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
39925         needed.
39926         * lib/timegm.c: Don't include timegm.h; no longer needed.
39927         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
39928         time.h now handles any problems in that area.
39929         (struct timespec, nanosleep): Remove; time.h now arranges for these.
39930         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
39931         that time.h defines struct timespec.
39932         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
39933         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
39934         handles that.
39935         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
39936         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
39937         needed.  Set REPLACE_LOCALTIME.
39938         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
39939         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
39940         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
39941         nanosleep; time_h.m4 now does that.  Don't require
39942         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
39943         module handles this now.
39944         * modules/getdate (Depends-on): Remove timespec.  Add time.
39945         * modules/nanosleep (Depends-on): Likewise.
39946         * modules/stat-time (Depends-on): Likewise.
39947         * modules/nanosleep (Include): Include time.h, not timespec.h.
39948         * modules/strptime (Files): Remove lib/strptime.h.
39949         (Depends-on): Add extensions, time.
39950         (Include): Include time.h, not strptime.h.
39951         * modules/time_r (Files): Remove lib/time_r.h.
39952         (Depends-on): Add time.
39953         (Include): Include time.h, not time_r.h.
39954         * modules/timegm: Likewise.
39955         * modules/timespec (Description): Now does timespec-related decls
39956         of our own, instead of struct timespec itself.
39957         (Depends-on): Add time; remove extensions.
39958         (Maintainer): Add self.
39959         * modules/utimecmp (Depends-on): Add time; remove timespec.
39960         * modules/utimens (Depends-on): Likewise.
39961         * modules/xnanosleep (Depends-on): Likewise.
39962
39963 2007-02-11  Bruno Haible  <bruno@clisp.org>
39964
39965         * lib/c-strstr.c: Include allocsa.h.
39966         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39967         * lib/c-strcasestr.c: Include allocsa.h.
39968         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39969         * lib/strcasestr.c: Include allocsa.h.
39970         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39971         * lib/mbsstr.c: Include allocsa.h.
39972         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39973         allocsa/freesa instead of malloc/free.
39974         * lib/mbscasestr.c: Include allocsa.h.
39975         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39976         allocsa/freesa instead of malloc/free.
39977         * modules/c-strstr (Depends-on): Add allocsa.
39978         * modules/c-strcasestr (Depends-on): Likewise.
39979         * modules/strcasestr (Depends-on): Likewise.
39980         * modules/mbsstr (Depends-on): Likewise.
39981         * modules/mbscasestr (Depends-on): Likewise.
39982
39983 2007-02-11  Bruno Haible  <bruno@clisp.org>
39984
39985         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
39986
39987         * modules/mbsspn-tests: New file.
39988         * tests/test-mbsspn.sh: New file.
39989         * tests/test-mbsspn.c: New file.
39990
39991 2007-02-11  Bruno Haible  <bruno@clisp.org>
39992
39993         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
39994
39995         * modules/mbspbrk-tests: New file.
39996         * tests/test-mbspbrk.sh: New file.
39997         * tests/test-mbspbrk.c: New file.
39998
39999 2007-02-11  Bruno Haible  <bruno@clisp.org>
40000
40001         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
40002         unneeded cast.
40003
40004         * modules/mbscspn-tests: New file.
40005         * tests/test-mbscspn.sh: New file.
40006         * tests/test-mbscspn.c: New file.
40007
40008 2007-02-11  Bruno Haible  <bruno@clisp.org>
40009
40010         * modules/mbscasecmp-tests: New file.
40011         * tests/test-mbscasecmp.sh: New file.
40012         * tests/test-mbscasecmp.c: New file.
40013
40014 2007-02-11  Bruno Haible  <bruno@clisp.org>
40015
40016         Ensure O(n) worst-case complexity of mbscasestr.
40017         * lib/mbscasestr.c: Include stdbool.h.
40018         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
40019         functions.
40020         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
40021         the bookkeeping indicates that it's worth it.
40022         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
40023
40024         * modules/mbscasestr-tests: New file.
40025         * tests/test-mbscasestr1.c: New file.
40026         * tests/test-mbscasestr2.sh: New file.
40027         * tests/test-mbscasestr2.c: New file.
40028         * tests/test-mbscasestr3.sh: New file.
40029         * tests/test-mbscasestr3.c: New file.
40030         * tests/test-mbscasestr4.sh: New file.
40031         * tests/test-mbscasestr4.c: New file.
40032         * m4/locale-tr.m4: New file.
40033
40034 2007-02-11  Bruno Haible  <bruno@clisp.org>
40035
40036         Ensure O(n) worst-case complexity of mbsstr.
40037         * lib/mbsstr.c: Include stdbool.h.
40038         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
40039         functions.
40040         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
40041         bookkeeping indicates that it's worth it.
40042         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
40043
40044         * modules/mbsstr-tests: New file.
40045         * tests/test-mbsstr1.c: New file.
40046         * tests/test-mbsstr2.sh: New file.
40047         * tests/test-mbsstr2.c: New file.
40048         * tests/test-mbsstr3.sh: New file.
40049         * tests/test-mbsstr3.c: New file.
40050         * m4/locale-fr.m4: New file.
40051
40052 2007-02-11  Bruno Haible  <bruno@clisp.org>
40053
40054         * lib/mbsrchr.c (mbsrchr): Fix bug.
40055
40056         * modules/mbsrchr-tests: New file.
40057         * tests/test-mbsrchr.sh: New file.
40058         * tests/test-mbsrchr.c: New file.
40059
40060 2007-02-11  Bruno Haible  <bruno@clisp.org>
40061
40062         * lib/mbschr.c (mbschr): Fix bug.
40063
40064         * modules/mbschr-tests: New file.
40065         * tests/test-mbschr.sh: New file.
40066         * tests/test-mbschr.c: New file.
40067         * m4/locale-zh.m4: New file.
40068
40069 2007-02-11  Bruno Haible  <bruno@clisp.org>
40070
40071         Support for copying multibyte string iterators.
40072         * lib/mbiter.h: Include <string.h>.
40073         (mbiter_multi_copy): New function.
40074         (mbi_copy): New macro.
40075         * lib/mbuiter.h: Include <string.h>.
40076         (mbuiter_multi_copy): New function.
40077         (mbui_copy): New macro.
40078
40079 2007-02-11  Bruno Haible  <bruno@clisp.org>
40080
40081         New module mbslen.
40082         * modules/mbslen: New file.
40083         * lib/mbslen.c: New file.
40084         * lib/string_.h (mbslen): New declaration.
40085         * m4/mbslen.m4: New file.
40086         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40087         GNULIB_MBSLEN.
40088         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
40089         * MODULES.html.sh (Internationalization functions): Add mbslen.
40090
40091 2007-02-11  Bruno Haible  <bruno@clisp.org>
40092
40093         Ensure O(n) worst-case complexity of strcasestr substitute.
40094         * lib/strcasestr.c: Include stdbool.h.
40095         (knuth_morris_pratt): New function.
40096         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
40097         bookkeeping indicates that it's worth it.
40098         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
40099
40100         * modules/strcasestr-tests: New file.
40101         * tests/test-strcasestr.c: New file.
40102
40103 2007-02-11  Bruno Haible  <bruno@clisp.org>
40104
40105         Ensure O(n) worst-case complexity of c_strcasestr.
40106         * lib/c-strcasestr.c: Include stdbool.h, string.h.
40107         (knuth_morris_pratt): New function.
40108         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
40109         the bookkeeping indicates that it's worth it.
40110         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
40111
40112         * modules/c-strcasestr-tests: New file.
40113         * tests/test-c-strcasestr.c: New file.
40114
40115 2007-02-11  Bruno Haible  <bruno@clisp.org>
40116
40117         Ensure O(n) worst-case complexity of c_strstr.
40118         * lib/c-strstr.c: Include stdbool.h, string.h.
40119         (knuth_morris_pratt): New function.
40120         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
40121         bookkeeping indicates that it's worth it.
40122         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
40123
40124         * lib/c-strstr.c: Complete rewrite for maintainability.
40125
40126         * modules/c-strstr-tests: New file.
40127         * tests/test-c-strstr.c: New file.
40128
40129 2007-02-11  Bruno Haible  <bruno@clisp.org>
40130
40131         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
40132         5.2.1 and earlier, whereby \055 was treated just like the range
40133         delimiter '-'.
40134         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
40135
40136 2007-02-08  Bruno Haible  <bruno@clisp.org>
40137
40138         * modules/regex (Depends-on): Add stdbool.
40139         Reported by Dalibor Topic <robilad@kaffe.org>.
40140
40141 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
40142
40143         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
40144         Prefer returning from main to exiting from it.
40145         Remove unnecessary parens after sizeof.
40146
40147 2007-02-05  Bruno Haible  <bruno@clisp.org>
40148
40149         New module mbssep.
40150         * modules/mbssep: New file.
40151         * lib/mbssep.c: New file.
40152         * lib/string_.h (strsep): Add a conditional link warning.
40153         (mbssep): New declaration.
40154         * m4/mbssep.m4: New file.
40155         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40156         GNULIB_MBSSEP.
40157         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
40158         * MODULES.html.sh (Internationalization functions): Add mbssep.
40159
40160 2007-02-05  Bruno Haible  <bruno@clisp.org>
40161
40162         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
40163         Optimize search in case of 1 delimiter.
40164
40165 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
40166
40167         * lib/acl.h: Include sys/types.h before sys/acl.h.
40168
40169 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
40170
40171         Merge upstream fix for glibc bugzilla #3957:
40172
40173         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
40174
40175         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
40176         bit for RE_HAT_LISTS_NOT_NEWLINE.
40177         (build_charclass_op): Remove bogus comment.
40178
40179 2007-02-05  Simon Josefsson  <simon@josefsson.org>
40180
40181         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
40182
40183 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
40184
40185         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
40186         * lib/memmem.c [!defined _LIBC]: Include config.h.
40187
40188 2007-02-04  Bruno Haible  <bruno@clisp.org>
40189
40190         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
40191         warning message.
40192
40193 2007-02-04  Bruno Haible  <bruno@clisp.org>
40194
40195         New module mbstok_r.
40196         * modules/mbstok_r: New file.
40197         * lib/mbstok_r.c: New file.
40198         * lib/string_.h (strtok_r): Change argument names to match the
40199         comments. Add a conditional link warning.
40200         (mbstok_r): New declaration.
40201         * m4/mbstok_r.m4: New file.
40202         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40203         GNULIB_MBSTOK_R.
40204         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
40205         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
40206
40207 2007-02-04  Bruno Haible  <bruno@clisp.org>
40208
40209         New module mbsspn.
40210         * modules/mbsspn: New file.
40211         * lib/mbsspn.c: New file.
40212         * lib/string_.h (strspn): Add a conditional link warning.
40213         (mbsspn): New declaration.
40214         * m4/mbsspn.m4: New file.
40215         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40216         GNULIB_MBSSPN.
40217         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
40218         * MODULES.html.sh (Internationalization functions): Add mbsspn.
40219
40220 2007-02-04  Bruno Haible  <bruno@clisp.org>
40221
40222         New module mbspbrk.
40223         * modules/mbspbrk: New file.
40224         * lib/mbspbrk.c: New file.
40225         * lib/string_.h (strpbrk): Add a conditional link warning.
40226         (mbspbrk): New declaration.
40227         * m4/mbspbrk.m4: New file.
40228         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40229         GNULIB_MBSPBRK.
40230         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
40231         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
40232
40233 2007-02-04  Bruno Haible  <bruno@clisp.org>
40234
40235         New module mbscspn.
40236         * modules/mbscspn: New file.
40237         * lib/mbscspn.c: New file.
40238         * lib/string_.h (strcspn): Add a conditional link warning.
40239         (mbscspn): New declaration.
40240         * m4/mbscspn.m4: New file.
40241         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40242         GNULIB_MBSCSPN.
40243         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
40244         * MODULES.html.sh (Internationalization functions): Add mbscspn.
40245
40246 2007-02-04  Bruno Haible  <bruno@clisp.org>
40247
40248         New module mbscasestr, reduced goal of strcasestr.
40249         * modules/mbscasestr: New file.
40250         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
40251         (mbscasestr): Renamed from strcasestr.
40252         * lib/strcasestr.c: Don't include mbuiter.h.
40253         (strcasestr): Remove support for multibyte locales.
40254         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
40255         Change the conditional link warning.
40256         (mbscasestr): New declaration.
40257         * m4/mbscasestr.m4: New file.
40258         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
40259         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
40260         REPLACE_STRCASESTR.
40261         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
40262         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40263         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
40264         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
40265         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
40266         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
40267         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
40268         (Depends-on): Remove mbuiter.
40269         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
40270
40271 2007-02-04  Bruno Haible  <bruno@clisp.org>
40272
40273         Simplify handling of strncasecmp.
40274         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
40275         the conditional link warning.
40276         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40277         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
40278         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
40279         * modules/strcase (configure.ac): Don't invoke
40280         gl_STRING_MODULE_INDICATOR.
40281         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
40282
40283 2007-02-04  Bruno Haible  <bruno@clisp.org>
40284
40285         New module mbscasecmp, reduced goal of strcasecmp.
40286         * modules/mbscasecmp: New file.
40287         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
40288         (mbscasecmp): Renamed from strcasecmp.
40289         * lib/strcasecmp.c: Don't include mbuiter.h.
40290         (strcasecmp): Remove support for multibyte locales.
40291         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
40292         Change the conditional link warning.
40293         (mbscasecmp): New declaration.
40294         * m4/mbscasecmp.m4: New file.
40295         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
40296         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
40297         REPLACE_STRCASECMP.
40298         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
40299         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40300         GNULIB_MBSCASECMP.
40301         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
40302         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
40303         * modules/strcase (Files): Remove m4/mbrtowc.m4.
40304         (Depends-on): Remove mbuiter.
40305         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
40306
40307 2007-02-04  Bruno Haible  <bruno@clisp.org>
40308
40309         New module mbsstr. Remove module strstr.
40310         * modules/mbsstr: New file.
40311         * modules/strstr: Remove file.
40312         * lib/mbsstr.c: Renamed from lib/strstr.c.
40313         (mbsstr): Renamed from strstr.
40314         * lib/string_.h (strstr): Remove declaration. Change the conditional
40315         link warning.
40316         (mbsstr): New declaration.
40317         * m4/mbsstr.m4: New file.
40318         * m4/strstr.m4: Remove file.
40319         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
40320         REPLACE_STRSTR.
40321         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
40322         Don't initialize GNULIB_STRSTR.
40323         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
40324         substitute GNULIB_STRSTR and REPLACE_STRSTR.
40325         * MODULES.html.sh (Internationalization functions): Add mbsstr.
40326         (Support for systems lacking ANSI C 89): Remove strstr.
40327
40328 2007-02-04  Bruno Haible  <bruno@clisp.org>
40329
40330         New module mbsrchr.
40331         * modules/mbsrchr: New file.
40332         * lib/mbsrchr.c: New file.
40333         * lib/string_.h (strrchr): Add a conditional link warning.
40334         (mbsrchr): New declaration.
40335         * m4/mbsrchr.m4: New file.
40336         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40337         GNULIB_MBSRCHR.
40338         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
40339         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
40340
40341 2007-02-04  Bruno Haible  <bruno@clisp.org>
40342
40343         New module mbschr.
40344         * modules/mbschr: New file.
40345         * lib/mbschr.c: New file.
40346         * lib/string_.h (strchr): Add a conditional link warning.
40347         (mbschr): New declaration.
40348         * m4/mbschr.m4: New file.
40349         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40350         GNULIB_MBSCHR.
40351         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
40352         * MODULES.html.sh (Internationalization functions): Add mbschr.
40353
40354 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
40355
40356         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
40357
40358         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
40359
40360 2007-02-04  Bruno Haible  <bruno@clisp.org>
40361
40362         New module description section 'configure.ac-early'.
40363         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
40364         (func_get_autoconf_early_snippet): New function.
40365         (func_import, func_create_testdir): Use it. Remove special cases for
40366         modules 'extensions' and 'lock'.
40367         * modules/extensions (configure.ac-early): Require
40368         gl_USE_SYSTEM_EXTENSIONS.
40369         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
40370
40371 2007-02-04  Bruno Haible  <bruno@clisp.org>
40372
40373         Make use of gcj-4.3's -fsource and -ftarget option.
40374         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
40375         and if so try the options -fsource and -ftarget.
40376         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
40377         source_version, ftarget_option, target_version arguments.
40378         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
40379         (is_envjavac_oldgcj_14_14_usable): Renamed from
40380         is_envjavac_gcj_14_14_usable.
40381         (is_envjavac_oldgcj_14_13_usable): Renamed from
40382         is_envjavac_gcj_14_13_usable.
40383         (is_gcj_present): Update.
40384         (is_gcj_43, is_gcj43_usable): New functions.
40385         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
40386         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
40387         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
40388         try the options -fsource and -ftarget.
40389
40390 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
40391
40392         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
40393         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
40394         larger value.
40395
40396 2007-02-03  Jim Meyering  <jim@meyering.net>
40397
40398         Give tools a better chance to allocate space for very large buffers.
40399         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
40400
40401         Make pwd and readlink work also when run with an unreadable parent dir
40402         on systems with openat support.
40403         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
40404         provided getcwd function, even when we have openat support.
40405         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
40406
40407 2007-02-02  Bruno Haible  <bruno@clisp.org>
40408
40409         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
40410         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
40411         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
40412         portability problems if one of these functions is only used on specific
40413         platforms.
40414         Reported by Paul Eggert.
40415
40416 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
40417
40418         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
40419         is causing more trouble than it's curing.
40420         * lib/regex_internal.h (__mempcpy): Remove.
40421         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
40422         (and make the code a tad smaller to boot).
40423         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
40424
40425 2007-02-02  Jim Meyering  <jim@meyering.net>
40426
40427         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
40428         section, not in the Makefile.am: one.
40429
40430 2007-02-02  Eric Blake  <ebb9@byu.net>
40431
40432         * lib/strchrnul.c: Always include config.h first.
40433
40434         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
40435         gnulib strstr is not necessary here.
40436
40437 2007-02-02  Simon Josefsson  <simon@josefsson.org>
40438
40439         * m4/socklen.m4: Fix typo.
40440
40441 2007-02-02  Eric Blake  <ebb9@byu.net>
40442
40443         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
40444         * modules/netinet_in (Makefile.am): Likewise.
40445
40446 2007-02-01  Bruno Haible  <bruno@clisp.org>
40447
40448         * lib/string_.h (GL_LINK_WARNING): New macro.
40449         (strcasecmp, strstr, strcasestr): If provided by the system,
40450         conditionally define as a macro that leads to a warning instead of to
40451         an error.
40452         (strncasecmp): Conditionally define as a macro that leads to a warning.
40453
40454 2007-02-01  Karl Berry  <karl@gnu.org>
40455
40456         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
40457
40458 2007-02-01  Bruno Haible  <bruno@clisp.org>
40459
40460         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
40461         renamings.
40462
40463 2007-02-01  Eric Blake  <ebb9@byu.net>
40464
40465         * modules/regex (Depends-on): Revert dependence on mempcpy.
40466         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
40467         module's definition of mempcpy.
40468         Reported by Paul Eggert.
40469
40470 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
40471
40472         * lib/string_.h: If the gnulib module XYZ is not present, undefine
40473         the symbol XYZ before redefining it.  This fixes a problem with
40474         programs that don't use XYZ, when compiled on systems that define
40475         XYZ to something else.
40476
40477 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
40478
40479         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
40480         occurs when "mkdir -m foo" creates a setgid directory that is (1)
40481         writeable to group or other and (2) is intended to have a special
40482         mode bit that is set or cleared.  In such a case, the directory
40483         should be neither group- nor other-writeable until the special
40484         mode bits are right.
40485
40486 2007-01-31  Eric Blake  <ebb9@byu.net>
40487
40488         * modules/mountlist (Depends-on): Add strstr.
40489
40490         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
40491         bug.
40492         * modules/string (Makefile.am): Remove redundant replacement.
40493         * modules/regex (Depends-on): Add mempcpy.
40494
40495 2007-01-31  Bruno Haible  <bruno@clisp.org>
40496
40497         New module description field 'Link'.
40498         * gnulib-tool (func_usage): Document --extract-link-directive.
40499         (sed_extract_prog): Recognize 'Link' directive.
40500         (func_get_link_directive): New function.
40501         (func_import): Show summary of link directives.
40502         Handle --extract-link-directive option.
40503         * modules/acl (Link): New section.
40504         * modules/clock-time (Link): New section.
40505         * modules/euidaccess (Link): New section.
40506         * modules/gettext (Link): New section.
40507         * modules/iconv (Link): New section.
40508         * modules/lock (Link): New section.
40509         * modules/nanosleep (Link): New section.
40510         * modules/readline (Link): New section.
40511
40512 2007-01-27  Bruno Haible  <bruno@clisp.org>
40513
40514         Enforce the use of gnulib modules for unportable <string.h> functions.
40515         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
40516         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
40517         (gl_HEADER_STRING_H_BODY): Require it.
40518         * lib/string_.h: If the gnulib module XYZ is not present, redefine
40519         the symbol XYZ to one that gives a link error.
40520         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
40521         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
40522         * modules/mempcpy (configure.ac): Likewise.
40523         * modules/memrchr (configure.ac): Likewise.
40524         * modules/stpcpy (configure.ac): Likewise.
40525         * modules/stpncpy (configure.ac): Likewise.
40526         * modules/strcase (configure.ac): Likewise.
40527         * modules/strcasestr (configure.ac): Likewise.
40528         * modules/strchrnul (configure.ac): Likewise.
40529         * modules/strdup (configure.ac): Likewise.
40530         * modules/strndup (configure.ac): Likewise.
40531         * modules/strnlen (configure.ac): Likewise.
40532         * modules/strpbrk (configure.ac): Likewise.
40533         * modules/strsep (configure.ac): Likewise.
40534         * modules/strstr (configure.ac): Likewise.
40535         * modules/strtok_r (configure.ac): Likewise.
40536
40537 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
40538
40539         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
40540
40541 2007-01-30  Jim Meyering  <jim@meyering.net>
40542
40543         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
40544
40545 2007-01-29  Bruno Haible  <bruno@clisp.org>
40546
40547         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
40548         * lib/execute.c: Likewise.
40549         * lib/pipe.c: Likewise.
40550         * lib/printf-args.h: Likewise.
40551         * lib/printf-args.c: Likewise.
40552         * lib/printf-parse.c: Likewise.
40553         * lib/vasnprintf.c: Likewise.
40554
40555 2007-01-29  Eric Blake  <ebb9@byu.net>
40556
40557         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
40558         declaration.
40559
40560 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
40561
40562         * lib/strptime.h (strptime): Use 'restrict' for args where
40563         POSIX requires this.
40564         * lib/strptime.c (strptime): Likewise.
40565         Change license notice from LGPL to GPL, since gnulib-tool will
40566         change this as needed.
40567         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
40568         defined.
40569         Include "strptime.h" first, to check interface.
40570         Do not #undef _LIBC and _NL_CURRENT.
40571         Do not include <stdlib.h>; no longer needed.
40572         Include "time_r.h" and declare ptime_locale_status
40573         only if _LIBC is not defined.
40574         (__P): Remove unused macro.
40575         (match_string): Bring back glibc version, but use it only if _LIBC
40576         is defined.
40577         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
40578         Remove unnecessary assertion and abort() call.
40579         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
40580         * m4/strptime.m4: Fix serial number comment.
40581         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
40582         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
40583         (Depends-on): Add time_r.
40584
40585 2007-01-29  Bruno Haible  <bruno@clisp.org>
40586
40587         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40588         strptime.
40589         * modules/strptime (Depends-on): Add stdbool.
40590         * lib/strptime.h: Include <time.h> always. Add comments.
40591
40592 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40593
40594         * modules/strptime: New file.
40595         * lib/strptime.h: New file.
40596         * lib/strptime.c: New file.
40597         * m4/strptime.m4: New file.
40598
40599 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
40600
40601         * MODULES.html.sh: New module mpsort.
40602         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
40603
40604         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
40605         a circularity problem with HP-UX ia64 reported by Bob Proulx in
40606         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
40607         All uses changed.
40608         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
40609         All uses changed.
40610         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
40611         to _Restrict_.
40612         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
40613         the parameter matches the prototype.
40614
40615 2007-01-28  Jim Meyering  <jim@meyering.net>
40616
40617         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
40618         sys/time.h here, reverting that part of the previous patch:
40619         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
40620
40621 2007-01-28  Bruno Haible  <bruno@clisp.org>
40622
40623         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
40624         value of $(SYS_TIME_H).
40625         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
40626         remove it conditionally, too. [added by Jim Meyering]
40627         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
40628         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
40629         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
40630         GETTIMEOFDAY_REPLACEMENT to 1.
40631
40632 2007-01-28  Bruno Haible  <bruno@clisp.org>
40633
40634         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
40635         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
40636         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
40637         Set UNISTD_H instead of UNISTD_H2.
40638         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
40639
40640 2007-01-28  Bruno Haible  <bruno@clisp.org>
40641
40642         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
40643         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
40644
40645 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40646
40647         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
40648         (func_create_testdir): Ensure C locale for `grep' and `tr'
40649         character ranges.
40650         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
40651         ACLOCAL_AMFLAGS parsing state machine.
40652
40653 2007-01-27  Bruno Haible  <bruno@clisp.org>
40654
40655         * modules/unistr/base: Update.
40656
40657 2007-01-27  Bruno Haible  <bruno@clisp.org>
40658
40659         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
40660         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
40661         * modules/unistr/u32-mbtouc-unsafe: Renamed from
40662         modules/unistr/u32-mbtouc.
40663         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
40664         * lib/unistr.h: Update.
40665         * lib/linebreak.c: Update.
40666         * modules/unistr/u32-mbtouc: Renamed from
40667         modules/unistr/u32-mbtouc-safe.
40668         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
40669         * lib/unistr.h: Update.
40670         * lib/unistr/u32-to-u8.c: Update.
40671         * lib/unistr/u32-to-u16.c: Update.
40672
40673 2007-01-27  Bruno Haible  <bruno@clisp.org>
40674
40675         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
40676         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
40677         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
40678         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
40679         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
40680         * modules/unistr/u16-mbtouc-unsafe: Renamed from
40681         modules/unistr/u16-mbtouc.
40682         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
40683         * lib/unistr.h: Update.
40684         * lib/linebreak.c: Update.
40685         * modules/linebreak: Update.
40686         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
40687         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
40688         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
40689         * modules/unistr/u16-mbtouc: Renamed from
40690         modules/unistr/u16-mbtouc-safe.
40691         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
40692         * lib/unistr.h: Update.
40693         * lib/unistr/u16-to-u8.c: Update.
40694         * modules/unistr/u16-to-u8: Update.
40695         * lib/unistr/u16-to-u32.c: Update.
40696         * modules/unistr/u16-to-u32: Update.
40697
40698 2007-01-27  Bruno Haible  <bruno@clisp.org>
40699
40700         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
40701         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
40702         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
40703         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
40704         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
40705         * modules/unistr/u8-mbtouc-unsafe: Renamed from
40706         modules/unistr/u8-mbtouc.
40707         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
40708         * lib/unistr.h: Update.
40709         * lib/striconveh.c: Update.
40710         * modules/striconveh: Update.
40711         * lib/linebreak.c: Update.
40712         * modules/linebreak: Update.
40713         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
40714         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
40715         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
40716         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
40717         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
40718         * lib/unistr.h: Update.
40719         * lib/striconveh.c: Update.
40720         * modules/striconveh: Update.
40721         * lib/unistr/u8-to-u16.c: Update.
40722         * modules/unistr/u8-to-u16: Update.
40723         * lib/unistr/u8-to-u32.c: Update.
40724         * modules/unistr/u8-to-u32: Update.
40725
40726 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40727
40728         Sync from Libtool.
40729         * lib/argz.c: Do not include strings.h nor memory.h, include
40730         string.h unconditionally.  Patch by Simon Josefsson.
40731
40732 2007-01-27  Bruno Haible  <bruno@clisp.org>
40733
40734         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
40735         from gl_HEADER_STRING_H_BODY.
40736         (gl_HEADER_STRING_H_BODY): Require it.
40737         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
40738         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
40739         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
40740         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
40741         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40742         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
40743         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40744         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
40745         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
40746         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40747         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
40748         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
40749         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
40750         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40751         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40752
40753 2007-01-27  Bruno Haible  <bruno@clisp.org>
40754
40755         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
40756         check_PROGRAMS into noinst_PROGRAMS.
40757         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
40758         check_PROGRAMS in this case.
40759         (func_import): Set for_test to false.
40760         (func_create_testdir): Set for_test to true.
40761
40762 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
40763             Bruno Haible  <bruno@clisp.org>
40764
40765         * modules/strcasestr (Files): Remove lib/strcasestr.h.
40766         (Depends-on): Add string.
40767         (Includes): Use <string.h> instead of strcasestr.h.
40768         * modules/string (Makefile.am): Also substitute the value of
40769         REPLACE_STRCASESTR.
40770         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
40771         assume strcasestr is declared in <string.h> not <strings.h>. Also
40772         set REPLACE_STRCASESTR.
40773         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
40774         REPLACE_STRCASESTR.
40775         * lib/strcasestr.h: Remove file.
40776         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
40777         * lib/string_.h (strcasestr): New declaration.
40778
40779 2007-01-27  Bruno Haible  <bruno@clisp.org>
40780
40781         * lib/string_.h: Use 'extern'.
40782
40783 2007-01-27  Jim Meyering  <jim@meyering.net>
40784
40785         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
40786         of set-but-not-used local, "q".
40787
40788         * lib/mempcpy.c: Include <config.h> before <string.h>.
40789         This fixes a compilation error on HP-UX, due to the system's
40790         "restrict"-using mempcpy prototype.
40791
40792 2007-01-26  Bruno Haible  <bruno@clisp.org>
40793
40794         Small optimization.
40795         * lib/javacomp.c: Include c-strstr.h.
40796          (is_envjavac_gcj): Use c_strstr instead of strstr.
40797         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
40798
40799 2007-01-26  Bruno Haible  <bruno@clisp.org>
40800
40801         * MODULES.html.sh (Unicode string functions): Add the new modules.
40802
40803         * modules/uniconv/u32-strconv-to-locale: New file.
40804         * lib/uniconv/u32-strconv-to-locale.c: New file.
40805
40806         * modules/uniconv/u16-strconv-to-locale: New file.
40807         * lib/uniconv/u16-strconv-to-locale.c: New file.
40808
40809         * modules/uniconv/u8-strconv-to-locale: New file.
40810         * lib/uniconv/u8-strconv-to-locale.c: New file.
40811
40812         * modules/uniconv/u32-strconv-from-locale: New file.
40813         * lib/uniconv/u32-strconv-from-locale.c: New file.
40814
40815         * modules/uniconv/u16-strconv-from-locale: New file.
40816         * lib/uniconv/u16-strconv-from-locale.c: New file.
40817
40818         * modules/uniconv/u8-strconv-from-locale: New file.
40819         * lib/uniconv/u8-strconv-from-locale.c: New file.
40820
40821         * modules/uniconv/u32-strconv-to-enc: New file.
40822         * lib/uniconv/u32-strconv-to-enc.c: New file.
40823         * modules/uniconv/u32-strconv-to-enc-tests: New file.
40824         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
40825
40826         * modules/uniconv/u16-strconv-to-enc: New file.
40827         * lib/uniconv/u16-strconv-to-enc.c: New file.
40828         * lib/uniconv/u-strconv-to-enc.h: New file.
40829         * modules/uniconv/u16-strconv-to-enc-tests: New file.
40830         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
40831
40832         * modules/uniconv/u8-strconv-to-enc: New file.
40833         * lib/uniconv/u8-strconv-to-enc.c: New file.
40834         * modules/uniconv/u8-strconv-to-enc-tests: New file.
40835         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
40836
40837         * modules/uniconv/u32-strconv-from-enc: New file.
40838         * lib/uniconv/u32-strconv-from-enc.c: New file.
40839         * modules/uniconv/u32-strconv-from-enc-tests: New file.
40840         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
40841
40842         * modules/uniconv/u16-strconv-from-enc: New file.
40843         * lib/uniconv/u16-strconv-from-enc.c: New file.
40844         * modules/uniconv/u16-strconv-from-enc-tests: New file.
40845         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
40846
40847         * modules/uniconv/u8-strconv-from-enc: New file.
40848         * lib/uniconv/u8-strconv-from-enc.c: New file.
40849         * lib/uniconv/u-strconv-from-enc.h: New file.
40850         * modules/uniconv/u8-strconv-from-enc-tests: New file.
40851         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
40852
40853         * modules/uniconv/u32-conv-from-enc: New file.
40854         * lib/uniconv/u32-conv-from-enc.c: New file.
40855         * modules/uniconv/u32-conv-from-enc-tests: New file.
40856         * tests/uniconv/test-u32-conv-from-enc.c: New file.
40857
40858         * modules/uniconv/u16-conv-from-enc: New file.
40859         * lib/uniconv/u16-conv-from-enc.c: New file.
40860         * lib/uniconv/u-conv-from-enc.h: New file.
40861         * modules/uniconv/u16-conv-from-enc-tests: New file.
40862         * tests/uniconv/test-u16-conv-from-enc.c: New file.
40863
40864         * modules/uniconv/u8-conv-from-enc: New file.
40865         * lib/uniconv/u8-conv-from-enc.c: New file.
40866         * modules/uniconv/u8-conv-from-enc-tests: New file.
40867         * tests/uniconv/test-u8-conv-from-enc.c: New file.
40868
40869         * modules/uniconv/base: New file.
40870         * lib/uniconv.h: New file.
40871
40872 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
40873
40874         * doc/gnulib-tool.texi (Initial import): Update to match current
40875         behavior with strdup module.
40876         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
40877         * lib/memmem.h: Remove; all uses removed.  This is now done
40878         by <string.h>.
40879         * lib/mempcpy.h: Likewise.
40880         * lib/memrchr.h: Likewise.
40881         * lib/stpcpy.h: Likewise.
40882         * lib/stpncpy.h: Likewise.
40883         * lib/strcase.h: Likewise.
40884         * lib/strchrnul.h: Likewise.
40885         * lib/strdup.h: Likewise.
40886         * lib/strndup.h: Likewise.
40887         * lib/strnlen.h: Likewise.
40888         * lib/strpbrk.h: Likewise.
40889         * lib/strsep.h: Likewise.
40890         * lib/strstr.h: Likewise.
40891         * lib/strtok_r.h: Likewise.
40892         * lib/string_.h: New file.
40893         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
40894         Rely on <string.h> instead.
40895         * lib/canon-host.c: Likewise.
40896         * lib/chdir-long.c: Likewise.
40897         * lib/concatpath.c: Likewise.
40898         * lib/exclude.c: Likewise.
40899         * lib/fchdir.c: Likewise.
40900         * lib/getaddrinfo.c: Likewise.
40901         * lib/getcwd.c: Likewise.
40902         * lib/getsubopt.c: Likewise.
40903         * lib/glob.c: Likewise.
40904         * lib/hard-locale.c: Likewise.
40905         * lib/iconvme.c: Likewise.
40906         * lib/javacomp.c: Likewise.
40907         * lib/mempcpy.c: Likewise.
40908         * lib/memrchr.c: Likewise.
40909         * lib/regex_internal.h: Likewise.
40910         * lib/stpncpy.c: Likewise.
40911         * lib/strcasecmp.c: Likewise.
40912         * lib/strchrnul.c: Likewise.
40913         * lib/strdup.c: Likewise.
40914         * lib/striconv.c: Likewise.
40915         * lib/striconveh.c: Likewise.
40916         * lib/striconveha.c: Likewise.
40917         * lib/strncasecmp.c: Likewise.
40918         * lib/strndup.c: Likewise.
40919         * lib/strnlen.c: Likewise.
40920         * lib/strsep.c: Likewise.
40921         * lib/strstr.c: Likewise.
40922         * lib/strtok_r.c: Likewise.
40923         * lib/userspec.c: Likewise.
40924         * lib/w32spawn.h: Likewise.
40925         * lib/xstrndup.c: Likewise.
40926         * lib/mountlist.c (strstr): Remove decl.
40927         * m4/string_h.m4: New file.
40928         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
40929         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
40930         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
40931         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
40932         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
40933         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
40934         Set REPLACE_STRCASECMP if necessary.
40935         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
40936         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
40937         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
40938         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
40939         HAVE_DECL_STRDUP if necessary.
40940         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
40941         since gl_FUNC_STRNDUP does that now.
40942         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
40943         Check for decl here...
40944         (gl_PREREQ_STRNLEN): ... not here.
40945         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
40946         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
40947         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
40948         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
40949         necessary.
40950         * modules/string: New file.
40951         * modules/memmem (Files): Remove special-purpose include file.
40952         (Depends-on): Add string.
40953         (Include): Include <string.h>, not the removed file.
40954         * modules/mempcpy: Likewise.
40955         * modules/memrchr: Likewise.
40956         * modules/stpcpy: Likewise.
40957         * modules/stpncpy: Likewise.
40958         * modules/strcase: Likewise.
40959         * modules/strchrnul: Likewise.
40960         * modules/strdup: Likewise.
40961         * modules/strndup: Likewise.
40962         * modules/strnlen: Likewise.
40963         * modules/strpbrk: Likewise.
40964         * modules/strsep: Likewise.
40965         * modules/strstr: Likewise.
40966         * modules/strtok_r: Likewise.
40967         * tests/test-dirname.c: Don't include "strdup.h", since
40968         <string.h> now suffices.
40969         * tests/test-memmem.c: Don't include "memmem.h", since
40970         <string.h> now suffices.
40971
40972 2007-01-25  Bruno Haible  <bruno@clisp.org>
40973
40974         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
40975         *resultp is 0.
40976
40977         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
40978         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
40979         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
40980         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
40981
40982         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
40983         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
40984         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
40985         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
40986         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
40987         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
40988
40989 2007-01-24  Bruno Haible  <bruno@clisp.org>
40990
40991         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
40992         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
40993         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
40994         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
40995         gl_FUNC_FTS_CORE.
40996         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
40997         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
40998         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
40999         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
41000         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
41001         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
41002         gl_FUNC_FCHOWNAT.
41003         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
41004         gl_FUNC_STRFTIME.
41005         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
41006         Reported by Ralf Wildenhues.
41007
41008 2007-01-24  Bruno Haible  <bruno@clisp.org>
41009
41010         Drop AC_REQUIRE calls that are redundant with the module dependencies.
41011         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
41012         gl_GETADDRINFO.
41013         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
41014         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
41015         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
41016
41017 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
41018
41019         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
41020         Don't use 'exit'; just return from 'main'.
41021         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
41022
41023         * lib/fnmatch_.h: Readjust white space and comments to match
41024         glibc, to avoid spurious diffs.
41025
41026 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
41027
41028         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
41029         2004-12-01 change by Jakub Jelinek, since this code won't compile
41030         if !LIBC.  Problem reported by Bob Proulx.
41031
41032 2007-01-23  Bruno Haible  <bruno@clisp.org>
41033
41034         * lib/striconveh.c: Include c-strcaseeq.h.
41035         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
41036         * modules/striconveh (Depends-on): Add c-strcaseeq.
41037
41038 2007-01-23  Bruno Haible  <bruno@clisp.org>
41039
41040         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
41041
41042         * modules/c-strcaseeq: New file.
41043         * lib/c-strcaseeq.h: New file.
41044
41045         * modules/streq: New file.
41046         * lib/streq.h: New file.
41047
41048 2007-01-23  Bruno Haible  <bruno@clisp.org>
41049
41050         * modules/striconveha-tests: New file.
41051         * tests/test-striconveha.c: New file.
41052
41053         * lib/striconveha.h: Include <stdbool.h>.
41054         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
41055         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
41056         (mem_iconveha_notranslit): Renamed from mem_iconveha.
41057         (mem_iconveha): New function.
41058         (str_iconveha_notranslit): Renamed from str_iconveha.
41059         (str_iconveha): New function.
41060         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
41061         c-strcase.
41062
41063 2007-01-23  Bruno Haible  <bruno@clisp.org>
41064
41065         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
41066         encodings without forgiving before trying any encoding with handler.
41067         (str_iconveha): Try all encodings without forgiving before trying any
41068         encoding with handler.
41069
41070 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
41071
41072         Import the following changes from libc.
41073
41074         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
41075
41076         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
41077
41078         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
41079
41080         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
41081         normal_bracket label.
41082
41083         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
41084
41085         [BZ #361]
41086         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
41087         to normal_bracket after fetching the next character.
41088
41089 2007-01-22  Bruno Haible  <bruno@clisp.org>
41090
41091         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
41092         argument.
41093         * lib/striconveh.c (iconv_carefully_1): New function.
41094         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
41095         argument.
41096         (str_cd_iconveh): Update.
41097         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
41098         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
41099         * tests/test-striconveh.c (MAGIC): New macro.
41100         (new_offsets): New function.
41101         (main): Test call with and without offsets.
41102
41103 2007-01-22  Bruno Haible  <bruno@clisp.org>
41104
41105         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
41106         * modules/sys_select (Makefile.am): Likewise.
41107         * modules/sys_socket (Makefile.am): Likewise.
41108         * modules/sys_time (Makefile.am): Likewise.
41109
41110 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
41111
41112         * modules/gettimeofday (License): Change from GPL to LGPL, since
41113         gettimeofday is a library function.
41114
41115 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41116
41117         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
41118
41119 2007-01-21  Bruno Haible  <bruno@clisp.org>
41120
41121         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
41122
41123 2007-01-21  Bruno Haible  <bruno@clisp.org>
41124
41125         * modules/striconveha: New file.
41126         * lib/striconveha.h: New file.
41127         * lib/striconveha.c: New file.
41128         * MODULES.html.sh (Internationalization functions): Add striconveha.
41129         * lib/striconv.c (str_iconv): Optimize the case of an empty input
41130         string.
41131         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
41132
41133 2007-01-21  Bruno Haible  <bruno@clisp.org>
41134
41135         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
41136         * lib/striconveh.c (str_iconveh): Likewise.
41137
41138 2007-01-21  Bruno Haible  <bruno@clisp.org>
41139
41140         * lib/striconveh.h (mem_iconveh): New declaration.
41141         * lib/striconveh.c (mem_iconveh): New function.
41142         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
41143
41144 2007-01-21  Bruno Haible  <bruno@clisp.org>
41145
41146         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
41147
41148         * lib/striconveh.h (mem_cd_iconveh): Change specification.
41149         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
41150         original result buffer.
41151         (str_cd_iconveh): Update.
41152         * tests/test-striconveh.c (main): Update.
41153
41154         * lib/striconv.h (mem_cd_iconv): Change specification.
41155         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
41156         result buffer.
41157         (str_cd_iconv): Update.
41158         * tests/test-striconv.c (main): Update.
41159
41160 2007-01-21  Bruno Haible  <bruno@clisp.org>
41161
41162         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
41163
41164 2007-01-20  Jim Meyering  <jim@meyering.net>
41165
41166         * lib/userspec.c (parse_with_separator): If a user or group string
41167         starts with "+", skip the corresponding name-to-ID look-up, since
41168         such a look-up must fail: user and group names may not include "+".
41169
41170 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
41171
41172         * lib/poll.c: Include sys/time.h and time.h unconditionally,
41173         since we now assume the sys_time module.
41174         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
41175         check for sys/time.h; no longer needed.
41176         * modules/poll (Depends-on): Depend on sys_time.
41177
41178 2007-01-18  Bruno Haible  <bruno@clisp.org>
41179
41180         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
41181         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
41182
41183         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
41184         gettimeofday.
41185
41186         * tests/test-gettimeofday.c: Include <time.h>.
41187         (dummy): Remove variable.
41188
41189         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
41190         gl_HEADER_SYS_TIME_H.
41191         (gl_HEADER_SYS_TIME_H): New macro.
41192
41193         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
41194         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41195         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
41196         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
41197         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41198         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
41199         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
41200         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41201         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
41202         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
41203         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41204
41205         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
41206         last change; it caused a compilation error when cross-compiling to
41207         Cygwin.
41208
41209 2007-01-18  Jim Meyering  <jim@meyering.net>
41210
41211         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
41212         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
41213         than the race-prone "test -d sys || mkdir sys".
41214         (configure.ac): Use AC_PROG_MKDIR_P.
41215         * modules/sys_select: Likewise.
41216         * modules/sys_socket: Likewise.
41217         * modules/sys_time: Likewise.
41218
41219 2007-01-18  Eric Blake  <ebb9@byu.net>
41220
41221         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
41222         replace gettimeofday.
41223         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
41224         name, to avoid infinite recursion.
41225
41226 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
41227
41228         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
41229         module sys_time.
41230         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
41231         assume timespec.h defines struct timeval.
41232         * lib/settime.c: Likewise.
41233         * lib/utimens.c: Likewise.
41234         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
41235         since we now assume the gettimeofday module.
41236         * lib/tempname.c (__gen_tempname): Likewise.
41237         * lib/gettimeofday.h: Remove.
41238         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
41239         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
41240         Include <time.h>, for 'time()'.
41241         (localtime_buffer_addr): Also use this workaround if
41242         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
41243         to simplify the uses.  All uses changed.
41244         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
41245         that #undef is inside {}, and 'const' follows type name consistently.
41246         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
41247         (gettimeofday): Do not use the maximum possible value for
41248         tv->tv_usec, since that might break usages other than ls.c.
41249         Instead, we'll leave ls.c alone.  This undoes today's patch
41250         by Bruno.  Add a compile-time warning for 1s-clock resolution;
41251         we've never observed the problem but might as well keep the
41252         canary.
41253         * lib/nanosleep.c: Include timespec.h first, for interface check.
41254         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
41255         now assume the sys_time module.
41256         * lib/tempname.c: Likewise.
41257         * lib/timespec.h: Likewise.
41258         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
41259         needed.
41260         * lib/strftime.c: Likewise.
41261         * lib/timespec.h: Likewise.
41262         * lib/posixtm.c: Include posixtm.h first, for interface check.
41263         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
41264         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
41265         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
41266         * lib/sys_time_.h: New file.
41267         * lib/timespec.h (struct timespec): Use long int, not long.
41268         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
41269         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
41270         Remove obsolescent call to AC_HEADER_TIME.
41271         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
41272         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41273         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
41274         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
41275         Likewise.
41276         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
41277         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
41278         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
41279         into the sys_time module.  Check for gettimeofday just once.
41280         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
41281         for gettimeofday signature to just check the signature.  Merely
41282         compile it, since linking doesn't test signature.  Improve test for
41283         whether gettimeofday.o is actually needed.
41284         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
41285         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
41286         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
41287         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41288         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
41289         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
41290         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
41291         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
41292         than worrying about sys/time.h.
41293         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
41294         Don't bother worrying about TIME_WITH_SYS_TIME.
41295         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
41296         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
41297         * m4/sys_time_h.m4: New file.
41298         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
41299         Don't include sys/time.h.  Return from main rather than exiting.
41300         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
41301         all uses changed.
41302         * modules/gethrxtime (Depends-on): Add sys_time.
41303         * modules/gettime (Depends-on): Likewise.
41304         * modules/gettimeofday (Depends-on): Likewise.
41305         * modules/nanosleep (Depends-on): Likewise.
41306         * modules/settime (Depends-on): Likewise.
41307         * modules/tempname (Depends-on): Likewise.
41308         * modules/utimens (Depends-on): Likewise.
41309         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
41310         (Include:) Change back to <sys/time.h>.
41311         (Maintainer:) Add self.
41312         * modules/sys_time: New file.
41313         * modules/tempname (Depends-on): Add gettimeofday.
41314         * tests/test-gettimeofday.c: Include <sys/time.h>
41315         rather than gettimeofday.h.
41316
41317 2007-01-17  Bruno Haible  <bruno@clisp.org>
41318
41319         * gnulib-tool (func_get_license): Revert last patch. Instead, let
41320         the license default to GPL.
41321         (func_create_testdir): Don't complain if a module is LGPL and its
41322         tests module depends on GPLed modules.
41323
41324 2007-01-17  Bruno Haible  <bruno@clisp.org>
41325
41326         * lib/gettimeofday.c (gettimeofday): Add code for the case
41327         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
41328         maximum possible value for tv->tv_usec, rather than the minimum one.
41329
41330 2005-10-08  Martin Lambers  <marlam@marlam.de>
41331 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
41332 2007-01-16  Bruno Haible  <bruno@clisp.org>
41333
41334         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
41335         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
41336         gl_FUNC_GETTIMEOFDAY.
41337         (Include): Add gettimeofday.h.
41338         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
41339         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
41340         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
41341         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
41342         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
41343         * lib/gettimeofday.h: New file.
41344         * lib/gettimeofday.c: Include <sys/timeb.h>.
41345         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
41346         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41347         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
41348         fall back on time().
41349
41350         * tests/test-gettimeofday.c: New file.
41351         * modules/gettimeofday-tests: New file.
41352
41353 2007-01-16  Eric Blake  <ebb9@byu.net>
41354
41355         * modules/fnmatch (Depends-on): Depend on wchar.
41356         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
41357         * m4/fnmatch.m4: Likewise.
41358         * modules/mbchar (Makefile.am): Assume <wchar.h>.
41359         * m4/mbchar.m4: Likewise.
41360         * modules/mbswidth (Depends-on): Depend on wchar.
41361         * lib/mbswidth.c: Assume <wchar.h>.
41362         * m4/mbswidth.m4: Likewise.
41363         * modules/quotearg (Depends-on): Depend on wchar.
41364         * lib/quotearg.c: Assume <wchar.h>.
41365         * m4/quotearg.m4: Likewise.
41366         * modules/regex (Depends-on): Depend on wchar.
41367         * lib/regex_internal.h: Assume <wchar.h>.
41368         * m4/regex.m4: Likewise.
41369         * modules/stdint (Depends-on): Depend on wchar.
41370         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
41371         * m4/stdint.m4: Likewise.
41372         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
41373         * modules/strftime (Depends-on): Depend on wchar.
41374         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
41375         * modules/strtol (Depends-on): Depend on wchar.
41376         * lib/strtol.c: Assume <wchar.h>.
41377         * modules/wcwidth (Depends-on): Depend on wchar.
41378         * lib/wcwidth.h: Assume <wchar.h>.
41379         * m4/wcwidth.m4: Likewise.
41380
41381 2007-01-16  Bruno Haible  <bruno@clisp.org>
41382
41383         * modules/csharpexec-script: New, created from...
41384         * modules/csharpexec: ... this.
41385
41386 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
41387
41388         * modules/javaexec-script: New, created from...
41389         * modules/javaexec: ... this.
41390
41391 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41392
41393         * modules/poll (Dependencies): Add sys_select.
41394
41395 2007-01-15  Jim Meyering  <jim@meyering.net>
41396
41397         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
41398         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
41399         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
41400         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
41401
41402 2007-01-15  Bruno Haible  <bruno@clisp.org>
41403
41404         * modules/striconveh: New file.
41405         * lib/striconveh.h: New file.
41406         * lib/striconveh.c: New file.
41407         * MODULES.html.sh (Internationalization functions): Add striconveh.
41408
41409         * modules/striconveh-tests: New file.
41410         * tests/test-striconveh.c: New file.
41411
41412 2007-01-15  Bruno Haible  <bruno@clisp.org>
41413
41414         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
41415         not from GNU libiconv or GNU libc.
41416
41417 2007-01-15  Bruno Haible  <bruno@clisp.org>
41418
41419         * doc/gnulib-intro.texi (Copyright): Explain the different license
41420         terms for module descriptions, autoconf macros, tests, documentation.
41421
41422 2007-01-14  Bruno Haible  <bruno@clisp.org>
41423
41424         * modules/striconv-tests: New file.
41425         * tests/test-striconv.c: New file.
41426
41427 2007-01-14  Bruno Haible  <bruno@clisp.org>
41428
41429         * modules/iconv-tests: New file.
41430         * tests/test-iconv.c: New file.
41431
41432 2007-01-14  Bruno Haible  <bruno@clisp.org>
41433
41434         * gnulib-tool (func_get_license): For test modules, use the license of
41435         the main module.
41436
41437 2007-01-14  Bruno Haible  <bruno@clisp.org>
41438
41439         * modules/iconv (Include): Clarify that <iconv.h> can only be included
41440         if iconv is found to exist.
41441
41442 2007-01-14  Bruno Haible  <bruno@clisp.org>
41443
41444         * modules/c-ctype-tests: New file.
41445         * tests/test-c-ctype.c: New file.
41446
41447 2007-01-14  Bruno Haible  <bruno@clisp.org>
41448
41449         * modules/binary-io-tests: New file.
41450         * tests/test-binary-io.sh: New file.
41451         * tests/test-binary-io.c: New file.
41452
41453 2007-01-14  Bruno Haible  <bruno@clisp.org>
41454
41455         * modules/array-oset-tests: New file.
41456         * tests/test-array_oset.c: New file.
41457
41458 2007-01-14  Bruno Haible  <bruno@clisp.org>
41459
41460         * modules/array-list-tests: New file.
41461         * tests/test-array_list.c: New file.
41462
41463 2007-01-14  Bruno Haible  <bruno@clisp.org>
41464
41465         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
41466         and make.
41467         Reported by Simon Josefsson in
41468         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
41469
41470 2007-01-14  Bruno Haible  <bruno@clisp.org>
41471
41472         * modules/allocsa-tests: New file.
41473         * tests/test-allocsa.c: New file.
41474
41475 2007-01-14  Bruno Haible  <bruno@clisp.org>
41476
41477         * modules/fchdir (Depends-on): Add absolute-header.
41478         * modules/unistd (Depends-on): Likewise.
41479
41480 2006-12-30  Bruno Haible  <bruno@clisp.org>
41481
41482         * modules/fchdir: New file.
41483         * modules/unistd (Files): Add lib/unistd_.h.
41484         (Makefile.am): Generate unistd.h from unistd_.h.
41485         * lib/fchdir.c: New file.
41486         * lib/dirent_.h: New file.
41487         * lib/unistd_.h: New file.
41488         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
41489         * m4/fchdir.m4: New file.
41490         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
41491         (gl_HEADER_UNISTD): Invoke it.
41492         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
41493         function.
41494         * lib/backupfile.c (opendir, closedir): Undefine.
41495         * lib/chown.c (open, close): Undefine.
41496         * lib/clean-temp.c (open, close): Undefine.
41497         * lib/copy-file.c (open, close): Undefine.
41498         * lib/execute.c (open, close): Undefine.
41499         * lib/fsusage.c (open, close): Undefine.
41500         * lib/gc-gnulib.c (open, close): Undefine.
41501         * lib/getcwd.c (opendir, closedir): Undefine.
41502         * lib/glob.c (opendir, closedir): Undefine.
41503         * lib/javacomp.c (open, close): Undefine.
41504         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
41505         * lib/openat-proc.c (open, close): Undefine.
41506         * lib/pagealign_alloc.c (open, close): Undefine.
41507         * lib/pipe.c (open, close): Undefine.
41508         * lib/progreloc.c (open, close): Undefine.
41509         * lib/savedir.c (opendir, closedir): Undefine.
41510         * lib/utime.c (open, close): Undefine.
41511         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
41512
41513 2007-01-10  Bruno Haible  <bruno@clisp.org>
41514
41515         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
41516
41517 2007-01-12  Eric Blake  <ebb9@byu.net>
41518
41519         Provide a robust <wchar.h>.  Further simplifications are now
41520         possible in other modules, but not included here.
41521         * modules/wchar: New module.
41522         * m4/wchar.m4: New file.
41523         * lib/wchar_.h: Likewise.
41524         * modules/mbchar (Depends-on): Depend on wchar, as the first use
41525         of the new module.
41526         * MODULES.html.sh (Extended multibyte and wide character utilities):
41527         New section.
41528
41529 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
41530
41531         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
41532         to a reasonable default for memory allocation.
41533         (xreadlink): Don't allocate a huge buffer, to work around a buggy
41534         file system that reports garbage st_size values for symlinks.
41535         Problem reported by Liyang Hu.
41536
41537 2007-01-11  Simon Josefsson  <simon@josefsson.org>
41538
41539         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
41540         Emacs .#* auto-save files).
41541
41542 2007-01-11  Bruno Haible  <bruno@clisp.org>
41543
41544         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
41545         directory.
41546
41547 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
41548
41549         Use @...@ consistently in lib/wctype_.h.
41550         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
41551         on it being set to 1 or 0.
41552         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
41553         go back to AC_SUBSTing it.
41554         * modules/wctype (Makefile.am): Undo previous change.
41555
41556 2007-01-10  Eric Blake  <ebb9@byu.net>
41557
41558         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
41559         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
41560         * modules/wctype (Makefile.am): Likewise.
41561         Reported by Chris McGuire.
41562
41563 2007-01-10  Jim Meyering  <jim@meyering.net>
41564
41565         fts.c: a small readability/maintainability improvement
41566         * lib/fts.c (fts_read): Make this code slightly more readable and
41567         maintainable by hoisting the "sp->fts_cur = p" assignments to
41568         immediately follow the statements that set P.  Derived from
41569         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
41570
41571 2007-01-10  Eric Blake  <ebb9@byu.net>
41572
41573         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
41574         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
41575         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41576         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
41577         Reported by Chris McGuire.
41578
41579 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41580
41581         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
41582         in sed script.
41583
41584 2007-01-09  Bruno Haible  <bruno@clisp.org>
41585
41586         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
41587         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
41588         variables.
41589         (func_module): Use them.
41590
41591 2007-01-09  Bruno Haible  <bruno@clisp.org>
41592
41593         * modules/unistr/base: New file.
41594         * lib/unistr.h: New file.
41595
41596         * modules/unistr/u8-to-u16: New file.
41597         * lib/unistr/u8-to-u16.c: New file.
41598
41599         * modules/unistr/u8-to-u32: New file.
41600         * lib/unistr/u8-to-u32.c: New file.
41601
41602         * modules/unistr/u16-to-u8: New file.
41603         * lib/unistr/u16-to-u8.c: New file.
41604
41605         * modules/unistr/u16-to-u32: New file.
41606         * lib/unistr/u16-to-u32.c: New file.
41607
41608         * modules/unistr/u32-to-u8: New file.
41609         * lib/unistr/u32-to-u8.c: New file.
41610
41611         * modules/unistr/u32-to-u16: New file.
41612         * lib/unistr/u32-to-u16.c: New file.
41613
41614         * modules/unistr/u8-check: New file.
41615         * modules/unistr/u16-check: New file.
41616         * modules/unistr/u32-check: New file.
41617         * lib/unistr/u8-check.c: New file.
41618         * lib/unistr/u16-check.c: New file.
41619         * lib/unistr/u32-check.c: New file.
41620
41621         * modules/unistr/u8-chr: New file.
41622         * modules/unistr/u16-chr: New file.
41623         * modules/unistr/u32-chr: New file.
41624         * lib/unistr/u8-chr.c: New file.
41625         * lib/unistr/u16-chr.c: New file.
41626         * lib/unistr/u32-chr.c: New file.
41627
41628         * modules/unistr/u8-cmp: New file.
41629         * modules/unistr/u16-cmp: New file.
41630         * modules/unistr/u32-cmp: New file.
41631         * lib/unistr/u8-cmp.c: New file.
41632         * lib/unistr/u16-cmp.c: New file.
41633         * lib/unistr/u32-cmp.c: New file.
41634
41635         * modules/unistr/u8-cpy: New file.
41636         * modules/unistr/u16-cpy: New file.
41637         * modules/unistr/u32-cpy: New file.
41638         * lib/unistr/u8-cpy.c: New file.
41639         * lib/unistr/u16-cpy.c: New file.
41640         * lib/unistr/u32-cpy.c: New file.
41641         * lib/unistr/u-cpy.h: New file.
41642
41643         * modules/unistr/u8-cpy-alloc: New file.
41644         * modules/unistr/u16-cpy-alloc: New file.
41645         * modules/unistr/u32-cpy-alloc: New file.
41646         * lib/unistr/u8-cpy-alloc.c: New file.
41647         * lib/unistr/u16-cpy-alloc.c: New file.
41648         * lib/unistr/u32-cpy-alloc.c: New file.
41649         * lib/unistr/u-cpy-alloc.h: New file.
41650
41651         * modules/unistr/u8-endswith: New file.
41652         * modules/unistr/u16-endswith: New file.
41653         * modules/unistr/u32-endswith: New file.
41654         * lib/unistr/u8-endswith.c: New file.
41655         * lib/unistr/u16-endswith.c: New file.
41656         * lib/unistr/u32-endswith.c: New file.
41657         * lib/unistr/u-endswith.h: New file.
41658
41659         * modules/unistr/u8-mblen: New file.
41660         * modules/unistr/u16-mblen: New file.
41661         * modules/unistr/u32-mblen: New file.
41662         * lib/unistr/u8-mblen.c: New file.
41663         * lib/unistr/u16-mblen.c: New file.
41664         * lib/unistr/u32-mblen.c: New file.
41665
41666         * modules/unistr/u8-mbtouc: New file.
41667         * modules/unistr/u16-mbtouc: New file.
41668         * modules/unistr/u32-mbtouc: New file.
41669         * lib/unistr/u8-mbtouc.c: New file.
41670         * lib/unistr/u16-mbtouc.c: New file.
41671         * lib/unistr/u32-mbtouc.c: New file.
41672
41673         * modules/unistr/u8-mbtouc-safe: New file.
41674         * modules/unistr/u16-mbtouc-safe: New file.
41675         * modules/unistr/u32-mbtouc-safe: New file.
41676         * lib/unistr/u8-mbtouc-safe.c: New file.
41677         * lib/unistr/u16-mbtouc-safe.c: New file.
41678         * lib/unistr/u32-mbtouc-safe.c: New file.
41679
41680         * modules/unistr/u8-move: New file.
41681         * modules/unistr/u16-move: New file.
41682         * modules/unistr/u32-move: New file.
41683         * lib/unistr/u8-move.c: New file.
41684         * lib/unistr/u16-move.c: New file.
41685         * lib/unistr/u32-move.c: New file.
41686         * lib/unistr/u-move.h: New file.
41687
41688         * modules/unistr/u8-next: New file.
41689         * modules/unistr/u16-next: New file.
41690         * modules/unistr/u32-next: New file.
41691         * lib/unistr/u8-next.c: New file.
41692         * lib/unistr/u16-next.c: New file.
41693         * lib/unistr/u32-next.c: New file.
41694
41695         * modules/unistr/u8-prev: New file.
41696         * modules/unistr/u16-prev: New file.
41697         * modules/unistr/u32-prev: New file.
41698         * lib/unistr/u8-prev.c: New file.
41699         * lib/unistr/u16-prev.c: New file.
41700         * lib/unistr/u32-prev.c: New file.
41701
41702         * modules/unistr/u8-set: New file.
41703         * modules/unistr/u16-set: New file.
41704         * modules/unistr/u32-set: New file.
41705         * lib/unistr/u8-set.c: New file.
41706         * lib/unistr/u16-set.c: New file.
41707         * lib/unistr/u32-set.c: New file.
41708         * lib/unistr/u-set.h: New file.
41709
41710         * modules/unistr/u8-startswith: New file.
41711         * modules/unistr/u16-startswith: New file.
41712         * modules/unistr/u32-startswith: New file.
41713         * lib/unistr/u8-startswith.c: New file.
41714         * lib/unistr/u16-startswith.c: New file.
41715         * lib/unistr/u32-startswith.c: New file.
41716         * lib/unistr/u-startswith.h: New file.
41717
41718         * modules/unistr/u8-stpcpy: New file.
41719         * modules/unistr/u16-stpcpy: New file.
41720         * modules/unistr/u32-stpcpy: New file.
41721         * lib/unistr/u8-stpcpy.c: New file.
41722         * lib/unistr/u16-stpcpy.c: New file.
41723         * lib/unistr/u32-stpcpy.c: New file.
41724         * lib/unistr/u-stpcpy.h: New file.
41725
41726         * modules/unistr/u8-stpncpy: New file.
41727         * modules/unistr/u16-stpncpy: New file.
41728         * modules/unistr/u32-stpncpy: New file.
41729         * lib/unistr/u8-stpncpy.c: New file.
41730         * lib/unistr/u16-stpncpy.c: New file.
41731         * lib/unistr/u32-stpncpy.c: New file.
41732         * lib/unistr/u-stpncpy.h: New file.
41733
41734         * modules/unistr/u8-strcat: New file.
41735         * modules/unistr/u16-strcat: New file.
41736         * modules/unistr/u32-strcat: New file.
41737         * lib/unistr/u8-strcat.c: New file.
41738         * lib/unistr/u16-strcat.c: New file.
41739         * lib/unistr/u32-strcat.c: New file.
41740         * lib/unistr/u-strcat.h: New file.
41741
41742         * modules/unistr/u8-strchr: New file.
41743         * modules/unistr/u16-strchr: New file.
41744         * modules/unistr/u32-strchr: New file.
41745         * lib/unistr/u8-strchr.c: New file.
41746         * lib/unistr/u16-strchr.c: New file.
41747         * lib/unistr/u32-strchr.c: New file.
41748
41749         * modules/unistr/u8-strcmp: New file.
41750         * modules/unistr/u16-strcmp: New file.
41751         * modules/unistr/u32-strcmp: New file.
41752         * lib/unistr/u8-strcmp.c: New file.
41753         * lib/unistr/u16-strcmp.c: New file.
41754         * lib/unistr/u32-strcmp.c: New file.
41755
41756         * modules/unistr/u8-strcpy: New file.
41757         * modules/unistr/u16-strcpy: New file.
41758         * modules/unistr/u32-strcpy: New file.
41759         * lib/unistr/u8-strcpy.c: New file.
41760         * lib/unistr/u16-strcpy.c: New file.
41761         * lib/unistr/u32-strcpy.c: New file.
41762         * lib/unistr/u-strcpy.h: New file.
41763
41764         * modules/unistr/u8-strcspn: New file.
41765         * modules/unistr/u16-strcspn: New file.
41766         * modules/unistr/u32-strcspn: New file.
41767         * lib/unistr/u8-strcspn.c: New file.
41768         * lib/unistr/u16-strcspn.c: New file.
41769         * lib/unistr/u32-strcspn.c: New file.
41770         * lib/unistr/u-strcspn.h: New file.
41771
41772         * modules/unistr/u8-strdup: New file.
41773         * modules/unistr/u16-strdup: New file.
41774         * modules/unistr/u32-strdup: New file.
41775         * lib/unistr/u8-strdup.c: New file.
41776         * lib/unistr/u16-strdup.c: New file.
41777         * lib/unistr/u32-strdup.c: New file.
41778         * lib/unistr/u-strdup.h: New file.
41779
41780         * modules/unistr/u8-strlen: New file.
41781         * modules/unistr/u16-strlen: New file.
41782         * modules/unistr/u32-strlen: New file.
41783         * lib/unistr/u8-strlen.c: New file.
41784         * lib/unistr/u16-strlen.c: New file.
41785         * lib/unistr/u32-strlen.c: New file.
41786         * lib/unistr/u-strlen.h: New file.
41787
41788         * modules/unistr/u8-strmblen: New file.
41789         * modules/unistr/u16-strmblen: New file.
41790         * modules/unistr/u32-strmblen: New file.
41791         * lib/unistr/u8-strmblen.c: New file.
41792         * lib/unistr/u16-strmblen.c: New file.
41793         * lib/unistr/u32-strmblen.c: New file.
41794
41795         * modules/unistr/u8-strmbtouc: New file.
41796         * modules/unistr/u16-strmbtouc: New file.
41797         * modules/unistr/u32-strmbtouc: New file.
41798         * lib/unistr/u8-strmbtouc.c: New file.
41799         * lib/unistr/u16-strmbtouc.c: New file.
41800         * lib/unistr/u32-strmbtouc.c: New file.
41801
41802         * modules/unistr/u8-strncat: New file.
41803         * modules/unistr/u16-strncat: New file.
41804         * modules/unistr/u32-strncat: New file.
41805         * lib/unistr/u8-strncat.c: New file.
41806         * lib/unistr/u16-strncat.c: New file.
41807         * lib/unistr/u32-strncat.c: New file.
41808         * lib/unistr/u-strncat.h: New file.
41809
41810         * modules/unistr/u8-strncmp: New file.
41811         * modules/unistr/u16-strncmp: New file.
41812         * modules/unistr/u32-strncmp: New file.
41813         * lib/unistr/u8-strncmp.c: New file.
41814         * lib/unistr/u16-strncmp.c: New file.
41815         * lib/unistr/u32-strncmp.c: New file.
41816
41817         * modules/unistr/u8-strncpy: New file.
41818         * modules/unistr/u16-strncpy: New file.
41819         * modules/unistr/u32-strncpy: New file.
41820         * lib/unistr/u8-strncpy.c: New file.
41821         * lib/unistr/u16-strncpy.c: New file.
41822         * lib/unistr/u32-strncpy.c: New file.
41823         * lib/unistr/u-strncpy.h: New file.
41824
41825         * modules/unistr/u8-strnlen: New file.
41826         * modules/unistr/u16-strnlen: New file.
41827         * modules/unistr/u32-strnlen: New file.
41828         * lib/unistr/u8-strnlen.c: New file.
41829         * lib/unistr/u16-strnlen.c: New file.
41830         * lib/unistr/u32-strnlen.c: New file.
41831         * lib/unistr/u-strnlen.h: New file.
41832
41833         * modules/unistr/u8-strpbrk: New file.
41834         * modules/unistr/u16-strpbrk: New file.
41835         * modules/unistr/u32-strpbrk: New file.
41836         * lib/unistr/u8-strpbrk.c: New file.
41837         * lib/unistr/u16-strpbrk.c: New file.
41838         * lib/unistr/u32-strpbrk.c: New file.
41839         * lib/unistr/u-strpbrk.h: New file.
41840
41841         * modules/unistr/u8-strrchr: New file.
41842         * modules/unistr/u16-strrchr: New file.
41843         * modules/unistr/u32-strrchr: New file.
41844         * lib/unistr/u8-strrchr.c: New file.
41845         * lib/unistr/u16-strrchr.c: New file.
41846         * lib/unistr/u32-strrchr.c: New file.
41847
41848         * modules/unistr/u8-strspn: New file.
41849         * modules/unistr/u16-strspn: New file.
41850         * modules/unistr/u32-strspn: New file.
41851         * lib/unistr/u8-strspn.c: New file.
41852         * lib/unistr/u16-strspn.c: New file.
41853         * lib/unistr/u32-strspn.c: New file.
41854         * lib/unistr/u-strspn.h: New file.
41855
41856         * modules/unistr/u8-strstr: New file.
41857         * modules/unistr/u16-strstr: New file.
41858         * modules/unistr/u32-strstr: New file.
41859         * lib/unistr/u8-strstr.c: New file.
41860         * lib/unistr/u16-strstr.c: New file.
41861         * lib/unistr/u32-strstr.c: New file.
41862         * lib/unistr/u-strstr.h: New file.
41863
41864         * modules/unistr/u8-strtok: New file.
41865         * modules/unistr/u16-strtok: New file.
41866         * modules/unistr/u32-strtok: New file.
41867         * lib/unistr/u8-strtok.c: New file.
41868         * lib/unistr/u16-strtok.c: New file.
41869         * lib/unistr/u32-strtok.c: New file.
41870         * lib/unistr/u-strtok.h: New file.
41871
41872         * modules/unistr/u8-uctomb: New file.
41873         * modules/unistr/u16-uctomb: New file.
41874         * modules/unistr/u32-uctomb: New file.
41875         * lib/unistr/u8-uctomb.c: New file.
41876         * lib/unistr/u16-uctomb.c: New file.
41877         * lib/unistr/u32-uctomb.c: New file.
41878
41879         * MODULES.html.sh (Unicode string functions): Add the new modules.
41880
41881 2007-01-08  Bruno Haible  <bruno@clisp.org>
41882
41883         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
41884         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
41885         subdirectories.
41886
41887 2007-01-08  Karl Berry  <karl@gnu.org>
41888
41889         * doc/error.texi: mention that main() fns must set program_name
41890         when progname is used.
41891
41892 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
41893
41894         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
41895         WCTYPE_H is empty, for the benefit of builds from non-distclean
41896         directories.  Problem reported by Eric Blake in
41897         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
41898
41899 2007-01-08  Bruno Haible  <bruno@clisp.org>
41900
41901         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
41902         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
41903         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
41904         PROVIDE_CANONICALIZE_FILENAME_MODE.
41905         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
41906
41907 2007-01-08  Bruno Haible  <bruno@clisp.org>
41908
41909         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
41910         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
41911         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
41912         * lib/fts.c: Likewise.
41913         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
41914
41915 2006-12-25  Bruno Haible  <bruno@clisp.org>
41916
41917         * modules/utf8-ucs4-safe: New file.
41918         * lib/utf8-ucs4-safe.h: New file.
41919         * lib/unistr/utf8-ucs4-safe.c: New file.
41920
41921         * modules/utf16-ucs4-safe: New file.
41922         * lib/utf16-ucs4-safe.h: New file.
41923         * lib/unistr/utf16-ucs4-safe.c: New file.
41924
41925         * MODULES.html.sh (Unicode string functions): Add the new modules.
41926
41927 2007-01-08  Bruno Haible  <bruno@clisp.org>
41928
41929         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
41930         (Depends-on): Add unitypes.
41931         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41932         (u8_mbtouc_aux): Move out to separate file.
41933         (u8_mbtouc): Use ucs4_t, uint8_t types.
41934         * lib/unistr/utf8-ucs4.c: New file.
41935
41936         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
41937         (Depends-on): Add unitypes.
41938         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41939         (u16_mbtouc_aux): Move out to separate file.
41940         (u16_mbtouc): Use ucs4_t, uint16_t types.
41941         * lib/unistr/utf16-ucs4.c: New file.
41942
41943         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
41944         (Depends-on): Add unitypes.
41945         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
41946         (u8_uctomb_aux): Move out to separate file.
41947         (u8_uctomb): Use ucs4_t, uint8_t types.
41948         * lib/unistr/ucs4-utf8.c: New file.
41949
41950         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
41951         (Depends-on): Add unitypes.
41952         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
41953         (u16_uctomb_aux): Move out to separate file.
41954         (u16_uctomb): Use ucs4_t, uint16_t types.
41955         * lib/unistr/ucs4-utf16.c: New file.
41956
41957 2006-12-25  Bruno Haible  <bruno@clisp.org>
41958
41959         * modules/unitypes: New file.
41960         * lib/unitypes.h: New file.
41961         * MODULES.html.sh (func_all_modules): New section "Unicode string
41962         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
41963         this section. Add unitypes.
41964
41965 2007-01-08  Bruno Haible  <bruno@clisp.org>
41966
41967         Avoid variable names that conflict with those from libtool.
41968         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
41969         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
41970         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
41971         library_names_spec to acl_library_names_spec, hardcode_* to
41972         acl_hardcode_*.
41973         Reported by Ralf Wildenhues.
41974
41975 2007-01-08  Bruno Haible  <bruno@clisp.org>
41976
41977         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
41978         definition.
41979         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
41980         definition.
41981         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
41982         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
41983         definition.
41984         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
41985         definition.
41986         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
41987         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
41988         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
41989         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
41990         definition.
41991         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
41992         definition.
41993         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
41994         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
41995         GC_USE_<algorithm>.
41996         * lib/gc-libgcrypt.c: Likewise.
41997         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
41998         * modules/gc-arctwo (configure.ac): Likewise.
41999         * modules/gc-des (configure.ac): Likewise.
42000         * modules/gc-hmac-md5 (configure.ac): Likewise.
42001         * modules/gc-hmac-sha1 (configure.ac): Likewise.
42002         * modules/gc-md2 (configure.ac): Likewise.
42003         * modules/gc-md4 (configure.ac): Likewise.
42004         * modules/gc-md5 (configure.ac): Likewise.
42005         * modules/gc-random (configure.ac): Likewise.
42006         * modules/gc-rijndael (configure.ac): Likewise.
42007         * modules/gc-sha1 (configure.ac): Likewise.
42008
42009 2007-01-08  Bruno Haible  <bruno@clisp.org>
42010
42011         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
42012         macro definition.
42013         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
42014         definition.
42015         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
42016         definition.
42017         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
42018         * modules/fcntl-safer (configure.ac): Likewise.
42019         * modules/fopen-safer (configure.ac): Likewise.
42020         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
42021         GNULIB_FWRITEERROR macro definition.
42022
42023 2007-01-08  Bruno Haible  <bruno@clisp.org>
42024
42025         * m4/gnulib-common.m4: New file.
42026         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
42027         (func_get_filelist): Add m4/gnulib-common.m4.
42028
42029 2007-01-08  Bruno Haible  <bruno@clisp.org>
42030
42031         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
42032         command.
42033
42034 2007-01-08  Jim Meyering  <jim@meyering.net>
42035
42036         Use a more robust test for a "can't happen" condition.
42037         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
42038         narrowed the st_size value.  Presuming the "can't happen" condition
42039         is true, that narrowing could conceivably convert an invalid st_size
42040         value into a valid one.  Instead, use a change based on Matthew
42041         Woehlke's original patch.
42042
42043         Slight readability improvement: use an assert-like macro
42044         in place of literal "abort ()" uses.
42045         * lib/fts.c (fts_assert): Define.
42046         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
42047         Use this macro instead of a bare 'abort'.
42048
42049 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
42050
42051         Don't worry about using IRIX 5.3's wctype.h broken definitions;
42052         simply work around them.
42053         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
42054         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
42055         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
42056         declaring.
42057         Don't bother to define as macros, since the standard doesn't require it.
42058         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
42059         longer worry about IRIX 5.3.
42060         (HAVE_WCTYPE_CTMP_BUG): Remove.
42061
42062 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
42063
42064         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
42065         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
42066         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42067         Problems reported by Georg Schwarz for IRIX 5.3.
42068
42069         * gnulib-tool (autoconf_minversion): Take the maximum version number
42070         found, not the minimum.  Problem reported by James Youngman.
42071
42072 2007-01-03  Karl Berry  <karl@gnu.org>
42073
42074         * doc/error.texi: new file, explaining interaction with progname.
42075         * doc/gnulib.texi: include it.  Update copyright.
42076
42077 2007-01-03  Simon Josefsson  <simon@josefsson.org>
42078
42079         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
42080         AC_CANONICAL_HOST, to improve autobuild outputs.
42081
42082 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
42083             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
42084
42085         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
42086         sockets, server sockets, and other file descriptors.  Count errors
42087         to compute the return value.  Reorder the code a bit to be easier
42088         to follow.  Don't set event bits that were not requested (except
42089         POLLERR and POLLHUP).
42090
42091 2007-01-01  Bruno Haible  <bruno@clisp.org>
42092
42093         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
42094
42095 2007-01-03  Jim Meyering  <jim@meyering.net>
42096
42097         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
42098
42099 2007-01-02  Bruno Haible  <bruno@clisp.org>
42100
42101         * modules/settime (Include): Require timespec.h.
42102         * modules/nanosleep (Include): Likewise.
42103
42104 2007-01-01  Bruno Haible  <bruno@clisp.org>
42105
42106         * gnulib-tool (func_emit_copyright_notice): Bump year.
42107         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
42108
42109 2007-01-01  Bruno Haible  <bruno@clisp.org>
42110
42111         Improve support for OpenBSD.
42112         * build-aux/config.rpath (libname_spec): Export.
42113         (library_names_spec): New variable. Export.
42114         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
42115         library_names_spec from the config.rpath output. Locate shared library
42116         through the name pattern in library_names_spec.
42117
42118 2007-01-01  Eric Blake  <ebb9@byu.net>
42119
42120         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
42121
42122 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
42123
42124         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
42125         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
42126         assume the C locale, and avoid an "eval" that could cause trouble.
42127         Problem with SORT reported by Bob Proulx.
42128
42129         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
42130         Define.  Trivial patch from Henning Nielsen Lund, originally
42131         sent to bug-grep@gnu.org today.
42132
42133 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
42134
42135         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
42136         struct stat.  Problem reported by Henning Nielsen Lund.
42137         * lib/acl.c: Include acl.h first, to check interface.  Don't
42138         bother to include sys/types.h and sys/stat.h again.
42139
42140 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
42141
42142         Import the following change from libc; problem reported by
42143         Sven Verdoolaege.
42144
42145         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
42146
42147         [BZ #1373]
42148         * lib/argp.h: Remove __NTH for __argp_usage inline function.
42149
42150 2006-12-28  Jim Meyering  <jim@meyering.net>
42151
42152         * build-aux/announce-gen: Do not assume that the package
42153         builds any of tar.gz, tar.bz2, and .xdelta files.
42154         Suggestion from Simon Josefsson.
42155
42156 2006-12-28  Simon Josefsson  <simon@josefsson.org>
42157
42158         * modules/announce-gen: New file.
42159
42160 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
42161
42162         * lib/mbchar.h: Just include <wctype.h>; the wctype module
42163         handles its gotchas now.
42164         * lib/mbswidth.c: Likewise.
42165         * lib/wcwidth.h: Likewise.
42166         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
42167         and iswcntrl; the wctype module does this stuff now.
42168         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
42169         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
42170         * modules/mbchar (Depends-on): Add wctype.
42171         * modules/mbswidth (Depends-on): Likewise.
42172         * modules/wcwidth (Depends-on): Likewise.
42173
42174 2006-12-27  Eric Blake  <ebb9@byu.net>
42175
42176         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
42177         module uses more than what <wctype.h> is required to provide.
42178
42179 2006-12-26  Eric Blake  <ebb9@byu.net>
42180
42181         * gnulib-tool (sed_extract_prog): Avoid space-tab.
42182
42183 2006-12-26  Eric Blake  <ebb9@byu.net>
42184
42185         * modules/absolute-header: New module.
42186         * modules/fcntl (Depends-on): Depend on it.
42187         * modules/inttypes (Depends-on): Likewise.
42188         * modules/stdint (Depends-on): Likewise.
42189         * modules/sys_stat (Depends-on): Likewise.
42190         * modules/wctype (Depends-on): Likewise.
42191         * MODULES.html.sh (Support for building libraries and
42192         executables): Document it.
42193
42194 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
42195
42196         * gnulib-tool (SED): Remove, undoing previous change.
42197         The problem was that it broke coreutils on Solaris, because
42198         "sed --posix" leaked into a makefile.
42199         (sed): New alias, if 'alias' and GNU sed.
42200
42201 2006-12-24  Jim Meyering  <jim@meyering.net>
42202
42203         Work around an fchownat bug in glibc-2.4:
42204         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
42205         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
42206         in spite of the -P option.
42207         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
42208         New macros.
42209         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
42210         * modules/openat (Files): Add lib/fchownat.c.
42211         * lib/openat.c (fchownat): Don't define here.  Move to...
42212         * lib/fchownat.c: ...this new file.
42213
42214 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
42215
42216         Fix bug reported by Bruno Haible in
42217         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
42218         where quotearg.c didn't compile on Mac OS X 10.2 because it
42219         lacks <wchar.h> and wint_t.
42220         * lib/wctype_.h (__wctype_wint_t): New type.
42221         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
42222         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
42223         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
42224         Arg is now of type __wctype_wint_t, not wint_t.
42225         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
42226         substitute HAVE_WINT_T.
42227         * modules/wctype (Files): Add m4/wint_t.m4.
42228         (wctype.h): Substitute HAVE_WINT_T.
42229
42230 2006-12-23  Bruno Haible  <bruno@clisp.org>
42231
42232         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
42233
42234 2006-12-23  Bruno Haible  <bruno@clisp.org>
42235
42236         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
42237         S_ISLNK.
42238         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
42239         mingw.
42240
42241 2006-12-22  Bruno Haible  <bruno@clisp.org>
42242
42243         * lib/copy-file.c: Include acl.h.
42244         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
42245         Close the file descriptors only after being done with copy_acl.
42246         * modules/copy-file (Depends-on): Add acl.
42247
42248 2006-12-22  Bruno Haible  <bruno@clisp.org>
42249
42250         * gnulib-tool (SED): New variable.
42251         Use $SED instead of sed everywhere.
42252
42253 2006-12-22  Bruno Haible  <bruno@clisp.org>
42254
42255         * modules/no-c++: New file.
42256         * m4/no-c++.m4: New file.
42257         * MODULES.html.sh (Support for building libraries and executables):
42258         Add no-c++.
42259
42260 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
42261
42262         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
42263         Include <limits.h>, and use its INT_MAX to rewrite the
42264         j loop so that it does not overflow 'int'.  Problem reported by
42265         Ralf Wildenhues in
42266         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
42267         Play it safe by shifting left by 1 rather than multiplying by 2,
42268         as GCC is less likely to optimize this away when the value
42269         is signed (when it assumes overflow leads to undefined behavior).
42270         Also, don't assume time_t uses two's complement.
42271
42272 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
42273
42274         * MODULES.html.sh: New module wctype.
42275         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
42276         * lib/fnmatch.c: Don't bother to include <wchar.h> before
42277         <wctype.h>, since the new wctype module should fix this.
42278         * lib/quotearg.c: Include <wctype.h> unconditionally, since
42279         the wctype module should arrange for it.
42280         * lib/regex_internal.h: Likewise.
42281         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
42282         since the wctype module should handle this now.
42283         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
42284         * modules/fnmatch (Depends-on): Add wctype.
42285         * modules/quotearg (Depends-on): Likewise.
42286         * modules/regex (Depends-on): Likewise.
42287
42288 2006-12-19  Bruno Haible  <bruno@clisp.org>
42289
42290         * lib/strdup.h [C++]: Wrap definitions in extern "C".
42291         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
42292
42293 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42294
42295         * modules/savewd (Depends-on): Fix dependency on fcntl.
42296
42297 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42298
42299         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
42300         conforms to C99, rather than relying on the user's environment
42301         setting of STDINT_H.
42302
42303 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42304         and Eric Blake  <ebb9@byu.net>
42305
42306         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
42307         This is more consistent with the other defines here.
42308         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
42309         Port to z/OS.  Problem reported by Paul Gilmartin.
42310         Change local vars to use gl_ prefix rather than ac_.
42311         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
42312         with other defines.
42313         * modules/double-slash-root: New module.
42314         * modules/dirname (Files): Remove m4/double-slash-root.m4.
42315         (Depends-on): Add double-slash-root.
42316         * MODULES.html.sh (File system functions): Mention new module.
42317
42318 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
42319
42320         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
42321         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
42322         This is for the benefit of gzip, which doesn't do i18n.
42323
42324 2006-12-12  Jim Meyering  <jim@meyering.net>
42325
42326         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
42327         Reported by Andreas Schwab <schwab@suse.de>.
42328
42329 2006-12-12  Bruno Haible  <bruno@clisp.org>
42330
42331         Merge these changes.
42332         2006-09-05  Bruno Haible  <bruno@clisp.org>
42333         * lib/iconvme.c (iconv_string): No need to save and restore errno when
42334         iconv_alloc succeeded.
42335         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
42336         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
42337         test for " && dest " at the end - dest is always != NULL there. Call
42338         iconv with 4xNULL arguments initially, to reset the state. Call iconv
42339         with 2xNULL arguments, also to flush the state storage. Handle the
42340         IRIX iconv behaviour. Realloc the final result, to throw away unused
42341         memory.
42342
42343 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
42344
42345         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
42346         and fchmodat unconditionally, since glibc 2.4 has them.
42347         Problem reported by Arkadiusz Miskiewicz.
42348
42349 2006-12-10  Bruno Haible  <bruno@clisp.org>
42350
42351         * gnulib-tool (func_import): Show the include files only for those
42352         modules that are copied and specified.
42353         Reported by Karl Berry.
42354
42355 2006-12-08  Jim Meyering  <jim@meyering.net>
42356
42357         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
42358         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
42359
42360         * build-aux/announce-gen: Add two new options, both optional:
42361         --bootstrap-tools=TOOL_LIST
42362               a comma-separated list of tools, e.g.,
42363               autoconf,automake,bison,gnulib
42364         --gnulib-snapshot-date=DATE
42365               if gnulib is in the bootstrap tool list,
42366               then report this as the snapshot date.
42367               If not specified, use the current date/time.
42368               If you specify a date here, be sure it's UTC.
42369
42370 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42371
42372         * tests/test-argp-2.sh: Fix test to match actual output.
42373         (func_compare): Fix sed script to be portable.
42374
42375 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
42376
42377         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
42378         workaround for this case.  It is not autoconfigured now; offhand
42379         it's hard to see how to autoconfigure it.
42380
42381 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
42382
42383         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
42384         a directory that is about to be chowned.  Such a directory's
42385         initial file permissions should permit the owner only and this
42386         should not be changed until after the chown, since the group and
42387         other bits would be incorrect if they granted permission before
42388         the chown.
42389
42390         Fix porting problem for iswctype reported by Georg Schwarz in:
42391         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
42392         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
42393         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
42394         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
42395         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
42396
42397 2006-12-03  Jim Meyering  <jim@meyering.net>
42398
42399         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
42400         p->fts_statp may not yet be defined.
42401         (fts_read): Instead, set it in the caller, once p->fts_statp is
42402         sure to be defined, and corresponds to a top-level directory.
42403         This bug made du -x fail.  Here's the coreutils test case:
42404         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
42405         Reported by Mike Frysinger.
42406
42407 2006-12-01  Jim Meyering  <jim@meyering.net>
42408
42409         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
42410         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
42411         Reported by Simon Josefsson.
42412
42413 2006-11-30  Jim Meyering  <jim@meyering.net>
42414
42415         * m4/warning.m4: Use the all-permissive copyright notice
42416         recommended by RMS (rather than LGPL).
42417         * m4/vararrays.m4: Likewise.
42418         * m4/flexmember.m4: Likewise.
42419
42420 2006-11-29  Bruno Haible  <bruno@clisp.org>
42421
42422         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
42423         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
42424         using +=.
42425         Reported by Simon Josefsson <simon@josefsson.org>.
42426
42427 2006-11-28  James Youngman <jay@gnu.org>
42428
42429         * README: Advise users that they might find the bug-gnulib@gnu.org
42430         and autotools-announce@gnu.org mailing lists useful.
42431
42432 2006-11-28  Bruno Haible  <bruno@clisp.org>
42433
42434         * m4/ptrdiff_max.m4: Remove file.
42435
42436 2006-11-21  Bruno Haible  <bruno@clisp.org>
42437
42438         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
42439         _AC_COMPUTE_INT.
42440         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
42441         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
42442         _AC_COMPUTE_INT.
42443         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
42444         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
42445         _AC_COMPUTE_INT.
42446         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
42447
42448 2006-11-28  Jim Meyering  <jim@meyering.net>
42449
42450         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
42451         warning from "gcc -Wshadow" about shadowing the builtin.
42452
42453 2006-11-27  Bruno Haible  <bruno@clisp.org>
42454
42455         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
42456         _AC_COMPUTE_INT.
42457         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
42458
42459 2006-11-27  Bruno Haible  <bruno@clisp.org>
42460             Paul Eggert  <eggert@cs.ucla.edu>
42461
42462         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
42463
42464 2006-11-26  Bruno Haible  <bruno@clisp.org>
42465
42466         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
42467         noinst_LTLIBRARIES.
42468
42469 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
42470             Bruno Haible  <bruno@clisp.org>
42471
42472         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
42473         if compiling with "gcc -ansi".
42474
42475 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
42476
42477         Fix some incompatibilities with gcc -ansi -pedantic.
42478         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
42479         if compiling pedantically with GCC, unless it's C99 or later.
42480         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
42481         it mishandles gcc -ansi -pedantic as well.
42482         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
42483         if gcc -pedantic.
42484         * lib/regexec.c (check_node_accept_bytes): Don't use auto
42485         initializers for struct if -pedantic, unless it's C99 or later.
42486
42487 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
42488
42489         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
42490         Don't close an fd more than once. Identical atimes indicate
42491         success, not failure.
42492
42493 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
42494
42495         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
42496
42497 2006-11-23  Jim Meyering  <jim@meyering.net>
42498
42499         * build-aux/announce-gen: New file.  From coreutils.
42500
42501 2006-11-22  Jim Meyering  <jim@meyering.net>
42502
42503         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
42504         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
42505         (fts_read): Use a temporary to narrow the overused st_size member
42506         before using it in a switch statement.  Reported by Matthew Woehlke.
42507
42508         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
42509         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
42510
42511 2006-11-20  Bruno Haible  <bruno@clisp.org>
42512
42513         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
42514         changequote instead of pairs of brackets.
42515         Reported by Andreas Schwab <schwab@suse.de>.
42516
42517 2006-11-21  Jim Meyering  <jim@meyering.net>
42518
42519         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
42520         so as to remain compatible with older compilers.
42521         Patch from Michael Deutschmann.
42522
42523 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42524
42525         * MODULES.html.sh (File system functions): Add openat.
42526
42527         * lib/openat.h (rpl_fstatat): New macro, if
42528         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
42529         (fstatat): Define to rpl_fstatat under the same conditions,
42530         unless COMPILING_FSTATAT.
42531         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
42532         seems to have the bug.
42533         * lib/fstatat.c: New file.
42534         * modules/openat (Files): Add it.
42535
42536 2006-11-20  Bruno Haible  <bruno@clisp.org>
42537
42538         * Makefile: New file.
42539
42540 2006-11-20  Jim Meyering  <jim@meyering.net>
42541
42542         The beginnings of syntax-related checks for gnulib.
42543         * lib/Makefile: New file.
42544         * lib/t-idcache: New script.  Ensure that the two halves of
42545         idcache.c stay in sync.
42546
42547         * lib/idcache.c: Adjust comments in user- and group- portions to
42548         be more accurate, and to be consistent with one another.
42549
42550 2006-11-20  Jim Meyering  <jim@meyering.net>
42551
42552         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
42553         continue using the flexible array member (thus, this module performs
42554         half as many malloc calls), with the addition that...
42555         (getgroup, getuser): Consistently record a non-match via an empty
42556         "name" string, and map an empty string match to a NULL return value.
42557         * modules/idcache (Depends-on): Re-add flexmember.
42558
42559         * lib/idcache.c (getuser): Remove all uses of the register keyword.
42560         (getuidbyname, getgroup, getgidbyname): Likewise.
42561
42562         Use cleaner syntax: NULL rather than 0.
42563         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
42564
42565 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42566
42567         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
42568         It mishandled the case where the group was missing.
42569         Problem reported by Greg Schafer.
42570         * modules/idcache: Likewise.
42571
42572 2006-11-18  Jim Meyering  <jim@meyering.net>
42573
42574         * check-module (%exempt_header): Add exception for some
42575         conditionally-included headers.
42576
42577         * modules/i-ring (Depends-on): Add verify.
42578         (License): Change to LGPL.
42579
42580 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42581
42582         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
42583         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
42584         and inttostr.h.  Use snprintf rather than uinttostr, so that
42585         LGPLed code doesn't depend on GPLed.
42586
42587 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
42588
42589         * modules/inline (License): Change from GPL to LGPL.
42590
42591 2006-11-17  Jim Meyering  <jim@meyering.net>
42592
42593         * modules/d-type (License): Switch to LGPL.
42594
42595 2006-11-15  Bruno Haible  <bruno@clisp.org>
42596
42597         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
42598
42599 2006-11-15  Eric Blake  <ebb9@byu.net>
42600
42601         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
42602         the module dependency.
42603
42604 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42605             Bruno Haible  <bruno@clisp.org>
42606
42607         * gnulib-tool (func_create_testdir): Add license consistency check.
42608
42609 2006-11-15  Eric Blake  <ebb9@byu.net>
42610
42611         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
42612         random "(cached)" in configure output.
42613
42614 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42615
42616         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
42617         test for conforming inttypes.h is both announced and cached.
42618
42619         * MODULES.html.sh (seen_modules, seen_files): New variables.
42620         (func_module): Rewrite to use a few less gnulib-tool and sed
42621         invocations.  Avoid a couple of quadratic algorithms for ...
42622         (missed_modules, missed_files): ... these, with ...
42623         (func_append, func_tmpdir): ... these new functions, from
42624         gnulib-tool.  Analogously, install traps for cleanup.
42625
42626         * tests/test-gc.c (main): Remove unused variables.
42627         * tests/test-read-file.c: Include stdlib.h, for 'free'.
42628
42629 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
42630
42631         * modules/inttostr (License): Change to LGPL.
42632
42633 2006-11-14  Eric Blake  <ebb9@byu.net>
42634
42635         * modules/tempname (License): Change to LGPL.
42636
42637 2006-11-14  Eric Blake  <ebb9@byu.net>
42638
42639         * doc/functions.texi (Function Portability): *printf functions on
42640         Cygwin now understand all POSIX size specifiers.
42641
42642 2006-11-14  Bruno Haible  <bruno@clisp.org>
42643
42644         * modules/c-ctype (License): Change to LGPL.
42645
42646 2006-11-12  Bruno Haible  <bruno@clisp.org>
42647
42648         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
42649         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
42650         for GNOME libraries, for which the include files are installed in
42651         subdirectories of $prefix/include.
42652
42653 2006-11-12  Bruno Haible  <bruno@clisp.org>
42654
42655         * m4/lib-link.m4: Require at least autoconf-2.54.
42656         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
42657         name to underscores for the --with option.
42658
42659 2006-11-13  Bruno Haible  <bruno@clisp.org>
42660
42661         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
42662         the tests directory.
42663         Reported by Ralf Wildenhues.
42664
42665 2006-11-13  Bruno Haible  <bruno@clisp.org>
42666
42667         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
42668         (func_emit_initmacro_end): Undo the override here.
42669         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
42670         Works around the famous automake error in coreutils.
42671
42672 2006-11-13  Eric Blake  <ebb9@byu.net>
42673
42674         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
42675         element, not its node.
42676
42677 2006-11-12  Bruno Haible  <bruno@clisp.org>
42678
42679         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
42680         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
42681
42682 2006-11-12  Bruno Haible  <bruno@clisp.org>
42683
42684         * gnulib-tool: New option --local-symlink.
42685         (func_usage): Document it.
42686         (lsymbolic): New variable.
42687         (func_import, func_create_testdir): If --symlink was not specified,
42688         test whether --local-symlink was specified and the file comes from
42689         the local_gnulib_dir.
42690
42691 2006-11-12  Bruno Haible  <bruno@clisp.org>
42692
42693         * gnulib-tool (func_ln): New function.
42694         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
42695
42696 2006-11-12  Bruno Haible  <bruno@clisp.org>
42697
42698         Finish support for source files in subdirectories.
42699         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
42700         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
42701         AUTOMAKE_OPTIONS.
42702         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
42703
42704 2006-11-12  Bruno Haible  <bruno@clisp.org>
42705
42706         * gnulib-tool (func_get_automake_snippet): Synthesize also an
42707         EXTRA_lib_SOURCES augmentation.
42708         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
42709
42710 2006-11-12  Jim Meyering  <jim@meyering.net>
42711
42712         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
42713         file descriptors.  This also averts a failure on systems with
42714         native openat support when a traversed directory lacks "x" access.
42715         * lib/fts_.h: Include "i-ring.h"
42716         (struct FTS) [fts_fd_ring]: New member.
42717         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
42718         (FCHDIR): Add parentheses.
42719         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
42720         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
42721         When descending, rather than simply closing the previous
42722         fts_cwd_fd value, push that file descriptor onto the ring.
42723         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
42724         (fts_open): Initialize the new fd_ring member.
42725         (fts_close): Clear the ring.
42726         (fts_safe_changedir): When possible, use our new fd_ring to skip
42727         the diropen and fstat and dev/ino comparison that would normally
42728         accompany a virtual `chdir ("..")'.
42729
42730         * modules/fts (Depends-on): Add i-ring.
42731         * modules/i-ring: New module.
42732         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
42733         * m4/i-ring.m4: New file.
42734
42735 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42736
42737         * gnulib-tool (func_create_testdir): Fix replacement of
42738         `build-aux' in configure.ac.  Run autotools in gltests
42739         subdirectory.
42740         (func_create_testdir, func_create_megatestdir, test): There is
42741         no need for '--force' in most autotool invocations in a new
42742         tree.  Actually fail the whole test if any of the tools, or the
42743         configure or make stages fail.
42744
42745         Sync from Automake.
42746         * build-aux/gnupload: Revert last change.  Add pointer to upload
42747         instructions of the GNU Maintenance Instructions.
42748         Suggestion by Karl Berry.
42749
42750 2006-11-10  Jim Meyering  <jim@meyering.net>
42751
42752         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
42753
42754 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42755
42756         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
42757         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
42758         (bind_textdomain_codeset) [! ENABLE_NLS]:
42759         Evaluate all the arguments.  That way, callers get compatible behavior
42760         if the arguments have side effects.  Also, it avoids some GCC
42761         diagnostics in some cases; Joel E. Denny reported problems when Bison
42762         was configured with --enable-gcc-warnigs.
42763
42764 2006-11-10  Jim Meyering  <jim@meyering.net>
42765
42766         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
42767         relevant options in CFLAGS (like -O, -fno-inline) are taken into
42768         account.
42769
42770 2006-11-10  Jim Meyering  <jim@meyering.net>
42771
42772         * modules/inline: New file/module.
42773         * modules/xalloc (Files): Remove m4/inline.m4.
42774         (Depends-on): Add inline, instead.
42775         * modules/oset: Likewise.
42776         * modules/list: Likewise.
42777
42778 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42779
42780         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
42781         Problem reported by Matthew Woehlke.
42782
42783 2006-11-09  Bruno Haible  <bruno@clisp.org>
42784
42785         * lib/tempname.c (gen_tempname): Remove variant that invokes
42786         __gen_tempname.
42787         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
42788         __gen_tempname.
42789
42790 2006-11-08  Bruno Haible  <bruno@clisp.org>
42791
42792         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
42793         to 'yes' instead of 'cross-compiling'.
42794
42795 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
42796
42797         * lib/quotearg.h (quotearg_free): New decl.
42798         * lib/quotearg.c (quotearg_free): New function.
42799         (slot0, nslots, slotvec0, slotvec):
42800         Now file-scope so that quotearg_free can get at them.
42801
42802 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42803
42804         Sync from Automake.
42805         * build-aux/gnupload: Add missing 'gnu' to example URL.
42806         Report by Karl Berry.
42807
42808 2006-11-08  Bruno Haible  <bruno@clisp.org>
42809
42810         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
42811         Suggested by Paul Eggert.
42812
42813 2006-11-08  Jim Meyering  <jim@meyering.net>
42814
42815         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
42816         It's already included if !_LIBC.
42817         (fts_safe_changedir): Add a comment.
42818
42819 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42820
42821         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
42822         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
42823         Matthew Woehlke.
42824
42825         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
42826         definitions up, to avoid colliding with change below.
42827         (static_inline) [HAVE_INLINE]: New macro.
42828         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
42829         Provide extern decls when !HAVE_INLINE.  Do not define unless
42830         static_inline is defined, either by us or by xmalloc.c.  Use
42831         static_inline rather than static inline.
42832         (XCALLOC): Optimize sizeof(T) = 1 case.
42833         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
42834
42835 2006-11-07  Bruno Haible  <bruno@clisp.org>
42836
42837         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
42838         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
42839         AC_C_INLINE.
42840         * modules/xalloc (Files): Add m4/inline.m4.
42841
42842 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42843
42844         * README: Fix typo.
42845         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
42846         (Miscellanous Notes): ...from this.
42847
42848 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42849
42850         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
42851         Mention that offsetof should be used instead of sizeof.
42852         From Bruno Haible.
42853
42854 2006-11-07  Bruno Haible  <bruno@clisp.org>
42855
42856         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
42857
42858 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42859
42860         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42861         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
42862         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42863         (gl_tree_add_before, gl_tree_add_after):
42864         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
42865         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
42866         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
42867         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
42868         (gl_linked_add_after, gl_linked_add_at): Likewise.
42869         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
42870         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42871         (gl_tree_add_before, gl_tree_add_after): Likewise.
42872         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
42873         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
42874         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42875
42876 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42877
42878         * lib/gl_oset.h: Use C comment style, not C++ comment style.
42879
42880 2006-11-06  Bruno Haible  <bruno@clisp.org>
42881
42882         * m4/inline.m4: New file.
42883         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
42884         * modules/list (Files): Add m4/inline.m4.
42885         * modules/oset (Files): Likewise.
42886
42887 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42888
42889         * lib/idcache.c: Include <stddef.h>, for offsetof.
42890         (struct userid.name): Change from char * to a flexible array member.
42891         All uses changed.
42892         * modules/idcache (Depends-on): Add flexmember.
42893
42894         * MODULES.html.sh (Core language properties): New module flexmember.
42895         * modules/flexmember, m4/flexmember.m4: New files.
42896
42897         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
42898         inline functions that are identical with the old xnmalloc_inline,
42899         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
42900         that we can avoid some unnecessary integer multiplications and
42901         divisions in the common case where the element size is known at
42902         compile time.
42903         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
42904         needed.
42905         (xnboundedmalloc): Remove.
42906         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
42907         arguments, for consistency with rest of this header.
42908         (xcharalloc): Rewrite using XNMALLOC.
42909         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
42910         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
42911         versions have been moved to lib/xalloc.h and renamed to be the
42912         non-*_inline versions.
42913         (xmalloc, xrealloc): Implement without reference to the xnmalloc
42914         and xnrealloc functions, since those functions are now inline and
42915         now call us.
42916         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
42917         renaming described above.
42918         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
42919         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
42920         captures the dependency in AC_C_INLINE.
42921
42922         New module canonicalize-lgpl, proposed by Charles Wilson in
42923         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
42924         with a few small changes afterwards.
42925         * MODULES.html.sh (File system functions): New module
42926         canonicalize-lgpl.
42927         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
42928         and canonicalize_file_name.
42929         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
42930         * modules/canonicalize-lgpl: New files.
42931
42932 2006-11-05  Bruno Haible  <bruno@clisp.org>
42933
42934         * gnulib-tool (func_import, func_create_testdir): Create directories
42935         also for files in subdirectories of lib/.
42936
42937 2006-11-05  Bruno Haible  <bruno@clisp.org>
42938
42939         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
42940         ANSI C compliant.
42941
42942 2006-11-03  Bruno Haible  <bruno@clisp.org>
42943
42944         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42945         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
42946         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
42947         (xnboundedmalloc): New inline function.
42948         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
42949         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
42950         xmalloc.
42951         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
42952         xmalloc.
42953         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
42954         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
42955         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
42956         xmalloc.
42957         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42958         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
42959         xmalloc.
42960         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
42961         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42962         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
42963         xmalloc.
42964         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42965         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
42966         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42967         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
42968         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
42969         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
42970         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
42971
42972 2006-11-03  Bruno Haible  <bruno@clisp.org>
42973
42974         * lib/c-ctype.h [C++]: Define functions without name mangling.
42975         * lib/fwriteerror.h [C++]: Likewise.
42976         * lib/gcd.h [C++]: Likewise.
42977         * lib/linebreak.h [C++]: Likewise.
42978
42979 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
42980
42981         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
42982         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
42983         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
42984         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42985         Check for functions and headers just once.
42986         Check for declaration of canonicalize_file_name.
42987         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
42988
42989 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42990
42991         * gnulib-tool (func_import): Fix typo in actioncmd.
42992
42993 2006-11-02  Bruno Haible  <bruno@clisp.org>
42994
42995         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
42996         newline sequence in the Makefile.am snippet as a space, like "make"
42997         does.
42998         Reported by Roger Persson <perrog@gmail.com>.
42999
43000 2006-11-01  Bruno Haible  <bruno@clisp.org>
43001
43002         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
43003         already declared in <string.h>.
43004         * lib/strcase.h (strncasecmp): Don't declare it if yes.
43005
43006 2006-11-01  Bruno Haible  <bruno@clisp.org>
43007
43008         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
43009         * lib/strcase.h: Include <string.h>.
43010         (strcasecmp): Define to rpl_strcasecmp here.
43011
43012 2006-11-01  Bruno Haible  <bruno@clisp.org>
43013
43014         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
43015
43016 2006-11-01  Eric Blake  <ebb9@byu.net>
43017
43018         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
43019
43020         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
43021
43022 2006-10-29  Bruno Haible  <bruno@clisp.org>
43023
43024         Make it compile in C++ mode.
43025         * lib/full-write.c (full_rw): Add a cast.
43026
43027 2006-11-01  Bruno Haible  <bruno@clisp.org>
43028
43029         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
43030         be POSIX compliant.
43031         Reported by Roger Persson <perrog@gmail.com>.
43032
43033 2006-11-01  Eric Blake  <ebb9@byu.net>
43034
43035         * lib/getopt_.h: Fix comments.
43036
43037 2006-10-31  Eric Blake  <ebb9@byu.net>
43038
43039         * modules/tmpdir (Depends-on): Add sys_stat.
43040         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
43041         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
43042         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
43043         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
43044         tempname.
43045
43046 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
43047
43048         Avoid some C++ diagnostics reported by Bruno Haible.
43049         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
43050         xmalloc.
43051         (quotearg_alloc): Use xcharalloc rather than xmalloc.
43052         (struct slotvec): Move to top level.
43053         (quotearg_n_options): Rewrite to avoid xmalloc.
43054         * lib/xalloc.h (xcharalloc): New function.
43055         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
43056         [defined __cplusplus]: Add function template that provides result
43057         type propagation.  This part of the change is from Bruno Haible.
43058
43059 2006-10-29  Bruno Haible  <bruno@clisp.org>
43060
43061         Make it compile in C++ mode.
43062         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
43063         * lib/strnlen1.c (strnlen1): Cast memchr result.
43064         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
43065         * lib/clean-temp.c (string_equals, string_hash): Add casts.
43066         (create_temp_dir): Rename local variable 'template'.
43067         (compile_csharp_using_sscli): Add cast.
43068         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
43069         * lib/findprog.c (find_in_path): Likewise.
43070         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
43071         * lib/wait-process.c (register_slave_subprocess): Likewise.
43072
43073 2006-10-22  Bruno Haible  <bruno@clisp.org>
43074
43075         * modules/tsearch: New file.
43076         * lib/tsearch.h: New file.
43077         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
43078         * m4/tsearch.m4: New file.
43079         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
43080
43081 2006-10-29  Eric Blake  <ebb9@byu.net>
43082
43083         * lib/arcfour.c: Assume config.h.
43084         * lib/arctwo.c: Likewise.
43085         * lib/base64.c: Likewise.
43086         * lib/check-version.c: Likewise.
43087         * lib/crc.c: Likewise.
43088         * lib/des.c: Likewise.
43089         * lib/gc-gnulib.c: Likewise.
43090         * lib/gc-libgcrypt.c: Likewise.
43091         * lib/gc-pbkdf2-sha1.c: Likewise.
43092         * lib/getaddrinfo.c: Likewise.
43093         * lib/getdelim.c: Likewise.
43094         * lib/getline.c: Likewise.
43095         * lib/hmac-md5.c: Likewise.
43096         * lib/hmac-sha1.c: Likewise.
43097         * lib/iconvme.c: Likewise.
43098         * lib/md2.c: Likewise.
43099         * lib/md4.c: Likewise.
43100         * lib/memxor.c: Likewise.
43101         * lib/read-file.c: Likewise.
43102         * lib/readline.c: Likewise.
43103         * lib/rijndael-alg-fst.c: Likewise.
43104         * lib/rijndael-api-fst.c: Likewise.
43105         * lib/xgetdomainname.c: Likewise.
43106
43107 2006-10-28  Eric Blake  <ebb9@byu.net>
43108
43109         * lib/xstrndup.c: Assume config.h.
43110
43111 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
43112
43113         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
43114         stat-macros.h is now for our own macros, whereas stat_h is for
43115         macros in the <sys/stat.h> name space.
43116         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
43117         (STAT_MACROS_H): Remove.
43118         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
43119         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
43120         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
43121         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
43122         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
43123         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
43124         Move these macros to ...
43125         * lib/stat_.h: here.  Don't include stat-macros.h.
43126         * lib/canonicalize.c: Don't include stat-macros.h.
43127         * lib/chown.c: Likewise.
43128         * lib/euidaccess.c: Likewise.
43129         * lib/file-type.c: Likewise.
43130         * lib/filemode.c: Likewise.
43131         * lib/glob.c: Likewise.
43132         * lib/isapipe.c: Likewise.
43133         * lib/lchown.c: Likewise.
43134         * lib/lstat.c: Likewise.
43135         * lib/mkdir-p.c: Likewise.
43136         * lib/rmdir.c: Likewise.
43137         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
43138         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
43139         unless mkdir isn't declared, to speed up 'configure'.
43140         Always create sys/stat.h, since it's unlikely any real sys/stat.h
43141         would define all the S_* symbols.
43142         * modules/canonicalize (Depends-on):
43143         Depend on sys_stat, not stat-macros.
43144         * modules/chown: Likewise.
43145         * modules/euidaccess: Likewise.
43146         * modules/filemode: Likewise.
43147         * modules/file-type: Likewise.
43148         * modules/glob: Likewise.
43149         * modules/isapipe: Likewise.
43150         * modules/lchown: Likewise.
43151         * modules/lstat: Likewise.
43152         * modules/mkancesdirs: Likewise.
43153         * modules/rmdir: Likewise.
43154         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
43155         * modules/modechange: Likewise.
43156         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
43157         (configure.ac): Remove gl_STAT_MACROS.
43158         * modules/sys_stat (Depends-on): Remove stat-macros.
43159
43160 2006-10-27  Bruno Haible  <bruno@clisp.org>
43161
43162         * m4/signed.m4: Remove file.
43163         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
43164         invocation.
43165         * modules/vasnprintf (Files): Remove m4/signed.m4.
43166
43167 2006-10-27  Bruno Haible  <bruno@clisp.org>
43168
43169         Update to GNU gettext 0.16.
43170         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
43171         m4/inttypes-h.m4, m4/signed.m4.
43172         * m4/gettext.m4: Update to GNU gettext 0.16.
43173         * m4/intl.m4: New file, from GNU gettext.
43174         * m4/intldir.m4: New file, from GNU gettext.
43175         * config/srclist.txt: Update
43176
43177 2006-10-27  Eric Blake  <ebb9@byu.net>
43178
43179         * MODULES.html.sh: Document tempname.
43180         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
43181         dependencies.
43182         (Files): Move lib/tempname.c...
43183         * modules/tempname: ...to this new module.
43184         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
43185         (gl_PREREQ_TEMPNAME): Move...
43186         * m4/tempname.m4: ...to this new file.
43187         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
43188         * modules/sys_stat (Depends-on): Add stat-macros.
43189         * lib/stat_.h (includes): Pick up stat macros.
43190         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
43191         if stat macros are broken.
43192         * lib/tempname.c (includes): No need to include "stat-macros.h".
43193         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
43194         (direxists, __path_search) [!_LIBC]: Don't compile these in
43195         gnulib; the tmpdir module covers that.
43196         * lib/tempname.h: New file.
43197
43198 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
43199
43200         * COPYING: Explain how gnulib-tool converts licence headers.
43201         Almost all wording by Eric Blake.
43202
43203 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
43204
43205         * lib/mbchar.h (is_basic_table): Make read-only.
43206         * lib/mbchar.c (is_basic_table): Likewise.
43207         Reported by John Darrington.
43208
43209 2006-10-25  Bruno Haible  <bruno@clisp.org>
43210
43211         * lib/progname.h (set_program_name): Undefine before defining.
43212
43213 2006-10-25  Bruno Haible  <bruno@clisp.org>
43214
43215         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
43216         false for non-gcc C++ compilers.
43217         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
43218
43219 2006-10-24  Bruno Haible  <bruno@clisp.org>
43220
43221         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
43222         iconv implementations like Irix iconv.
43223
43224 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43225
43226         * modules/vararrays: New file.
43227         * m4/vararrays.m4: New file, taken from diffutils.
43228         * MODULES.html.sh: New module vararrays.
43229
43230 2006-10-24  Karl Berry  <karl@gnu.org>
43231
43232         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
43233         Don't call GNU Unix.
43234
43235 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43236
43237         * users.txt: Add Libtool.
43238
43239         Sync from Libtool:
43240
43241         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43242
43243         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
43244         to gnulib's policy of including config.h unconditionally.
43245
43246 2006-10-24  Bruno Haible  <bruno@clisp.org>
43247
43248         * modules/wcwidth (Files): Add m4/wint_t.m4.
43249         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
43250         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
43251
43252 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43253
43254         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
43255         to pacify GCC with some -W flags enabled.  Problem reported by
43256         Bruno Haible.
43257
43258 2006-10-24  Jim Meyering  <jim@meyering.net>
43259
43260         * MODULES.html.sh: Remove uinttostr.  It's not a module.
43261         Reported by Karl Berry.
43262
43263 2006-10-23  Bruno Haible  <bruno@clisp.org>
43264
43265         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
43266
43267 2006-10-24  Bruno Haible  <bruno@clisp.org>
43268
43269         * lib/gl_list.h: Use C comment style, not C++ comment style.
43270
43271 2006-10-23  Eric Blake  <ebb9@byu.net>
43272
43273         * lib/getaddrinfo.c (includes): Add missing include.
43274
43275 2006-10-23  Bruno Haible  <bruno@clisp.org>
43276             Paul Eggert  <eggert@cs.ucla.edu>
43277
43278         Ability to rename obstack_free.
43279         * lib/obstack.h (__obstack_free): New macro. Declare instead of
43280         obstack_free.
43281         (obstack_free): Invoke the __obstack_free macro.
43282         * lib/obstack.c (obstack_free): Use __obstack_free macro.
43283
43284 2006-10-23  Bruno Haible  <bruno@clisp.org>
43285             Paul Eggert  <eggert@cs.ucla.edu>
43286
43287         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
43288         __argc, __argv from the declaration. (They are defined as macros on
43289         mingw.)
43290
43291 2006-10-22  Bruno Haible  <bruno@clisp.org>
43292
43293         * doc/gnulib-intro.texi: New file.
43294         * doc/gnulib.texi: Include it.
43295
43296 2006-10-21  Bruno Haible  <bruno@clisp.org>
43297
43298         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
43299         "Introduction", "Miscellanous Notes", "Particular Modules".
43300
43301 2006-10-21  Bruno Haible  <bruno@clisp.org>
43302
43303         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43304         Change mostlyclean-local rule to avoid sh syntax error from bash
43305         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
43306
43307 2006-10-23  Jim Meyering  <jim@meyering.net>
43308
43309         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
43310         in place of snprintf.
43311
43312         * modules/inttostr (Files): Add lib/uinttostr.c.
43313         * lib/uinttostr.c (inttostr): New file/function.
43314         * lib/inttostr.h (uinttostr): Declare.
43315         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
43316         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
43317         Add uinttostr.
43318         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
43319
43320 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
43321
43322         * lib/canonicalize.c (ELOOP): Define if not already defined.
43323         Problem reported by Bruno Haible in
43324         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
43325
43326 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
43327
43328         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
43329         Problem reported by Perry Smith and Ville Laurikari.
43330
43331         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
43332         uses.
43333
43334 2006-10-19  Bruno Haible  <bruno@clisp.org>
43335
43336         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
43337         for mingw.
43338
43339 2006-10-19  Bruno Haible  <bruno@clisp.org>
43340
43341         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
43342         Needed for mingw.
43343
43344 2006-10-19  Bruno Haible  <bruno@clisp.org>
43345
43346         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
43347
43348 2006-10-19  Bruno Haible  <bruno@clisp.org>
43349
43350         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
43351         it.
43352
43353 2006-10-19  Bruno Haible  <bruno@clisp.org>
43354
43355         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
43356         invocation.
43357
43358 2006-10-19  Bruno Haible  <bruno@clisp.org>
43359
43360         * gnulib-tool (func_create_testdir): Don't include ftruncate and
43361         mountlist by default.
43362
43363 2006-10-16  Bruno Haible  <bruno@clisp.org>
43364
43365         * lib/c-strstr.c: Include c-strstr.h.
43366
43367 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
43368
43369         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
43370         in a slash.
43371
43372 2006-10-18  Bruno Haible  <bruno@clisp.org>
43373
43374         * lib/lock.h [C++]: Wrap definitions in extern "C".
43375
43376 2006-10-18  Bruno Haible  <bruno@clisp.org>
43377
43378         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
43379         gl_LIBOBJS list.
43380
43381 2006-10-18  Bruno Haible  <bruno@clisp.org>
43382
43383         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
43384
43385 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
43386
43387         * lib/xstrtol.h: Include gettext.h.
43388         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
43389         Problem reported by Eric Blake.
43390         * modules/xstrtol (Depends-on): Add gettext-h.
43391
43392 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
43393
43394         * lib/strftime.c (advance): New macro.
43395         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
43396         incomplete type, so you can't add 0 to it.  Problem and patch
43397         reported by Eelco Dolstra for dietlibc.
43398
43399 2006-10-18  Jim Meyering  <jim@meyering.net>
43400
43401         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
43402         type for a local, and rename it: s/up/user_proc/.
43403
43404 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
43405
43406         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
43407         READ_UTMP_USER_PROCESS.
43408         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
43409
43410 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
43411
43412         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
43413         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
43414
43415 2006-10-17  Eric Blake  <ebb9@byu.net>
43416
43417         * lib/sigprocmask.c (sigprocmask): Fix typo.
43418
43419         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
43420
43421         * modules/clean-temp (Makefile.am): Don't add to make output...
43422         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
43423         config.h.
43424
43425 2006-10-17  Bruno Haible  <bruno@clisp.org>
43426
43427         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
43428         differently if DEFAULT_TEXT_DOMAIN is set.
43429
43430 2006-10-16  Bruno Haible  <bruno@clisp.org>
43431
43432         * lib/clean-temp.c: Include fwriteerror.h.
43433
43434 2006-10-16  Bruno Haible  <bruno@clisp.org>
43435
43436         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
43437
43438 2006-10-16  Bruno Haible  <bruno@clisp.org>
43439
43440         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
43441         * lib/sigprocmask.h: Include <sys/types.h>.
43442         (sigset_t): Use the system's definition if present.
43443
43444 2006-10-17  Eric Blake  <ebb9@byu.net>
43445
43446         * lib/xvasprintf.c (includes): Assume config.h.
43447         * lib/xasprintf.c (includes): Likewise.
43448
43449 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43450
43451         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
43452         at least as wide as intmax_t.
43453
43454 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
43455
43456         (Imported from Automake.)
43457         * build-aux/gnupload: Update to version 1.1 of directive file.
43458
43459 2006-10-16  Eric Blake  <ebb9@byu.net>
43460
43461         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
43462         match Automake 1.10a.
43463
43464 2006-10-14  Bruno Haible  <bruno@clisp.org>
43465
43466         * modules/sigprocmask: New file.
43467         * lib/sigprocmask.h: New file.
43468         * lib/sigprocmask.c: New file.
43469         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
43470         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
43471         request sigprocmask.o.
43472         (gl_PREREQ_SIGPROCMASK): New macro.
43473         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
43474         (Depends-on): Add sigprocmask.
43475         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
43476         gt_SIGNALBLOCKING. Test for 'raise' only once.
43477         * lib/fatal-signal.c: Include sigprocmask.h.
43478         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
43479         unblock_fatal_signals): Define always.
43480         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43481         sigprocmask.
43482
43483 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
43484
43485         Sync from Automake.
43486         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
43487         which incorrectly sets the mode of an existing destination
43488         directory.  In some cases the unpatched install-sh could do the
43489         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
43490         system.  We hope this is rare in practice, but it's clearly worth
43491         fixing.  Problem reported by Alex Unleashed in
43492         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
43493         Also, don't bother to check for -m bugs unless we're using -m;
43494         suggested by Stepan Kasal.
43495
43496 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43497
43498         Sync from Automake.
43499         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
43500         `-c' flag, so they appear at the same position as in %FASTDEP%
43501         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
43502         which ignores unknown options only after the first non-option.
43503         Bug report against M4 by Nelson H. F. Beebe.
43504
43505 2006-10-13  Jim Meyering  <jim@meyering.net>
43506
43507         Fix a bug in yesterday's change.
43508         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
43509         p->fts_statp->st_dev would be used uninitialized.
43510         Ensures that we always call fts_stat on the very first entry.
43511         Miklos Szeredi reported that find -xdev stopped working.
43512
43513 2006-10-12  Bruno Haible  <bruno@clisp.org>
43514
43515         * gnulib-tool (func_get_automake_snippet): Append an automatically
43516         computed EXTRA_DIST augmentation.
43517         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
43518         * modules/alloca-opt (Makefile.am): Likewise.
43519         * modules/allocsa (Makefile.am): Likewise.
43520         * modules/arcfour (Makefile.am): Likewise.
43521         * modules/arctwo (Makefile.am): Likewise.
43522         * modules/argmatch (Makefile.am): Likewise.
43523         * modules/argz (Makefile.am): Likewise.
43524         * modules/atexit (Makefile.am): Likewise.
43525         * modules/backupfile (Makefile.am): Likewise.
43526         * modules/byteswap (Makefile.am): Likewise.
43527         * modules/c-strtod (Makefile.am): Likewise.
43528         * modules/c-strtold (Makefile.am): Likewise.
43529         * modules/calloc (Makefile.am): Likewise.
43530         * modules/canon-host (Makefile.am): Likewise.
43531         * modules/canonicalize (Makefile.am): Likewise.
43532         * modules/chdir-long (Makefile.am): Likewise.
43533         * modules/chdir-safer (Makefile.am): Likewise.
43534         * modules/check-version (Makefile.am): Likewise.
43535         * modules/chown (Makefile.am): Likewise.
43536         * modules/cloexec (Makefile.am): Likewise.
43537         * modules/close-stream (Makefile.am): Likewise.
43538         * modules/closeout (Makefile.am): Likewise.
43539         * modules/crc (Makefile.am): Likewise.
43540         * modules/csharpexec (Makefile.am): Likewise.
43541         * modules/cycle-check (Makefile.am): Likewise.
43542         * modules/des (Makefile.am): Likewise.
43543         * modules/dev-ino (Makefile.am): Likewise.
43544         * modules/dirfd (Makefile.am): Likewise.
43545         * modules/dirname (Makefile.am): Likewise.
43546         * modules/dup2 (Makefile.am): Likewise.
43547         * modules/eealloc (Makefile.am): Likewise.
43548         * modules/error (Makefile.am): Likewise.
43549         * modules/euidaccess (Makefile.am): Likewise.
43550         * modules/exclude (Makefile.am): Likewise.
43551         * modules/exitfail (Makefile.am): Likewise.
43552         * modules/fcntl-safer (Makefile.am): Likewise.
43553         * modules/fcntl (Makefile.am): Likewise.
43554         * modules/file-type (Makefile.am): Likewise.
43555         * modules/fileblocks (Makefile.am): Likewise.
43556         * modules/filemode (Makefile.am): Likewise.
43557         * modules/filenamecat (Makefile.am): Likewise.
43558         * modules/fnmatch (Makefile.am): Likewise.
43559         * modules/fopen-safer (Makefile.am): Likewise.
43560         * modules/fpending (Makefile.am): Likewise.
43561         * modules/fprintftime (Makefile.am): Likewise.
43562         * modules/free (Makefile.am): Likewise.
43563         * modules/fsusage (Makefile.am): Likewise.
43564         * modules/ftruncate (Makefile.am): Likewise.
43565         * modules/fts (Makefile.am): Likewise.
43566         * modules/gc-arcfour (Makefile.am): Likewise.
43567         * modules/gc-des (Makefile.am): Likewise.
43568         * modules/gc-hmac-md5 (Makefile.am): Likewise.
43569         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
43570         * modules/gc-md4 (Makefile.am): Likewise.
43571         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
43572         * modules/gc-sha1 (Makefile.am): Likewise.
43573         * modules/gc (Makefile.am): Likewise.
43574         * modules/getaddrinfo (Makefile.am): Likewise.
43575         * modules/getcwd (Makefile.am): Likewise.
43576         * modules/getdelim (Makefile.am): Likewise.
43577         * modules/getdomainname (Makefile.am): Likewise.
43578         * modules/getgroups (Makefile.am): Likewise.
43579         * modules/gethostname (Makefile.am): Likewise.
43580         * modules/gethrxtime (Makefile.am): Likewise.
43581         * modules/getline (Makefile.am): Likewise.
43582         * modules/getloadavg (Makefile.am): Likewise.
43583         * modules/getlogin_r (Makefile.am): Likewise.
43584         * modules/getndelim2 (Makefile.am): Likewise.
43585         * modules/getopt (Makefile.am): Likewise.
43586         * modules/getpagesize (Makefile.am): Likewise.
43587         * modules/getpass-gnu (Makefile.am): Likewise.
43588         * modules/getpass (Makefile.am): Likewise.
43589         * modules/getsubopt (Makefile.am): Likewise.
43590         * modules/gettime (Makefile.am): Likewise.
43591         * modules/gettimeofday (Makefile.am): Likewise.
43592         * modules/getugroups (Makefile.am): Likewise.
43593         * modules/getusershell (Makefile.am): Likewise.
43594         * modules/glob (Makefile.am): Likewise.
43595         * modules/group-member (Makefile.am): Likewise.
43596         * modules/hard-locale (Makefile.am): Likewise.
43597         * modules/hash (Makefile.am): Likewise.
43598         * modules/hmac-md5 (Makefile.am): Likewise.
43599         * modules/hmac-sha1 (Makefile.am): Likewise.
43600         * modules/human (Makefile.am): Likewise.
43601         * modules/idcache (Makefile.am): Likewise.
43602         * modules/imaxabs (Makefile.am): Likewise.
43603         * modules/imaxdiv (Makefile.am): Likewise.
43604         * modules/inet_ntop (Makefile.am): Likewise.
43605         * modules/inet_pton (Makefile.am): Likewise.
43606         * modules/intprops (Makefile.am): Likewise.
43607         * modules/inttostr (Makefile.am): Likewise.
43608         * modules/inttypes (Makefile.am): Likewise.
43609         * modules/isapipe (Makefile.am): Likewise.
43610         * modules/javaversion (Makefile.am): Likewise.
43611         * modules/lchmod (Makefile.am): Likewise.
43612         * modules/lchown (Makefile.am): Likewise.
43613         * modules/localcharset (Makefile.am): Likewise.
43614         * modules/long-options (Makefile.am): Likewise.
43615         * modules/lstat (Makefile.am): Likewise.
43616         * modules/malloc (Makefile.am): Likewise.
43617         * modules/mathl (Makefile.am): Likewise.
43618         * modules/mbchar (Makefile.am): Likewise.
43619         * modules/md2 (Makefile.am): Likewise.
43620         * modules/md4 (Makefile.am): Likewise.
43621         * modules/md5 (Makefile.am): Likewise.
43622         * modules/memcasecmp (Makefile.am): Likewise.
43623         * modules/memchr (Makefile.am): Likewise.
43624         * modules/memcmp (Makefile.am): Likewise.
43625         * modules/memcoll (Makefile.am): Likewise.
43626         * modules/memcpy (Makefile.am): Likewise.
43627         * modules/memmem (Makefile.am): Likewise.
43628         * modules/memmove (Makefile.am): Likewise.
43629         * modules/mempcpy (Makefile.am): Likewise.
43630         * modules/memrchr (Makefile.am): Likewise.
43631         * modules/memset (Makefile.am): Likewise.
43632         * modules/memxor (Makefile.am): Likewise.
43633         * modules/mkancesdirs (Makefile.am): Likewise.
43634         * modules/mkdir-p (Makefile.am): Likewise.
43635         * modules/mkdir (Makefile.am): Likewise.
43636         * modules/mkdtemp (Makefile.am): Likewise.
43637         * modules/mkstemp (Makefile.am): Likewise.
43638         * modules/mktime (Makefile.am): Likewise.
43639         * modules/modechange (Makefile.am): Likewise.
43640         * modules/mountlist (Makefile.am): Likewise.
43641         * modules/nanosleep (Makefile.am): Likewise.
43642         * modules/obstack (Makefile.am): Likewise.
43643         * modules/openat (Makefile.am): Likewise.
43644         * modules/pagealign_alloc (Makefile.am): Likewise.
43645         * modules/pathmax (Makefile.am): Likewise.
43646         * modules/physmem (Makefile.am): Likewise.
43647         * modules/poll (Makefile.am): Likewise.
43648         * modules/posixtm (Makefile.am): Likewise.
43649         * modules/posixver (Makefile.am): Likewise.
43650         * modules/putenv (Makefile.am): Likewise.
43651         * modules/quote (Makefile.am): Likewise.
43652         * modules/quotearg (Makefile.am): Likewise.
43653         * modules/raise (Makefile.am): Likewise.
43654         * modules/read-file (Makefile.am): Likewise.
43655         * modules/readline (Makefile.am): Likewise.
43656         * modules/readlink (Makefile.am): Likewise.
43657         * modules/readtokens (Makefile.am): Likewise.
43658         * modules/readutmp (Makefile.am): Likewise.
43659         * modules/realloc (Makefile.am): Likewise.
43660         * modules/regex (Makefile.am): Likewise.
43661         * modules/rename-dest-slash (Makefile.am): Likewise.
43662         * modules/rename (Makefile.am): Likewise.
43663         * modules/rijndael (Makefile.am): Likewise.
43664         * modules/rmdir (Makefile.am): Likewise.
43665         * modules/rpmatch (Makefile.am): Likewise.
43666         * modules/safe-read (Makefile.am): Likewise.
43667         * modules/safe-write (Makefile.am): Likewise.
43668         * modules/same-inode (Makefile.am): Likewise.
43669         * modules/same (Makefile.am): Likewise.
43670         * modules/save-cwd (Makefile.am): Likewise.
43671         * modules/savedir (Makefile.am): Likewise.
43672         * modules/setenv (Makefile.am): Likewise.
43673         * modules/settime (Makefile.am): Likewise.
43674         * modules/sha1 (Makefile.am): Likewise.
43675         * modules/sig2str (Makefile.am): Likewise.
43676         * modules/snprintf (Makefile.am): Likewise.
43677         * modules/stat-macros (Makefile.am): Likewise.
43678         * modules/stat-time (Makefile.am): Likewise.
43679         * modules/stdbool (Makefile.am): Likewise.
43680         * modules/stdint (Makefile.am): Likewise.
43681         * modules/stdlib-safer (Makefile.am): Likewise.
43682         * modules/stpcpy (Makefile.am): Likewise.
43683         * modules/stpncpy (Makefile.am): Likewise.
43684         * modules/strcase (Makefile.am): Likewise.
43685         * modules/strcasestr (Makefile.am): Likewise.
43686         * modules/strchrnul (Makefile.am): Likewise.
43687         * modules/strcspn (Makefile.am): Likewise.
43688         * modules/strdup (Makefile.am): Likewise.
43689         * modules/strerror (Makefile.am): Likewise.
43690         * modules/strftime (Makefile.am): Likewise.
43691         * modules/strndup (Makefile.am): Likewise.
43692         * modules/strnlen (Makefile.am): Likewise.
43693         * modules/strpbrk (Makefile.am): Likewise.
43694         * modules/strsep (Makefile.am): Likewise.
43695         * modules/strstr (Makefile.am): Likewise.
43696         * modules/strtod (Makefile.am): Likewise.
43697         * modules/strtoimax (Makefile.am): Likewise.
43698         * modules/strtok_r (Makefile.am): Likewise.
43699         * modules/strtol (Makefile.am): Likewise.
43700         * modules/strtoll (Makefile.am): Likewise.
43701         * modules/strtoul (Makefile.am): Likewise.
43702         * modules/strtoull (Makefile.am): Likewise.
43703         * modules/strtoumax (Makefile.am): Likewise.
43704         * modules/strverscmp (Makefile.am): Likewise.
43705         * modules/sys_socket (Makefile.am): Likewise.
43706         * modules/sys_stat (Makefile.am): Likewise.
43707         * modules/sysexits (Makefile.am): Likewise.
43708         * modules/time_r (Makefile.am): Likewise.
43709         * modules/timegm (Makefile.am): Likewise.
43710         * modules/timespec (Makefile.am): Likewise.
43711         * modules/tmpfile-safer (Makefile.am): Likewise.
43712         * modules/trim (Makefile.am): Likewise.
43713         * modules/unistd-safer (Makefile.am): Likewise.
43714         * modules/unlinkdir (Makefile.am): Likewise.
43715         * modules/unlocked-io (Makefile.am): Likewise.
43716         * modules/userspec (Makefile.am): Likewise.
43717         * modules/utime (Makefile.am): Likewise.
43718         * modules/utimecmp (Makefile.am): Likewise.
43719         * modules/utimens (Makefile.am): Likewise.
43720         * modules/vasnprintf (Makefile.am): Likewise.
43721         * modules/vasprintf (Makefile.am): Likewise.
43722         * modules/vsnprintf (Makefile.am): Likewise.
43723         * modules/xalloc (Makefile.am): Likewise.
43724         * modules/xgetcwd (Makefile.am): Likewise.
43725         * modules/xnanosleep (Makefile.am): Likewise.
43726         * modules/xreadlink (Makefile.am): Likewise.
43727         * modules/xstrtod (Makefile.am): Likewise.
43728         * modules/xstrtol (Makefile.am): Likewise.
43729         * modules/xstrtold (Makefile.am): Likewise.
43730         * modules/yesno (Makefile.am): Likewise.
43731         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
43732
43733 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43734
43735         * modules/error (Makefile.am): Distribute files through
43736         EXTRA_DIST, not lib_SOURCES.
43737
43738 2006-10-12  Eric Blake  <ebb9@byu.net>
43739
43740         * modules/error (Makefile.am): Distribute files in /lib.
43741         * modules/obstack (Makefile.am): Likewise.
43742
43743 2006-10-12  Bruno Haible  <bruno@clisp.org>
43744
43745         * modules/acl (Makefile.am): Distribute all files in lib/ through
43746         EXTRA_DIST.
43747         * modules/arcfour (Makefile.am): Likewise.
43748         * modules/arctwo (Makefile.am): Likewise.
43749         * modules/argmatch (Makefile.am): Likewise.
43750         * modules/argz (Makefile.am): Likewise.
43751         * modules/atexit (Makefile.am): Likewise.
43752         * modules/backupfile (Makefile.am): Likewise.
43753         * modules/c-strtod (Makefile.am): Likewise.
43754         * modules/c-strtold (Makefile.am): Likewise.
43755         * modules/calloc (Makefile.am): Likewise.
43756         * modules/canon-host (Makefile.am): Likewise.
43757         * modules/canonicalize (Makefile.am): Likewise.
43758         * modules/chdir-long (Makefile.am): Likewise.
43759         * modules/chdir-safer (Makefile.am): Likewise.
43760         * modules/check-version (Makefile.am): Likewise.
43761         * modules/chown (Makefile.am): Likewise.
43762         * modules/cloexec (Makefile.am): Likewise.
43763         * modules/close-stream (Makefile.am): Likewise.
43764         * modules/closeout (Makefile.am): Likewise.
43765         * modules/crc (Makefile.am): Likewise.
43766         * modules/cycle-check (Makefile.am): Likewise.
43767         * modules/des (Makefile.am): Likewise.
43768         * modules/dirfd (Makefile.am): Likewise.
43769         * modules/dirname (Makefile.am): Likewise.
43770         * modules/dup2 (Makefile.am): Likewise.
43771         * modules/euidaccess (Makefile.am): Likewise.
43772         * modules/exclude (Makefile.am): Likewise.
43773         * modules/exitfail (Makefile.am): Likewise.
43774         * modules/fcntl-safer (Makefile.am): Likewise.
43775         * modules/file-type (Makefile.am): Likewise.
43776         * modules/fileblocks (Makefile.am): Likewise.
43777         * modules/filemode (Makefile.am): Likewise.
43778         * modules/filenamecat (Makefile.am): Likewise.
43779         * modules/fnmatch (Makefile.am): Likewise.
43780         * modules/fopen-safer (Makefile.am): Likewise.
43781         * modules/fpending (Makefile.am): Likewise.
43782         * modules/fprintftime (Makefile.am): Likewise.
43783         * modules/free (Makefile.am): Likewise.
43784         * modules/fsusage (Makefile.am): Likewise.
43785         * modules/ftruncate (Makefile.am): Likewise.
43786         * modules/fts (Makefile.am): Likewise.
43787         * modules/gc (Makefile.am): Likewise.
43788         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
43789         * modules/getaddrinfo (Makefile.am): Likewise.
43790         * modules/getcwd (Makefile.am): Likewise.
43791         * modules/getdelim (Makefile.am): Likewise.
43792         * modules/getdomainname (Makefile.am): Likewise.
43793         * modules/getgroups (Makefile.am): Likewise.
43794         * modules/gethostname (Makefile.am): Likewise.
43795         * modules/gethrxtime (Makefile.am): Likewise.
43796         * modules/getline (Makefile.am): Likewise.
43797         * modules/getloadavg (Makefile.am): Likewise.
43798         * modules/getlogin_r (Makefile.am): Likewise.
43799         * modules/getopt (Makefile.am): Likewise.
43800         * modules/getpass (Makefile.am): Likewise.
43801         * modules/getpass-gnu (Makefile.am): Likewise.
43802         * modules/getsubopt (Makefile.am): Likewise.
43803         * modules/gettime (Makefile.am): Likewise.
43804         * modules/gettimeofday (Makefile.am): Likewise.
43805         * modules/getugroups (Makefile.am): Likewise.
43806         * modules/getusershell (Makefile.am): Likewise.
43807         * modules/glob (Makefile.am): Likewise.
43808         * modules/group-member (Makefile.am): Likewise.
43809         * modules/hard-locale (Makefile.am): Likewise.
43810         * modules/hash (Makefile.am): Likewise.
43811         * modules/hmac-md5 (Makefile.am): Likewise.
43812         * modules/hmac-sha1 (Makefile.am): Likewise.
43813         * modules/human (Makefile.am): Likewise.
43814         * modules/idcache (Makefile.am): Likewise.
43815         * modules/imaxabs (Makefile.am): Likewise.
43816         * modules/imaxdiv (Makefile.am): Likewise.
43817         * modules/inet_ntop (Makefile.am): Likewise.
43818         * modules/inet_pton (Makefile.am): Likewise.
43819         * modules/inttostr (Makefile.am): Likewise.
43820         * modules/isapipe (Makefile.am): Likewise.
43821         * modules/lchown (Makefile.am): Likewise.
43822         * modules/long-options (Makefile.am): Likewise.
43823         * modules/lstat (Makefile.am): Likewise.
43824         * modules/malloc (Makefile.am): Likewise.
43825         * modules/mathl (Makefile.am): Likewise.
43826         * modules/mbchar (Makefile.am): Likewise.
43827         * modules/md2 (Makefile.am): Likewise.
43828         * modules/md4 (Makefile.am): Likewise.
43829         * modules/md5 (Makefile.am): Likewise.
43830         * modules/memcasecmp (Makefile.am): Likewise.
43831         * modules/memchr (Makefile.am): Likewise.
43832         * modules/memcmp (Makefile.am): Likewise.
43833         * modules/memcoll (Makefile.am): Likewise.
43834         * modules/memcpy (Makefile.am): Likewise.
43835         * modules/memmem (Makefile.am): Likewise.
43836         * modules/memmove (Makefile.am): Likewise.
43837         * modules/mempcpy (Makefile.am): Likewise.
43838         * modules/memrchr (Makefile.am): Likewise.
43839         * modules/memset (Makefile.am): Likewise.
43840         * modules/memxor (Makefile.am): Likewise.
43841         * modules/mkancesdirs (Makefile.am): Likewise.
43842         * modules/mkdir (Makefile.am): Likewise.
43843         * modules/mkdir-p (Makefile.am): Likewise.
43844         * modules/mkdtemp (Makefile.am): Likewise.
43845         * modules/mkstemp (Makefile.am): Likewise.
43846         * modules/mktime (Makefile.am): Likewise.
43847         * modules/modechange (Makefile.am): Likewise.
43848         * modules/mountlist (Makefile.am): Likewise.
43849         * modules/nanosleep (Makefile.am): Likewise.
43850         * modules/openat (Makefile.am): Likewise.
43851         * modules/pagealign_alloc (Makefile.am): Likewise.
43852         * modules/physmem (Makefile.am): Likewise.
43853         * modules/poll (Makefile.am): Likewise.
43854         * modules/posixtm (Makefile.am): Likewise.
43855         * modules/posixver (Makefile.am): Likewise.
43856         * modules/putenv (Makefile.am): Likewise.
43857         * modules/quote (Makefile.am): Likewise.
43858         * modules/quotearg (Makefile.am): Likewise.
43859         * modules/raise (Makefile.am): Likewise.
43860         * modules/read-file (Makefile.am): Likewise.
43861         * modules/readline (Makefile.am): Likewise.
43862         * modules/readlink (Makefile.am): Likewise.
43863         * modules/readtokens (Makefile.am): Likewise.
43864         * modules/readutmp (Makefile.am): Likewise.
43865         * modules/realloc (Makefile.am): Likewise.
43866         * modules/regex (Makefile.am): Likewise.
43867         * modules/rename (Makefile.am): Likewise.
43868         * modules/rename-dest-slash (Makefile.am): Likewise.
43869         * modules/rijndael (Makefile.am): Likewise.
43870         * modules/rmdir (Makefile.am): Likewise.
43871         * modules/rpmatch (Makefile.am): Likewise.
43872         * modules/safe-read (Makefile.am): Likewise.
43873         * modules/safe-write (Makefile.am): Likewise.
43874         * modules/same (Makefile.am): Likewise.
43875         * modules/save-cwd (Makefile.am): Likewise.
43876         * modules/savedir (Makefile.am): Likewise.
43877         * modules/setenv (Makefile.am): Likewise.
43878         * modules/settime (Makefile.am): Likewise.
43879         * modules/sha1 (Makefile.am): Likewise.
43880         * modules/sig2str (Makefile.am): Likewise.
43881         * modules/snprintf (Makefile.am): Likewise.
43882         * modules/stdlib-safer (Makefile.am): Likewise.
43883         * modules/stpcpy (Makefile.am): Likewise.
43884         * modules/stpncpy (Makefile.am): Likewise.
43885         * modules/strcase (Makefile.am): Likewise.
43886         * modules/strcasestr (Makefile.am): Likewise.
43887         * modules/strchrnul (Makefile.am): Likewise.
43888         * modules/strcspn (Makefile.am): Likewise.
43889         * modules/strdup (Makefile.am): Likewise.
43890         * modules/strerror (Makefile.am): Likewise.
43891         * modules/strftime (Makefile.am): Likewise.
43892         * modules/strndup (Makefile.am): Likewise.
43893         * modules/strnlen (Makefile.am): Likewise.
43894         * modules/strpbrk (Makefile.am): Likewise.
43895         * modules/strsep (Makefile.am): Likewise.
43896         * modules/strstr (Makefile.am): Likewise.
43897         * modules/strtod (Makefile.am): Likewise.
43898         * modules/strtoimax (Makefile.am): Likewise.
43899         * modules/strtok_r (Makefile.am): Likewise.
43900         * modules/strtol (Makefile.am): Likewise.
43901         * modules/strtoll (Makefile.am): Likewise.
43902         * modules/strtoul (Makefile.am): Likewise.
43903         * modules/strtoull (Makefile.am): Likewise.
43904         * modules/strtoumax (Makefile.am): Likewise.
43905         * modules/strverscmp (Makefile.am): Likewise.
43906         * modules/time_r (Makefile.am): Likewise.
43907         * modules/timegm (Makefile.am): Likewise.
43908         * modules/tmpfile-safer (Makefile.am): Likewise.
43909         * modules/unistd-safer (Makefile.am): Likewise.
43910         * modules/unlinkdir (Makefile.am): Likewise.
43911         * modules/userspec (Makefile.am): Likewise.
43912         * modules/utime (Makefile.am): Likewise.
43913         * modules/utimecmp (Makefile.am): Likewise.
43914         * modules/utimens (Makefile.am): Likewise.
43915         * modules/vasnprintf (Makefile.am): Likewise.
43916         * modules/vasprintf (Makefile.am): Likewise.
43917         * modules/vsnprintf (Makefile.am): Likewise.
43918         * modules/xalloc (Makefile.am): Likewise.
43919         * modules/xgetcwd (Makefile.am): Likewise.
43920         * modules/xnanosleep (Makefile.am): Likewise.
43921         * modules/xreadlink (Makefile.am): Likewise.
43922         * modules/xstrtod (Makefile.am): Likewise.
43923         * modules/xstrtol (Makefile.am): Likewise.
43924         * modules/xstrtold (Makefile.am): Likewise.
43925         * modules/yesno (Makefile.am): Likewise.
43926
43927 2006-10-12  Jim Meyering  <jim@meyering.net>
43928
43929         * m4/getloadavg.m4: Revert the change below.
43930
43931         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
43932         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
43933         fail with a symlink, which is what coreutils' ./bootstrap now
43934         creates by default.
43935
43936 2006-10-12  Bruno Haible  <bruno@clisp.org>
43937
43938         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
43939         mingw.
43940         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
43941         MSVC and mingw explicitly.
43942
43943 2006-10-11  Simon Josefsson  <jas@extundo.com>
43944             Bruno Haible  <bruno@clisp.org>
43945
43946         Add support for multiple gnulib-tool invocations in the scope of a
43947         single configure.ac file.
43948         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
43949         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
43950         with the same contents as the _LIBADD variable.
43951         (func_emit_initmacro_start, func_emit_initmacro_end,
43952         func_emit_initmacro_done): New functions.
43953         (func_import, func_create_testdir): Invoke them. Allow the identifiers
43954         gl_LIBOBJS and gl_LTLIBOBJS.
43955
43956 2006-10-11  Bruno Haible  <bruno@clisp.org>
43957
43958         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
43959         (func_create_testdir): Don't create po/Makefile.am, don't invoke
43960         autoreconf. Instead, invoke autopoint explicitly but move back the
43961         *.m4 files from gnulib.
43962
43963 2006-10-11  Bruno Haible  <bruno@clisp.org>
43964
43965         * gnulib-tool (func_usage): Make module names after --create-testdir
43966         optional.
43967         (func_create_testdir): If no module was specified, use nearly all
43968         modules.
43969
43970 2006-10-12  Jim Meyering  <jim@meyering.net>
43971
43972         Big performance improvement for fts-based tools that use FTS_NOSTAT.
43973         Avoid spurious inode-mismatch problems on non-POSIX file systems.
43974         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
43975         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
43976         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
43977         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
43978         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
43979         (fts_set_stat_required): New function.
43980         (fts_open): Defer the calls to fts_stat, if possible or requested.
43981         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
43982         into fts_stat itself.
43983         (fts_read): Perform any required (deferred) fts_stat call.
43984         (fts_build): Likewise, for the directory we're about to open and read.
43985         In the readdir loop, carefully decide whether each entry will require
43986         an eventual call to fts_stat, using dirent.d_type info if available.
43987         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
43988         a command line argument into this function.  Update all callers.
43989         Map a return value of FTS_DOT to FTS_D for a command line argument.
43990         * modules/fts (Depends-on): Add d-type.  Alphabetize.
43991         Thanks to Miklos Szeredi for his tenacity and for the initial
43992         bug report about "find" failing on a FUSE-based file system.
43993
43994         * lib/fts.c (fts_open): Use consistent indentation.
43995
43996 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43997
43998         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
43999         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
44000         reported by Jim Meyering.  All uses of cache variables renamed
44001         to match Autoconf's.
44002         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
44003         the other one.
44004
44005         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
44006         Fix misspelling in diagnostic.
44007
44008 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
44009
44010         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
44011         defined.  Problem reported by Matthew Woehlke.
44012
44013         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
44014         Add support for Tandem NonStop R series.
44015         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
44016         Use new macro.
44017
44018         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
44019         (has_trailing_slash): Omit size arg; all callers changed.
44020         Omit 'inline', since it doesn't help performance and we'd
44021         need to configure it.
44022         Don't count //, ///, etc. as having a trailing slash.
44023         As a side effect, this removes a C99ism reported by Matthew Woehlke.
44024         (rpl_rename_dest_slash): On failure, use rename's errno rather
44025         than (in some cases) an incorrect or junk errno.
44026         Simplify code by removing need to compute length; this does
44027         cause it to make two passes instead of one over the file name,
44028         but it's worth it.
44029
44030         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
44031         change, since Autoconf's version may no longer be appropriate now
44032         that we are using CVS Autoconf's version.  Add support for Tandem.
44033
44034 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
44035             Bruno Haible  <bruno@clisp.org>
44036
44037         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
44038         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
44039         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
44040         gl_AC_TYPE_LONG_LONG.
44041
44042         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
44043         instead of HAVE_LONG_LONG.
44044         * lib/printf-args.c (printf_fetchargs): Likewise.
44045         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
44046         * lib/vasnprintf.c (VASNPRINTF): Likewise.
44047         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
44048         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
44049         gl_AC_TYPE_LONG_LONG.
44050
44051 2006-10-11  Bruno Haible  <bruno@clisp.org>
44052
44053         * m4/longlong.m4: Add comments.
44054         * m4/ulonglong.m4: Likewise.
44055
44056 2006-10-10  Bruno Haible  <bruno@clisp.org>
44057
44058         Make it possible to #define stpcpy, strdup to aliases.
44059         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
44060         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
44061
44062 2006-10-10  Bruno Haible  <bruno@clisp.org>
44063
44064         Make it possible to #define gcd to an alias.
44065         * lib/gcd.c: Include config.h.
44066
44067 2006-10-10  Bruno Haible  <bruno@clisp.org>
44068
44069         Make it possible to #define c_isascii to an alias.
44070         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
44071         defined. Undefine the macros before defining them, to avoid gcc
44072         warnings.
44073         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
44074         define NO_C_CTYPE_MACROS early.
44075
44076 2006-10-10  Bruno Haible  <bruno@clisp.org>
44077
44078         Make it possible to #define set_program_name to an alias.
44079         * lib/progname.c: Don't undefine set_program_name; instead, undefine
44080         ENABLE_RELOCATABLE early.
44081
44082 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
44083
44084         Port to Tandem NSK OSS, which has 64-bit signed int but at most
44085         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
44086         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
44087         More generally, don't assume that 64-bit signed int is available
44088         if unsigned int is, and vice versa.
44089         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
44090         unsigned symbols, not on their signed counterparts.
44091         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
44092         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
44093         (UINT64_C, UINTMAX_C):
44094         Likewise.
44095         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
44096         unsigned counterparts.
44097         (Have_long_long, Unsigned): New macros.
44098         (Int): Renamed from INT.
44099         (strtoimax): Use the new macros.
44100         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
44101         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
44102         * modules/inttypes (inttypes.h): Substitute
44103         HAVE_UNSIGNED_LONG_LONG_INT.
44104         * modules/stdint (stdint.h): Likewise.
44105         (Files): Add m4/ulonglong.m4.
44106
44107 2006-10-10  Bruno Haible  <bruno@clisp.org>
44108
44109         Fix a gcc -Wshadow warning.
44110         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
44111         to 'bucket'.
44112         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
44113         gl_linked_indexof_from_to): Likewise.
44114         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
44115         Likewise.
44116         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
44117         Likewise.
44118         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
44119         Reported by Eric Blake.
44120
44121 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
44122
44123         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
44124         for NetBSD.  Problem reported by Bruno Haible.
44125
44126 2006-10-09  Jim Meyering  <jim@meyering.net>
44127
44128         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
44129         Patch from Bruno Haible.
44130
44131 2006-10-09  Jim Meyering  <jim@meyering.net>
44132
44133         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
44134         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
44135         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
44136
44137 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
44138
44139         Don't include <config.h> twice; this doesn't work in some cases,
44140         e.g., when config.h has "#define intmax_t long long int" and
44141         we include <config.h>, <inttypes.h>, <config.h> in that order.
44142         Problem reported by Matthew Woehlke in:
44143         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
44144         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
44145         * lib/fts-cycle.c: Don't include config.h.
44146         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
44147         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
44148         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
44149         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
44150         inttypes.h.
44151         * lib/xstrtoumax.c: Likewise.
44152         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
44153         __strtol and the like, so that this module is more like its siblings.
44154         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
44155         Remove; no longer needed now that we assume gnulib inttypes.h.
44156
44157 2006-10-08  Bruno Haible  <bruno@clisp.org>
44158
44159         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
44160         option.
44161
44162 2006-10-07  Jim Meyering  <jim@meyering.net>
44163
44164         * modules/inttypes (inttypes.h): Revert what seems to have been
44165         an inadvertent part of today's change: use "|", not "/" in the
44166         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
44167
44168 2006-10-07  Bruno Haible  <bruno@clisp.org>
44169
44170         * modules/sublist: New file.
44171
44172 2006-10-07  Bruno Haible  <bruno@clisp.org>
44173
44174         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
44175         * modules/argz (argz.h): Likewise.
44176         * modules/arpa_inet (arpa/inet.h): Likewise.
44177         * modules/byteswap (byteswap.h): Likewise.
44178         * modules/configmake (configmake.h): Likewise.
44179         * modules/fcntl (fcntl.h): Likewise.
44180         * modules/fnmatch (fnmatch.h): Likewise.
44181         * modules/getopt (getopt.h): Likewise.
44182         * modules/glob (glob.h): Likewise.
44183         * modules/inttypes (inttypes.h): Likewise.
44184         * modules/netinet_in (netinet/in.h): Likewise.
44185         * modules/poll (poll.h): Likewise.
44186         * modules/stdbool (stdbool.h): Likewise.
44187         * modules/stdint (stdint.h): Likewise.
44188         * modules/sys_select (sys/select.h): Likewise.
44189         * modules/sys_socket (sys/socket.h): Likewise.
44190         * modules/sys_stat (sys/stat.h): Likewise.
44191         * modules/sysexits (sysexits.h): Likewise.
44192         * modules/unistd (unistd.h): Likewise.
44193         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44194         Add a "DO NOT EDIT" comment to the generated file.
44195         (func_import): Likewise for gnulib-comp.m4.
44196
44197 2006-10-07  Bruno Haible  <bruno@clisp.org>
44198
44199         * lib/gl_sublist.h: New file.
44200         * lib/gl_sublist.c: New file.
44201
44202 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
44203
44204         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
44205         name (relative to the original working directory) and the file
44206         name component (relative to the temporary working directory).  All
44207         callers changed.
44208         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
44209         * lib/mkdir-p.c (make_dir_parents): Likewise.
44210         * lib/mkdir-p.h (make_dir_parents): Likewise.
44211
44212 2006-10-06  Eric Blake  <ebb9@byu.net>
44213
44214         Define several macros for use by the clean-temp module.
44215         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
44216         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
44217         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
44218
44219         * lib/clean-temp.h (close_stream_temp): New declaration.
44220         * lib/clean-temp.c (includes): Pull in headers according to what
44221         other modules are in use.
44222         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
44223
44224 2006-10-06  Bruno Haible  <bruno@clisp.org>
44225
44226         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
44227         instead of fopen, fwriteerror.
44228
44229 2006-10-06  Bruno Haible  <bruno@clisp.org>
44230
44231         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
44232         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
44233         int.
44234         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
44235         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
44236         Return an error indicator.
44237         Suggested by Eric Blake.
44238
44239 2006-10-06  Bruno Haible  <bruno@clisp.org>
44240
44241         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
44242         Reported by Eric Blake.
44243
44244 2006-10-06  Bruno Haible  <bruno@clisp.org>
44245
44246         * modules/closeout (Description): Mention stderr too.
44247
44248 2006-10-06  Bruno Haible  <bruno@clisp.org>
44249         and Paul Eggert  <eggert@cs.ucla.edu>
44250
44251         * lib/closeout.c (close_stdout): Also close stderr.
44252         * lib/closeout.h: Update comment.
44253
44254 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
44255
44256         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
44257         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
44258         * lib/dirchownmod.c: Include lchown.h.
44259         * lib/lchown.c: Don't include files that lchown.h now includes.
44260         Don't declare chown, since lchown.h now does that.
44261         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
44262         (lchown): Define to rpl_chown if lchown is declared but
44263         does not exist.  Declare using a prototype if lchown is not
44264         declared.  Add a copyright notice.
44265         * lib/mkstemp.h: Include <unistd.h>.
44266         * lib/openat.c: Include lchown.h.
44267
44268         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
44269         we now test for that separately.
44270         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
44271         rather than O_NOFOLLOW, when testing whether it's possible to
44272         avoid a race condition reliably.
44273         * lib/savewd.c (savewd_chdir): Likewise.
44274
44275         Remove macros that are no longer needed now that stdint.h is
44276         reliable.
44277         * lib/fsusage.c (UINTMAX_MAX): Remove.
44278         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
44279         * lib/utimecmp.c (SIZE_MAX): Remove.
44280
44281         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
44282
44283         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
44284         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
44285         O_NOATIME works.
44286
44287 2006-10-05  Bruno Haible  <bruno@clisp.org>
44288
44289         * lib/gl_list.h (gl_sortedlist_search_from_to,
44290         gl_sortedlist_indexof_from_to): New declarations.
44291         (gl_list_implementation): New fields sortedlist_search_from_to,
44292         sortedlist_indexof_from_to.
44293         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
44294         inline functions.
44295         * lib/gl_list.c (gl_sortedlist_search_from_to,
44296         gl_sortedlist_indexof_from_to): New functions.
44297         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
44298         function.
44299         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
44300         (gl_array_sortedlist_search_from_to): New function.
44301         (gl_array_list_implementation): Update.
44302         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
44303         function.
44304         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
44305         (gl_carray_sortedlist_search_from_to): New function.
44306         (gl_carray_list_implementation): Update.
44307         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
44308         gl_linked_sortedlist_indexof_from_to): New functions.
44309         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
44310         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
44311         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
44312         gl_tree_sortedlist_indexof_from_to): New functions.
44313         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
44314         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
44315         Update.
44316         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
44317         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
44318         Update.
44319
44320 2006-10-05  Bruno Haible  <bruno@clisp.org>
44321
44322         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
44323         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
44324         (struct gl_list_implementation): Add fields search_from_to,
44325         indexof_from_to. Remove fields search, indexof.
44326         (gl_list_search): Use the search_from_to method.
44327         (gl_list_search_from, gl_list_search_from_to): New functions.
44328         (gl_list_indexof): Use the indexof_from_to method.
44329         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
44330         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
44331         (gl_list_search_from, gl_list_search_from_to): New functions.
44332         (gl_list_indexof): Use the indexof_from_to method.
44333         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
44334         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
44335         gl_array_indexof. Add start_index, end_index arguments.
44336         (gl_array_search_from_to): Renamed from gl_array_search. Add
44337         start_index, end_index arguments.
44338         (gl_array_remove, gl_array_list_implementation): Update.
44339         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
44340         gl_carray_indexof. Add start_index, end_index arguments.
44341         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
44342         start_index, end_index arguments.
44343         (gl_carray_remove, gl_carray_list_implementation): Update.
44344         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
44345         gl_linked_search. Add start_index, end_index arguments.
44346         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
44347         start_index, end_index arguments.
44348         (gl_linked_remove): Update.
44349         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
44350         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
44351         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
44352         field to 'size_t'.
44353         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
44354         gl_tree_search. Add start_index, end_index arguments.
44355         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
44356         start_index, end_index arguments.
44357         (gl_tree_remove): Update.
44358         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
44359         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
44360         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
44361         function.
44362         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
44363         gl_tree_search. Add start_index, end_index arguments.
44364         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
44365         start_index, end_index arguments.
44366         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
44367         Update.
44368         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
44369
44370 2006-10-05  Bruno Haible  <bruno@clisp.org>
44371
44372         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
44373
44374         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
44375         fwriteerror_temp): New declarations.
44376         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
44377         (descriptors): New variable.
44378         (cleanup): First, close the descriptors.
44379         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
44380         fclose_temp, fwriteerror_temp): New functions.
44381
44382 2006-10-04  Jim Meyering  <jim@meyering.net>
44383
44384         * lib/fts.c (fts_open): Tiny comment change.
44385
44386 2006-10-04  Bruno Haible  <bruno@clisp.org>
44387
44388         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
44389         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
44390         gl_LOCK_BODY.
44391         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
44392         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
44393         gl_LOCK_EARLY_BODY.
44394         (gl_LOCK): Require gl_LOCK_BODY.
44395
44396 2006-10-04  Bruno Haible  <bruno@clisp.org>
44397
44398         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
44399         (gl_oset_search_atleast): New declaration.
44400         (struct gl_oset_implementation): Add field 'search_atleast'.
44401         (gl_oset_search_atleast): New inline function.
44402         * lib/gl_oset.c (gl_oset_search_atleast): New function.
44403         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
44404         (gl_array_oset_implementation): Update.
44405         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
44406         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
44407         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
44408
44409 2006-10-04  Bruno Haible  <bruno@clisp.org>
44410
44411         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
44412
44413 2006-10-03  Bruno Haible  <bruno@clisp.org>
44414
44415         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
44416         from gl_avltreehash_list_implementation.
44417
44418 2006-10-03  Bruno Haible  <bruno@clisp.org>
44419
44420         * lib/gl_oset.c (gl_oset_add): Fix return type.
44421
44422 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
44423
44424         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
44425
44426 2006-10-02  Eric Blake  <ebb9@byu.net>
44427
44428         * modules/strnlen (Depends-on): Add extensions.
44429
44430 2006-10-02  Eric Blake  <ebb9@byu.net>
44431
44432         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
44433         definition in 2.60+.
44434
44435 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
44436
44437         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
44438         checks.
44439
44440 2006-10-02  Bruno Haible  <bruno@clisp.org>
44441
44442         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
44443         to the AUTOMAKE_OPTIONS.
44444         Reported by Jim Meyering.
44445
44446 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
44447
44448         Work around bug in Solaris 10 /proc file system:
44449         /proc/self/fd/NNN/.. isn't the parent directory of
44450         the directory whose file descriptor is NNN.  This needs to
44451         be worked around at run time, not compile time, since a
44452         program might be built on Solaris 8, where things work, and
44453         run on Solaris 10.
44454         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
44455         to use the following interface instead:
44456         (OPENAT_BUFFER_SIZE): New macro.
44457         (openat_proc_name): New function.
44458         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
44459         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
44460         Likewise.
44461         * lib/openat-proc.c: New file.
44462         * modules/openat (Files): Add lib/openat-proc.c.
44463         (Depends-on): Add same-inode, stdbool.
44464         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
44465
44466 2006-09-29  Bruno Haible  <bruno@clisp.org>
44467
44468         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
44469         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
44470         argument. Set stdout_closed before testing for ferror, not after.
44471         (fwriteerror, fwriteerror_no_ebadf): New functions.
44472
44473 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44474
44475         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
44476
44477 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
44478
44479         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
44480         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
44481
44482 2006-09-28  Jim Meyering  <jim@meyering.net>
44483
44484         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
44485         Include <unistd.h>.
44486
44487 2006-09-28  Bruno Haible  <bruno@clisp.org>
44488
44489         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
44490         * modules/linkedhash-list (Depends-on): Likewise.
44491         * modules/rbtreehash-list (Depends-on): Likewise.
44492
44493 2006-09-28  Bruno Haible  <bruno@clisp.org>
44494
44495         * lib/strndup.h: Simplify the redefinition of strndup.
44496         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
44497         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
44498
44499 2006-09-28  Bruno Haible  <bruno@clisp.org>
44500
44501         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
44502         * lib/gl_linkedhash_list.c: Likewise.
44503         * lib/gl_rbtreehash_list.c: Likewise.
44504
44505 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
44506
44507         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
44508         getaddrinfo.
44509
44510         * lib/__fpending.h: Don't include <stdio_ext.h> unless
44511         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
44512         it causes <stdio_ext.h> to cause a compile-time error.
44513         Problem reported by Nelson H. F. Beebe.
44514         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
44515         of HAVE_DECL___PENDING.
44516
44517         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
44518         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
44519         declaration.
44520
44521 2006-09-27  Jim Meyering  <jim@meyering.net>
44522
44523         This file could end up with a definition for a function
44524         named __strndup, rather than rpl_strndup on a system with
44525         incomplete weak_alias support.
44526         * lib/strndup.c (strndup): Rename from __strndup.
44527         Remove #defines that used to map __strndup to strndup.
44528         Don't use K&R prototypes.
44529         Remove LIBC-related code, since this file is not sync'd with glibc.
44530         * lib/strndup.h: Revamp, accordingly.
44531         * m4/strndup.m4: Modernize.
44532
44533 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
44534
44535         * modules/savewd (Depends-on): Add 'raise'.
44536         * lib/savewd.c: Include <signal.h>, for 'raise'.
44537
44538 2006-09-26  Jim Meyering  <jim@meyering.net>
44539
44540         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
44541         when we detect Darwin 8.7.0's acl_get_file bug.
44542         Rearrange to perform the new (below) run-test while $LIBS
44543         contains any acl-related library.  Set USE_ACL at the end.
44544         (gl_ACL_GET_FILE): New function.
44545
44546 2006-09-26  Eric Blake  <ebb9@byu.net>
44547
44548         * lib/verror.c: Include <config.h> unconditionally.
44549
44550 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
44551
44552         * modules/clock-time (Maintainer): Add self.
44553         * modules/getlogin_r (Depends-on): Add extensions.
44554
44555 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44556
44557         * modules/clock-time: New module.
44558         * modules/nanosleep (Depends-on): Add clock-time.
44559         * modules/gethrxtime (Depends-on): Likewise.
44560         * modules/gettime (Depends-on): Likewise.
44561         * modules/settime (Depends-on): Likewise.
44562
44563         * modules/fts-lgpl: Depend on openat.
44564         * modules/mkancesdirs: Depend on savewd.
44565         * modules/mkdir-p: Likewise.
44566
44567 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44568
44569         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
44570
44571         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
44572         `gl_have_arbitrary_file_name_length_limit' to
44573         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
44574         actually works between configure runs.
44575
44576 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44577             Bruno Haible  <bruno@clisp.org>
44578
44579         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
44580
44581 2006-09-25  Jim Meyering  <jim@meyering.net>
44582
44583         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
44584         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
44585
44586 2006-09-25  Eric Blake  <ebb9@byu.net>
44587
44588         * gnulib-tool (func_import, func_create_testdir): Fix typos in
44589         exec's in 2006-09-18 patch when shuffling fds.
44590
44591 2006-09-25  Bruno Haible  <bruno@clisp.org>
44592
44593         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
44594         Reported by Jim Meyering.
44595
44596 2006-09-24  Jim Meyering  <jim@meyering.net>
44597
44598         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
44599         compare a pointer against a literal "0".  That caused failures with
44600         at least HP-UX's hpcc.
44601
44602 2006-09-22  Simon Josefsson  <jas@extundo.com>
44603
44604         * modules/gc-sha1:
44605         * modules/gc-md4:
44606         * modules/gc-hmac-sha1:
44607         * modules/gc-hmac-md5:
44608         * modules/gc-des:
44609         * modules/gc-arcfour: Distribute more files.
44610
44611 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44612
44613         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
44614         (gl_linked_iterator_from_to): Initialize struct completely.
44615         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
44616         (gl_tree_iterator_from_to): Likewise
44617         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
44618         * lib/gl_array_list.c [lint] (gl_array_iterator)
44619         (gl_array_iterator_from_to): Likewise.
44620         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
44621         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
44622         (gl_carray_iterator_from_to): Likewise.
44623
44624         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
44625         * lib/md4.c (md4_process_block): Remove unused variable.
44626         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
44627         parentheses for clarity.
44628
44629 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44630
44631         * modules/bison-i18n (Depends-on): Add gettext.
44632
44633 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44634
44635         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
44636         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
44637         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
44638         also add missing comma that caused broken test.
44639         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
44640         stdlib.h, for `abort'.
44641         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
44642         variables.
44643         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
44644         include unistd.h if present, for `rmdir'.
44645         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
44646         variables.
44647         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
44648         in the process include standard headers for prototypes.
44649         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
44650         gets declared on GNU/Linux.
44651         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
44652         unistd.h, for `rmdir'.
44653         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
44654
44655         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
44656         always true.
44657         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
44658
44659         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
44660
44661 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44662
44663         * gnulib-tool (func_version): Create output all at once.  This
44664         may help avoid triggering unnecessary SIGPIPEs, and at any
44665         rate it doesn't hurt.
44666
44667 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44668             Bruno Haible  <bruno@clisp.org>
44669
44670         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
44671         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44672         * m4/signed.m4 (bh_C_SIGNED): Likewise.
44673
44674         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
44675         (gl_FUNC_VASPRINTF): Invoke it.
44676
44677 2006-09-22  Bruno Haible  <bruno@clisp.org>
44678
44679         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
44680         getloadavg.c as first argument.
44681
44682 2006-09-22  Bruno Haible  <bruno@clisp.org>
44683
44684         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
44685         at the beginning of the gl_INIT macro.
44686         * modules/getloadavg (configure.ac): Pass $gl_source_base to
44687         gl_GETLOADAVG.
44688
44689 2006-09-22  Bruno Haible  <bruno@clisp.org>
44690
44691         * gnulib-tool (func_create_megatestdir): Don't include the config-h
44692         module.
44693         Suggested by Ralf Wildenhues.
44694
44695 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
44696
44697         Import this patch from libc:
44698
44699         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
44700
44701         * lib/regex_internal.c (re_string_reconstruct): Handle
44702         offset < pstr->valid_raw_len && pstr->offsets_needed case.
44703         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
44704         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
44705         re_string_context_at.
44706
44707         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
44708         now requires it.
44709         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
44710         gl_REGEX now does it for us.
44711         (gl_REGEX): Add test taken from
44712         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
44713
44714         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
44715         Check that large offsets work.  Modernize Autoconf usages.
44716         Prefer "yes" to mean a good thing rather than a bad.
44717         Don't put "#define mkstemp" in config.h, as this might interfere
44718         with standard system headers that "#define mkstemp mkstemp64".
44719
44720         * modules/mkstemp (Depends-on): Add extensions, so that
44721         mkstemp is visible on some platforms.
44722         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
44723         (Include): Change to "mkstemp.h" from <stdlib.h>.
44724         (Files): Add mkstemp.h.
44725
44726         * lib/mkstemp.h: New file, since some standard headers
44727         #define mkstemp.
44728         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
44729         Include "mkstemp.h".
44730         Make the _LIBC code resemble glibc original more,
44731         e.g., use K&R style.
44732         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
44733         (mkstemp): Remove, since mkstemp.h does this for us.
44734         * lib/stdlib--.h: Include mkstemp.h.
44735
44736         Import this patch from libc:
44737
44738         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44739
44740         * lib/tempname.c (__gen_tempname): Change attempts_min
44741         into a macro.  Use preprocessor to decide how to initialize
44742         attempts [Coverity CID 67].
44743
44744 2006-09-20  Bruno Haible  <bruno@clisp.org>
44745
44746         * lib/mkdtemp.c: Import from libc.
44747         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44748                 * sysdeps/posix/tempname.c (__gen_tempname): Change
44749                 attempts_min into a macro.  Use preprocessor to decide how to
44750                 initialize attempts [Coverity CID 67].
44751         2001-11-27  Paul Eggert  <eggert@twinsun.com>
44752                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
44753                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
44754
44755 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44756
44757         * gnulib-tool (func_exit): New function, to allow to pass the
44758         exit status portably through the trap.  Use everywhere.
44759         (--help, --version): Signal a write error.
44760         (trap): catch SIGPIPE, for write errors.
44761         Exit at the end of the trap, with the correct exit status.
44762
44763 2006-09-19  Karl Berry  <karl@gnu.org>
44764
44765         * doc/gnulib.texi: note about the license texinfo files.
44766
44767 2006-09-19  Eric Blake  <ebb9@byu.net>
44768
44769         * gnulib-tool: Avoid space-tab.
44770
44771 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44772
44773         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
44774         that prevented coreutils 6.1 from building.  Problem reported
44775         by Petter Reinholdtsen.
44776
44777 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44778
44779         * gnulib-tool (avoidlist): Fix typo that broke options like
44780         --avoid=lock that are used by coreutils bootstrap.
44781
44782 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
44783
44784         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
44785         more systematically.
44786
44787 2006-09-18  Jim Meyering  <jim@meyering.net>
44788
44789         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
44790
44791 2006-09-18  Bruno Haible  <bruno@clisp.org>
44792
44793         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
44794
44795 2006-09-18  Bruno Haible  <bruno@clisp.org>
44796
44797         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
44798         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
44799         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
44800         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
44801         * m4/gettext.m4: Require autoconf >= 2.52.
44802         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
44803         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
44804         of gl_cv_header_inttypes_h.
44805
44806 2006-09-18  Bruno Haible  <bruno@clisp.org>
44807
44808         * lib/javaversion.c: Include configmake.h.
44809
44810 2006-09-18  Bruno Haible  <bruno@clisp.org>
44811
44812         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
44813         avoid that the while loops be executed in a subshell.
44814
44815 2006-09-18  Bruno Haible  <bruno@clisp.org>
44816
44817         * MODULES.html.sh (func_module): Break long lines.
44818         Suggested by Bruce Korb <bkorb@gnu.org>.
44819
44820 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44821
44822         Speed up by a factor of 1.12.
44823         * gnulib-tool (nl): New variable.
44824         (func_import): Rewrite include directive extraction to only read each
44825         directive once.
44826
44827 2006-09-17  Bruno Haible  <bruno@clisp.org>
44828
44829         * modules/javaversion (Makefile.am): Remove DEFS setting.
44830         (Depends-on): Add configmake, for PKGDATADIR definition.
44831
44832 2006-09-17  Bruno Haible  <bruno@clisp.org>
44833
44834         * gnulib-tool (func_create_testdir): Rewrite all files at once.
44835
44836 2006-09-17  Bruno Haible  <bruno@clisp.org>
44837
44838         * gnulib-tool (func_append): New function, stolen from libtool.m4.
44839         (func_modules_transitive_closure, func_modules_add_dummy,
44840         func_modules_to_filelist, func_import, func_create_testdir,
44841         func_create_megatestdir, ...): Use it wherever possible.
44842         Suggested by Ralf Wildenhues.
44843
44844 2006-09-16  Karl Berry  <karl@gnu.org>
44845
44846         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
44847         to avoid sectioning errors.
44848         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
44849         [ifinfo]: blank line after @center-ed titles.
44850         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
44851         Spell FSF address consistently with others.
44852         (These changes approved by rms.)
44853
44854 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44855
44856         Speed up by a factor of 1.61.
44857         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
44858         already checked module names again.
44859
44860 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44861
44862         Speed up by a factor of 1.13.
44863         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
44864         for new_files, and the input to func_add_or_update.
44865
44866 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44867
44868         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
44869         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
44870
44871 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44872
44873         * modules/mkancesdirs (Depends-on): Add fcntl.
44874         * modules/savewd: New file.
44875         * MODULES.html.sh (File system functions): Add savewd.
44876
44877         * modules/configmake (Makefile.am): Add support for the
44878         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
44879
44880 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44881
44882         * m4/savewd.m4: New file.
44883
44884 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44885
44886         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
44887         (dirchownmod): New arg FD.  All callers changed.
44888         Use FD rather than opening the directory ourself, as opening is
44889         now the caller's responsibility.
44890         * lib/dirchownmod.h: Likewise.
44891         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
44892         hosts that require <sys/types.h> before <sys/stat.h>.  Include
44893         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
44894         (test_dir): Remove.
44895         (mkancesdirs): Return length of prefix of FILE that has already
44896         been made, or -2 if there is a child doing the work.  Redo
44897         algorithm so that it is O(N) rather than O(N**2).  Optimize away
44898         ".", and treat ".." specially since it might stray back into
44899         already-created areas.  Use a subprocess if necessary.  New arg
44900         WD; all users changed.  MAKE_DIR function should now return 1
44901         if it creates a directory that is not readable.  Return -2 if
44902         a child process is spun off.
44903         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
44904         Adjust signature to match code.
44905         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
44906         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
44907         all users changed.
44908         * lib/savewd.c, lib/savewd.h: New files.
44909
44910 2006-09-15  Jim Meyering  <jim@meyering.net>
44911
44912         * modules/rename-dest-slash: New module.
44913         * MODULES.html.sh (posix_compat): Add it here.
44914
44915         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
44916
44917 2006-09-15  Jim Meyering  <jim@meyering.net>
44918
44919         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
44920         file.
44921
44922         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
44923
44924 2006-09-15  Jim Meyering  <jim@meyering.net>
44925
44926         * lib/rename-dest-slash.c (has_trailing_slash): Use
44927         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
44928         (rpl_rename_dest_slash): Perform the cheaper trailing slash
44929         test before testing whether SRC is a directory.
44930         Suggestions from Bruno Haible.
44931
44932         Avoid a warning about an unused variable.
44933         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
44934         into the #ifdef block where it's used.
44935
44936         * lib/rename-dest-slash.c: New file.
44937
44938 2006-09-14  Bruno Haible  <bruno@clisp.org>
44939
44940         * lib/allocsa.c: Include <config.h> unconditionally.
44941         * lib/asnprintf.c: Likewise.
44942         * lib/asprintf.c: Likewise.
44943         * lib/c-strcasecmp.c: Likewise.
44944         * lib/c-strcasestr.c: Likewise.
44945         * lib/c-strncasecmp.c: Likewise.
44946         * lib/c-strstr.c: Likewise.
44947         * lib/classpath.c: Likewise.
44948         * lib/clean-temp.c: Likewise.
44949         * lib/concatpath.c: Likewise.
44950         * lib/copy-file.c: Likewise.
44951         * lib/csharpcomp.c: Likewise.
44952         * lib/csharpexec.c: Likewise.
44953         * lib/execute.c: Likewise.
44954         * lib/fatal-signal.c: Likewise.
44955         * lib/findprog.c: Likewise.
44956         * lib/fwriteerror.c: Likewise.
44957         * lib/gl_array_list.c: Likewise.
44958         * lib/gl_array_oset.c: Likewise.
44959         * lib/gl_avltree_list.c: Likewise.
44960         * lib/gl_avltree_oset.c: Likewise.
44961         * lib/gl_avltreehash_list.c: Likewise.
44962         * lib/gl_carray_list.c: Likewise.
44963         * lib/gl_linked_list.c: Likewise.
44964         * lib/gl_linkedhash_list.c: Likewise.
44965         * lib/gl_list.c: Likewise.
44966         * lib/gl_oset.c: Likewise.
44967         * lib/gl_rbtree_list.c: Likewise.
44968         * lib/gl_rbtree_oset.c: Likewise.
44969         * lib/gl_rbtreehash_list.c: Likewise.
44970         * lib/imaxabs.c: Likewise.
44971         * lib/imaxdiv.c: Likewise.
44972         * lib/javacomp.c: Likewise.
44973         * lib/javaexec.c: Likewise.
44974         * lib/javaversion.c: Likewise.
44975         * lib/linebreak.c: Likewise.
44976         * lib/localcharset.c: Likewise.
44977         * lib/lock.c: Likewise.
44978         * lib/mbchar.c: Likewise.
44979         * lib/mbswidth.c: Likewise.
44980         * lib/mkdtemp.c: Likewise.
44981         * lib/pipe.c: Likewise.
44982         * lib/printf-args.c: Likewise.
44983         * lib/printf-parse.c: Likewise.
44984         * lib/progname.c: Likewise.
44985         * lib/progreloc.c: Likewise.
44986         * lib/readlink.c: Likewise.
44987         * lib/sh-quote.c: Likewise.
44988         * lib/stpcpy.c: Likewise.
44989         * lib/stpncpy.c: Likewise.
44990         * lib/strcasecmp.c: Likewise.
44991         * lib/strcasestr.c: Likewise.
44992         * lib/strcspn.c: Likewise.
44993         * lib/striconv.c: Likewise.
44994         * lib/strncasecmp.c: Likewise.
44995         * lib/strnlen1.c: Likewise.
44996         * lib/strstr.c: Likewise.
44997         * lib/strtok_r.c: Likewise.
44998         * lib/tls.c: Likewise.
44999         * lib/tmpdir.c: Likewise.
45000         * lib/unicodeio.c: Likewise.
45001         * lib/unsetenv.c: Likewise.
45002         * lib/vasnprintf.c: Likewise.
45003         * lib/vasprintf.c: Likewise.
45004         * lib/wait-process.c: Likewise.
45005         * lib/xallocsa.c: Likewise.
45006         * lib/xsetenv.c: Likewise.
45007         * lib/xstriconv.c: Likewise.
45008
45009 2006-09-13  Simon Josefsson  <jas@extundo.com>
45010
45011         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
45012         that internally, suggested by Ralf Wildenhues
45013         <Ralf.Wildenhues@gmx.de>.
45014
45015 2006-09-13  Simon Josefsson  <jas@extundo.com>
45016
45017         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
45018         @LIBOBJS@.
45019         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45020
45021 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
45022
45023         * lib/_fpending.c: Include <config.h> unconditionally, since we no
45024         longer worry about uses that don't define HAVE_CONFIG_H.
45025         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
45026         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
45027         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
45028         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
45029         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
45030         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
45031         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
45032         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
45033         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
45034         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
45035         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
45036         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
45037         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
45038         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
45039         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
45040         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
45041         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
45042         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
45043         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
45044         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
45045         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
45046         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
45047         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
45048         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
45049         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
45050         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
45051         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
45052         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
45053         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
45054         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
45055         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
45056         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
45057         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
45058         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
45059         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
45060         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
45061         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
45062         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
45063         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
45064         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
45065         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
45066         Likewise.
45067
45068 2006-09-13  Eric Blake  <ebb9@byu.net>
45069
45070         * lib/getopt.c: Fix typo in last commit.
45071
45072 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45073
45074         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
45075         dgettext.
45076
45077 2006-09-12  Jim Meyering  <jim@meyering.net>
45078
45079         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
45080         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
45081         Reported by Nelson H. F. Beebe.
45082
45083 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
45084
45085         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
45086         program_invocation_name and program_invocation_short_name are
45087         initialized.
45088         * lib/argp-namefrob.h: Move declarations of program_invocation_name
45089         and program_invocation_short_name to argp.h, so they are visible
45090         to user programs.
45091         * lib/argp.h: Likewise
45092
45093 2006-09-10  Bruno Haible  <bruno@clisp.org>
45094
45095         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
45096         m4/inttypes_h.m4, m4/uintmax_t.m4.
45097
45098 2006-09-10  Bruno Haible  <bruno@clisp.org>
45099
45100         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
45101         gl_AC_TYPE_UINTMAX_T.
45102
45103 2006-09-10  Bruno Haible  <bruno@clisp.org>
45104
45105         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
45106
45107 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
45108
45109         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
45110         convention.  Text proposed by Bruno Haible.
45111         (struct argp_option): Document the use of N_() wrappers.
45112
45113         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
45114         '\v', and translate the two parts separately, instead of feeding
45115         the whole string to gettext.  This allows to exclude
45116         '\v' from the strings visible to the translator by writing doc
45117         strings as N_("..") "\v" N_("..").
45118
45119 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
45120
45121         * config/srclist.txt: Undo latest change; the bug was fixed.
45122
45123 2006-09-09  Bruno Haible  <bruno@clisp.org>
45124
45125         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
45126         assignments if building a library without libtool.
45127         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
45128         in func_emit_lib_Makefile_am.
45129         (func_import): When building a static library libfoo.a, arrange to
45130         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
45131         (func_create_testdir): Likewise.
45132         * modules/gc (configure.ac, Makefile.am): If building statically,
45133         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
45134         * modules/iconvme (configure.ac, Makefile.am): Likewise.
45135         * modules/striconv (configure.ac, Makefile.am): Likewise.
45136         Based on a suggestion by Ralf Wildenhues.
45137
45138 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45139
45140         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
45141         Check for unistd.h too, since Autoconf doesn't assume POSIX.
45142         Also:
45143
45144         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45145         Add year_2050_test to catch glibc bug 2821
45146         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
45147
45148         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45149         Prefer #ifdef to #if.
45150
45151         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
45152         Return from 'main' instead of calling 'exit'.
45153
45154 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45155
45156         * lib/mktime.c (guess_time_tm): Fix bug where mktime
45157         returned the maximum time_t value rather than (time_t) -1.
45158         Problem originally reported by William Bardwell
45159         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
45160
45161         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
45162         Moved to here ...
45163         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
45164         ... from here.
45165
45166 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45167
45168         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
45169         2821 is fixed.
45170
45171 2006-09-08  Jim Meyering  <jim@meyering.net>
45172
45173         Don't make generated files read-only.  That would bother too many
45174         people.  However, do retain the ability to work when targets are
45175         read-only: remove the destination and temporary files before writing
45176         them (when generated via sed or echo), or by using the -f option for
45177         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
45178         * modules/alloca-opt, modules/argz, modules/arpa_inet:
45179         * modules/byteswap, modules/configmake, modules/fcntl:
45180         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
45181         * modules/localcharset, modules/netinet_in, modules/poll:
45182         * modules/stdbool, modules/stdint, modules/sys_select:
45183         * modules/sys_socket, modules/sys_stat, modules/sysexits:
45184
45185 2006-09-08  Jim Meyering  <jim@meyering.net>
45186
45187         Avoid new build failure on FreeBSD 6.0.
45188         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
45189         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
45190         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
45191
45192 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45193
45194         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
45195
45196 2006-09-07  Jim Meyering  <jim@meyering.net>
45197
45198         Fix global typo in last change: use chmod u-w, not chmod u-x.
45199         Spotted by Paul Eggert and Bruce Korb.
45200         * modules/alloca-opt, modules/argz, modules/arpa_inet:
45201         * modules/byteswap, modules/configmake, modules/fcntl:
45202         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
45203         * modules/localcharset, modules/netinet_in, modules/poll:
45204         * modules/stdbool, modules/stdint, modules/sys_select:
45205         * modules/sys_socket, modules/sys_stat, modules/sysexits:
45206
45207 2006-09-06  Jim Meyering  <jim@meyering.net>
45208
45209         Make generated files be read-only.
45210         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
45211         Ensure that each generated file is now read-only.
45212         * modules/argz: Likewise.
45213         * modules/arpa_inet: Likewise.
45214         * modules/byteswap: Likewise.
45215         * modules/configmake: Likewise.
45216         * modules/fcntl: Likewise.
45217         * modules/fnmatch: Likewise.
45218         * modules/getopt: Likewise.
45219         * modules/glob: Likewise.
45220         * modules/inttypes: Likewise.
45221         * modules/netinet_in: Likewise.
45222         * modules/poll: Likewise.
45223         * modules/stdbool: Likewise.
45224         * modules/stdint: Likewise.
45225         * modules/sys_select: Likewise.
45226         * modules/sys_socket: Likewise.
45227         * modules/sys_stat: Likewise.
45228         * modules/sysexits: Likewise.
45229         * modules/localcharset: Same as above, but continue using temporary
45230         file named "t-$@" (why different?) rather than the "$@-t" used
45231         everywhere else.
45232
45233         * modules/sysexits (Makefile.am): Replace literal occurrences
45234         of "sysexit.h" more readable, and more consistent, "$@".
45235
45236 2006-09-06  Bruno Haible  <bruno@clisp.org>
45237
45238         * modules/striconv: New file.
45239         * modules/xstriconv: New file.
45240         * MODULES.html.sh (Internationalization functions): Add striconv,
45241         xstriconv.
45242
45243 2006-09-06  Bruno Haible  <bruno@clisp.org>
45244
45245         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
45246         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
45247         not using libtool correctly.
45248
45249 2006-09-06  Bruno Haible  <bruno@clisp.org>
45250
45251         * lib/striconv.h: New file.
45252         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
45253         iconvstring.c.
45254         * lib/xstriconv.h: New file.
45255         * lib/xstriconv.c: New file.
45256
45257 2006-09-06  Bruno Haible  <bruno@clisp.org>
45258
45259         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
45260         lib_..._LDFLAGS.
45261
45262 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45263
45264         * lib/argz_.h: Sync from Libtool.
45265
45266         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
45267                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
45268
45269         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
45270
45271 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
45272
45273         * modules/trim: New file.
45274
45275 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
45276
45277         * lib/trim.h: New file.
45278         * lib/trim.c: New file.
45279
45280 2006-09-05  Bruno Haible  <bruno@clisp.org>
45281
45282         * MODULES.html.sh (String handling): Add trim.
45283
45284 2006-09-04  Karl Berry  <karl@gnu.org>
45285
45286         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
45287         until next release.
45288
45289 2006-09-03  Bruno Haible  <bruno@clisp.org>
45290
45291         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
45292         correctly.
45293
45294 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45295
45296         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
45297         not gl_GETLOADAVG.  Omit unneeded semicolons.
45298         Problems reported by Ralf Wildenhues in
45299         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
45300         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
45301         at the end, which is the usual gnulib style.
45302
45303         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
45304         of doing all the work ourselves.
45305         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
45306         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
45307
45308 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45309
45310         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
45311         Problem reported by Ralf Wildenhues in
45312         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
45313
45314         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
45315         HAVE_STRUCT_STATFS_F_FSTYPENAME.
45316
45317 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45318
45319         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
45320         yesterday's patch by changing test -n to test -z.
45321
45322 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45323
45324         * modules/getloadavg (Files): Add m4/getloadavg.m4.
45325         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
45326         the former is now obsolescent.
45327
45328         * modules/chdir-long (Depends-on): Add fcntl.
45329
45330 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45331
45332         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
45333         obsolescent, and programs should use gnulib instead.
45334         * m4/getloadavg.m4: New file, with contents taken from Autoconf
45335         but with prefixes changed.
45336
45337 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45338
45339         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
45340         or stdbool.h, because they might not exist while configuring.
45341
45342         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
45343         Don't include unistd.h or limits.h; not needed, since chdir-long.h
45344         does that for us.
45345         (O_DIRECTORY): Remove.
45346
45347 2006-08-31  Eric Blake  <ebb9@byu.net>
45348
45349         * gnulib-tool: Don't let emacs change spaces to TAB.
45350
45351 2006-08-31  Bruno Haible  <bruno@clisp.org>
45352
45353         * gnulib-tool: When calling func_import more than once, do it in a
45354         subshell.
45355         Reported by Eric Blake <ebb9@byu.net>.
45356
45357 2006-08-31  Bruno Haible  <bruno@clisp.org>
45358
45359         * gnulib-tool (nl): Remove variable.
45360         (sed_transform_lib_file): Use more robust test for config-h module.
45361         (func_import): Fix typo in 2006-08-25 patch.
45362
45363 2006-08-31  Bruno Haible  <bruno@clisp.org>
45364
45365         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
45366         specified, augment Makefile.am variables instead of assigning them.
45367
45368 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
45369
45370         Work around a bug in both the Linux and SunOS 64-bit kernels:
45371         nanosleep mishandles sleeps for longer than 2**31 seconds.
45372         Problem reported by Frank v Waveren in
45373         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
45374         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
45375         Check for nanosleep bug.
45376         (LIB_NANOSLEEP): Append clock_gettime library if needed.
45377
45378 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
45379
45380         Work around a bug in both the Linux and SunOS 64-bit kernels:
45381         nanosleep mishandles sleeps for longer than 2**31 seconds.
45382         Problem reported by Frank v Waveren in
45383         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
45384         * lib/nanosleep.c (BILLION): New constant.
45385         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
45386         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
45387         implementation.
45388
45389 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
45390
45391         * modules/nanosleep (Depends-on): Add gettime.
45392
45393 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
45394         and Simon Josefsson  <jas@extundo.com>
45395         and Oskar Liljeblad  <oskar@osk.mine.nu>
45396
45397         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
45398         * gnulib-tool (func_import): New license type 'unmodifiable license
45399         text'.
45400         * modules/fdl: Use it.  Longer description.
45401         * module/gpl, module/lgpl: New files.
45402
45403 2006-08-30  Jim Meyering  <jim@meyering.net>
45404
45405         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
45406         shadowing the parameter.
45407
45408 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45409
45410         Sync from Libtool:
45411
45412         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45413
45414         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
45415         sharing with gnulib.  Report by Eric Blake.
45416
45417 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
45418
45419         * modules/isapipe: New file.
45420         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
45421
45422 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
45423
45424         * modules/configmake (Makefile.am): Add a comment, and omit
45425         the CONFIGMAKE_ prefix from generated macro names.  Suggested
45426         by Bruno Haible.
45427
45428 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
45429
45430         * m4/isapipe.m4: New file.
45431
45432 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
45433
45434         * lib/isapipe.c, lib/isapipe.h: New files.
45435
45436 2006-08-29  Jim Meyering  <jim@meyering.net>
45437
45438         * modules/configmake (Makefile.am): Make configmake.h depend on
45439         Makefile.  Otherwise, a stale configmake.h could hang around.
45440
45441 2006-08-29  Eric Blake  <ebb9@byu.net>
45442
45443         * lib/error.c (error_at_line, print_errno_message): Match libc, after
45444         resolution of upstream bug 3044.
45445
45446 2006-08-29  Bruno Haible  <bruno@clisp.org>
45447
45448         * modules/localcharset (Depends-on): Add configmake.
45449         (Makefile.am): Remove setting of LIBDIR through DEFS.
45450
45451 2006-08-29  Bruno Haible  <bruno@clisp.org>
45452
45453         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
45454         defined.
45455
45456 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
45457
45458         * modules/fcntl: New file.
45459         * modules/chdir-safer (Depends-on): Add fcntl.
45460         * modules/fts: Likewise.
45461         * modules/mkdir-p: Likewise.
45462
45463         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
45464         This undoes the most recent change, since we're now addressing the
45465         problem in a different way.
45466
45467         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
45468         into output, since the output might be called Makefile.am even
45469         if $makefile_name is something different.
45470         (func_import): Use $makefile_am rather than
45471         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
45472         empty.
45473
45474         * modules/inttypes (Files): Add m4/inttypes-h.m4.
45475
45476 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
45477
45478         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
45479         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
45480         recent change to stdint.m4, since we're now addressing the problem in a
45481         different way.
45482
45483 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
45484
45485         * m4/fcntl_h.m4: New file.
45486
45487 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
45488
45489         * lib/fcntl_.h: New file.
45490         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
45491         the fcntl module.
45492         * lib/dirchownmod.c: Likewise.
45493         * lib/fts.c: Likewise.
45494
45495         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
45496         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
45497         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
45498         just before including <inttypes.h>, to avoid circular inclusion.
45499
45500 2006-08-28  Jim Meyering  <jim@meyering.net>
45501
45502         * doc/visibility.texi: Actually read and correct the grammar of the
45503         sentence affected by yesterday's change.
45504
45505 2006-08-28  Eric Blake  <ebb9@byu.net>
45506
45507         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
45508         needs wrapper.
45509
45510 2006-08-28  Eric Blake  <ebb9@byu.net>
45511
45512         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
45513
45514 2006-08-28  Eric Blake  <ebb9@byu.net>
45515
45516         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
45517
45518 2006-08-28  Bruno Haible  <bruno@clisp.org>
45519
45520         * modules/c-strstr: New file, from GNU gettext.
45521         * MODULES.html.sh (String handling): Add c-strstr.
45522
45523 2006-08-28  Bruno Haible  <bruno@clisp.org>
45524
45525         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
45526         macros.
45527         Reported by Eric Blake.
45528
45529 2006-08-28  Bruno Haible  <bruno@clisp.org>
45530
45531         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
45532         (VASNPRINTF): Return a string of length > INT_MAX without failing.
45533         * lib/vasprintf.c: Include errno.h, limits.h.
45534         (EOVERFLOW): New fallback definition.
45535         (vasprintf): Test here whether the string length is > INT_MAX.
45536         * lib/vsnprintf.c: Include errno.h, limits.h.
45537         (EOVERFLOW): New fallback definition.
45538         (vsnprintf): Fix bug when generated string was too long for the buffer.
45539         Test here whether the string length is > INT_MAX.
45540
45541 2006-08-28  Bruno Haible  <bruno@clisp.org>
45542
45543         * lib/inttypes_.h (SCNX*): Remove definitions.
45544         Reported by Eric Blake.
45545
45546 2006-08-28  Bruno Haible  <bruno@clisp.org>
45547
45548         * lib/c-strstr.h: New file, from GNU gettext.
45549         * lib/c-strstr.c: New file, from GNU gettext.
45550
45551 2006-08-28  Bruno Haible  <bruno@clisp.org>
45552
45553         * gnulib-tool: Reorder some statements.
45554
45555 2006-08-28  Bruno Haible  <bruno@clisp.org>
45556
45557         * gnulib-tool: New option --makefile-name.
45558         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
45559         $makefile_name.
45560         (func_import): Write $makefile_name to the cache file, and read it from
45561         there unless explicitly specified. Use $makefile_name as file name
45562         instead of Makefile.am. Adjust the recommendations accordingly.
45563
45564 2006-08-28  Bruno Haible  <bruno@clisp.org>
45565
45566         * gnulib-tool (func_verify_module): Check against misapplying patch.
45567
45568 2006-08-28  Bruno Haible  <bruno@clisp.org>
45569
45570         * gnulib-tool (func_relativize, func_relconcat): New functions.
45571         Give an error if --local-dir is given with --update.
45572         Remove trailing slashes from $local_gnulib_dir.
45573         (func_import): Store the relativized $local_gnulib_dir in
45574         gnulib-cache.m4, and read it from there if not specified explicitly.
45575
45576 2006-08-28  Bruno Haible  <bruno@clisp.org>
45577
45578         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
45579         is the current directory. Respect also $local_gnulib_dir.
45580
45581 2006-08-28  Bruno Haible  <bruno@clisp.org>
45582             Simon Josefsson  <jas@extundo.com>
45583
45584         BeOS portability.
45585         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
45586
45587 2006-08-27  Jim Meyering  <jim@meyering.net>
45588
45589         * doc/visibility.texi: Remove duplicate word: "pointer".
45590
45591 2006-08-26  Bruno Haible  <bruno@clisp.org>
45592
45593         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
45594         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
45595         (Makefile.am): Create inttypes.h from inttypes_.h.
45596         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
45597
45598         * modules/imaxabs: New file.
45599
45600         * modules/imaxdiv: New file.
45601
45602 2006-08-26  Bruno Haible  <bruno@clisp.org>
45603
45604         * m4/inttypes.m4: New file.
45605         * m4/_inttypes_h.m4: Remove file.
45606         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
45607         PRI_MACROS_BROKEN.
45608         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
45609
45610         * m4/imaxabs.m4: New file.
45611
45612         * m4/imaxdiv.m4: New file.
45613
45614 2006-08-26  Bruno Haible  <bruno@clisp.org>
45615
45616         * lib/inttypes_.h: New file.
45617         * lib/inttypes.h: Remove file.
45618         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
45619
45620         * lib/imaxabs.c: New file.
45621
45622         * lib/imaxdiv.c: New file.
45623
45624 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45625
45626         New config-h module, so that "make" output needn't be cluttered
45627         by -DHAVE_CONFIG_H.
45628         * MODULES.html.sh (Support for building libraries and executables):
45629         Add config-h.
45630         * modules/config-h: New file.
45631         * gnulib-tool (nl, sed_transform_lib_file): New vars.
45632         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
45633         the config-h module is used.
45634
45635         New configmake module, so that "make" output needn't be cluttered
45636         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
45637         * MODULES.html.sh (Support for building libraries and executables):
45638         Add configmake.
45639         * modules/configmake: New file.
45640
45641 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45642
45643         * m4/config-h.m4: New file.
45644
45645 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45646
45647         * config/srclist.txt: Add elisp-comp.
45648
45649 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45650
45651         * MODULES.html.sh (Support for building libraries and executables):
45652         Add elisp-comp.
45653         * build-aux/elisp-comp: New file.
45654         * modules/elisp-comp: New file.
45655
45656 2006-08-24  Bruno Haible  <bruno@clisp.org>
45657
45658         * gnulib-tool (func_create_testdir): Use non-default values of
45659         sourcebase and m4base.
45660
45661 2006-08-24  Bruno Haible  <bruno@clisp.org>
45662
45663         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
45664         HTML structure.
45665
45666 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
45667
45668         * modules/openat (Depends-on): Add lchown.
45669
45670 2006-08-23  Bruno Haible  <bruno@clisp.org>
45671
45672         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
45673         of gl_LOCK_EARLY instead of gl_LOCK.
45674
45675 2006-08-23  Bruno Haible  <bruno@clisp.org>
45676
45677         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
45678         on OSF/1 to no.
45679         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
45680
45681 2006-08-23  Bruno Haible  <bruno@clisp.org>
45682
45683         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
45684         as unusable.
45685
45686         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
45687         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
45688         (gl_LOCK): New macro.
45689
45690 2006-08-22  Simon Josefsson  <jas@extundo.com>
45691
45692         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
45693         to md5 module.
45694
45695 2006-08-22  Simon Josefsson  <jas@extundo.com>
45696
45697         * MODULES.html.sh: Add "Support for maintaining and release
45698         projects".
45699
45700         * build-aux/gnupload: New file, from coreutils.
45701
45702 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45703
45704         Avoid the need for AC_LIBSOURCES in m4 macros.
45705         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
45706         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
45707         * modules/check-version (EXTRA_DIST): Add check-version.h.
45708         * modules/crc (EXTRA_DIST): Add crc.h.
45709         * modules/des (EXTRA_DIST): Add des.h.
45710         * modules/gc (EXTRA_DIST): Add gc.h.
45711         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
45712         * modules/getline (EXTRA_DIST): Add getline.h.
45713         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
45714         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
45715         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
45716         * modules/md2 (EXTRA_DIST): Add md2.h.
45717         * modules/md4 (EXTRA_DIST): Add md4.h.
45718         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
45719         * modules/read-file (EXTRA_DIST): Add read-file.h.
45720         * modules/readline (EXTRA_DIST): Add readline.h.
45721         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
45722         rijndael-api-fst.h.
45723
45724 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45725
45726         * m4/rijndael.m4 (gl_ARCFOUR):
45727         * m4/arctwo.m4 (gl_ARCTWO):
45728         * m4/check-version.m4 (gl_CHECK_VERSION):
45729         * m4/crc.m4 (gl_CRC):
45730         * m4/des.m4 (gl_DES):
45731         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
45732         * m4/gc.m4 (gl_GC):
45733         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
45734         * m4/getline.m4 (gl_FUNC_GETLINE):
45735         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
45736         * m4/hmac-md5.m4 (gl_HMAC_MD5):
45737         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
45738         * m4/md2.m4 (gl_MD2):
45739         * m4/md4.m4 (gl_MD4):
45740         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
45741         * m4/read-file.m4 (gl_FUNC_READ_FILE):
45742         * m4/readline.m4 (gl_FUNC_READLINE):
45743         * m4/rijndael.m4 (gl_RIJNDAEL):
45744         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45745         to get the necessary .h files and whatnot.
45746
45747 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45748
45749         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
45750         gnulib rather than the other way around.
45751         * config/srclistvars.sh (COREUTILS): Remove.
45752
45753 2006-08-22  Jim Meyering  <jim@meyering.net>
45754
45755         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
45756
45757         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
45758
45759 2006-08-22  Eric Blake  <ebb9@byu.net>
45760
45761         * modules/regexprops-generic: New file.
45762         * MODULES.html.sh (Support for building documentation): List it.
45763
45764 2006-08-22  Eric Blake  <ebb9@byu.net>
45765
45766         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
45767         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45768         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
45769         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
45770
45771 2006-08-22  Bruno Haible  <bruno@clisp.org>
45772
45773         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
45774         and lib_LTLIBRARIES like the other lib_* variables.
45775
45776 2006-08-22  Bruno Haible  <bruno@clisp.org>
45777
45778         * build-aux/x-to-1.in: New file, from GNU gettext.
45779
45780 2006-08-22  Bruno Haible  <bruno@clisp.org>
45781
45782         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
45783         <utmpx.h> exists.
45784
45785 2006-08-22  Bruno Haible  <bruno@clisp.org>
45786
45787         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
45788         <utmpx.h> exists.
45789
45790 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45791
45792         BeOS portability.
45793         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
45794         exist.
45795         Problem reported by Bruno Haible.
45796
45797 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45798
45799         Avoid the need for AC_LIBSOURCES in m4 macros.
45800         * modules/acl (EXTRA_DIST): Add acl.h.
45801         * modules/argmatch (Files): Add m4/argmatch.m4.
45802         (configure.ac): Add gl_ARGMATCH.
45803         (EXTRA_DIST): Renamed from lib_SOURCES, for
45804         consistency with the other modules.  Remove argmatch.c.
45805         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
45806         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
45807         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
45808         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
45809         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
45810         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
45811         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
45812         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
45813         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
45814         * modules/closeout (EXTRA_DIST): Add closeout.h.
45815         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
45816         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
45817         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
45818         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
45819         dirname.h; remove basename.c and stripslash.c.
45820         * modules/exclude (EXTRA_DIST): Add exclude.h.
45821         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
45822         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
45823         * modules/file-type (EXTRA_DIST): Add file-type.h.
45824         * modules/filemode (EXTRA_DIST): Add filemode.h.
45825         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
45826         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45827         * modules/fpending (EXTRA_DIST): Add __fpending.h.
45828         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
45829         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
45830         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
45831         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
45832         * modules/getdate (EXTRA_DIST): Add getdate.c.
45833         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
45834         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
45835         * modules/getpass (EXTRA_DIST): Add getpass.h.
45836         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
45837         * modules/group-member (EXTRA_DIST): Add group-member.h.
45838         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
45839         * modules/hash (EXTRA_DIST): Add hash.h.
45840         * modules/human (EXTRA_DIST): Add human.h.
45841         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
45842         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
45843         * modules/lchown (EXTRA_DIST): Add lchown.h.
45844         * modules/long-options (EXTRA_DIST): Add long-options.h.
45845         * modules/lstat (EXTRA_DIST): Add lstat.h.
45846         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
45847         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
45848         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
45849         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
45850         * modules/memxor (EXTRA_DIST): Add memxor.h.
45851         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
45852         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
45853         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
45854         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
45855         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
45856         * modules/physmem (EXTRA_DIST): Add physmem.h.
45857         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
45858         * modules/posixver (EXTRA_DIST): Add posixver.h.
45859         * modules/quote (EXTRA_DIST): Add quote.h.
45860         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
45861         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
45862         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
45863         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
45864         regex_internal.h regexec.c.
45865         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
45866         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
45867         * modules/same (EXTRA_DIST): Add same.h.
45868         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
45869         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
45870         * modules/savedir (EXTRA_DIST): Add savedir.h.
45871         * modules/sha1 (EXTRA_DIST): Add sha1.h.
45872         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
45873         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
45874         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
45875         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
45876         * modules/strdup (EXTRA_DIST): Add strdup.h.
45877         * modules/strftime (EXTRA_DIST): Add strftime.h.
45878         * modules/strndup (EXTRA_DIST): Add strndup.h.
45879         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
45880         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
45881         * modules/time_r (EXTRA_DIST): Add time_r.h.
45882         * modules/timespec (EXTRA_DIST): Add timespec.h.
45883         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45884         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
45885         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
45886         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
45887         * modules/userspec (EXTRA_DIST): Add userspec.h.
45888         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
45889         * modules/utimens (EXTRA_DIST): Add utimens.h.
45890         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
45891         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
45892         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
45893         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
45894         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
45895         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
45896         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
45897         * modules/yesno (EXTRA_DIST): Add yesno.h.
45898
45899 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45900
45901         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
45902
45903         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
45904         * m4/dev-ino.m4, same-inode.m4: Remove.
45905
45906         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
45907         * m4/acl.m4 (AC_FUNC_ACL):
45908         * m4/backupfile.m4 (gl_BACKUPFILE):
45909         * m4/c-strtod.m4 (gl_C99_STRTOLD):
45910         * m4/canon-host.m4 (gl_CANON_HOST):
45911         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45912         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
45913         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
45914         * m4/cloexec.m4 (gl_CLOEXEC):
45915         * m4/close-stream.m4 (gl_CLOSE_STREAM):
45916         * m4/closeout.m4 (gl_CLOSEOUT):
45917         * m4/dirfd.m4 (gl_FUNC_DIRFD):
45918         * m4/dirname.m4 (gl_DIRNAME):
45919         * m4/exclude.m4 (gl_EXCLUDE):
45920         * m4/exitfail.m4 (gl_EXITFAIL):
45921         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
45922         * m4/file-type.m4 (gl_FILE_TYPE):
45923         * m4/filemode.m4 (gl_FILEMODE):
45924         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
45925         * m4/fpending.m4 (gl_FUNC_FPENDING):
45926         * m4/fprintftime.m4 (gl_FPRINTFTIME):
45927         * m4/fts.m4 (gl_FUNC_FTS):
45928         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
45929         * m4/getdate.m4 (gl_GETDATE):
45930         * m4/gethrxtime.m4 (gl_GETHRXTIME):
45931         * m4/getpagesize.m4 (gl_GETPAGESIZE):
45932         * m4/getpass.m4 (gl_FUNC_GETPASS):
45933         * m4/gettime.m4 (gl_GETTIME):
45934         * m4/getugroups.m4 (gl_GETUGROUPS):
45935         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
45936         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
45937         * m4/hard-locale.m4 (gl_HARD_LOCALE):
45938         * m4/hash.m4 (gl_HASH):
45939         * m4/idcache.m4 (gl_IDCACHE):
45940         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
45941         * m4/lchown.m4 (gl_FUNC_LCHOWN):
45942         * m4/long-options.m4 (gl_LONG_OPTIONS):
45943         * m4/lstat.m4 (gl_FUNC_LSTAT):
45944         * m4/md5.m4 (gl_MD5):
45945         * m4/memcasecmp.m4 (gl_MEMCASECMP):
45946         * m4/memcoll.m4 (gl_MEMCOLL):
45947         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
45948         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
45949         * m4/memxor.m4 (gl_MEMXOR):
45950         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
45951         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
45952         * m4/modechange.m4 (gl_MODECHANGE):
45953         * m4/mountlist.m4 (gl_MOUNTLIST):
45954         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45955         * m4/openat.m4 (gl_FUNC_OPENAT):
45956         * m4/pathmax.m4 (gl_PATHMAX):
45957         * m4/physmem.m4 (gl_PHYSMEM):
45958         * m4/posixtm.m4 (gl_POSIXTM):
45959         * m4/posixver.m4 (gl_POSIXVER):
45960         * m4/quote.m4 (gl_QUOTE):
45961         * m4/quotearg.m4 (gl_QUOTEARG):
45962         * m4/readtokens.m4 (gl_READTOKENS):
45963         * m4/readutmp.m4 (gl_READUTMP):
45964         * m4/regex.m4 (gl_REGEX):
45965         * m4/safe-read.m4 (gl_SAFE_READ):
45966         * m4/safe-write.m4 (gl_SAFE_WRITE):
45967         * m4/same.m4 (gl_SAME):
45968         * m4/save-cwd.m4 (gl_SAVE_CWD):
45969         * m4/savedir.m4 (gl_SAVEDIR):
45970         * m4/settime.m4 (gl_SETTIME):
45971         * m4/sha1.m4 (gl_SHA1):
45972         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
45973         * m4/stat-macros.m4 (gl_STAT_MACROS):
45974         * m4/stat-time.m4 (gl_STAT_TIME):
45975         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
45976         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
45977         * m4/strdup.m4 (gl_FUNC_STRDUP):
45978         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
45979         * m4/strndup.m4 (gl_FUNC_STRNDUP):
45980         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
45981         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
45982         * m4/time_r.m4 (gl_TIME_R):
45983         * m4/timespec.m4 (gl_TIMESPEC):
45984         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
45985         * m4/unlinkdir.m4 (gl_UNLINKDIR):
45986         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
45987         * m4/userspec.m4 (gl_USERSPEC):
45988         * m4/utimecmp.m4 (gl_UTIMECMP):
45989         * m4/utimens.m4 (gl_UTIMENS):
45990         * m4/xalloc.m4 (gl_XALLOC):
45991         * m4/xgetcwd.m4 (gl_XGETCWD):
45992         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
45993         * m4/xreadlink.m4 (gl_XREADLINK):
45994         * m4/xstrtod.m4 (gl_XSTRTOD):
45995         * m4/yesno.m4 (gl_YESNO):
45996         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45997         to get the necessary .h files and whatnot.
45998
45999 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
46000             Bruno Haible  <bruno@clisp.org>
46001
46002         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
46003         /bin/sh understanding of '!' conditional negation.
46004
46005 2006-08-21  Jim Meyering  <jim@meyering.net>
46006
46007         * modules/openat (Depends-on): Really alphabetize.
46008
46009         * modules/acl (Depends-on): Add error and quote.
46010
46011         * check-module (find_included_lib_files): Add at-func.c to the
46012         ok-to-include-more-than-once white list.
46013
46014         * modules/openat (Depends-on): Add lstat.  Alphabetize.
46015
46016 2006-08-21  Bruno Haible  <bruno@clisp.org>
46017
46018         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46019         Emit a pkgdata_DATA variable only if some snippets add contents to it.
46020         Reported by Martin Lambers <marlam@marlam.de>.
46021
46022 2006-08-21  Bruno Haible  <bruno@clisp.org>
46023
46024         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
46025         specify an installation location, don't emit a noinst_LIBRARIES or
46026         noinst_LTLIBRARIES assignment.
46027
46028 2006-08-21  Bruno Haible  <bruno@clisp.org>
46029
46030         BeOS portability.
46031         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
46032         BeOS has mbrtowc() but no <wctype.h>.
46033
46034 2006-08-21  Bruno Haible  <bruno@clisp.org>
46035
46036         BeOS portability.
46037         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
46038         exist.
46039
46040 2006-08-21  Bruno Haible  <bruno@clisp.org>
46041
46042         BeOS portability.
46043         * lib/mbchar.h: Include <wctype.h> only if it exists.
46044
46045 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46046
46047         Remove files that are no longer needed by their respective modules.
46048         * m4/obstack.m4: Remove.
46049         * m4/strerror_r.m4: Remove.
46050         * m4/uint32_t.m4: Remove.
46051         * m4/uintptr_t.m4: Remove.
46052         * m4/ullong_max.m4: Remove.
46053         * m4/xstrtoimax.m4: Remove.
46054         * m4/xstrtoumax.m4: Remove.
46055
46056         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
46057         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
46058         dependencies now capture this.
46059
46060         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
46061         Do not use AC_LIBSOURCES, since gnulib modules now do this.
46062         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
46063         * m4/human.m4 (gl_HUMAN): Likewise.
46064         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
46065         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
46066
46067         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
46068
46069         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
46070         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
46071         stdint.
46072         * m4/human.m4 (gl_HUMAN): Likewise.
46073         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
46074         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
46075         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
46076         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
46077         * m4/xstrtol (gl_XSTRTOL): Likewise.
46078
46079         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
46080         AC_TYPE_LONG_LONG_INT.
46081         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
46082         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
46083         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
46084         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
46085
46086         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
46087         on stdbool.
46088
46089         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
46090         (gl_PREREQ_XSTRTOUL): Remove.
46091
46092         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
46093
46094         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
46095         mode.
46096
46097 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46098
46099         Add and change modules to make it easier for coreutils to use
46100         gnulib-tool.
46101         * modules/backupfile (Files): Remove m4/d-ino.m4.
46102         (Depends-on): Add d-ino.
46103         * modules/cycle-check (Depends-on): Add stdint.
46104         (lib_SOURCES): Add cycle-check.h.
46105         * modules/d-ino: New module.
46106         * modules/d-type: New module.
46107         * modules/error (Files): Remove m4/strerror_r.m4.
46108         * modules/filemode (Files): Add m4/st_dm_mode.m4.
46109         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
46110         m4/inttypes_h.m4, m4/uintmax_t.m4.
46111         (Depends-on): Add stdint.
46112         (lib_SOURCES): Add fsusage.h.
46113         * modules/getcwd (Files): Remove d-ino.m4.
46114         (Depends-on): Add d-ino.
46115         * modules/getndelim2 (Depends-on): Add stdint.
46116         * modules/glob (Files): Remove m4/d-type.m4.
46117         (Depends-on): Add d-type.
46118         * modules/host-os: New module.
46119         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
46120         m4/inttypes_h.m4, m4/uintmax_t.m4.
46121         * Depends-on: Add stdint.
46122         (lib_SOURCES): Add human.h.
46123         * modules/inttostr (Files): Remove m4/intmax_t.m4,
46124         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
46125         m4/uintmax_t.m4, m4/ulonglong.m4.
46126         (Depends-on): Add stdint.
46127         (EXTRA_DIST): Add inttostr.h.
46128         * modules/lchmod: New module.
46129         * modules/link-follow: New module.
46130         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
46131         (Depends-on): Add lchmod.
46132         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
46133         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
46134         (Depends-on): Add stdint.
46135         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
46136         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
46137         (Depends-on): Add stdint.
46138         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
46139         * modules/perl: New module.
46140         * modules/regex (Depends-on): Add stdint.
46141         * modules/rmdir-errno: New module.
46142         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
46143         m4/intmax_t.m4.
46144         (Depends-on): Add stdint.
46145         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
46146         m4/uintmax_t.m4.
46147         (Depends-on): Add stdint.
46148         * modules/unlink-busy: New module.
46149         * modules/utimecmp (Depends-on): Add stdint.
46150         * modules/uptime: New module.
46151         * modules/winsz-ioctl: New module.
46152         * modules/winsz-termios: New module.
46153         * modules/xnanosleep (Depends-on): Add nanosleep.
46154         * modules/ullong_max: Remove.
46155         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
46156         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
46157         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
46158         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
46159         (Depends-on): Add inttypes.
46160         (lib_SOURCES): Add xstrtol.h.
46161         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
46162         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
46163         * MODULES.html.sh: Move 'assert' into the assert section.
46164         Move 'dummy' into the linking section.
46165         Remove ullong_max.
46166         Add section for compatibility checks for POSIX:2001 functions,
46167         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
46168         winsz-ioctl, and winsz-termios into it.
46169         Add lchmod.
46170         Add top-level Misc section and put host-os, perl, and uptime
46171         into it.
46172
46173 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46174
46175         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
46176         now assume the stdint module.  Do not include inttypes.h.
46177         * lib/fsusage.h: Likewise.
46178         * lib/getndelim2.c: Likewise.
46179         * lib/human.h: Likewise.
46180         * lib/inttostr.h: Likewise.
46181         * lib/obstack.c: Likewise.
46182         * lib/regex_internal.h: Likewise.
46183         * lib/tempname.c: Likewise.
46184         * lib/utimecmp.c: Likewise.
46185         * lib/xstrtol.h: Likewise.
46186
46187         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
46188
46189         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
46190         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
46191         * lib/xtime.h: Likewise.
46192
46193 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46194
46195         * modules/openat (Files): Add lib/fchmodat.c.
46196         Fixes problem reported by Jay Youngman.
46197
46198 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46199
46200         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
46201         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
46202
46203 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
46204             Bruno Haible  <bruno@clisp.org>
46205
46206         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
46207         and is a script that invokes bison. Tighten the code. Add comments.
46208
46209 2006-08-18  Jim Meyering  <jim@meyering.net>
46210
46211         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
46212         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
46213         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
46214         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
46215
46216 2006-08-18  Bruno Haible  <bruno@clisp.org>
46217
46218         * modules/bison-i18n: New file.
46219         * MODULES.html.sh (Internationalization functions): Add it.
46220
46221 2006-08-18  Bruno Haible  <bruno@clisp.org>
46222
46223         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
46224         sys/statvfs.h. When getmntinfo was found, check its declaration and
46225         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
46226
46227 2006-08-18  Bruno Haible  <bruno@clisp.org>
46228
46229         * m4/bison-i18n.m4: New file, from bison.
46230
46231 2006-08-18  Bruno Haible  <bruno@clisp.org>
46232
46233         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
46234         (ME_DUMMY): Treat "kernfs" as a dummy.
46235         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
46236
46237 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
46238
46239         Update from coreutils.
46240
46241         2006-08-15  Jim Meyering  <jim@meyering.net>
46242
46243         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
46244
46245         2006-01-17  Jim Meyering  <jim@meyering.net>
46246
46247         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
46248
46249         2006-01-11  Jim Meyering  <jim@meyering.net>
46250
46251         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
46252         Check for the lchmod function.
46253
46254 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
46255
46256         Update from coreutils.
46257
46258         * lib/__fpending.h: Add copyright notice.
46259         * lib/fprintftime.h: Likewise.
46260         * lib/savedir.c: Use (C) in copyright notice.
46261         * lib/savedir.h: Likewise.
46262
46263         2006-08-15  Jim Meyering  <jim@meyering.net>
46264
46265         * lib/at-func.c: New file, with the logic of all emulated at-functions.
46266         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
46267         in support of the EXPECTED_ERRNO macro.
46268         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
46269         definitions.  Instead, define the appropriate symbols and include
46270         "at-func.c".
46271         * lib/mkdirat.c (mkdirat): Likewise.
46272         * lib/fchmodat.c (fchmodat): Likewise.
46273         (ENOSYS): Remove definition.
46274         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
46275         it.  Don't include "unistd--.h" -- it wasn't ever used.
46276
46277         2006-01-17  Jim Meyering  <jim@meyering.net>
46278
46279         Rewrite fts.c not to change the current working directory,
46280         by using openat, fstatat, fdopendir, etc..
46281
46282         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
46283         (HAVE_OPENAT_SUPPORT): Define.
46284         [_LIBC] (fchdir): Don't undef or define; no longer used.
46285         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
46286         Now, this `function' always succeeds, and consumes its file descriptor
46287         parameter -- so callers must not close such FDs.  Update callers.
46288         (diropen_fd, opendirat, cwd_advance_fd): New functions.
46289         (diropen): Add parameter, SP.  Adjust all callers.
46290         Implement using diropen_fd, rather than open.
46291         (fts_open): Initialize new member, fts_cwd_fd.
46292         Remove fts_rft-setting code.
46293         (fts_close): Close fts_cwd_fd, if necessary.
46294         (__opendir2): Define in terms of opendir or opendirat,
46295         depending on whether the FST_NOCHDIR flag is set.
46296         (fts_build): Since fts_safe_changedir consumes its FD, and since
46297         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
46298         and close the dup'd file descriptor upon failure.
46299         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
46300         (fts_safe_changedir): Tweak semantics to reflect that this function
46301         now calls cwd_advance_fd and hence consumes its FD argument.
46302         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
46303         [struct FTS] (fts_rft): Remove now-unused member.
46304         [struct FTS] (fts_cycle.state): Improve comment.
46305
46306         * lib/openat.c (openat_needs_fchdir): New function.
46307         * lib/openat.h (openat_needs_fchdir): Declare it.
46308
46309 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
46310
46311         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
46312         Problem and fix reported by Pádraig Brady in
46313         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
46314
46315 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46316
46317         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
46318
46319 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46320
46321         * lib/memcoll.c (memcoll): Optimize for the common case where the
46322         arguments are bytewise equal.
46323
46324 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46325
46326         * doc/regexprops-generic.texi: Add a copyright notice.
46327
46328 2006-08-15  Bruno Haible  <bruno@clisp.org>
46329
46330         * modules/tmpdir (License): Change to LGPL.
46331
46332 2006-08-15  Bruno Haible  <bruno@clisp.org>
46333
46334         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
46335         module.
46336
46337 2006-08-14  Simon Josefsson  <jas@extundo.com>
46338
46339         * config/srclist.txt: Add gnupload.
46340
46341 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46342
46343         Change copyright notice from LGPL 2 to GPL 2, since that's the
46344         standard form used in the gnulib repository.
46345         * tests/test-lock.c: Likewise.
46346         * tests/test-stdint.c: Likewise.
46347         * tests/test-tls.c: Likewise.
46348
46349         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
46350         prelude-manager.  User shorter URLs for GNU projects, without '?'.
46351         Add copyright notice.
46352
46353         * check-module: Add copyright notice.  Output a copyright
46354         notice if "--version" is specified.
46355         * modules/COPYING: New file.
46356         * tests/test-getaddrinfo.c: Add copyright notice.
46357         * tests/test-verify.c: Likewise.
46358
46359 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46360
46361         Change copyright notice from LGPL 2 to GPL 2, since that's the
46362         standard form used in the gnulib repository.
46363         * lib/lock.c: LGPL -> GPL.
46364         * lib/lock.h: Likewise.
46365         * lib/strnlen1.c: Likewise.
46366         * lib/strnlen1.h: Likewise.
46367         * lib/tls.c: Likewise.
46368         * lib/tls.h: Likewise.
46369         * lib/tmpdir.c: Likewise.
46370
46371         * lib/TODO: Remove; this belongs only in coreutils.
46372
46373 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46374
46375         Add copyright notices to long-enough files that lack them, since
46376         otherwise the files aren't clearly free.  Use the same notice that
46377         getdate.texi already uses.
46378         * doc/alloca-opt.texi: Add copyright notice.
46379         * doc/alloca.texi: Likewise.
46380         * doc/ctime.texi: Likewise.
46381         * doc/functions.texi: Likewise.
46382         * doc/gcd.texi: Likewise.
46383         * doc/gnulib-tool.texi: Likewise.
46384         * doc/inet_ntoa.texi: Likewise.
46385         * doc/visibility.texi: Likewise.
46386
46387         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
46388         * doc/quote.texi: Add copyright notice.
46389
46390         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
46391         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
46392         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
46393         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
46394         is now obsolete, and give a pointer to the Sun list.
46395         Add copyright notice.
46396
46397 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46398
46399         * config/srclistvars.sh: Add copyright notice.
46400
46401 2006-08-14  Eric Blake  <ebb9@byu.net>
46402
46403         Import the following change from libc:
46404
46405         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
46406
46407         Upstream bug 2997.
46408         * lib/misc/error.c: Add space between program name and message if file
46409         name is missing.
46410
46411 2006-08-12  Karl Berry  <karl@gnu.org>
46412
46413         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
46414         remove, these originate in gnulib now.
46415
46416 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46417
46418         * doc/Makefile (standards.info standards.html standards.dvi):
46419         Also depend on make-stds.texi.
46420
46421 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
46422
46423         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
46424         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
46425
46426         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
46427         in wchar_t.  Problem reported by Eric Blake.
46428
46429         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
46430         LEN is smaller than SIZE.  Suggested by Bruno Haible.
46431         Also, help the compiler to keep LEN in a register.
46432
46433 2006-08-11  Eric Blake  <ebb9@byu.net>
46434
46435         * users.txt: Sort.  Add tar.
46436
46437 2006-08-11  Bruno Haible  <bruno@clisp.org>
46438
46439         * users.txt: New file.
46440
46441 2006-08-11  Bruno Haible  <bruno@clisp.org>
46442
46443         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
46444         before <wchar.h>. Needed for OSF/1 and BSD/OS.
46445
46446 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
46447
46448         * modules/snprintf (Depends-on): Remove minmax.
46449         (Maintainer): Add self and Bruno.
46450
46451 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
46452
46453         * lib/.cppi-disable: Add snprintf.h, socket_.h.
46454         * lib/snprintf.c: Include <errno.h> and <limits.h>.
46455         (EOVERFLOW): Define if the system does not.
46456         Do not include "minmax.h"; it wasn't used.
46457         (snprintf): Don't assume size_t promotes to an unsigned type.
46458         Fix bug when generated string was too long for the buffer: the
46459         buffer's contents are supposed to be the initial prefix of the
46460         output.  Don't assume vasnprintf returns EOVERFLOW if the size
46461         exceeds INT_MAX; do the check ourselves.
46462
46463         Import the following changes from libc:
46464
46465         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
46466
46467         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
46468         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
46469         set wc to the byte which couldn't be converted.
46470         (re_string_reconstruct): Don't clear valid_raw_len before calling
46471         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
46472         tip_context using re_string_context_at.
46473
46474         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
46475
46476         * lib/posix/regex.h: g++ still cannot handled [restrict].
46477
46478         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
46479
46480         * lib/posix/regex.h: Remove special handling for VMS.
46481
46482 2006-08-10  Jim Meyering  <jim@meyering.net>
46483
46484         * modules/same-inode: New module.
46485         * modules/dev-ino: New module.
46486         * modules/cycle-check: Depend on these modules, rather than simply
46487         including their .h files.
46488         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
46489         required via m4/cycle-check.m4.
46490         * modules/same: Depend on new same-inode module, rather than
46491         including same-inode.h.
46492         * modules/chdir-safer: New file.
46493
46494         * modules/chown (Depends-on): Add stat-macros.
46495
46496 2006-08-10  Jim Meyering  <jim@meyering.net>
46497
46498         * m4/cycle-check.m4: New file.
46499         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
46500         * m4/dev-ino.m4, m4/same-inode.m4: New files.
46501
46502 2006-08-10  Eric Blake  <ebb9@byu.net>
46503
46504         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
46505         in from original proposal.
46506
46507 2006-08-10  Eric Blake  <ebb9@byu.net>
46508         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
46509
46510         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
46511         namespace.
46512
46513 2006-08-10  Bruno Haible  <bruno@clisp.org>
46514
46515         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
46516         as well.
46517
46518 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46519
46520         Sync from coreutils.
46521
46522         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
46523
46524         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
46525         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
46526
46527 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46528
46529         * modules/restrict: Remove; no longer needed now that we assume
46530         Autoconf 2.59 or later.
46531         * MODULES.html.sh: Remove 'restrict'.
46532         * modules/argp (Depends-on): Remove 'restrict'.
46533         * modules/base64 (Depends-on): Likewise.
46534         * modules/gc (Depends-on): Likewise.
46535         * modules/getaddrinfo (Depends-on): Likewise.
46536         * modules/glob (Depends-on): Likewise.
46537         * modules/inet_ntop (Depends-on): Likewise.
46538         * modules/inet_pton (Depends-on): Likewise.
46539         * modules/memxor (Depends-on): Likewise.
46540         * modules/regex (Depends-on): Likewise.
46541         * modules/strtok_r (Depends-on): Likewise.
46542         * modules/time_r (Depends-on): Likewise.
46543
46544 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46545
46546         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
46547         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
46548         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46549         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
46550         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
46551         * m4/memxor.m4 (gl_MEMXOR): Likewise.
46552         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
46553         gl_C_RESTRICT replaced by AC_C_RESTRICT.
46554
46555         Merge from coreutils.
46556         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
46557         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
46558         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
46559         * m4/time_r.m4 (gl_TIME_R): Likewise.
46560
46561 2006-08-09  Karl Berry  <karl@gnu.org>
46562
46563         * config/srclist.txt: no more gettext-tools, per Bruno.
46564
46565 2006-08-08  Eric Blake  <ebb9@byu.net>
46566
46567         * modules/verror: New module.
46568         * MODULES.html.sh: Document it.
46569
46570 2006-08-08  Eric Blake  <ebb9@byu.net>
46571
46572         * lib/verror.h, lib/verror.c: New files.
46573
46574 2006-08-08  Eric Blake  <ebb9@byu.net>
46575
46576         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
46577         verror_at_line output complies with GNU Coding Standards even when
46578         file is NULL.
46579
46580 2006-08-07  Bruno Haible  <bruno@clisp.org>
46581
46582         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
46583         versions of AIX.
46584         Reported by Ralf Wildenhues.
46585
46586 2006-08-07  Bruno Haible  <bruno@clisp.org>
46587
46588         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
46589         in an AC_DEFUN. Needed so that the autoconf snippets can use
46590         AC_REQUIRE.
46591
46592 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46593
46594         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46595         Initialize pkgdata_DATA.
46596         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
46597         overriding it.
46598
46599 2006-08-06  Eric Blake  <ebb9@byu.net>
46600
46601         * lib/error.h: Fold in some upstream changes from glibc.
46602         * lib/error.c: Likewise.
46603
46604 2006-08-04  Bruno Haible  <bruno@clisp.org>
46605
46606         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46607         Make the mostlyclean-local rule depend on mostlyclean-generic.
46608         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
46609
46610 2006-07-31  Bruno Haible  <bruno@clisp.org>
46611
46612         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
46613         <stdlib.h>, <string.h>.
46614
46615 2006-07-30  Bruno Haible  <bruno@clisp.org>
46616
46617         * modules/readlink (License): Change to LGPL.
46618
46619 2006-07-30  Bruno Haible  <bruno@clisp.org>
46620
46621         * modules/javaversion (Makefile.am): Distribute javaversion.java and
46622         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
46623         set PKGDATADIR to point to it.
46624
46625 2006-07-30  Bruno Haible  <bruno@clisp.org>
46626
46627         * modules/csharpexec (configure.ac): Comment out macro invocation.
46628         * modules/javaexec (configure.ac): Likewise.
46629         * modules/javacomp-script (configure.ac): Likewise.
46630
46631         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
46632
46633 2006-07-30  Bruno Haible  <bruno@clisp.org>
46634
46635         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
46636         linked-list.
46637
46638 2006-07-30  Bruno Haible  <bruno@clisp.org>
46639
46640         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
46641
46642 2006-07-30  Bruno Haible  <bruno@clisp.org>
46643
46644         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46645         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
46646         get removed.
46647
46648 2006-07-29  Bruno Haible  <bruno@clisp.org>
46649
46650         Make it possible for gnulib-tool to work with locally modified or
46651         augmented gnulib repositories.
46652         * gnulib-tool (func_usage): Document --local-dir option.
46653         (local_gnulib_dir): New variable.
46654         Handle --local-dir option.
46655         (func_lookup_file): New function.
46656         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
46657         (func_get_description, func_get_filelist, func_get_description,
46658         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
46659         func_get_automake_snippet, func_get_include_directive,
46660         func_get_license, func_get_maintainer): Use func_lookup_file.
46661         (func_import, func_create_testdir): Use func_lookup_file.
46662
46663 2006-07-29  Bruno Haible  <bruno@clisp.org>
46664
46665         * modules/setenv (Depends-on): Add unistd.
46666
46667 2006-07-29  Bruno Haible  <bruno@clisp.org>
46668
46669         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
46670
46671 2006-07-29  Bruno Haible  <bruno@clisp.org>
46672
46673         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
46674
46675 2006-07-29  Bruno Haible  <bruno@clisp.org>
46676
46677         * gnulib-tool (import, update): If there is no Makefile.am, look at
46678         aclocal.m4, instead of bailing out.
46679
46680 2006-07-29  Bruno Haible  <bruno@clisp.org>
46681
46682         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
46683         Categorize the options by when they are useful.
46684
46685 2006-07-29  Bruno Haible  <bruno@clisp.org>
46686
46687         * gnulib-tool (func_usage): Document option --no-libtool.
46688         Handle option --no-libtool.
46689         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
46690         for changed semantics of $libtool variable.
46691         (func_import): Likewise. If libtool is not used, show this through
46692         an option --no-libtool.
46693         (func_create_testdir): Update.
46694
46695 2006-07-29  Bruno Haible  <bruno@clisp.org>
46696
46697         * gnulib-tool (func_import): Extend error message about missing
46698         --doc-base.
46699
46700 2006-07-29  Bruno Haible  <bruno@clisp.org>
46701
46702         * gnulib-tool (func_import): Don't create the $docbase directory if
46703         there is no file to store there.
46704
46705 2006-07-29  Bruno Haible  <bruno@clisp.org>
46706
46707         * gnulib-tool (autoconf_minversion): If a --dir option is given and
46708         relevant, look for configure.ac there, not in the current directory.
46709         Also use a simple search for AC_PREREQ, not "autoconf --trace".
46710
46711 2006-07-29  Bruno Haible  <bruno@clisp.org>
46712
46713         * gnulib-tool (SORT): New variable.
46714         (func_usage): Undocument --assume-autoconf option.
46715         Remove --assume-autoconf option handling.
46716         (autoconf_minversion): Determine from the contents of configure.ac.
46717         (func_import): Remove autoconf_minversion handling.
46718         Suggested by Eric Blake.
46719
46720 2006-07-29  Bruno Haible  <bruno@clisp.org>
46721
46722         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
46723
46724 2006-07-29  Bruno Haible  <bruno@clisp.org>
46725
46726         * config/srclist.txt (*setenv.[ch]): Remove rules.
46727
46728 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46729
46730         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
46731
46732 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46733
46734         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
46735         arpa/inet.h.
46736
46737 2006-07-28  Simon Josefsson  <jas@extundo.com>
46738
46739         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
46740         * modules/inet_pton (Depends-on): Likewise.
46741
46742 2006-07-28  Simon Josefsson  <jas@extundo.com>
46743
46744         * m4/netinet_in_h.m4: New file.
46745
46746 2006-07-28  Simon Josefsson  <jas@extundo.com>
46747
46748         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
46749         #include's.
46750
46751 2006-07-28  Simon Josefsson  <jas@extundo.com>
46752
46753         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
46754         #include's.
46755
46756 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
46757
46758         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
46759         setgid on directories only if they set these bits.
46760         * lib/modechange.h: Remove obsolete comment about masks.
46761
46762 2006-07-28  Eric Blake  <ebb9@byu.net>
46763
46764         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
46765         macro expansion.
46766
46767 2006-07-28  Bruno Haible  <bruno@clisp.org>
46768
46769         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
46770
46771 2006-07-28  Bruno Haible  <bruno@clisp.org>
46772
46773         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
46774
46775 2006-07-28  Bruno Haible  <bruno@clisp.org>
46776
46777         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
46778         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
46779         Define fallbacks.
46780         Avoids link error on FreeBSD 4.x.
46781         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46782
46783         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
46784         encoding.
46785         * lib/mbswidth.c (iswcntrl): Likewise.
46786
46787 2006-07-27  Bruno Haible  <bruno@clisp.org>
46788
46789         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
46790         test.
46791
46792 2006-07-27  Bruno Haible  <bruno@clisp.org>
46793
46794         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
46795         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
46796         defined.
46797
46798 2006-07-26  Eric Blake  <ebb9@byu.net>
46799
46800         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
46801
46802 2006-07-26  Eric Blake  <ebb9@byu.net>
46803
46804         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
46805         like mingw that lack mkstemp.
46806         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
46807         avoid compilation warning on mingw.
46808
46809 2006-07-26  Bruno Haible  <bruno@clisp.org>
46810
46811         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
46812         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
46813         INT_FAST*_MIN, INTPTR_MIN.
46814
46815 2006-07-25  Bruno Haible  <bruno@clisp.org>
46816
46817         * modules/version-etc (Depends-on): Add stdarg.
46818
46819 2006-07-25  Bruno Haible  <bruno@clisp.org>
46820
46821         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
46822         complex commands.
46823
46824 2006-07-25  Bruno Haible  <bruno@clisp.org>
46825
46826         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
46827         defined in <stdarg.h> or config.h.
46828
46829 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46830
46831         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
46832         (gl_STDIO_SAFER): Remove.
46833
46834 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46835
46836         * MODULES.html.sh (File stream based Input/Output):
46837         Add fopen-safer, tmpfile-safer; remove stdio-safer.
46838         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
46839         * modules/fopen-safer, modules/tmpfile-safer: New files.
46840         * modules/stdio-safer: Remove.
46841
46842 2006-07-24  Bruno Haible  <bruno@clisp.org>
46843
46844         * modules/tmpdir: New file.
46845         * MODULES.html.sh (File system functions): Add it.
46846
46847 2006-07-24  Bruno Haible  <bruno@clisp.org>
46848
46849         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
46850         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
46851
46852 2006-07-24  Bruno Haible  <bruno@clisp.org>
46853
46854         * modules/clean-temp: New file.
46855
46856 2006-07-24  Bruno Haible  <bruno@clisp.org>
46857
46858         * m4/tmpdir.m4: New file, from GNU gettext.
46859
46860 2006-07-24  Bruno Haible  <bruno@clisp.org>
46861
46862         * lib/tmpdir.h: New file, from GNU gettext.
46863         * lib/tmpdir.c: New file, from GNU gettext.
46864
46865 2006-07-24  Bruno Haible  <bruno@clisp.org>
46866
46867         * lib/clean-temp.h: New file, from GNU gettext.
46868         * lib/clean-temp.c: New file, from GNU gettext.
46869
46870 2006-07-23  Eric Blake  <ebb9@byu.net>
46871
46872         * modules/stdio-safer (Files): Add tmpfile-safer.c.
46873         (Depends-on): Add binary-io.
46874
46875 2006-07-23  Eric Blake  <ebb9@byu.net>
46876
46877         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
46878
46879 2006-07-23  Eric Blake  <ebb9@byu.net>
46880
46881         * lib/tmpfile-safer.c: New file.
46882         * lib/stdio-safer.h (fopen_safer): Add prototype.
46883         * lib/stdio--.h (tmpfile): Make safer.
46884
46885 2006-07-23  Bruno Haible  <bruno@clisp.org>
46886
46887         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
46888         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
46889         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
46890         gl_linked_remove_at): Use it.
46891
46892 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46893         and Simon Josefsson <jas@extundo.com>
46894
46895         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
46896
46897         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
46898
46899 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46900
46901         * modules/close-stream: New file.
46902         * modules/closeout (Description): Make it clear that it exits
46903         with a diagnostic on error.
46904         (Depends-on): Add close-stream.  Remove fpending, stdbool.
46905         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
46906
46907 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46908
46909         * m4/close-stream.m4: New file.
46910
46911 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46912
46913         * lib/close-stream.c, lib/close-stream.h: New files.
46914
46915 2006-07-22  Bruno Haible  <bruno@clisp.org>
46916
46917         Merge from GNU gettext 0.15.
46918
46919         2006-05-01  Bruno Haible  <bruno@clisp.org>
46920
46921                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
46922
46923         2006-07-22  Bruno Haible  <bruno@clisp.org>
46924
46925                 * modules/javaversion: New file.
46926                 * MODULES.html.sh (Java): Add javaversion.
46927
46928         2006-03-12  Bruno Haible  <bruno@clisp.org>
46929
46930                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
46931
46932         2005-12-04  Bruno Haible  <bruno@clisp.org>
46933
46934                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
46935                 (untested).
46936
46937         2006-06-21  Bruno Haible  <bruno@clisp.org>
46938
46939                 Avoid warnings from recent versions of mcs.
46940                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
46941                 -o, -L, -r any more. Use options documented since mcs-1.0
46942                 instead. Similarly for -g.
46943
46944         2005-12-04  Bruno Haible  <bruno@clisp.org>
46945
46946                 * build-aux/csharpcomp.sh.in: Suffix for resources is
46947                 .resources, not .resource.
46948
46949         2005-07-09  Bruno Haible  <bruno@clisp.org>
46950
46951                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
46952                 add a .dll suffix.
46953                 Reported by Mark Junker <mjscod@gmx.de>.
46954
46955         2006-07-22  Bruno Haible  <bruno@clisp.org>
46956
46957                 * modules/gettext: Upgrade to gettext-0.15.
46958                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
46959                 m4/visibility.m4.
46960                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
46961
46962 2006-07-22  Bruno Haible  <bruno@clisp.org>
46963
46964         Merge from GNU gettext 0.15.
46965
46966         2006-03-25  Bruno Haible  <bruno@clisp.org>
46967
46968                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
46969
46970         2006-07-21  Bruno Haible  <bruno@clisp.org>
46971
46972                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
46973                 "1.1".
46974
46975         2006-05-09  Bruno Haible  <bruno@clisp.org>
46976
46977                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
46978                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
46979                 for the conftestver execution.
46980
46981         2006-05-01  Bruno Haible  <bruno@clisp.org>
46982
46983                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
46984                 optional target-version argument. Verify that the compiler
46985                 groks source of the specified source-version, or add -source
46986                 option as necessary. Verify that the compiler produces
46987                 bytecode in the specified target-version, or add -target and
46988                 -source options as necessary. Make the result of the test
46989                 available as variable CONF_JAVAC. Also log error output in
46990                 config.log.
46991
46992         2006-03-11  Bruno Haible  <bruno@clisp.org>
46993
46994                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
46995
46996         2006-05-09  Bruno Haible  <bruno@clisp.org>
46997
46998                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
46999                 CLASSPATH_SEPARATOR to a semicolon.
47000
47001         2006-03-12  Bruno Haible  <bruno@clisp.org>
47002
47003                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
47004                 available as variable CONF_JAVA, for subsequent autoconf
47005                 tests. Also log error output in config.log.
47006
47007         2006-07-19  Bruno Haible  <bruno@clisp.org>
47008
47009                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
47010                 that getline works on glibc2 systems. Needed to avoid trouble
47011                 in relocatable.c.
47012                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
47013
47014         2005-12-04  Bruno Haible  <bruno@clisp.org>
47015
47016                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
47017                 launcher (untested).
47018
47019         2005-12-04  Bruno Haible  <bruno@clisp.org>
47020
47021                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
47022
47023         2006-07-22  Bruno Haible  <bruno@clisp.org>
47024
47025                 * gettext.m4: Update from GNU gettext-0.15.
47026                 * nls.m4: Likewise.
47027                 * po.m4: Likewise.
47028                 * inttypes-pri.m4: Likewise.
47029                 * inttypes-h.m4: Renamed from inttypes.m4.
47030                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
47031
47032 2006-07-22  Bruno Haible  <bruno@clisp.org>
47033
47034         Merge from GNU gettext 0.15.
47035
47036         2005-07-05  Bruno Haible  <bruno@clisp.org>
47037
47038                 * printf-args.c (printf_fetchargs): Work around broken
47039                 definition of wint_t on mingw.
47040
47041         2005-02-12  Bruno Haible  <bruno@clisp.org>
47042
47043                 * xallocsa.h: Add extern "C" for C++.
47044
47045         2006-05-17  Bruno Haible  <bruno@clisp.org>
47046
47047                 Cygwin portability.
47048                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
47049
47050         2006-04-30  Bruno Haible  <bruno@clisp.org>
47051
47052                 * progreloc.c: Include <mach-o/dyld.h> if available.
47053                 (find_executable): Use _NSGetExecutablePath when possible.
47054
47055         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
47056
47057                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
47058                 function.
47059
47060         2005-12-29  Bruno Haible  <bruno@clisp.org>
47061
47062                 * progreloc.c (set_program_name_and_installdir): Fix
47063                 compilation error.
47064
47065         2005-12-04  Bruno Haible  <bruno@clisp.org>
47066
47067                 Cygwin portability.
47068                 * progreloc.c: Include <windows.h> also on Cygwin.
47069                 (find_executable): Add support for Cygwin.
47070                 (set_program_name_and_installdir): Handle also platforms with
47071                 nonempty EXEEXT.
47072
47073         2006-07-11  Bruno Haible  <bruno@clisp.org>
47074
47075                 * javacomp.c: Fix a comment.
47076                 Reported by Jim Meyering.
47077
47078         2006-04-30  Bruno Haible  <bruno@clisp.org>
47079
47080                 * javacomp.h (compile_java_class): Add source_version,
47081                 target_version arguments.
47082                 * javacomp.c: Rewritten to choose only a compiler that
47083                 respects the specified source_version and target_version.
47084
47085         2006-06-27  Bruno Haible  <bruno@clisp.org>
47086
47087                 Assume correct S_ISDIR macro.
47088                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
47089
47090         2006-07-22  Bruno Haible  <bruno@clisp.org>
47091
47092                 * javaversion.h: New file, from GNU gettext.
47093                 * javaversion.c: New file, from GNU gettext.
47094                 * javaversion.java: New file, from GNU gettext.
47095                 * javaversion.class: New file, from GNU gettext.
47096
47097         2006-05-17  Bruno Haible  <bruno@clisp.org>
47098
47099                 Cygwin portability.
47100                 * javaexec.c (execute_java_class): Test for jview program
47101                 also on Cygwin.
47102
47103         2006-04-09  Bruno Haible  <bruno@clisp.org>
47104
47105                 * fatal-signal.c: Don't include string.h.
47106                 (at_fatal_signal): Use a copying loop instead of memcpy.
47107
47108         2005-12-04  Bruno Haible  <bruno@clisp.org>
47109
47110                 * csharpexec.c: Add support for 'clix' launcher (untested).
47111                 (execute_csharp_using_sscli): New function.
47112                 (execute_csharp_program): Call it.
47113
47114         2006-06-21  Bruno Haible  <bruno@clisp.org>
47115
47116                 Avoid warnings from recent versions of mcs.
47117                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
47118                 -o, -L, -r any more. Use options documented since mcs-1.0
47119                 instead. Similarly for -g.
47120
47121         2005-07-09  Bruno Haible  <bruno@clisp.org>
47122
47123                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
47124                 add a .dll suffix.
47125                 Reported by Mark Junker <mjscod@gmx.de>.
47126
47127         2006-06-17  Bruno Haible  <bruno@clisp.org>
47128
47129                 * config.charset: Update for NetBSD 3.0.
47130
47131         2006-05-17  Bruno Haible  <bruno@clisp.org>
47132
47133                 Cygwin portability.
47134                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
47135
47136         2006-05-16  Bruno Haible  <bruno@clisp.org>
47137
47138                 * localcharset.c [CYGWIN]: Include <windows.h>.
47139                 (get_charset_aliases): For Cygwin, return the same CPxxx
47140                 aliases list as under WIN32.
47141                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
47142                 the environment variables. Fall back to GetACP().
47143
47144         2006-04-05  Bruno Haible  <bruno@clisp.org>
47145
47146                 * config.charset: Update Juan Manuel Guerrero's address.
47147
47148         2005-02-12  Bruno Haible  <bruno@clisp.org>
47149
47150                 * allocsa.h: Add extern "C" for C++.
47151
47152         2005-02-10  Bruno Haible  <bruno@clisp.org>
47153
47154                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
47155                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
47156
47157         2006-07-22  Bruno Haible  <bruno@clisp.org>
47158
47159                 * gettext.h: Update to GNU gettext-0.15.
47160
47161 2006-07-22  Bruno Haible  <bruno@clisp.org>
47162
47163         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
47164         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
47165         lib-prefix.m4, longdouble.m4, ssize_t.m4.
47166
47167 2006-07-21  Eric Blake  <ebb9@byu.net>
47168
47169         * modules/stdlib-safer: New file.
47170         * MODULES.html.sh (File stream based Input/Output): Add
47171         stdlib-safer.
47172
47173 2006-07-21  Eric Blake  <ebb9@byu.net>
47174
47175         * lib/stdlib-safer.h: New file from coreutils, required by
47176         stdlib--.h.
47177
47178 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
47179
47180         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
47181
47182 2006-07-20  Bruno Haible  <bruno@clisp.org>
47183
47184         * gnulib-tool: Recognize new option --assume-autoconf.
47185         (autoconf_minversion): New variable.
47186         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
47187
47188 2006-07-20  Bruno Haible  <bruno@clisp.org>
47189
47190         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
47191
47192 2006-07-19  Derek R. Price  <derek@ximbiot.com>
47193
47194         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
47195         Reindent and repaginate.
47196
47197 2006-07-19  Derek Price  <derek@ximbiot.com>
47198
47199         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
47200         Correct grammar.
47201
47202 2006-07-17  Bruno Haible  <bruno@clisp.org>
47203
47204         * modules/list: New file.
47205         * modules/array-list: New file.
47206         * modules/carray-list, modules/carray-list-tests: New files.
47207         * modules/linked-list, modules/linked-list-tests: New files.
47208         * modules/avltree-list, modules/avltree-list-tests: New files.
47209         * modules/rbtree-list, modules/rbtree-list-tests: New files.
47210         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
47211         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
47212         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
47213         * modules/oset: New file.
47214         * modules/array-oset: New file.
47215         * modules/avltree-oset, modules/avltree-oset-tests: New files.
47216         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
47217         * tests/test-carray_list.c: New file.
47218         * tests/test-linked_list.c: New file.
47219         * tests/test-avltree_list.c: New file.
47220         * tests/test-rbtree_list.c: New file.
47221         * tests/test-linkedhash_list.c: New file.
47222         * tests/test-avltreehash_list.c: New file.
47223         * tests/test-rbtreehash_list.c: New file.
47224         * tests/test-avltree_oset.c: New file.
47225         * tests/test-rbtree_oset.c: New file.
47226         * MODULES.html.sh (Container data structures): New section.
47227
47228 2006-07-17  Bruno Haible  <bruno@clisp.org>
47229
47230         * m4/gl_list.m4: New file.
47231
47232 2006-07-17  Bruno Haible  <bruno@clisp.org>
47233
47234         * lib/gl_list.h: New file.
47235         * lib/gl_list.c: New file.
47236         * lib/gl_array_list.h: New file.
47237         * lib/gl_array_list.c: New file.
47238         * lib/gl_carray_list.h: New file.
47239         * lib/gl_carray_list.c: New file.
47240         * lib/gl_linked_list.h: New file.
47241         * lib/gl_linked_list.c: New file.
47242         * lib/gl_anylinked_list1.h: New file.
47243         * lib/gl_anylinked_list2.h: New file.
47244         * lib/gl_avltree_list.h: New file.
47245         * lib/gl_avltree_list.c: New file.
47246         * lib/gl_anyavltree_list1.h: New file.
47247         * lib/gl_anyavltree_list2.h: New file.
47248         * lib/gl_rbtree_list.h: New file.
47249         * lib/gl_rbtree_list.c: New file.
47250         * lib/gl_anyrbtree_list1.h: New file.
47251         * lib/gl_anyrbtree_list2.h: New file.
47252         * lib/gl_anytree_list1.h: New file.
47253         * lib/gl_anytree_list2.h: New file.
47254         * lib/gl_linkedhash_list.h: New file.
47255         * lib/gl_linkedhash_list.c: New file.
47256         * lib/gl_anyhash_list1.h: New file.
47257         * lib/gl_anyhash_list2.h: New file.
47258         * lib/gl_avltreehash_list.h: New file.
47259         * lib/gl_avltreehash_list.c: New file.
47260         * lib/gl_rbtreehash_list.h: New file.
47261         * lib/gl_rbtreehash_list.c: New file.
47262         * lib/gl_anytreehash_list1.h: New file.
47263         * lib/gl_anytreehash_list2.h: New file.
47264
47265         * lib/gl_oset.h: New file.
47266         * lib/gl_oset.c: New file.
47267         * lib/gl_array_oset.h: New file.
47268         * lib/gl_array_oset.c: New file.
47269         * lib/gl_avltree_oset.h: New file.
47270         * lib/gl_avltree_oset.c: New file.
47271         * lib/gl_rbtree_oset.h: New file.
47272         * lib/gl_rbtree_oset.c: New file.
47273         * lib/gl_anytree_oset.h: New file.
47274
47275 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
47276
47277         * m4/mkancesdirs.m4: New file.
47278         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
47279         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
47280         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
47281         it.
47282
47283 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
47284
47285         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
47286         * lib/mkancesdirs.h: New files.
47287         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
47288         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
47289         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
47290         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
47291         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
47292         callers changed.  Revamp internals significantly, by not
47293         attempting to create directories that are temporarily more
47294         permissive than the final results.  Do not attempt to use
47295         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
47296         This removes some race conditions, fixes some bugs, and simplifies
47297         things.  Use new dirchownmod function to do owner and mode changes.
47298         * lib/mkdir-p.h: Likewise.
47299         * lib/modechange.c (octal_to_mode): New function.
47300         (struct mode_change): New member mentioned.
47301         (make_node_op_equals): New arg mentioned.  All callers changed.
47302         (mode_compile): Keep track of which mode bits the user has explicitly
47303         mentioned.
47304         (mode_adjust): New arg DIR, so that we implement the X op correctly.
47305         New arg PMODE_BITS, to keep track of which mode bits the user
47306         mentioned; it treats S_ISUID and S_ISGID speciall.
47307         All callers changed.
47308         * lib/modechange.h: Likewise.
47309
47310 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
47311
47312         * MODULES.html.sh: Add mkancestors.
47313         * modules/mkancesdirs: New module.
47314         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
47315         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
47316         The chdir-safer and afs files are now orphans; I'll remove them
47317         unless someone speaks up.
47318         Add lib/dirchownmod.c, lib/dirchownmod.h.
47319         (Depends-on): Remove alloca, chown, save-cwd, dirname.
47320         Add lchown, mkancesdirs.
47321         (Maintainer): Add self.
47322
47323 2006-07-15  Karl Berry  <karl@gnu.org>
47324
47325         * gnulib-tool: help message wording/arrangement.
47326
47327 2006-07-14  Simon Josefsson  <jas@extundo.com>
47328
47329         * doc/gnulib.texi (Libtool and Windows): New section.
47330
47331 2006-07-12  Simon Josefsson  <jas@extundo.com>
47332
47333         * modules/gendocs (License): Fix license, approved by Karl.
47334
47335 2006-07-12  Eric Blake  <ebb9@byu.net>
47336
47337         * MODULES.html.sh: Add gendocs.
47338
47339 2006-07-11  Eric Blake  <ebb9@byu.net>
47340
47341         * modules/fdl: New module, to install doc/fdl.texi.
47342         * MODULES.html.sh: Add new section for documentation modules.
47343         * gnulib-tool: Avoid space-tab.
47344         (--doc-base): New option, to manage files from doc.
47345
47346 2006-07-11  Eric Blake  <ebb9@byu.net>
47347
47348         * m4/absolute-header.m4: Fix comments to match recent change.
47349
47350 2006-07-11  Eric Blake  <ebb9@byu.net>
47351
47352         * gnulib-tool: List --doc-base before --tests-base.
47353
47354 2006-07-11  Derek R. Price  <derek@ximbiot.com>
47355
47356         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
47357
47358 2006-07-11  Bruno Haible  <bruno@clisp.org>
47359
47360         * README: Mention where to put documentation.
47361
47362 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47363
47364         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
47365
47366 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
47367
47368         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
47369         to stdint.m4.
47370
47371 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
47372
47373         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
47374         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
47375         "no/such/file/stdint.h" when there is no such file, so that
47376         the resulting C code can be parsed by dodgy compilers.
47377         Problems reported by Bob Proulx.
47378
47379 2006-07-10  Derek R. Price  <derek@ximbiot.com>
47380
47381         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
47382         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
47383         macros into the GNU _D_EXACT_NAMLEN.
47384         * lib/savedir.c:  Likewise.
47385         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
47386
47387 2006-07-10  Derek R. Price  <derek@ximbiot.com>
47388         and Paul Eggert  <eggert@cs.ucla.edu>
47389
47390         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
47391         * m4/savedir.m4:
47392         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
47393         macros into the GNU _D_EXACT_NAMLEN.
47394
47395 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47396
47397         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
47398         around the absolute name, to work around a problem with the HP-UX
47399         11.23 native C compiler, reported by Bob Proulx.
47400
47401 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47402
47403         * doc/maintain.texi, make-stds.texi: Sync from
47404         <http://savannah.gnu.org/projects/gnustandards>.
47405
47406 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47407
47408         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
47409
47410 2006-07-09  Jim Meyering  <jim@meyering.net>
47411
47412         * m4/glob.m4: Remove a doubled word in a comment.
47413
47414 2006-07-09  Jim Meyering  <jim@meyering.net>
47415
47416         * lib/argp-pv.c: Remove a doubled word in a comment.
47417         * lib/check-version.c (check_version): Likewise.
47418         * lib/javacomp.c (compile_java_class): Likewise.
47419
47420 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
47421
47422         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
47423         for the benefit of people using Autoconf 2.60.  If you want to
47424         support older Autoconf versions you can copy m4/onceonly_2_57.m4
47425         (or m4/onceonly.m4, if pre-2.57) manually.
47426
47427 2006-07-08  Jim Meyering  <jim@meyering.net>
47428
47429         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
47430         comment.
47431         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
47432         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
47433         comment.
47434
47435 2006-07-08  Jim Meyering  <jim@meyering.net>
47436
47437         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
47438
47439 2006-07-07  Simon Josefsson  <jas@extundo.com>
47440
47441         * tests/test-crc.c: Change expected crc value, the test vector
47442         were probably computed using the old broken crc.c?
47443
47444 2006-07-06  Simon Josefsson  <jas@extundo.com>
47445
47446         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
47447         now the canonical place for the M4 file).
47448
47449         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
47450         from the sys_socket dependency now.
47451
47452         * modules/inet_pton (Files): Ditto.
47453
47454         * modules/inet_ntop (Files): Ditto.
47455
47456 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
47457
47458         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
47459         not gl_PREREQ_GETUSERSHELL.
47460
47461 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47462
47463         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
47464         with only one argument, for Autoconf 2.60.
47465         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
47466         expand to nothing, so add a shell command to avoid syntax error.
47467         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
47468
47469 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47470
47471         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
47472
47473 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
47474
47475         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
47476         no longer needed.  Check for isblank decl.
47477         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
47478         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
47479         of existence.
47480
47481 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
47482
47483         * lib/getloadavg.c: Use __VMS, not VMS.
47484         * lib/getopt.c: Likewise.
47485         * lib/getpagesize.h: Likewise.
47486         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
47487         and probably does not work.
47488
47489 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
47490
47491         * lib/.cppi-disable: Add wcwidth.
47492         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
47493         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
47494         (ISGRAPH): Remove.  All uses changed to isgraph.
47495         (FOLD) [!defined _LIBC]: Remove special case.
47496         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
47497         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
47498         HAVE_ISBLANK.
47499         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
47500         case.
47501
47502 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
47503
47504         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
47505         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
47506         brackets.  Other minor changes to suppress some compiler
47507         warnings.
47508
47509 2006-07-06  Derek R. Price  <derek@ximbiot.com>
47510         and Paul Eggert  <eggert@cs.ucla.edu>
47511
47512         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
47513         of invoking obsolescent AC_HEADER_DIRENT macro.
47514         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
47515         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
47516         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
47517         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
47518         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
47519         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
47520         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
47521         * m4/readdir.m4: Remove; no longer needed.
47522
47523 2006-07-06  Derek R. Price  <derek@ximbiot.com>
47524         and Paul Eggert  <eggert@cs.ucla.edu>
47525
47526         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
47527         Don't worry about this obsolete case any more.
47528         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
47529         directories.
47530         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
47531         worry about this obsolete case any more.
47532         * lib/fts.c: Likewise.
47533         * lib/getcwd.c: Likewise.
47534         * lib/glob.h: Likewise.
47535         * lib/savedir.c: Likewise.
47536
47537 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
47538
47539         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
47540         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
47541         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
47542         needed.
47543         All uses removed.
47544         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
47545         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
47546         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
47547         needed.
47548         * m4/getdate.m4 (gl_GETDATE): Likewise.
47549         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
47550         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
47551         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
47552         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
47553         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
47554         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
47555         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
47556         needed.
47557
47558 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
47559
47560         * lib/memcasecmp.c: Include <limits.h>.
47561         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
47562         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
47563         Don't assume isdigit succeeds only on '0' through '9'.
47564
47565 2006-07-05  Eric Blake  <ebb9@byu.net>
47566
47567         * modules/getaddrinfo (Depends-on): Add snprintf.
47568
47569 2006-07-05  Eric Blake  <ebb9@byu.net>
47570
47571         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
47572         to avoid 'header present but could not be compiled' on cygwin.
47573
47574 2006-07-05  Eric Blake  <ebb9@byu.net>
47575
47576         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
47577         missing from netdb.h.
47578         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
47579
47580 2006-07-05  Derek R. Price  <derek@ximbiot.com>
47581
47582         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
47583         no longer needed.
47584         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
47585         * m4/getdate.m4 (gl_GETDATE): Likewise.
47586         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
47587         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
47588         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
47589         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
47590         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
47591
47592 2006-07-05  Derek R. Price  <derek@ximbiot.com>
47593
47594         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
47595         All uses of is_space replaced by isspace.
47596         * lib/exit.h: Don't talk about STDC_HEADERS.
47597         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
47598         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
47599         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
47600         replaced by isprint etc.
47601         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
47602         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
47603         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
47604         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
47605         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
47606         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
47607
47608 2006-07-05  Bruno Haible  <bruno@clisp.org>
47609
47610         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
47611         the function exists, before testing against AIX.
47612         Reported by Martin Lambers <marlam@marlam.de>.
47613
47614 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
47615
47616         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
47617         From Mark D. Baushke.
47618
47619 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
47620
47621         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
47622         to the absolute name, not just one, to bypass Sun C 5.8's
47623         "warning: #include of /usr/include/... may be non-portable".
47624
47625 2006-07-04  Eric Blake  <ebb9@byu.net>
47626
47627         * modules/dirname-tests: New test module.
47628         * tests/test-dirname.c: New file, replacing dirname.c
47629         TEST_DIRNAME section that was recently deleted.
47630
47631 2006-07-04  Bruno Haible  <bruno@clisp.org>
47632
47633         Assume ANSI C header files and <ctype.h> functions.
47634         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
47635         (mbsnwidth): Use isprint, iscntrl instead.
47636
47637 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47638
47639         Merge from coreutils.
47640         * MODULES.html.sh: Add xstrtold.
47641         * modules/xstrtold: New file.
47642         * modules/cycle-check (Files): Add lib/same-inode.h.
47643         * modules/dirname (Files): Add m4/double-slash-root.m4.
47644         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
47645         * modules/mkdir-p (Files): Add lib/same-inode.h.
47646         * modules/same (Files): Add lib/same-inode.h.
47647
47648 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47649
47650         * m4/absolute-header.m4: Renamed from full-header-path.m4.
47651         This is to keep the terminology clean; POSIX talks about
47652         "absolute pathnames", not "full pathnames", but the GNU
47653         Coding Standards say to use "path" for something else;
47654         so use "absolute" to keep both sides happy.
47655         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
47656         Set gl_absolute_header, not gl_full_header_path.
47657         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
47658         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
47659         All uses changed.
47660
47661         Merge from coreutils.
47662
47663         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
47664
47665         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
47666         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
47667         want to require the building of c-strtod.o.
47668         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
47669         needs -lm directly.
47670         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
47671
47672         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47673
47674         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
47675         --as-needed option if available.  Problem reported by Albert Chin in
47676         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
47677         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
47678         cc merely issues a bunch of annoying warnings for --as-needed
47679         (this problem was reported by Bob Proulx).  Also, try linking with
47680         -lm to detect a bug in binutils 2.16 (this problem was reported
47681         by Ralf Wildenhues).
47682
47683         2006-06-18  Jim Meyering  <jim@meyering.net>
47684
47685         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
47686         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
47687         macro.
47688         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
47689         also check for glibc-2.4's abort-inducing bug.
47690
47691         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
47692         Low-probability clean-up should be to use rmdir to get rid of
47693         the just-created directory, not unlink.
47694
47695         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
47696         configure fail, and request a bug report to inform us about it.
47697         Add a comment that, barring reports to the contrary, in 2007 we'll
47698         assume ftruncate is universally available.
47699
47700         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47701
47702         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
47703
47704         2006-03-12  Jim Meyering  <jim@meyering.net>
47705
47706         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
47707         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
47708         * m4/same.m4 (gl_SAME): Likewise.
47709         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
47710
47711         2006-03-11  Eric Blake  <ebb9@byu.net>
47712
47713         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
47714         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
47715         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
47716         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
47717
47718 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47719
47720         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
47721         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
47722         reported by Mark D. Baushke, one in
47723         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
47724
47725         Merge from coreutils.
47726
47727         * lib/.cppi-disable: Add stdint_.h.
47728         * lib/.cvsignore: Add stdint.h.
47729
47730         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
47731
47732         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
47733         both double and long double versions.
47734         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
47735         * lib/xstrtold.c: New file.
47736         * lib/xstrtod.h (xstrtold): New decl.
47737
47738         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
47739
47740         * lib/filemode.c (setst): Remove.
47741         (strmode): Rewrite to avoid setst.  This makes the code shorter,
47742         (arguably) clearer, and the generated code is a bit smaller on my
47743         Debian GNU/Linux stable x86 host.
47744
47745         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47746
47747         * lib/filemode.c: Include "filemode.h" first, to test the interface.
47748         Assume that filemode.h includes sys/types.h and sys/stat.h.
47749         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
47750         (ftypelet): Reorder to put common cases first, for efficiency.
47751         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
47752         to do 'M'.
47753         (strmode): Renamed from mode_string, and now stores 12 bytes instead
47754         of 10, for compatibility with FreeBSD.  All callers changed.
47755         (filemodestring): Now stores 12 bytes instead of 10, and sets file
47756         types that can't be deduced solely from st_mode.  First arg is now a
47757         const pointer.
47758         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
47759         (strmode): Renamed from mode_string.
47760         (filemodestring): New decl.
47761         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
47762         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
47763         needed.
47764         (S_ISPORT, S_ISWHT): New macros, if not already defined.
47765
47766         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47767
47768         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
47769         fsusage.h now does that.  Include fsusage.h first, to test interface.
47770         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
47771         at most one method (the old code could have generated decls that
47772         didn't conform to C89, not that this was ever exercised).
47773         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
47774
47775         2006-03-19  Jim Meyering  <jim@meyering.net>
47776
47777         Work even in a chroot where d_ino values for entries in "/"
47778         don't match the stat.st_ino values for the same names.
47779         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
47780         number, iterate through all entries again, using lstat instead.
47781         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
47782         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
47783
47784         * lib/getcwd.c (__getcwd): Clarify a comment.
47785         Use memcpy in place of a call to strcpy.
47786
47787         2006-03-12  Jim Meyering  <jim@meyering.net>
47788
47789         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
47790         matches that of the current directory (which we're about to chdir ".."
47791         out of), then save the dev-ino of the parent, instead.
47792
47793         * lib/same-inode.h (SAME_INODE): New file/macro.
47794         * lib/chdir-safer.c (SAME_INODE): Remove definition.
47795         Include "same-inode.h", instead.
47796         * lib/same.c: Likewise.
47797         * lib/cycle-check.h: Include "same-inode.h".
47798         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
47799         * lib/cycle-check.c (SAME_INODE): Remove definition.
47800         * lib/root-dev-ino.h: Include "same-inode.h".
47801
47802         2006-03-11  Eric Blake  <ebb9@byu.net>
47803
47804         * lib/same.c (same_name): s/base_name/last_component/
47805         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
47806         * lib/filenamecat.c (file_name_concat): Likewise.
47807
47808         2006-03-11  Eric Blake  <ebb9@byu.net>,
47809                     Paul Eggert  <eggert@cs.ucla.edu>
47810
47811         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
47812         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
47813         drive prefix.
47814         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
47815         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
47816         (last_component): New method.
47817         * lib/dirname.c (dir_len): Determine when drive letters need a
47818         subsequent slash.  Preserve // when it is special.
47819         (dir_name): Don't append dot when drive letter is absolute.
47820         [TEST_DIRNAME]: Move into a full-blown gnulib test.
47821         * lib/basename.c (base_name): New semantics - malloc the result.
47822         Preserve // when it is special.  Preserve relative files that look
47823         like drive letters.
47824         (base_len): Preserve // when it is special.
47825         (last_component): New method, similar to old base_name semantics.
47826         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
47827         base_name.  Strip redundant slashes from ///.
47828
47829 2006-07-03  Jim Meyering  <jim@meyering.net>
47830
47831         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
47832         macro is used before the first cycle_check call.
47833
47834 2006-07-03  Eric Blake  <ebb9@byu.net>
47835
47836         * modules/dirname (Depends-on): Add xstrndup.
47837
47838 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47839
47840         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
47841         test cases, so that config.log is a bit easier to follow.
47842
47843 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47844
47845         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
47846         both are 64 bits, since this seems to be the tradition, and this
47847         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
47848         we ever run into a host that prefers long long to long in this
47849         case, we'll need another configure-time test.  Problem reported by
47850         Jim Meyering.
47851
47852 2006-07-02  Eric Blake  <ebb9@byu.net>
47853
47854         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
47855
47856 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47857
47858         * modules/inttypes (Depends-on): No longer depends on stdint.
47859         * modules/stdint (Description): Say more about assumptions.
47860         Say that the fast types might differ.  Say macros are used.
47861         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
47862         (Makefile.am): Revise list of substituted symbols to match
47863         new stdint.m4.
47864         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
47865         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
47866         * tests/test-stdint.c (verify_same_types)
47867         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
47868         the code conforms to C99/C89.
47869         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
47870         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
47871
47872 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47873
47874         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
47875         but fix a bug, by requiring at least 64 bits.
47876         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
47877         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
47878         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
47879         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
47880
47881         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
47882         changes.  Make 2.59 a prerequisite.  Check and substitute for
47883         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
47884         inttypes.h.  Do not use special include files; just use the
47885         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
47886         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
47887         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
47888         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
47889         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
47890         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
47891         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
47892         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
47893         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
47894         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
47895         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
47896         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
47897         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
47898         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
47899         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
47900         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
47901         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
47902         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
47903         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
47904         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
47905         WINT_MAX.  Check for C99 conformance more strictly, by detecting
47906         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
47907         not check for things that C99 does not require, e.g., int8_t.  If
47908         a test isn't needed unless <stdint.h> isn't working, and is
47909         unlikely to be needed for any other reason, then don't do it
47910         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
47911         size_t, since we assume C89 freestanding at least.  Do not check
47912         for sig_atomic_t, wchar_t, or wint_t, since the code now does
47913         the right thing even if the types are not defined.  Instead use:
47914         (gl_STDINT_TYPE_PROPERTIES): New macro.
47915         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
47916         testing whether <sys/types.h> clashes, as Autoconf does this for
47917         us now.  All uses removed.
47918         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
47919         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
47920         (gl_CHECK_TYPE_SAME):
47921         Remove; no longer needed.
47922         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
47923         exists, since we'll return 0 anyway in that case.
47924         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
47925
47926 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47927
47928         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
47929         possible collision with system files.
47930         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
47931         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
47932         WCHAR_MIN and WCHAR_MAX in this case.
47933         (<stddef.h>): Do not include; no longer needed.
47934         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
47935         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
47936         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
47937         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
47938         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
47939         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
47940         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
47941         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
47942         !defined(__c99))]: Include in this case too, since it's harmless
47943         now.
47944         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
47945         dangerous to do so.
47946         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
47947         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
47948         (_STDINT_MIN, _STDINT_MAX): New macros.
47949         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
47950         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
47951         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
47952         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
47953         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
47954         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
47955         macros, not typedefs; this simplifies things quite a bit.
47956         Use long int for all types narrower than int64_t.
47957         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
47958         Define in terms of long long int or int64_t or long int,
47959         not int64_t or int32_t.  This saves some compile-time testing.
47960         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
47961         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
47962         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
47963         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
47964         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
47965         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
47966         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
47967         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
47968         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
47969         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
47970         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47971         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47972         undef any previous version and define our own version, for
47973         simplicity and consistency with the new macros for types.
47974         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47975         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47976         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
47977         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
47978         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
47979         @WINT_T_SUFFIX@ to keep things simple here.
47980         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
47981         Simplify by assuming typical 8/16/32/64 host, since we're
47982         already doing that elsewhere anyway.
47983         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
47984         and assume long long int is 64 bits if available.  This
47985         speeds up 'configure'.
47986
47987 2006-07-01  Eric Blake  <ebb9@byu.net>
47988
47989         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
47990         Reported by Andreas Buening.
47991
47992 2006-07-01  Eric Blake  <ebb9@byu.net>
47993
47994         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
47995
47996 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
47997
47998         * lib/getaddrinfo.c: fixed typo
47999
48000 2006-06-29  Jim Meyering  <jim@meyering.net>
48001
48002         * modules/strftime (Maintainer): Add my name, since with the
48003         FPRINTFTIME changes strftime.c has forked from glibc.
48004
48005 2006-06-29  Eric Blake  <ebb9@byu.net>
48006
48007         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
48008
48009 2006-06-29  Eric Blake  <ebb9@byu.net>
48010
48011         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
48012
48013 2006-06-29  Eric Blake  <ebb9@byu.net>
48014
48015         * lib/stat_.h: New file.
48016
48017 2006-06-29  Eric Blake  <ebb9@byu.net>
48018
48019         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
48020         unused static function.
48021
48022 2006-06-29  Eric Blake  <ebb9@byu.net>
48023
48024         * doc/functions.texi (Function Portability): Document missing lstat
48025         on mingw.
48026
48027 2006-06-29  Eric Blake  <ebb9@byu.net>
48028
48029         * MODULES.html.sh: Add sys_stat.
48030         * modules/sys_stat: New module.
48031         * modules/mkstemp (Depends-on): Add sys_stat.
48032
48033 2006-06-29  Derek R. Price  <derek@ximbiot.com>
48034
48035         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
48036
48037 2006-06-29  Derek R. Price  <derek@ximbiot.com>
48038
48039         * m4/c-bs-a.m4: Removed.
48040
48041 2006-06-29  Derek R. Price  <derek@ximbiot.com>
48042
48043         * lib/strftime.c: Assume strftime() exists.
48044
48045 2006-06-29  Derek Price  <derek@ximbiot.com>
48046
48047         * modules/c-bs-a: Removed - \a is C89.
48048         * MODULES.html.sh: Remove c-bs-a.
48049
48050 2006-06-29  Bruno Haible  <bruno@clisp.org>
48051
48052         * modules/wcwidth (License): Change to LGPL.
48053
48054 2006-06-28  Simon Josefsson  <jas@extundo.com>
48055
48056         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
48057         on _WIN32.
48058
48059         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
48060         getnameinfo.
48061
48062 2006-06-28  Simon Josefsson  <jas@extundo.com>
48063
48064         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
48065
48066 2006-06-28  Simon Josefsson  <jas@extundo.com>
48067
48068         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
48069         functions there.  It will succeed on Windows XP, but on Windows
48070         2000 and (presumably) earlier, it will fail, and use the internal
48071         re-implementation.
48072         (use_win32_p): New function.
48073         (getaddrinfo): Use strtoul on servname, to support numeric ports.
48074         Support AI_NUMERICSERV to disable getservbyname.
48075         (getnameinfo): New function, only supports
48076         NI_NUMERICHOST|NI_NUMERICSERV for now.
48077
48078         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
48079         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
48080         getnameinfo.
48081
48082 2006-06-28  Eric Blake  <ebb9@byu.net>
48083
48084         * modules/wcwidth: New file.
48085         * modules/mbchar (Depends-on): Add wcwidth.
48086         * modules/mbswidth (Depends-on): Add wcwidth.
48087         * MODULES.html.sh: Add wcwidth.
48088
48089 2006-06-28  Eric Blake  <ebb9@byu.net>
48090
48091         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
48092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
48093
48094 2006-06-28  Eric Blake  <ebb9@byu.net>
48095
48096         * lib/xvasprintf.h: Fix comments.
48097
48098 2006-06-28  Eric Blake  <ebb9@byu.net>
48099
48100         * lib/mbchar.h (wcwidth): Include wcwidth.h.
48101         * lib/mbswidth.c (wcwidth): Move from here...
48102         * lib/wcwidth.h: ...to this new file.
48103
48104 2006-06-28  Derek R. Price  <derek@ximbiot.com>
48105
48106         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
48107
48108         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
48109         it's obsolete.
48110         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
48111
48112 2006-06-28  Derek R. Price  <derek@ximbiot.com>
48113
48114         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
48115         Autoconf 2.60 says this stuff was obsolete.
48116
48117 2006-06-28  Bruno Haible  <bruno@clisp.org>
48118
48119         * modules/wcwidth (Files): Add m4/wchar_t.m4.
48120
48121 2006-06-28  Bruno Haible  <bruno@clisp.org>
48122
48123         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
48124         gt_TYPE_WCHAR_T.
48125
48126 2006-06-28  Bruno Haible  <bruno@clisp.org>
48127
48128         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
48129         declaration for wcwidth.
48130         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
48131
48132 2006-06-28  Bruno Haible  <bruno@clisp.org>
48133
48134         * lib/mkdtemp.c [MINGW]: Include <io.h>.
48135         (mkdir): Define using _mkdir.
48136
48137 2006-06-28  Bruno Haible  <bruno@clisp.org>
48138
48139         * lib/getaddrinfo.h: Fix POSIX URL.
48140         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
48141         _WIN32.
48142         (use_win32_p): Make static.
48143         (getaddrinfo): Reject service name if it is empty or does not consist
48144         solely of decimal digits, or if its value is > 65535.
48145         (getnameinfo): Remove useless casts.
48146
48147 2006-06-27  Simon Josefsson  <jas@extundo.com>
48148
48149         * modules/sys_select: New file, suggested by Bruno Haible, Paul
48150         Eggert and Martin Lambers.
48151
48152 2006-06-27  Simon Josefsson  <jas@extundo.com>
48153
48154         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
48155         Eggert and Martin Lambers.
48156
48157 2006-06-27  Bruno Haible  <bruno@clisp.org>
48158
48159         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
48160         result to 0, not to empty.
48161         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
48162
48163 2006-06-27  Bruno Haible  <bruno@clisp.org>
48164
48165         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
48166
48167 2006-06-26  Simon Josefsson  <jas@extundo.com>
48168
48169         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
48170         present.
48171
48172 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
48173
48174         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
48175         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
48176         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
48177
48178 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
48179
48180         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
48181
48182 2006-06-26  Bruno Haible  <bruno@clisp.org>
48183
48184         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
48185
48186 2006-06-26  Bruno Haible  <bruno@clisp.org>
48187
48188         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
48189
48190 2006-06-26  Bruno Haible  <bruno@clisp.org>
48191
48192         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
48193         SGI C compiler in pre-C99 mode.
48194         Suggested by Mark D. Baushke and Larry Jones.
48195
48196 2006-06-26  Bruno Haible  <bruno@clisp.org>
48197
48198         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
48199         WCHAR_MAX.
48200         Reported by Mark D. Baushke and Larry Jones.
48201
48202 2006-06-26  Bruno Haible  <bruno@clisp.org>
48203
48204         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
48205         in pre-C99 mode.
48206         Suggested by Mark D. Baushke and Larry Jones.
48207
48208 2006-06-23  Simon Josefsson  <jas@extundo.com>
48209             Bruno Haible  <bruno@clisp.org>
48210
48211         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
48212         Emit mostlyclean-local rule.
48213         (func_emit_tests_Makefile_am): Likewise.
48214         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
48215
48216 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
48217
48218         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
48219
48220 2006-06-23  Bruno Haible  <bruno@clisp.org>
48221
48222         * tests/test-stdint.c: Update to match ISO C 99 Technical
48223         Corrigendum 1.
48224
48225 2006-06-23  Bruno Haible  <bruno@clisp.org>
48226
48227         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
48228
48229 2006-06-23  Bruno Haible  <bruno@clisp.org>
48230
48231         * lib/stdint_.h: Treat IRIX like OpenBSD.
48232
48233 2006-06-23  Bruno Haible  <bruno@clisp.org>
48234
48235         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
48236         ISO C 99 Technical Corrigendum 1.
48237
48238 2006-06-22  Simon Josefsson  <jas@extundo.com>
48239
48240         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
48241         MinGW.
48242
48243 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
48244
48245         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
48246         needed.  Some compiler complained about some of them.  Problem reported
48247         by Larry Jones in
48248         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
48249
48250 2006-06-21  Simon Josefsson  <jas@extundo.com>
48251
48252         * tests/test-getaddrinfo.c: New file.
48253
48254         * modules/getaddrinfo-tests: New file.
48255
48256         * MODULES.html.sh: Add inet_pton.
48257
48258         * modules/inet_pton: New file.
48259
48260 2006-06-21  Simon Josefsson  <jas@extundo.com>
48261
48262         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
48263         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
48264         of using the (limited) gnulib implementation on Windows XP.
48265
48266         * m4/inet_pton.m4: New file.
48267
48268 2006-06-21  Simon Josefsson  <jas@extundo.com>
48269
48270         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
48271         variable.
48272
48273         * lib/socket_.h: Don't define WINVER.
48274
48275         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
48276         slightly modified to work in gnulib.
48277
48278 2006-06-21  Simon Josefsson  <jas@extundo.com>
48279
48280         * doc/gnulib.texi (Windows sockets): Add.
48281
48282 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
48283
48284         * lib/read-file.c (fread_file): Start with buffer allocation of
48285         0 bytes rather than 1 byte; this simplifies the code.
48286         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
48287         code to free buffer and save/restore errno.
48288         (internal_read_file): Remove unused local.
48289
48290 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
48291
48292         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
48293         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
48294         Problem reported by Denis Excoffier in
48295         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
48296
48297 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48298
48299         * modules/sys_socket, modules/socklen: Include sys/types since
48300         FreeBSD 4.x's sys/socket.h needs it.
48301
48302 2006-06-19  Simon Josefsson  <jas@extundo.com>
48303
48304         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
48305
48306 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
48307
48308         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
48309
48310 2006-06-19  Bruno Haible  <bruno@clisp.org>
48311
48312         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
48313         and FULL_PATH_INTTYPES_H in angle brackets.
48314         Reported by Mark D. Baushke <mdb@gnu.org>.
48315
48316 2006-06-17  Eric Blake  <ebb9@byu.net>
48317
48318         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
48319         errno.
48320
48321 2006-06-17  Bruno Haible  <bruno@clisp.org>
48322
48323         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
48324         <sys/inttypes.h>.
48325
48326 2006-06-17  Bruno Haible  <bruno@clisp.org>
48327
48328         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
48329         whether errno is declared. Assume <errno.h> declares errno.
48330
48331 2006-06-17  Bruno Haible  <bruno@clisp.org>
48332
48333         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
48334
48335 2006-06-17  Bruno Haible  <bruno@clisp.org>
48336
48337         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
48338         problem on Solaris 2.5.1.
48339
48340 2006-06-16  Eric Blake  <ebb9@byu.net>
48341
48342         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
48343         * lib/unicodeio.c [!defined errno]: Likewise.
48344         * lib/strtol.c [!defined errno]: Likewise.
48345         * lib/strtod.c [!defined errno]: Likewise.
48346
48347 2006-06-15  Eric Blake  <ebb9@byu.net>
48348
48349         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
48350
48351 2006-06-15  Eric Blake  <ebb9@byu.net>
48352
48353         * config/srclist.txt (ssize_t.m4): Lose sync.
48354
48355 2006-06-15  Bruno Haible  <bruno@clisp.org>
48356
48357         * modules/stdint (Files): Include m4/full-header-path.m4,
48358         m4/size_max.m4, m4/wchar_t.m4.
48359         (Makefile.am): Many more substitutions.
48360         * modules/stdint-tests: New file.
48361         * tests/test-stdint.c: New file.
48362
48363 2006-06-15  Bruno Haible  <bruno@clisp.org>
48364
48365         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
48366         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
48367         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
48368         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
48369         gl_CHECK_TYPE_SAME): New macros.
48370
48371 2006-06-15  Bruno Haible  <bruno@clisp.org>
48372
48373         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
48374
48375 2006-06-15  Bruno Haible  <bruno@clisp.org>
48376
48377         * lib/stdint_.h: Rewritten to be fully auto-configured.
48378         Fixes bug on HP-UX/IA64.
48379
48380 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
48381
48382         * lib/getdate.y (__attribute__): Don't define if already defined.
48383         Problem reported by Larry Jones.
48384         * lib/utimens.c (__attribute__): Likewise.
48385
48386 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
48387
48388         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
48389         reported by Andreas Schwab.
48390
48391 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48392             Bruno Haible  <bruno@clisp.org>
48393
48394         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
48395         check for the declaration of strnlen and a run test that exposes the
48396         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
48397         rpl_strndup.
48398
48399 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48400             Bruno Haible  <bruno@clisp.org>
48401
48402         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
48403
48404 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48405
48406         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
48407         compile test, for Tru64 4.0D.
48408
48409 2006-05-28  Karl Berry  <karl@gnu.org>
48410
48411         * config/srclist.txt (printf-args.c): lose sync.
48412
48413 2006-05-26  Martin Lambers  <marlam@marlam.de>
48414
48415         * lib/getpass.c: Updates the test for the native W32 API, and adds
48416         missing includes, thus fixing compilation warnings.
48417
48418 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48419
48420         * lib/exclude.c (exclude_fnmatch): New function.
48421         (excluded_file_name): Call exclude_fnmatch.
48422         * lib/exclude.h (excluded_file_name): New prototype
48423
48424 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
48425
48426         * lib/tempname.c (small_open, large_open): New macros.
48427         (__open, __open64) [!_LIBC]: Remove.
48428         (__gen_tempname): Use small_open and large_open instead of __open
48429         and __open64.  This fixes a portability bug on HP-UX 11.11i
48430         reported by Simon Wing-Tang in
48431         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
48432
48433 2006-05-24  Bruno Haible  <bruno@clisp.org>
48434
48435         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
48436         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
48437         Reported by Thorsten Maerz <torte@netztorte.de> via
48438         Aaron Stone <aaron@serendipity.cx>.
48439
48440 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
48441
48442         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
48443         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
48444         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
48445         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
48446         not really conditional on the cache.
48447         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
48448
48449 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
48450
48451         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
48452         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
48453         (my_usleep): Don't mishandle maximum value.
48454
48455 2006-05-19  Jim Meyering  <jim@meyering.net>
48456
48457         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
48458
48459 2006-05-17  Bruno Haible  <bruno@clisp.org>
48460
48461         Cygwin portability.
48462         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
48463
48464 2006-05-17  Bruno Haible  <bruno@clisp.org>
48465
48466         * lib/stdint_.h: Fix recognition of Cygwin.
48467
48468 2006-05-15  Bruno Haible  <bruno@clisp.org>
48469
48470         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
48471         on libtool patch by Ralf Wildenhues.
48472
48473 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48474
48475         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
48476         test for C99 conformance; (bool) 0.5 is an integer constant
48477         expression, but (bool) -0.5 is not.  Problem reported by Fedor
48478         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
48479
48480 2006-05-11  Simon Josefsson  <jas@extundo.com>
48481
48482         * m4/xvasprintf.m4: Fix obvious typo.
48483
48484 2006-05-11  Jim Meyering  <jim@meyering.net>
48485
48486         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
48487         James Lemley.
48488
48489 2006-05-10  Simon Josefsson  <jas@extundo.com>
48490
48491         * lib/md4.c: Typo fix, update copyright years.
48492         (K1, K2): Don't use L because it turn computations into 64-bit on
48493         64-bit platforms.
48494
48495 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48496
48497         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
48498         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
48499         unwanted sign propagation, e.g., on hosts with 64-bit int.
48500         There still are some problems with reeelly weird theoretical hosts
48501         (e.g., 33-bit int) but it's not worth worrying about now.
48502         * lib/sha1.c (rol): Likewise.
48503         (K1, K2, K3, K4): Remove unnecessary L suffix.
48504
48505 2006-05-10  Bruno Haible  <bruno@clisp.org>
48506
48507         * lib/des.c: Cast to avoid warnings.
48508
48509 2006-05-09  Bruno Haible  <bruno@clisp.org>
48510
48511         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
48512         (Depends-on): Depend also on xsize, stdarg.
48513         (configure.ac): Add gl_XVASPRINTF.
48514
48515 2006-05-09  Bruno Haible  <bruno@clisp.org>
48516
48517         * m4/xvasprintf.m4: New file.
48518
48519 2006-05-09  Bruno Haible  <bruno@clisp.org>
48520
48521         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
48522         (EOVERFLOW): Define fallback value.
48523         (xstrcat): New function.
48524         (xvasprintf): Recognize the special case of a string concatenation.
48525
48526 2006-05-08  Eric Blake  <ebb9@byu.net>
48527
48528         * gnulib-tool (func_version): Base copyright year on CVS date.
48529         (func_emit_copyright_notice): New function.
48530         (func_emit_lib_Makefile_am): Use it.
48531         (func_emit_tests_Makefile_am): Likewise.
48532         (func_import): Likewise.
48533
48534 2006-05-08  Bruno Haible  <bruno@clisp.org>
48535
48536         * modules/stdarg: New file.
48537         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
48538
48539 2006-05-08  Bruno Haible  <bruno@clisp.org>
48540
48541         * m4/stdarg.m4: New file, from GNU gettext.
48542
48543 2006-05-08  Bruno Haible  <bruno@clisp.org>
48544
48545         * config/srclist.txt (build-aux/config.rpath): different from latest
48546         release.
48547
48548 2006-05-08  Bruno Haible  <bruno@clisp.org>
48549
48550         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
48551
48552 2006-05-05  Jim Meyering  <jim@meyering.net>
48553
48554         * m4/warning.m4: New file, derived from bison's file by the same name.
48555
48556 2006-05-03  Bruno Haible  <bruno@clisp.org>
48557
48558         * lib/stdint_.h: Shorter URL.
48559         * lib/inttypes.h: Likewise.
48560
48561 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48562
48563         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
48564
48565 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48566
48567         * lib/verify.h: Document the internals better.  Most of this change
48568         was written by Bruno Haible.
48569
48570 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48571
48572         * doc/verify.texi: New file, partly based on a proposal by
48573         Bruno Haible.
48574
48575 2006-05-02  Bruno Haible  <bruno@clisp.org>
48576
48577         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
48578         test from here...
48579         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
48580
48581 2006-04-29  Bruno Haible  <bruno@clisp.org>
48582
48583         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
48584         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
48585
48586 2006-04-29  Bruno Haible  <bruno@clisp.org>
48587
48588         * gnulib-tool: Make --update option actually work.
48589
48590 2006-04-29  Bruno Haible  <bruno@clisp.org>
48591
48592         * doc/gcd.texi: New file.
48593         * doc/gnulib.texi: Include it.
48594
48595 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
48596
48597         * lib/getdate.y (get_date): When adding relative date, start with the
48598         initial time, not with the result of the first mktime call.
48599
48600 2006-04-25  Bruno Haible  <bruno@clisp.org>
48601
48602         * gnulib-tool (func_import): Output the include directives in three
48603         blocks, sorted separately.
48604         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48605
48606 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
48607
48608         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
48609         to define main with arguments, for C++.  Reported by Eric Blake.
48610         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
48611         Prefer 'int main ()' to 'int main (void)', for C++.
48612         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48613         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
48614         for 'main', for C99 and C++.
48615
48616 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
48617
48618         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
48619         Don't assume that exit status -1 is valid.
48620         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48621         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
48622         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
48623         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
48624         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
48625         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
48626         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
48627         functions can be used without declaring them, or that you can
48628         exit with status -1.
48629         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
48630
48631 2006-04-24  Karl Berry  <karl@gnu.org>
48632
48633         * config/srclist.txt (longdouble.m4): sync lost.
48634
48635 2006-04-24  Eric Blake  <ebb9@byu.net>
48636
48637         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
48638
48639 2006-04-24  Bruno Haible  <bruno@clisp.org>
48640
48641         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
48642         poll() implementation in AIX.
48643         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48644
48645 2006-04-24  Bruno Haible  <bruno@clisp.org>
48646
48647         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
48648         assigned exactly once.
48649
48650 2006-04-23  Claudio Fontana  <claudio@gnu.org>
48651             Bruno Haible  <bruno@clisp.org>
48652
48653         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
48654         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
48655         for AM_CPPFLAGS.
48656
48657 2006-04-23  Bruno Haible  <bruno@clisp.org>
48658
48659         * modules/copy-file: Depend on unistd.
48660         * modules/execute: Likewise.
48661         * modules/fatal-signal: Likewise.
48662         * modules/findprog: Likewise.
48663         * modules/mkdtemp : Likewise.
48664         * modules/pipe: Likewise.
48665         * modules/wait-process: Likewise.
48666
48667 2006-04-23  Bruno Haible  <bruno@clisp.org>
48668
48669         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
48670         condition was already detected.
48671         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48672
48673 2006-04-23  Bruno Haible  <bruno@clisp.org>
48674
48675         * lib/copy-file.c: Include <unistd.h> unconditionally.
48676         * lib/execute.c: Likewise.
48677         * lib/fatal-signal.c: Likewise.
48678         * lib/findprog.c: Likewise.
48679         * lib/mkdtemp.c: Likewise.
48680         * lib/pipe.h: Likewise.
48681         * lib/pipe.c: Likewise.
48682         * lib/wait-process.h: Likewise.
48683
48684 2006-04-23  Bruno Haible  <bruno@clisp.org>
48685
48686         * gnulib-tool (func_usage): Fix --import description. Document
48687         --update.
48688         (func_import): Create temporary file in a temporary directory, if
48689         --dry-run is specified. Silence errors from 'grep' when there are no
48690         m4 files in $m4dir.
48691         (func_create_testdir): Silence errors from 'grep' when there are no
48692         m4 files in $m4dir.
48693         Reported by Karl Berry <karl@freefriends.org>.
48694
48695 2006-04-20  Bruno Haible  <bruno@clisp.org>
48696
48697         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
48698         one argument, so that the code will be portable to Autoconf 2.60.
48699         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
48700         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48701         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
48702
48703 2006-04-19  Derek Price  <derek@ximbiot.com>
48704             Eric Blake  <ebb9@byu.net>
48705
48706         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
48707         rather than "/full/path.h".  Update comment to match.  Shorten &
48708         generalize m4_translit call via AS_TR_CPP.
48709
48710 2006-04-19  Derek Price  <derek@ximbiot.com>
48711             Eric Blake  <ebb9@byu.net>
48712
48713         * lib/inttypes.h: Correct grammar in comment.
48714
48715 2006-04-18  Derek Price  <derek@ximbiot.com>
48716             Paul Eggert  <eggert@cs.ucla.edu>
48717
48718         * modules/inttypes: New file.
48719         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
48720
48721 2006-04-18  Derek Price  <derek@ximbiot.com>
48722             Paul Eggert  <eggert@cs.ucla.edu>
48723
48724         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
48725         New files.
48726
48727 2006-04-18  Derek Price  <derek@ximbiot.com>
48728             Paul Eggert  <eggert@cs.ucla.edu>
48729
48730         * lib/inttypes.h: New file.
48731         * lib/strtoimax.c: Assume <inttypes.h>.
48732
48733 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
48734
48735         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
48736         isn't mounted.  Problem reported by Kir Kolyshkin.
48737
48738 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48739
48740         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
48741         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
48742         Derek R. Price.
48743         * lib/regex.h (RE_DUP_MAX): Update comment to match current
48744         implementation.
48745
48746 2006-04-12  Eric Blake  <ebb9@byu.net>
48747
48748         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
48749         is now done automatically by the corresponding Autoconf macro.
48750
48751 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
48752
48753         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
48754         time_r.h.
48755
48756 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48757
48758         Merge regex changes from libc, removing some of our
48759         POSIX-conformance changes that were rejected and redoing them in a
48760         less-intrusive way.
48761
48762         * lib/regcomp.c (re_compile_internal, init_dfa):
48763         Length arg is now size_t, not Idx.  All uses changed.
48764         (peek_token): Forward decl now says internal_function.
48765         (__re_error_msgid, __re_error_msgid_idx):
48766         Now static rather than extern with attribute_hidden.
48767         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
48768         For some reason libc prefers K&R style defns for external functions.
48769         (regerror) [!defined _LIBC]: Likewise.
48770         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
48771         (seek_collating_symbol_entry, lookup_collation_sequence_value):
48772         (build_range_exp, build_collating_symbol):
48773         Use K&R-style defn.
48774         (re_compile_fastmap): Use '\0' to memset, not 0.
48775         (utf8_sb_map): Make the calculations more obvious.
48776         (init_dfa, parse_bracket_exp, build_charclass_op):
48777         Call calloc and cast result, as glibc does.
48778         (init_word_char, fetch_token, peek_token, peek_token_bracket):
48779         (build_range_exp, build_collating_symbol):
48780         Now internal functions.
48781
48782         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
48783
48784         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
48785         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
48786         Don't depend on VMS; depend on __VMS instead, for POSIX
48787         namespace cleanness.
48788         (regoff_t): Define to ssize_t, not long int.
48789
48790         Remove the REG_ macros named below.  Instead, make the old names
48791         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
48792         __USE_GNU_REGEX.
48793         (REG_BACKSLASH_ESCAPE_IN_LISTS):
48794         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
48795         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
48796         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
48797         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
48798         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
48799         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
48800         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
48801         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
48802         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
48803         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
48804         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
48805         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
48806         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
48807         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
48808         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
48809         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
48810         (REG_NREGS):
48811         Remove.  All uses replaced by the old RE_* names.
48812         (RE_BACKSLASH_ESCAPE_IN_LISTS):
48813         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
48814         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
48815         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
48816         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
48817         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
48818         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
48819         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
48820         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
48821         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
48822         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
48823         Don't bother having these macros be independent of each others'
48824         values, since they no longer exist in the POSIX name space.
48825
48826         Rename the following member names back to their old names,
48827         unless !__USE_GNU_REGEX.  All uses changed back.
48828         (buffer): Renamed from re_buffer.
48829         (allocated): Renamed from re_allocated.
48830         (used): Renamed from re_used.
48831         (syntax): Renamed from re_syntax.
48832         (fastmap): Renamed from re_fastmap.
48833         (translate): Renamed from re_translate.
48834         (can_be_null): Renamed from re_can_be_null.
48835         (regs_allocated): Renamed from re_regs_allocated.
48836         (fastmap_accurate): Renamed from re_fastmap_accurate.
48837         (no_sub): Renamed from re_no_sub.
48838         (not_bol): Renamed from re_not_bol.
48839         (not_eol): Renamed from re_not_eol.
48840         (newline_anchor): Renamed from re_newline_anchor.
48841         (num_regs): Renamed from rm_num_regs.
48842         (start): Renamed from rm_start.
48843         (end): Renamed from rm_end.
48844
48845         (free_state): Move up a bit.
48846
48847         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
48848         #define to be empty.
48849         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
48850         when that is what is intended.
48851         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
48852         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
48853         (MAX): New macro.
48854         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
48855         All uses changed back to re_malloc, etc.  It's now the caller's
48856         responsibility to check for overflow; all callers changed.
48857         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
48858         (re_x2nrealloc): Remove.
48859         (free_state): Remove decl.
48860
48861         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
48862         (re_set_registers, re_exec):
48863         Use K&R-style defn.
48864
48865         2006-01-31  Roland McGrath  <roland@redhat.com>
48866
48867         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
48868         Reported by Mike Frysinger <vapier@gentoo.org>.
48869
48870         2006-01-15  Andreas Jaeger  <aj@suse.de>
48871
48872         [BZ #1950]
48873         * lib/regex_internal.c (re_string_reconstruct): Adjust for
48874         build_wcs_upper_buffer change.
48875         (build_wcs_upper_buffer): Change return type.
48876
48877         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
48878
48879         * lib/regex_internal.h: Include <stdint.h> if available.
48880
48881         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
48882
48883         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
48884
48885         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
48886
48887         * lib/regcomp.c: Adjust for changed secondary hash function.
48888
48889         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
48890
48891         * lib/regex.h: Pretty printing.
48892         Clean up namespace a bit.
48893
48894         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
48895
48896         * lib/regexec.c (update_cur_sifted_state, check_arrival,
48897         check_arrival_add_next_nodes): Avoid using uninitialized variable.
48898
48899         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48900                     Ulrich Drepper  <drepper@redhat.com>
48901
48902         [BZ #1302]
48903         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
48904         changed.
48905         (bitset_word_t): Renamed from bitset_word.  All uses changed.
48906
48907         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
48908
48909         [BZ #281]
48910         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
48911         * lib/regcomp.c: Remove unnecessary uses of
48912         unsigned RE_TRANSLATE_TYPE.
48913         * lib/regex_internal.h: Likewise.
48914         * lib/regex_internal.c: Likewise.
48915         * lib/regexec.c: Likewise.
48916         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
48917
48918         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
48919
48920         * lib/regexec.c (find_recover_state): Remove unnecessary
48921         initialization.
48922         (transit_state_bkref): Make DFA a const pointer.
48923         (get_subexp): Likewise.
48924         (check_arrival): Likewise.
48925         (update_cur_sifted_state): Likewise.
48926         (re_search_internal): Likewise.
48927         (prune_impossible_nodes): Likewise.
48928         (acquire_init_state_context): Likewise.
48929         (proceed_next_node): Likewise.
48930         (set_regs): Likewise.
48931         (free_fail_stack_return): Likewise.
48932         (check_arrival_expand_ecl): Mark DFA parameter as const.
48933         (check_arrival_expand_ecl_sub): Likewise.
48934         (check_subexp_limits): Likewise.
48935         (sub_epsilon_src_nodes):  Likewise.
48936         (add_epsilon_src_nodes):  Likewise.
48937         (merge_state_array): Likewise.
48938         (update_regs): Likewise.
48939         (build_trtable): Likewise.
48940         (sift_states_backward): Mark MCTX parameter as const.
48941         (build_sifted_states): Likewise.
48942         (update_cur_sifted_state): Likewise.
48943         (sift_states_mkref): Likewise.
48944         (check_arrival_expand_ecl): Mark eclosure as const.
48945         (check_dst_limits_calc_pos_1): Likewise.
48946         * lib/regex_internal.h (re_match_context_t): Make dfa a const
48947         pointer.
48948
48949         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
48950
48951         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
48952         (transit_state_sb): Likewise.
48953         (transit_state_mb): Likewise.
48954         (sift_states_iter_mb): Likewise.
48955         (check_arrival_add_next_nodes): Likewise.
48956         (check_node_accept_bytes): Change first parameter to pointer-to-const.
48957         [_LIBC] (re_search_2_stub): Use mempcpy.
48958
48959         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
48960         mbrtowc for very simple UTF-8 case.
48961
48962         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
48963         a pointer-to-const.
48964         (re_acquire_state_context): Likewise.
48965         * lib/regex_internal.h: Adjust prototypes.
48966
48967         * lib/regex.c: Prevent using C++ compilers.
48968
48969         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
48970         (re_acquire_state_context): Likewise.
48971
48972 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48973
48974         * modules/regex (Depends-on): Add ssize_t.
48975
48976 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48977
48978         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
48979         translation table.
48980
48981 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48982
48983         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
48984
48985 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
48986             Bruno Haible  <bruno@clisp.org>
48987
48988         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
48989         <sys/types.h> and <inttypes.h>.
48990
48991 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48992
48993         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
48994         `__error_t_defined', so argp.h will not typedef the former.
48995
48996 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48997
48998         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
48999         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
49000         glibc names.  Even if glibc is changed to conform to POSIX, the
49001         traditional names will be available anyway, since regex depends on
49002         the extensions module.  Also, fix a longstanding typo in the
49003         implementation of Spencer ERE test #75 from grep 2.3.  Problems
49004         reported by Emanuele Giaquinta.  Also, change sense of cached
49005         variable, so that the message makes sense.
49006
49007 2006-03-24  Simon Josefsson  <jas@extundo.com>
49008
49009         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
49010         including some doc fixes.
49011         (base64_encode_alloc): Fix +1 bug on allocation failures.
49012
49013 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49014
49015         * lib/base64.c (base64_encode): Do not read past end of array with
49016         unsanitized input on systems with CHAR_BIT > 8.
49017
49018 2006-03-24  Eric Blake  <ebb9@byu.net>
49019
49020         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
49021
49022 2006-03-22  Karl Berry  <karl@gnu.org>
49023
49024         * config/srclist.txt (*setenv.[ch]): get from coreutils.
49025         * config/srclistvars.sh (COREUTILS): new var.
49026
49027 2006-03-17  Jim Meyering  <jim@meyering.net>
49028
49029         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
49030         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
49031
49032 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
49033
49034         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
49035         no longer needs it.  Instead, check that regoff_t is as least
49036         as wide as ptrdiff_t.
49037
49038         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
49039         so that our regex.h stays compatible with the installed regex.
49040         This is helpful for installers who configure --without-included-regex.
49041         Problem reported by Emanuele Giaquinta.
49042
49043 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
49044
49045         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
49046         Typedef to long int, not to off_, as POSIX will likely change
49047         in that direction.
49048
49049 2006-03-15  Eric Blake  <ebb9@byu.net>
49050
49051         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
49052
49053 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
49054
49055         * lib/argp-help.c (validate_uparams): Fix typo
49056         * lib/argp-parse.c (argp_default_options): Consistently begin help
49057         messages with a lowercase letter.
49058
49059 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
49060
49061         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
49062         overrun buffers and shouldn't be used (much as gets shouldn't be
49063         used).
49064         * lib/time_r.c (asctime_r, ctime_r): Likewise.
49065
49066 2006-03-08  Simon Josefsson  <jas@extundo.com>
49067
49068         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
49069         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49070
49071 2006-03-08  Simon Josefsson  <jas@extundo.com>
49072
49073         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
49074         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49075
49076 2006-03-08  Simon Josefsson  <jas@extundo.com>
49077
49078         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
49079         signal that configure disabled the device.
49080
49081 2006-03-08  Simon Josefsson  <jas@extundo.com>
49082
49083         * build-aux/maint.mk: Fix refresh-po, to handle no translated
49084         languages.
49085
49086 2006-03-07  Simon Josefsson  <jas@extundo.com>
49087
49088         * modules/getopt (Depends-on): Add unistd.
49089
49090         * modules/unistd: New file.
49091
49092 2006-03-07  Simon Josefsson  <jas@extundo.com>
49093
49094         * modules/gc-random: New file.
49095
49096 2006-03-07  Simon Josefsson  <jas@extundo.com>
49097
49098         * m4/unistd_h.m4: New file.
49099
49100 2006-03-07  Simon Josefsson  <jas@extundo.com>
49101
49102         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
49103         test to be side-effect free by storing the result in the cache
49104         variable gl_cv_lib_readline, and moving the assignment of
49105         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
49106         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49107
49108 2006-03-07  Simon Josefsson  <jas@extundo.com>
49109
49110         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
49111         error on missing devices (the functions will return an error).
49112
49113         * m4/gc.m4: Move random stuff to gc-random.m4
49114
49115 2006-03-07  Simon Josefsson  <jas@extundo.com>
49116
49117         * lib/unistd_.h: New file.
49118
49119 2006-03-07  Simon Josefsson  <jas@extundo.com>
49120
49121         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
49122
49123 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
49124
49125         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
49126         Problem reported by Juan Manuel Guerrero.
49127
49128 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
49129
49130         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
49131         the unistd module.
49132         * lib/getlogin_r.c: Likewise.
49133         * lib/getlogin_r.h: Likewise.
49134         * lib/glob.c: Likewise.
49135         * lib/pagealign_alloc.c: Likewise.
49136         * lib/unistd_.h: Remove; no longer needed.
49137
49138 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
49139
49140         * MODULES.html.sh (Support for systems lacking POSIX:2001):
49141         Add unistd.
49142         * modules/c-stack (Depends-on): Add unistd.
49143         * modules/getlogin_r: Likewise.
49144         * modules/glob: Likewise.
49145         * modules/pagealign_alloc: Likewise.
49146         * modules/unistd (Files): Remove lib/unistd_.h.
49147         (EXTRA_DIST): Remove.
49148         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
49149         need unistd_.h.
49150         (MOSTLYCLEANFILES): Remove unistd.h-t.
49151
49152 2006-03-03  Simon Josefsson  <jas@extundo.com>
49153
49154         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
49155
49156 2006-03-03  Simon Josefsson  <jas@extundo.com>
49157
49158         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
49159         libidn and bison.
49160
49161 2006-03-03  Simon Josefsson  <jas@extundo.com>
49162
49163         * build-aux/maint.mk: Add indent target.
49164
49165 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
49166
49167         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
49168         our replacement poll.h in any case, to avoid a differing
49169         declaration from a system header.  Seen on AIX.
49170
49171 2006-03-01  Simon Josefsson  <jas@extundo.com>
49172
49173         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
49174         <kasal@ucw.cz>.
49175
49176 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49177
49178         * modules/gettime (Depends-on): Add extensions module.
49179         * modules/nanosleep (Depends-on): Likewise.
49180         * modules/settime (Depends-on): Likewise.
49181
49182 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49183
49184         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
49185         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
49186         pedantically.
49187         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
49188         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
49189
49190         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
49191         not "==".  Reported by Ralf Wildenhues.
49192
49193 2006-03-01  Karl Berry  <karl@gnu.org>
49194
49195         * doc/Copyright/request-*: new files, synced from gnuorg.
49196
49197 2006-03-01  Karl Berry  <karl@gnu.org>
49198
49199         * config/srclist.txt (Copyright/*): new entries.
49200
49201 2006-02-28  Simon Josefsson  <jas@extundo.com>
49202
49203         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
49204
49205 2006-02-27  Simon Josefsson  <jas@extundo.com>
49206
49207         * lib/base64.h: Indent #define's.  From Jim Meyering
49208         <jim@meyering.net>.
49209
49210 2006-02-27  Jim Meyering  <jim@meyering.net>
49211
49212         Revert the change of 2006-02-24, so these files can continue
49213         to be sync'd from gettext.
49214         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
49215         of `config.h'.
49216
49217 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
49218
49219         * modules/intprops: New file.
49220         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
49221         Add intprops.
49222         * modules/getloadavg (Files): Remove lib/intprops.h.
49223         (Depends-on): Add intprops.
49224         * modules/human: Likewise.
49225         * modules/inttostr: Likewise.
49226         * modules/openat: Likewise.
49227         * modules/sig2str: Likewise.
49228         * modules/userspec: Likewise.
49229         * modules/utimecmp: Likewise.
49230         * modules/xnanosleep: Likewise.
49231         * modules/xstrtol: Likewise.
49232
49233 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
49234
49235         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
49236         * modules/lock-tests (TESTS): Use $(EXEEXT).
49237         * modules/tls-tests: Likewise.
49238         * modules/argp-tests: Likewise.
49239         (check_PROGRAMS): New var, replacing...
49240         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
49241
49242 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49243
49244         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
49245         `config.h'.
49246
49247 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
49248
49249         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
49250
49251 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49252
49253         Sync from coreutils.
49254         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
49255         gl_CHDIR_SAFER.
49256
49257 2006-02-22  Jim Meyering  <jim@meyering.net>
49258
49259         Sync from coreutils.
49260         * m4/chdir-safer.m4: New file.
49261
49262 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
49263
49264         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
49265         AT_FDCWD exceeds INT_MAX.
49266         * lib/openat.h (AT_FDCWD): Likewise.
49267
49268 2006-02-17  Eric Blake  <address@hidden>
49269
49270         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
49271
49272 2006-02-16  Simon Josefsson  <jas@extundo.com>
49273
49274         * modules/getaddrinfo (Depends-on): Add sys_socket.
49275
49276 2006-02-15  Simon Josefsson  <jas@extundo.com>
49277
49278         * build-aux/maint.mk: Add dsyntax-check rule.
49279
49280 2006-02-15  Eric Blake  <ebb9@byu.net>
49281
49282         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
49283         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
49284         'present but cannot compile' warnings on cygwin.
49285         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
49286         use ws2tcpip.h if sys/socket.h works.
49287         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
49288         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
49289
49290 2006-02-14  Simon Josefsson  <jas@extundo.com>
49291
49292         * modules/maintainer-makefile (Files): Rename.
49293
49294         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
49295         and (the local) Makefile.cfg to maint-cfg.mk.
49296
49297         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
49298         to the latter.
49299
49300         * modules/maintainer-makefile: New module.
49301
49302         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
49303         severaly stripped to make it possible to build it up from scratch
49304         with reliable tests.
49305
49306         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
49307         fixes to permit overriding the default actions when configure and
49308         makefile are not available.
49309
49310 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
49311
49312         Sync from coreutils.
49313         * modules/lstat (Depends-on): Don't depend on xalloc.
49314         (License): Change from GPL to LGPL, since this is now simply a
49315         replacement for a libc function.
49316
49317 2006-02-14  Jim Meyering  <jim@meyering.net>
49318
49319         Sync from coreutils.
49320
49321         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
49322         failure on deficient systems, and simplify gnulib lgpl dependencies.
49323         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
49324         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
49325
49326         * lib/xalloc-die.c: Remove unused definition of N_.
49327
49328 2006-02-14  Jim Meyering  <jim@meyering.net>
49329
49330         Sync from coreutils.
49331         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
49332         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
49333         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
49334         double-quote uses of that variable, to accommodate the rare case in
49335         which getmntent is available in none of the libraries checked.  This
49336         happens at least on FreeBSD 5.0.
49337
49338 2006-02-13  Simon Josefsson  <jas@extundo.com>
49339
49340         * gnulib-tool (Usage): Fix --import, from
49341         karl@freefriends.org (Karl Berry).
49342
49343 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
49344
49345         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
49346
49347 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
49348
49349         * lib/argp-namefrob.h: Restore changes accidentally lost during the
49350         "autoupdate" on 2005-12-12.
49351
49352 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
49353
49354         * modules/closeout (Depends-on): Remove atexit.
49355
49356 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
49357
49358         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
49359         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
49360
49361 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
49362
49363         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
49364         __EXTENSIONS__ if this causes compilation to fail.  Problem
49365         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
49366         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
49367
49368 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
49369
49370         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
49371         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
49372         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
49373         All uses changed.
49374
49375 2006-01-26  Simon Josefsson  <jas@extundo.com>
49376
49377         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
49378         prototype is visible on mingw32.
49379
49380         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
49381         for mingw32.
49382
49383         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
49384         mingw32).
49385
49386 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
49387
49388         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
49389         attempt to open for write; this always fails, at least on POSIX
49390         hosts.  This reinstates the 2006-01-09 change, which was
49391         inadvertently removed.
49392
49393 2006-01-26  Bruno Haible  <bruno@clisp.org>
49394
49395         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
49396         Reported by Paul Eggert.
49397
49398 2006-01-26  Bruno Haible  <bruno@clisp.org>
49399             Paul Eggert  <eggert@cs.ucla.edu>
49400
49401         * lib/stdbool_.h (_Bool)
49402         [(! (defined __cplusplus || defined __BEOS__)
49403           && !defined __GNUC__
49404           && !(defined __HP_cc || defined __xlc__
49405                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
49406                || defined __sgi))]:
49407         #define to signed char in these cases too; this simplifies
49408         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
49409         etc., separately) and makes it more conservative.
49410
49411 2006-01-25  Simon Josefsson  <jas@extundo.com>
49412
49413         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
49414         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
49415         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
49416
49417 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
49418
49419         * lib/argp-namefrob.h: Bugfix. Remove stray #
49420
49421 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
49422
49423         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
49424         so that we test the test.
49425         Check for yet another HP-UX cc bug involving *bool |= bool.
49426
49427 2006-01-25  Karl Berry  <karl@gnu.org>
49428
49429         * config/srclist.txt (vasnprintf.c): sync lost.
49430
49431 2006-01-25  Jim Meyering  <jim@meyering.net>
49432
49433         Sync from the stable (b5) branch of coreutils:
49434
49435         * lib/fts.c (fts_children): Don't let close() clobber errno from
49436         failed fchdir().
49437
49438         * lib/fts.c (fts_stat): When following a symlink-to-directory,
49439         don't necessarily interpret stat-fails+lstat-succeeds as indicating
49440         a dangling symlink.  That can also happen at least for ELOOP.
49441         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
49442         FYI, this bug predates the inclusion of fts.c in coreutils.
49443
49444         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
49445         in their own block, so pre-c99 compilers don't object.
49446
49447         Avoid the double-free (first in fts_read, second in fts_close) that
49448         would occur when an `active' directory is made inaccessible (e.g.,
49449         via chmod a-x) during a traversal.
49450         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
49451         before returning.  Reproduce this failure by
49452         mkdir -p a/b; cd a; chmod a-x . b
49453         Reported by Stavros Passas.
49454
49455 2006-01-25  Jim Meyering  <jim@meyering.net>
49456
49457         * lib/fileblocks.c: Remove more useless parentheses.
49458         * lib/readutmp.h: Likewise.
49459
49460 2006-01-25  Bruno Haible  <bruno@clisp.org>
49461
49462         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
49463         warnings.
49464         Reported by Paul Eggert.
49465
49466 2006-01-25  Bruno Haible  <bruno@clisp.org>
49467
49468         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
49469         rid of a trap command. For Solaris sh.
49470         Reported by Mark D. Baushke <mdb@gnu.org>.
49471
49472 2006-01-24  Simon Josefsson  <jas@extundo.com>
49473
49474         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
49475         Bruno.
49476
49477 2006-01-24  Karl Berry  <karl@gnu.org>
49478
49479         * config/srclist.txt (argp-namefrob.h): sync lost.
49480
49481 2006-01-24  Jim Meyering  <jim@meyering.net>
49482
49483         * modules/openat (Files): Add lib/intprops.h.
49484         From Mark D. Baushke.
49485
49486 2006-01-24  Jim Meyering  <jim@meyering.net>
49487
49488         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
49489         Reported by Mark D. Baushke.
49490
49491 2006-01-24  Jim Meyering  <jim@meyering.net>
49492
49493         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
49494
49495 2006-01-24  Bruno Haible  <bruno@clisp.org>
49496
49497         * modules/strnlen (Maintainer): Change from glibc to all.
49498
49499 2006-01-24  Bruno Haible  <bruno@clisp.org>
49500
49501         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
49502         Patch by Paul Eggert.
49503
49504 2006-01-24  Bruno Haible  <bruno@clisp.org>
49505
49506         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
49507         already has it.
49508         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
49509         2005-11-26.
49510
49511         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
49512         'signed char' to avoid problems with the built-in _Bool type.
49513         Reported by Paul Eggert on 2005-11-26.
49514
49515 2006-01-24  Bruno Haible  <bruno@clisp.org>
49516
49517         * gnulib-tool (func_import): Avoid constructing complicated sed
49518         expressions inside backquote.
49519         Report and solution by Mark D. Baushke <mdb@gnu.org>.
49520
49521 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
49522
49523         These changes imported from libc.
49524         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
49525         test and two separate function calls.
49526         * lib/strndup.c (__strndup): Add libc_hidden_def.
49527
49528 2006-01-23  Simon Josefsson  <jas@extundo.com>
49529
49530         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
49531         Remove the test_*_SOURCES variable: automake infers it by default.
49532         * modules/tls-tests: Likewise.
49533
49534 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49535
49536         Work around porting bugs reported by Dieter in
49537         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
49538         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
49539         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
49540         Include "getopt.h" first, to check interface.
49541         (getenv): Declare only if defined HAVE_DECL_GETENV &&
49542         !HAVE_DECL_GETENV.
49543         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
49544         (__strndup): Revert to K&R-style function dfns, the glibc style.
49545         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
49546         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
49547         Include strnlen.h first, to get prototype properly.
49548         (strnlen): Renamed from __strnlen.
49549         Remove weak alias.
49550
49551 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49552
49553         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
49554
49555 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49556
49557         * config/srclist.txt: Adjust to reflect glibc reorganization.
49558         This affects only comments.
49559
49560 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49561
49562          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
49563          Reported by Bruce Korb <bkorb@gnu.org>.
49564
49565 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
49566
49567         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
49568         to pacify gcc -Wswitch-default.
49569
49570 2006-01-22  Bruno Haible  <bruno@clisp.org>
49571
49572         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
49573         temporary buffer for sprintf, take into account the precision also
49574         for 'd', 'i', 'u', 'o', 'x', 'X'.
49575
49576 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
49577
49578         * modules/argp-tests: New module
49579         * tests/test-argp.c: New file
49580         * tests/test-argp-2.sh: New file
49581
49582 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
49583
49584         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
49585         (__argp_base_name): Removed
49586         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
49587         typo.
49588         (__argp_base_name): Provide macro definition or extern declaration
49589         depending on the configuration
49590
49591 2006-01-20  Simon Josefsson  <jas@extundo.com>
49592
49593         * modules/inet_ntop (Depends-on): Depend on sys_socket.
49594
49595 2006-01-20  Simon Josefsson  <jas@extundo.com>
49596
49597         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
49598
49599 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
49600
49601         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
49602         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
49603         Suggested by Bruno Haible.
49604
49605 2006-01-20  Karl Berry  <karl@gnu.org>
49606
49607         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
49608         until changes propagate, I guess.
49609
49610 2006-01-19  Simon Josefsson  <jas@extundo.com>
49611
49612         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
49613
49614 2006-01-19  Simon Josefsson  <jas@extundo.com>
49615
49616         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
49617
49618 2006-01-19  Simon Josefsson  <jas@extundo.com>
49619
49620         * gnulib-tool: Set check_PROGRAMS.
49621
49622         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
49623         modules/des-tests, modules/gc-arcfour-tests,
49624         modules/gc-arctwo-tests, modules/gc-des-tests,
49625         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
49626         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
49627         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
49628         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
49629         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
49630         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
49631         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
49632         test_*_SOURCES.
49633
49634 2006-01-18  Simon Josefsson  <jas@extundo.com>
49635
49636         * modules/socklen (Depends-on): Depend on sys_socket.
49637
49638 2006-01-18  Simon Josefsson  <jas@extundo.com>
49639
49640         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
49641         modules/des-tests, modules/gc-arcfour-tests,
49642         modules/gc-arctwo-tests, modules/gc-des-tests,
49643         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
49644         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
49645         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
49646         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
49647         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
49648         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
49649         $(EXEEXT) to automake TESTS variable, for mingw32.
49650
49651 2006-01-17  Simon Josefsson  <jas@extundo.com>
49652
49653         * modules/socklen (Include): Need sys/socket.h.
49654
49655 2006-01-17  Bruno Haible  <bruno@clisp.org>
49656
49657         * modules/ssize_t (Include): Add <sys/types.h>.
49658
49659 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
49660
49661         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
49662         it's not portable and it doesn't work with cross-compiles.
49663         Problem reported by Bruno Haible.  Fix missing-$ typo in
49664         'test "gl_cv_ignore_unused_libraries" ...' that prevented
49665         -zignore from being used with Sun's C compiler.
49666
49667 2006-01-12  Simon Josefsson  <jas@extundo.com>
49668
49669         * lib/base64.c: Fix warning, reported by Bruno Haible
49670         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
49671
49672 2006-01-12  Bruno Haible  <bruno@clisp.org>
49673
49674         * modules/ldd: New file.
49675         * build-aux/ldd.sh.in: New file.
49676         * MODULES.html.sh (Support for building libraries and executables): Add
49677         ldd.
49678
49679 2006-01-12  Bruno Haible  <bruno@clisp.org>
49680
49681         * m4/ldd.m4: New file.
49682
49683 2006-01-12  Bruno Haible  <bruno@clisp.org>
49684
49685         * gnulib-tool (func_import, func_create_testdir): Don't go into an
49686         endless loop while replacing $auxdir with build-aux.
49687
49688 2006-01-11  Simon Josefsson  <jas@extundo.com>
49689
49690         * lib/stdint_.h (SIZE_MAX): Add missing (.
49691
49692 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
49693
49694         Sync from coreutils.
49695         * lib/md5.c: Fix commentary typos.
49696         (alignof, UNALIGNED_P): No need for a GCC-specific version.
49697         * lib/md5.h (__attribute__): Remove; unused.
49698         * lib/sha1.c: Fix commentary to match md5 better.
49699         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
49700         so that we don't need to worry about alignment.  All uses changed.
49701         This merges the 2005-10-28 md5 change into sha1.
49702
49703 2006-01-11  Jim Meyering  <jim@meyering.net>
49704
49705         Sync from coreutils.
49706         * lib/md5.c (OP): Fix spacing.
49707
49708 2006-01-11  Bruno Haible  <bruno@clisp.org>
49709
49710         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49711         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
49712         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
49713
49714 2006-01-11  Bruno Haible  <bruno@clisp.org>
49715
49716         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49717         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
49718         the "early" section as well.
49719
49720 2006-01-11  Bruno Haible  <bruno@clisp.org>
49721
49722         Avoid "ar: no archive members specified" error on MacOS X.
49723         * gnulib-tool (func_modules_add_dummy): New function.
49724         (func_import, func_create_testdir): Invoke it.
49725
49726 2006-01-11  Bruno Haible  <bruno@clisp.org>
49727
49728         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
49729         with $auxdir in AC_CONFIG_FILES statements.
49730
49731 2006-01-11  Bruno Haible  <bruno@clisp.org>
49732
49733         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49734         Initialize also noinst_HEADERS to empty.
49735
49736 2006-01-11  Bruno Haible  <bruno@clisp.org>
49737
49738         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
49739         variables.
49740         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
49741         autoreconf.
49742
49743 2006-01-11  Bruno Haible  <bruno@clisp.org>
49744
49745         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
49746         overridable by the user.
49747         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49748
49749 2006-01-10  Simon Josefsson  <jas@extundo.com>
49750
49751         * modules/sys_socket: New file.
49752
49753 2006-01-10  Simon Josefsson  <jas@extundo.com>
49754
49755         * m4/sys_socket_h.m4: New file.
49756
49757 2006-01-10  Simon Josefsson  <jas@extundo.com>
49758
49759         * lib/socket_.h: New file.
49760
49761 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49762
49763         * modules/readutmp (Maintainer): Add myself.
49764
49765 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49766
49767         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
49768         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
49769         People who are still concerned with buggy memcmp implementations
49770         can invoke gl_FUNC_MEMCMP themselves.
49771
49772 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49773
49774         * lib/regex_internal.h (BITSET_WORD_BITS):
49775         Work around a bug in 64-bit PGC (before version 6.1-2), where the
49776         preprocessor mishandles large unsigned values as if they were signed.
49777         Problem reported by Claudio Fontana in
49778         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
49779
49780 2006-01-10  Jim Meyering  <jim@meyering.net>
49781
49782         Avoid the double-free (first in fts_read, second in fts_close) that
49783         would occur when an `active' directory is made inaccessible (e.g.,
49784         via chmod a-x) during a traversal.
49785         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
49786         before returning.  Reproduce this failure by
49787         mkdir -p a/b; cd a; chmod a-x . b
49788         Reported by Stavros Passas.
49789
49790         Sync from coreutils.
49791         * lib/sha1.c: Tweak grammar in a comment.
49792
49793 2006-01-10  Jim Meyering  <jim@meyering.net>
49794
49795         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
49796         Patch by Joerg Sonnenberger.
49797
49798 2006-01-10  Bruno Haible  <bruno@clisp.org>
49799
49800         * modules/readutmp: Depend on module free.
49801         * modules/strtok_r: Depend on module restrict.
49802
49803 2006-01-10  Bruno Haible  <bruno@clisp.org>
49804
49805         * modules/gettext (configure.ac): Add an invocation of
49806         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
49807
49808 2006-01-10  Bruno Haible  <bruno@clisp.org>
49809
49810         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
49811         Reported by Werner Lemberg <wl@gnu.org>.
49812
49813 2006-01-10  Bruno Haible  <bruno@clisp.org>
49814
49815         * lib/localcharset.c: Update from GNU gettext.
49816
49817 2006-01-10  Bruno Haible  <bruno@clisp.org>
49818
49819         * lib/argp.h (__const): Remove macro. Use const instead.
49820         * lib/argp-fmtstream.h (__const): Likewise.
49821         * lib/glob_.h (__const): Remove macro.
49822         * lib/glob-libc.h: Use const instead of __const.
49823
49824 2006-01-10  Bruno Haible  <bruno@clisp.org>
49825
49826         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
49827         variable.
49828         Needed to avoid an automake error regarding the 'gettext' module.
49829
49830 2006-01-09  Simon Josefsson  <jas@extundo.com>
49831
49832         * modules/inet_ntop (Depends-on): Add restrict.
49833
49834 2006-01-09  Simon Josefsson  <jas@extundo.com>
49835
49836         * modules/gc-rijndael-tests (License): Put under LGPL.
49837
49838         * modules/gc-des-tests (License): Likewise.
49839
49840         * modules/gc-arcfour-tests (License): Likewise.
49841
49842         * modules/gc-arctwo-tests (License): Likewise.
49843
49844         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
49845
49846         * modules/gc-hmac-sha1-tests (Files): Likewise.
49847
49848         * modules/gc-hmac-md5-tests (License): Likewise.
49849
49850         * modules/gc-sha1-tests (License): Likewise.
49851
49852         * modules/gc-md5-tests (License): Likewise.
49853
49854         * modules/gc-md4-tests (License): Likewise.
49855
49856         * modules/gc-md2-tests (License): Likewise.
49857
49858         * modules/gc-tests (License): Likewise.
49859
49860         * modules/des-tests (License): Likewise.
49861
49862         * modules/md4-tests (License): Likewise.
49863
49864         * modules/md2-tests (License): Likewise.
49865
49866 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49867
49868         Sync from coreutils:
49869
49870         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
49871         * modules/lib-ignore: New file.
49872         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
49873         chdir-safer.m4, lchmod.m4.
49874         * modules/openat: Add mkdirat.c, openat-priv.h.
49875
49876 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49877
49878         Sync from coreutils.
49879         * m4/lib-ignore.m4: New file.
49880         * m4/lchmod.m4: New file.
49881
49882 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49883
49884         Sync from coreutils.
49885         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
49886         for write access: POSIX says that must fail.
49887         * lib/fts.c (diropen): Likewise.
49888         * lib/save-cwd.c (save_cwd): Likewise.
49889         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
49890         well, for minor improvements on hosts that lack O_DIRECTORY.
49891         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
49892         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
49893         Fall back on chown if open failed with EACCES.
49894
49895         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
49896         Report an error at compile-time if only a 1-second nominal clock
49897         resolution is found.
49898
49899         * lib/lchmod.h: New file.
49900         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
49901         (make_dir_parents): Use lchown rather than chown, and
49902         lchmod rather than chmod.
49903
49904         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
49905         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
49906         "proc" reported by n0dalus.
49907
49908         * lib/mountlist.c: Include <limits.h>.
49909         (dev_from_mount_options)
49910         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
49911         New function.  It no longer assumes "dev=" has the System V meaning
49912         on Linux (since it doesn't).  It also parses "dev=" more carefully.
49913         (read_file_system_list)
49914         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
49915         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
49916         dev= in that case.
49917
49918         * lib/posixtm.h (PDS_PRE_2000): New macro.
49919         * lib/posixtm.c (year): Arg is now syntax_bits rather than
49920         allow_century.  All usages changed.  Reject dates outside the range
49921         1969-1999 if PDS_PRE_2000 is used.
49922
49923 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49924
49925         Sync from coreutils.
49926         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
49927         (Time of day items): Mention the possibility of leap seconds.
49928         Problem reported by Dr. David Alan Gilbert.
49929
49930 2006-01-09  Jim Meyering  <jim@meyering.net>
49931
49932         Sync from coreutils.
49933
49934         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
49935
49936         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
49937
49938         * lib/modechange.c (mode_compile): Reject an invalid mode string
49939         that starts with an octal digit.  From Andreas Gruenbacher.
49940
49941         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
49942         and dup to open_safer and dup_safer, respectively.
49943         (openat_permissive): Fix typo in comment.
49944
49945         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
49946         "gettext.h"; either no longer needed or are guaranteed by openat.h.
49947         (_): Remove; no longer needed.
49948         (openat): Renamed from rpl_openat; no need for rpl_openat
49949         since openat.h renames openat for us.
49950         Replace most of the body with a call to openat_permissive,
49951         to avoid duplicate code.
49952         Port to (probably hypothetical) environments were mode_t is
49953         wider than int.
49954         (openat_permissive): Require mode arg, so that we can check
49955         types better.  Put it just after flags.  Change cwd failure
49956         indicator from pointer-to-bool to pointer-to-errno-value.
49957         All callers changed.
49958         Invoke openat_save_fail and/or openat_restore_fail if
49959         cwd_errno is null, so that openat can call us.
49960         (openat_permissive, fdopendir, fstatat, unlinkat):
49961         Simplify errno handling to avoid some duplicate code,
49962         as it's OK to set errno on success.
49963         * lib/openat.h: Revamp code so that function macros depend on
49964         __OPENAT_PREFIX only, not also on AT_FDCWD.
49965         (openat_ro): Remove.  Caller changed to use openat_permissive.
49966         (openat_permissive): Now a macro, if not a function.
49967         (openat_restore_fail, openat_save_fail): Now always functions,
49968         since mkdirat needs them even if __OPENAT_PREFIX is defined.
49969
49970         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
49971         and openat.c.
49972         * lib/mkdirat.c: Include openat-priv.h.
49973         Remove definitions of macros defined therein.
49974         * lib/openat.c: Likewise.
49975
49976         * lib/mkdirat.c (mkdirat): New file and function.
49977         * lib/openat.h (mkdirat): Declare.
49978
49979         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
49980
49981         * lib/openat.h (openat_permissive): Declare.
49982         (openat_ro): Define.
49983
49984         * lib/openat.c (EXPECTED_ERRNO): New macro.
49985         (openat_permissive): New function -- used in remove.c rewrite.
49986         (all functions): Set errno just before returning, only if there
49987         was an actual failure.
49988         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
49989
49990         Emulate openat-family functions using Linux's procfs, if possible.
49991         Idea and some code based on Ulrich Drepper's glibc changes.
49992
49993         * lib/openat.c: (BUILD_PROC_NAME): New macro.
49994         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
49995         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
49996         before falling back on save_cwd and restore_cwd.
49997         (fdopendir, fstatat, unlinkat): Likewise.
49998
49999         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
50000         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
50001
50002         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
50003         as second argument to va_arg.  Otherwise, some versions of gcc
50004         warn that `if this code is reached, the program will abort'.
50005
50006 2006-01-09  Jim Meyering  <jim@meyering.net>
50007
50008         Sync from coreutils.
50009         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
50010         Require openat-priv.h.
50011
50012 2006-01-09  Bruno Haible  <bruno@clisp.org>
50013
50014         * modules/strnlen (Include): Use strnlen.h.
50015
50016 2006-01-09  Bruno Haible  <bruno@clisp.org>
50017
50018         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
50019
50020 2006-01-09  Bruno Haible  <bruno@clisp.org>
50021
50022         * lib/sysexit_.h (EX_OK): New macro.
50023         Suggested by Martin Lambers <marlam@marlam.de>.
50024
50025 2006-01-09  Bruno Haible  <bruno@clisp.org>
50026
50027         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
50028         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
50029
50030 2006-01-09  Bruno Haible  <bruno@clisp.org>
50031
50032         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
50033         numbers.
50034
50035 2006-01-09  Bruno Haible  <bruno@clisp.org>
50036
50037         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
50038         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
50039         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
50040         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
50041
50042 2006-01-09  Bruno Haible  <bruno@clisp.org>
50043
50044         * build-aux/javacomp.sh.in: New file, moved from lib/.
50045         * modules/javacomp-script (Files): Update.
50046         (configure.ac): Add AC_CONFIG_FILES invocation.
50047         (EXTRA_DIST): Remove variable.
50048
50049         * build-aux/javaexec.sh.in: New file, moved from lib/.
50050         * modules/javaexec (Files): Update.
50051         (configure.ac): Add AC_CONFIG_FILES invocation.
50052         (EXTRA_DIST): Remove javaexec.sh.in.
50053
50054         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
50055         * modules/csharpcomp-script (Files): Update.
50056         (configure.ac): Add AC_CONFIG_FILES invocation.
50057         (EXTRA_DIST): Remove variable.
50058
50059         * build-aux/csharpexec.sh.in: New file, moved from lib/.
50060         * modules/csharpexec (Files): Update.
50061         (configure.ac): Add AC_CONFIG_FILES invocation.
50062         (EXTRA_DIST): Remove csharpexec.sh.in.
50063
50064 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
50065
50066         Sync from coreutils.
50067
50068         Add POSIX ACL support
50069         * lib/acl.h (copy_acl, set_acl): Add declarations.
50070         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
50071         systems other than Linux.
50072         (chmod_or_fchmod): New function: use fchmod when possible,
50073         and chmod otherwise.
50074         (file_has_acl): Add a POSIX ACL implementation, with a
50075         Linux-specific subcase.
50076         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
50077         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
50078         acls are unsupported.
50079         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
50080         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
50081         are unsupported.
50082
50083 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
50084
50085         Sync from coreutils.
50086         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
50087
50088 2006-01-07  Bruno Haible  <bruno@clisp.org>
50089
50090         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
50091         gl_EARLY.
50092
50093 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
50094
50095         * lib/strftime.c (tzname): Don't declare if it is already #defined.
50096         Problem reported for Mingw by Mark Junker.
50097
50098 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
50099
50100         * README: Gnulib normally doesn't generate a tarball.
50101
50102 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
50103
50104         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
50105         long int, not int, for nanosecond counts, so that people who are
50106         used to POSIX struct timespec won't be surprised.  Reported by Jim
50107         Meyering.
50108
50109 2005-12-28  Bruno Haible  <bruno@clisp.org>
50110
50111         * build-aux/config.rpath: Update from GNU gettext.
50112
50113 2005-12-16  Jim Meyering  <jim@meyering.net>
50114
50115         * modules/fprintftime: New module.
50116         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
50117
50118 2005-12-16  Jim Meyering  <jim@meyering.net>
50119
50120         * m4/fprintftime.m4: New file.
50121
50122 2005-12-16  Jim Meyering  <jim@meyering.net>
50123
50124         * lib/fprintftime.c, lib/fprintftime.h: New files.
50125
50126 2005-12-15  Simon Josefsson  <jas@extundo.com>
50127
50128         * modules/socklen (configure.ac): Fix M4 macro name, to align with
50129         new m4/socklen.m4.
50130
50131 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
50132
50133         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
50134         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
50135
50136 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
50137
50138         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
50139         * lib/argp-help.c (fill_in_uparams): Check if the constructed
50140         struct uparams is valid. Fall back to the default values if it is
50141         not.
50142
50143 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
50144
50145         * modules/argp (Files): Add argp-pin.c
50146         (Depends-on): dirname
50147         (lib_SOURCES): Add argp-pin.c
50148
50149 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
50150
50151         * m4/argp.m4:  Check if program_invocation_name and
50152         program_invocation_short_name are declared and define appropriate
50153         macros if they are not.
50154
50155 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
50156
50157         * lib/argp-help.c (__argp_base_name): New function
50158         (__argp_short_program_name): Rewrite using __argp_base_name
50159         * lib/argp-namefrob.h: Define program_invocation_name and
50160         program_invocation_short_name if requested
50161         (__argp_base_name): Add prototype
50162         * lib/argp-parse.c (argp_def): Use gettext wrappers
50163         (argp_default_parser): Use __argp_base_name
50164         * lib/argp-pin.c: New file. Defines program_invocation_name and
50165         program_invocation_short_name on systems that lack them.
50166
50167 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
50168
50169         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
50170         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
50171         porting problem reported by Georg Schwarz in
50172         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
50173
50174 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
50175
50176         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
50177         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
50178         porting problem reported by Georg Schwarz in
50179         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
50180
50181 2005-12-05  Bruno Haible  <bruno@clisp.org>
50182
50183         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
50184         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
50185         Reported by Mark Junker <mjscod@gmx.de>.
50186
50187 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
50188
50189         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
50190         Use implementation from Albert Chin, with some
50191         comments/corrections by Stepan Kasal and myself.
50192
50193 2005-12-02  Bruno Haible  <bruno@clisp.org>
50194
50195         * gnulib-tool (func_import): Accept GPLed build tool modules when
50196         --lgpl is given.
50197         * modules/csharpcomp-script: New file.
50198         * modules/csharpcomp: Depend on it.
50199         * modules/javacomp-script: New file.
50200         * modules/javacomp: Depend on it.
50201         Suggested by Simon Josefsson.
50202
50203 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
50204
50205         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
50206         statement, to work around an HP-UX 10.20 compiler bug reported by
50207         Peter O'Gorman.
50208
50209 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
50210
50211         * modules/savedir (Depends-on): Add openat.
50212
50213 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
50214
50215         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
50216         (uintmax_t) [defined uintmax_t]: Do not declare.
50217         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
50218         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
50219         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
50220         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
50221         sake of portability to weird hosts that C allows (though we don't
50222         know of any practical examples).
50223
50224         * lib/savedir.h (fdsavedir): New decl.
50225         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
50226         contains most of the former guts of savedir.
50227         (savedir): Use savedirstream.
50228         Include "openat.h".
50229
50230 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
50231
50232         * modules/obstack (Files): Add m4/ulonglong.m4.
50233         Problem reported by Davide Angelocola.
50234
50235 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
50236
50237         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
50238         coreutils no longer futzes with rounding modes.
50239
50240 2005-11-14  Jim Meyering  <jim@meyering.net>
50241
50242         * lib/mkstemp-safer.c: Include <config.h>, required for possible
50243         replacement of mkstemp.
50244
50245 2005-11-10  Simon Josefsson  <jas@extundo.com>
50246
50247         * lib/readline.c: Remove EOL.
50248
50249 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50250
50251         * modules/gethrxtime (Depends-on): Add gettime.
50252
50253 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50254
50255         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
50256         or gettimeofday; no longer needed.
50257
50258 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50259
50260         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
50261         time business.
50262         (gethrxtime) [! (HAVE_NANOUPTIME
50263         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
50264         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
50265         our own approximation.
50266
50267 2005-11-08  Eric Blake  <ebb9@byu.net>
50268
50269         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
50270
50271 2005-11-08  Eric Blake  <ebb9@byu.net>
50272
50273         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
50274
50275 2005-11-04  Bruno Haible  <bruno@clisp.org>
50276
50277         * gnulib-tool: Implement --update mode.
50278
50279 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
50280
50281         Fix porting problem reported by Theodoros V. Kalamatianos.
50282         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
50283         Don't assume that futimes failing means we must fail.
50284
50285 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
50286
50287         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
50288         variables to suggest the intended function of the PATH_MAX check.
50289
50290 2005-10-30  Kean Johnston  <jkj@sco.com>
50291
50292         Trivial changes to support SCO systems.
50293         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
50294         as PATH_MAX.
50295         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
50296         where __ptr is null when no I/O is pending.
50297
50298 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
50299
50300         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
50301         leave errno alone.  Problem reported by Dmitry V. Levin.
50302
50303 2005-10-28  Simon Josefsson  <jas@extundo.com>
50304
50305         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
50306         Test more.
50307
50308         * tests/test-gc-md2.c, tests/test-md2.c: New files.
50309
50310         * modules/md2, modules/md2-tests: New files.
50311
50312 2005-10-28  Simon Josefsson  <jas@extundo.com>
50313
50314         * m4/inet_ntop.m4: More tests.
50315
50316         * m4/gc-md2.m4, md2.m4: New file.
50317
50318 2005-10-28  Simon Josefsson  <jas@extundo.com>
50319
50320         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
50321         "restrict" keywords, as per POSIX.  Protect the function
50322         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
50323         Don't use K&R prototypes.  Check the sprintf return values.
50324         Re-define EAFNOSUPPORT if not present.  Indent.
50325
50326         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
50327         suggested by Bruno Haible <bruno@clisp.org>.
50328
50329         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
50330
50331         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
50332
50333         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
50334         libgcrypt).
50335
50336         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
50337
50338         * lib/md2.h, lib/md2.c: New files.
50339
50340 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
50341
50342         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
50343         errno alone.  Problem reported by Frederic Jolliton.
50344
50345 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
50346
50347         * modules/verify (License): Change from GPL to LGPL.  This is a
50348         tiny module and there are apparently near-equivalents that are
50349         under the BSD license.
50350
50351 2005-10-24  Simon Josefsson  <jas@extundo.com>
50352
50353         * modules/sha1: Relicense to LGPL.
50354
50355 2005-10-24  Simon Josefsson  <jas@extundo.com>
50356
50357         * lib/md4.h: Shrink buffer size, now that we changed the type.
50358
50359 2005-10-23  Simon Josefsson  <jas@extundo.com>
50360
50361         * gnulib-tool (func_import): Fix --tests-base.
50362
50363 2005-10-22  Simon Josefsson  <jas@extundo.com>
50364
50365         * modules/arcfour (Depends-on): Need stdint.
50366
50367 2005-10-22  Simon Josefsson  <jas@extundo.com>
50368
50369         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
50370         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
50371
50372 2005-10-22  Simon Josefsson  <jas@extundo.com>
50373
50374         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
50375         suggested by Bruno Haible <bruno@clisp.org>.
50376
50377 2005-10-22  Simon Josefsson  <jas@extundo.com>
50378
50379         * lib/crc.h: Include stddef.h, for size_t.
50380
50381 2005-10-22  Simon Josefsson  <jas@extundo.com>
50382
50383         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
50384         arcfour_context struct (simplify test vector testing in GNU
50385         Shishi).
50386
50387 2005-10-21  Simon Josefsson  <jas@extundo.com>
50388
50389         * modules/des, modules/des-tests: New files.
50390
50391         * modules/gc-des, modules/gc-des-tests: New files.
50392
50393         * tests/test-des.c, tests/test-gc-des.c: New file.
50394
50395 2005-10-21  Simon Josefsson  <jas@extundo.com>
50396
50397         * modules/arctwo, modules/arctwo-tests: New files.
50398
50399         * tests/test-arctwo.c: New file.
50400
50401         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
50402
50403         * tests/test-gc-arctwo.c: New file.
50404
50405 2005-10-21  Simon Josefsson  <jas@extundo.com>
50406
50407         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
50408         Bruno Haible <bruno@clisp.org>.
50409
50410         * m4/gc-des.m4: New file.
50411
50412 2005-10-21  Simon Josefsson  <jas@extundo.com>
50413
50414         * m4/arctwo.m4: New file.
50415
50416         * m4/gc-arctwo.m4: New file.
50417
50418 2005-10-21  Simon Josefsson  <jas@extundo.com>
50419
50420         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
50421         block.
50422
50423 2005-10-21  Simon Josefsson  <jas@extundo.com>
50424
50425         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
50426         <bruno@clisp.org>.
50427
50428         * lib/hmac-sha1.c (hmac_sha1): Likewise.
50429
50430         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
50431         Bruno Haible <bruno@clisp.org>.
50432
50433         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
50434         <bruno@clisp.org>.
50435
50436 2005-10-21  Simon Josefsson  <jas@extundo.com>
50437
50438         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
50439
50440 2005-10-21  Simon Josefsson  <jas@extundo.com>
50441
50442         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
50443
50444 2005-10-21  Simon Josefsson  <jas@extundo.com>
50445
50446         * lib/des.h, lib/des.c: New files.
50447
50448         * lib/gc-gnulib.c: Support DES.c
50449
50450 2005-10-21  Simon Josefsson  <jas@extundo.com>
50451
50452         * lib/arctwo.h, lib/arctwo.c: New files.
50453
50454         * lib/gc-gnulib.c: Support ARCTWO.
50455
50456 2005-10-21  Simon Josefsson  <jas@extundo.com>
50457
50458         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
50459         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50460
50461 2005-10-21  Simon Josefsson  <jas@extundo.com>
50462
50463         * gnulib-tool (func_import, func_create_testdir): Define automake
50464         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
50465         Makefile.am snippet),
50466         suggested by Bruno Haible <bruno@clisp.org>.
50467
50468         * modules/gc (Makefile.am): Use it.
50469
50470 2005-10-21  Bruno Haible  <bruno@clisp.org>
50471
50472         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
50473         patch.
50474
50475 2005-10-19  Simon Josefsson  <jas@extundo.com>
50476
50477         * tests/test-gc-rijndael.c: New file.
50478
50479         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
50480
50481 2005-10-19  Simon Josefsson  <jas@extundo.com>
50482
50483         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
50484         interface too.
50485
50486 2005-10-19  Simon Josefsson  <jas@extundo.com>
50487
50488         * tests/test-gc-arcfour.c: New file.
50489
50490         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
50491
50492 2005-10-19  Simon Josefsson  <jas@extundo.com>
50493
50494         * modules/gc-md4, modules/gc-md4-tests: New file.
50495
50496         * tests/test-gc-md4.c: New file.
50497
50498 2005-10-19  Simon Josefsson  <jas@extundo.com>
50499
50500         * m4/gc-md4.m4: New file.
50501
50502 2005-10-19  Simon Josefsson  <jas@extundo.com>
50503
50504         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
50505         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
50506         <kasal@ucw.cz>.
50507
50508 2005-10-19  Simon Josefsson  <jas@extundo.com>
50509
50510         * m4/gc-arcfour.m4: New file.
50511
50512         * m4/gc-rijndael.m4: New file.
50513
50514 2005-10-19  Simon Josefsson  <jas@extundo.com>
50515
50516         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
50517
50518 2005-10-19  Simon Josefsson  <jas@extundo.com>
50519
50520         * lib/gc-gnulib.c: Support ARCFOUR.
50521
50522 2005-10-19  Simon Josefsson  <jas@extundo.com>
50523
50524         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
50525         support.
50526
50527         * lib/gc.h: Add ECB enum type.
50528
50529         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
50530
50531 2005-10-18  Simon Josefsson  <jas@extundo.com>
50532
50533         * tests/test-md5.c: New file.
50534
50535         * modules/md5-tests: New file.
50536
50537 2005-10-18  Simon Josefsson  <jas@extundo.com>
50538
50539         * tests/test-md4.c: New file.
50540
50541         * modules/md4, modules/md4-tests: New files.
50542
50543 2005-10-18  Simon Josefsson  <jas@extundo.com>
50544
50545         * m4/md4.m4: New file.
50546
50547 2005-10-18  Simon Josefsson  <jas@extundo.com>
50548
50549         * lib/md4.h, lib/md4.c: New files, based on md5.?.
50550
50551 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
50552
50553         * gnulib-tool (func_create_testdir): Omit the second check whether
50554         BUILT_SOURCES in nonempty.
50555
50556 2005-10-17  Simon Josefsson  <jas@extundo.com>
50557
50558         * tests/test-rijndael.c: New file.
50559
50560 2005-10-17  Simon Josefsson  <jas@extundo.com>
50561
50562         * modules/sha1: Depend on stdint instead of md5.
50563
50564         * modules/md5: Depend on stdint, remove uint32_t.
50565
50566 2005-10-17  Simon Josefsson  <jas@extundo.com>
50567
50568         * modules/gc-sha1-tests: New file.
50569
50570         * tests/test-gc-sha1.c: New file.
50571
50572 2005-10-17  Simon Josefsson  <jas@extundo.com>
50573
50574         * m4/md5.m4: Remove call to uint32_t.m4.
50575
50576 2005-10-17  Simon Josefsson  <jas@extundo.com>
50577
50578         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
50579
50580         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
50581         md5.h.
50582
50583         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
50584
50585         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
50586
50587 2005-10-17  Simon Josefsson  <jas@extundo.com>
50588
50589         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
50590
50591 2005-10-17  Simon Josefsson  <jas@extundo.com>
50592
50593         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
50594
50595 2005-10-17  Simon Josefsson  <jas@extundo.com>
50596
50597         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
50598
50599         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
50600
50601 2005-10-17  Bruno Haible  <bruno@clisp.org>
50602
50603         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
50604         that it can also be used in a test.
50605
50606 2005-10-16  Bruno Haible  <bruno@clisp.org>
50607
50608         * gnulib-tool (func_emit_tests_Makefile_am): Also define
50609         TESTS_ENVIRONMENT, so that individual tests can augment it.
50610
50611         * gnulib-tool (func_create_testdir): Use an intermediate target for
50612         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
50613         macros, like $(ALLOCA_H), which cannot be passed through the command
50614         line.
50615
50616 2005-10-15  Simon Josefsson  <jas@extundo.com>
50617
50618         * modules/rijndael-tests: New file.
50619
50620         * modules/rijndael: New file.
50621
50622 2005-10-15  Simon Josefsson  <jas@extundo.com>
50623
50624         * m4/rijndael.m4: New file.
50625
50626 2005-10-15  Simon Josefsson  <jas@extundo.com>
50627
50628         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
50629
50630         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
50631
50632 2005-10-14  Simon Josefsson  <jas@extundo.com>
50633
50634         * tests/test-arcfour.c: New file.
50635
50636         * modules/arcfour, modules/arcfour-tests: New files.
50637
50638 2005-10-14  Simon Josefsson  <jas@extundo.com>
50639
50640         * m4/arcfour.m4: New file.
50641
50642 2005-10-14  Simon Josefsson  <jas@extundo.com>
50643
50644         * lib/arcfour.h, lib/arcfour.c: New files.
50645
50646 2005-10-14  Roland McGrath  <roland@redhat.com>
50647
50648         Import from libc.  [BZ #1331]
50649         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
50650         macro argument.
50651         Reported by Matej Vela <vela@debian.org>.
50652
50653 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
50654
50655         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
50656         include <wchar.h>; no longer needed.
50657
50658 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
50659
50660         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
50661
50662 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
50663         and  Ulrich Drepper  <drepper@redhat.com>
50664
50665         Import from libc.
50666         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
50667         instead of inline stream orientation test and two separate
50668         function calls.  Pay no attention to USE_IN_LIBIO.
50669
50670 2005-10-13  Simon Josefsson  <jas@extundo.com>
50671
50672         * modules/gc-hmac-md5-tests: New file.
50673
50674         * tests/test-gc-hmac-sha1.c: New file.
50675
50676         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
50677
50678         * modules/gc-hmac-md5-tests: New file.
50679
50680         * tests/test-gc-md5.c: New file.
50681
50682         * modules/gc-md5-tests: New file.
50683
50684 2005-10-13  Simon Josefsson  <jas@extundo.com>
50685
50686         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
50687         Move memory allocation outside of loop.
50688
50689 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
50690
50691         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
50692         intermediate directory is in a read-only file system.  Problem
50693         reported by Eric Blake.
50694
50695 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
50696
50697         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
50698
50699 2005-10-12  Simon Josefsson  <jas@extundo.com>
50700
50701         * tests/test-hmac-sha1.c: New file.
50702
50703         * modules/hmac-sha1-tests: New file.
50704
50705         * modules/hmac-sha1: New file.
50706
50707 2005-10-12  Simon Josefsson  <jas@extundo.com>
50708
50709         * modules/gc-sha1: New file.
50710
50711 2005-10-12  Simon Josefsson  <jas@extundo.com>
50712
50713         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
50714
50715         * tests/test-gc-pbkdf2-sha1.c: New file.
50716
50717 2005-10-12  Simon Josefsson  <jas@extundo.com>
50718
50719         * modules/gc-md5, modules/gc-hmac-md5: New files.
50720
50721         * modules/gc (Files): Remove md5, memxor and hmac files.
50722
50723 2005-10-12  Simon Josefsson  <jas@extundo.com>
50724
50725         * m4/gc-pbkdf2-sha1.m4: New file.
50726
50727         * m4/gc-hmac-sha1.m4: New file.
50728
50729         * m4/gc-sha1: New file.
50730
50731         * m4/hmac-sha1.m4: New file.
50732
50733 2005-10-12  Simon Josefsson  <jas@extundo.com>
50734
50735         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
50736
50737         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
50738
50739 2005-10-12  Simon Josefsson  <jas@extundo.com>
50740
50741         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
50742         suggested by Bruno Haible <bruno@clisp.org>.
50743
50744 2005-10-12  Simon Josefsson  <jas@extundo.com>
50745
50746         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
50747
50748 2005-10-12  Simon Josefsson  <jas@extundo.com>
50749
50750         * lib/gc-pbkdf2-sha1.c: New file.
50751
50752         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
50753
50754 2005-10-12  Simon Josefsson  <jas@extundo.com>
50755
50756         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
50757
50758         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
50759
50760 2005-10-12  Simon Josefsson  <jas@extundo.com>
50761
50762         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
50763         GC_USE_HMAC_MD5, respectively.
50764
50765         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
50766         (gc_md5): Fix typo.
50767
50768         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
50769
50770         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
50771
50772         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
50773
50774 2005-10-12  Bruno Haible  <bruno@clisp.org>
50775
50776         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
50777         Reported by Stepan Kasal <kasal@ucw.cz>.
50778
50779 2005-10-11  Simon Josefsson  <jas@extundo.com>
50780
50781         * tests/test-crc.c: New file.
50782
50783         * modules/crc, modules/crc-tests: New files.
50784
50785 2005-10-11  Simon Josefsson  <jas@extundo.com>
50786
50787         * m4/crc.m4: New file.
50788
50789 2005-10-11  Simon Josefsson  <jas@extundo.com>
50790
50791         * lib/gc.h: Add gc_hash and gc_hash_buffer.
50792
50793         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
50794
50795         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
50796
50797 2005-10-11  Simon Josefsson  <jas@extundo.com>
50798
50799         * lib/crc.h, lib/crc.c: New files.
50800
50801         * lib/gc.h (gc_hash_buffer): Add doc.
50802
50803 2005-10-11  Bruno Haible  <bruno@clisp.org>
50804
50805         * modules/c-strcasestr: New file.
50806         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
50807
50808 2005-10-11  Bruno Haible  <bruno@clisp.org>
50809
50810         * modules/c-strcase: New file.
50811         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
50812
50813 2005-10-11  Bruno Haible  <bruno@clisp.org>
50814
50815         * lib/strcasecmp.c: Include limits.h.
50816         (strcasecmp): Avoid integer overflow on exotic platforms.
50817         * lib/strncasecmp.c: Include limits.h.
50818         (strncasecmp): Avoid integer overflow on exotic platforms.
50819         Reported by Paul Eggert.
50820
50821 2005-10-11  Bruno Haible  <bruno@clisp.org>
50822
50823         * lib/c-strcasestr.h: New file, from GNU gettext.
50824         * lib/c-strcasestr.c: New file, from GNU gettext.
50825
50826 2005-10-11  Bruno Haible  <bruno@clisp.org>
50827
50828         * lib/c-strcase.h: New file, from GNU gettext.
50829         * lib/c-strcasecmp.c: New file, from GNU gettext.
50830         * lib/c-strncasecmp.c: New file, from GNU gettext.
50831
50832 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
50833
50834         * modules/mempcpy (License): GPL -> LGPL.
50835         * modules/strchrnul (License): Likewise.
50836         * modules/sysexits (License): Likewise.
50837
50838 2005-10-08  Simon Josefsson  <jas@extundo.com>
50839
50840         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
50841
50842 2005-10-07  Simon Josefsson  <jas@extundo.com>
50843
50844         * m4/memxor.m4: Remove gl_C_RESTRICT call.
50845
50846 2005-10-06  Simon Josefsson  <jas@extundo.com>
50847
50848         * tests/test-hmac-md5.c: New file.
50849
50850         * modules/hmac-md5-tests: New file.
50851
50852         * modules/hmac-md5: New file.
50853
50854 2005-10-06  Simon Josefsson  <jas@extundo.com>
50855
50856         * m4/hmac-md5.m4: New file.
50857
50858         * m4/memxor.m4: Require gl_C_RESTRICT.
50859
50860 2005-10-06  Simon Josefsson  <jas@extundo.com>
50861
50862         * lib/memxor.c (memxor): Avoid casts and warnings.
50863
50864 2005-10-06  Simon Josefsson  <jas@extundo.com>
50865
50866         * lib/hmac-md5.c: New file.
50867
50868         * lib/hmac.h: New file.
50869
50870 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
50871
50872         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
50873         promotes to int, not unsigned int, to catch the AIX 5.3
50874         compiler bug.
50875
50876 2005-10-05  Simon Josefsson  <jas@extundo.com>
50877
50878         * modules/memxor: New file.
50879
50880         * modules/iconv (Files): Move config.rpath to havelib, it is used
50881         there.
50882
50883         * modules/havelib (Files): Add config.rpath.
50884
50885 2005-10-05  Simon Josefsson  <jas@extundo.com>
50886
50887         * m4/memxor.m4: New file.
50888
50889 2005-10-05  Simon Josefsson  <jas@extundo.com>
50890
50891         * lib/memxor.c (memxor): Fix compiler error.
50892
50893         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
50894         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
50895
50896         * lib/memxor.h, lib/memxor.c: New files.
50897
50898         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
50899         we assume all systems have it, suggested by Jim Meyering
50900         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
50901         any systems lack sys/socket.h; mingw32 is known to lack it, but we
50902         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
50903         same reasons.
50904
50905 2005-10-05  Simon Josefsson  <jas@extundo.com>
50906
50907         * config/srclist.txt: Add glibc bug 1423 for md5.h.
50908
50909 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
50910
50911         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
50912         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
50913         needed, since the source code now assumes these .h files.
50914
50915 2005-10-05  Derek Price  <derek@ximbiot.com>
50916
50917         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
50918
50919 2005-10-05  Bruno Haible  <bruno@clisp.org>
50920
50921         * modules/stdint (License): Change to LGPL.
50922
50923 2005-10-04  Simon Josefsson  <jas@extundo.com>
50924
50925         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
50926         D. Baushke" <mdb@gnu.org>.
50927
50928 2005-10-04  Bruno Haible  <bruno@clisp.org>
50929
50930         * lib/verify.h (verify_true): Provide alternative definition for C++.
50931
50932 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
50933
50934         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
50935         (SSIZE_MAX): New macro, if not already defined.
50936         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
50937         than 2 GiB.
50938
50939 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50940
50941         Sync from coreutils.
50942         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
50943         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
50944         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
50945         ULLONG_MAX doesn't work with 2.7.2.1.
50946
50947 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50948
50949         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
50950         From Ben Pfaff.
50951
50952         * modules/exclude (Depends-on): Depend on verify.
50953         * modules/strtoimax (Depends-on): Likewise.
50954         * modules/utimecmp (Depends-on): Likewise.
50955
50956 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50957
50958         * lib/exclude.c: Include verify.h.
50959         (verify): Remove.  All callers changed to use verify.h's version.
50960         * lib/strtoimax.c: Likewise.
50961         * lib/utimecmp.c: Likewis.e
50962
50963         Sync from coreutils.
50964         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
50965         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
50966         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
50967         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
50968         bother returning ENOSYS if settimeofday or stime fails; just let
50969         them return whatever errno they want to return.
50970         * lib/utimens.c: Include unistd.h, for dup2.
50971         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
50972         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
50973
50974 2005-10-02  Jim Meyering  <jim@meyering.net>
50975
50976         Sync from coreutils.
50977         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
50978         from glibc-2.2.5 that fails for read-only files.
50979
50980 2005-10-02  Jim Meyering  <jim@meyering.net>
50981
50982         Sync from coreutils.
50983         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
50984         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
50985         `#if HAVE_CONFIG_H'.
50986         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
50987         Remove AT_FDCWD test.
50988         Do not consume the fd unless successful.
50989         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
50990         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
50991         block, so that we don't even try to compile it if settimeofday is
50992         available.  This works around a compilation failure on OSF1 V5.1,
50993         due to stime requiring a `long int*' while tv_sec is `int'.
50994
50995 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
50996
50997         Sync from coreutils.
50998         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
50999         against `yes', rather than just testing for nonempty.
51000
51001 2005-10-01  Simon Josefsson  <jas@extundo.com>
51002
51003         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
51004         and Darwin.
51005
51006         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
51007         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
51008         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
51009         freeaddrinfo and gai_strerror are declared by the POSIX headers.
51010         Check if struct addrinfo is declared.
51011
51012 2005-10-01  Simon Josefsson  <jas@extundo.com>
51013
51014         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
51015         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
51016         AI_* and EAI_* definitions.  Protect function declarations.
51017
51018 2005-10-01  Jim Meyering  <jim@meyering.net>
51019
51020         Sync from coreutils.
51021
51022         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
51023         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
51024         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
51025         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
51026         in the inet and nsl libraries.  Required on Solaris 5.7.
51027
51028 2005-10-01  Jim Meyering  <jim@meyering.net>
51029
51030         Sync from coreutils.
51031         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
51032         in the inet and nsl libraries.  Required on Solaris 5.7.
51033
51034 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
51035
51036         * lib/getdelim.c (getdelim): Remove unused variables.
51037
51038 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
51039
51040         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
51041         so that the code works even with ancient cpp.  Portability problem
51042         with GCC 2.7.2.1 reported by Thomas M.Ott.
51043
51044 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
51045
51046         * modules/regex (Depends-on): Add strcase.
51047
51048         * modules/gethostname (Licence): Change from GPL to LGPL, since
51049         gethostname.c is a trivial implementation of a standard library
51050         function.
51051         * modules/poll (License): Change from GPL to LGPL, since it's
51052         derived from LGPL code.
51053
51054 2005-09-27  Jim Meyering  <jim@meyering.net>
51055
51056         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
51057         HAVE_CONFIG_H.
51058
51059         * lib/intprops.h (signed_type_or_expr__): Define.
51060         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
51061         for unsigned types.
51062
51063 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
51064
51065         * lib/verify.h (verify_expr): Remove, replacing with:
51066         (verify_true): New macro that returns true instead of void.
51067         (verify_type__): Remove.
51068         (verify): Use verify_true rather than verify_type__.
51069
51070 2005-09-26  Bruno Haible  <bruno@clisp.org>
51071
51072         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
51073         is necessary.
51074         (lib_SOURCES): Remove mbchar.c.
51075         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
51076         (Files): Add m4/mbrtowc.m4.
51077         * modules/mbiter: Likewise.
51078         * modules/mbuiter: Likewise.
51079
51080 2005-09-26  Bruno Haible  <bruno@clisp.org>
51081
51082         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
51083         compile mbchar.c if they are not both present.
51084         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
51085         * m4/mbiter.m4 (gl_MBITER): Likewise.
51086         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
51087         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
51088         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
51089
51090 2005-09-25  Jim Meyering  <jim@meyering.net>
51091
51092         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
51093         also uses socklen_t.
51094
51095 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
51096
51097         * lib/utimens.c (ENOSYS): Define if not already defined.
51098         (futimens): Support having a null PATH if the file descriptor
51099         is nonnegative.
51100
51101         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
51102         Remove.
51103         (__attribute): Define to empty unless GCC 3.1 or later.
51104         This works around a core dump on OpenBSD 3.4, which has GCC
51105         2.95.3, which dumps core when given __attribute__(()).  It also
51106         simplifies other tests, since we really don't want to bother with
51107         worrying about which ancient version of GCC supported what.
51108         Original problem reported by Yoann Vandoorselaere, with part of
51109         the fix suggested by Derek Price.
51110
51111 2005-09-24  Jim Meyering  <jim@meyering.net>
51112
51113         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
51114         so we can once again use a positive bitfield width of 1 -- now we
51115         don't have to explain why we were using a bitfield width of 2.
51116
51117 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
51118
51119         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
51120         and similarly for the other external symbols.  Problem reported
51121         by James Gallager.
51122
51123         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
51124         bug reported by Jim Meyering.
51125
51126         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
51127         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
51128         not needed, since socklen is a prerequisite module.
51129
51130 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
51131
51132         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
51133         Problem reported by Eric Blake.
51134         (getaddrinfo): Initialize se so that it's not garbage.
51135         Redo internal storage allocation so that it doesn't make unportable
51136         assumptions about alignment.
51137         Fix a memory leak.
51138
51139         * lib/utimens.c (futimens): Use futimesat if available.
51140         Prefer it to futimes since it doesn't have the futimes bug.
51141
51142         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
51143         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
51144         Instead, declare a function that returns a pointer to an array,
51145         and use verify_type__ to declare the size of the array.
51146         Problem and germ of a solution reported by Bruno Haible.
51147         (verify_type__): Use 2, not 1, for bitfield size, to avoid
51148         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
51149
51150 2005-09-23  Jim Meyering  <jim@meyering.net>
51151
51152         Sync from coreutils.
51153         Correct build failure (socklen_t not defined) on at least
51154         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
51155         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
51156
51157 2005-09-23  Jim Meyering  <jim@meyering.net>
51158
51159         * modules/getaddrinfo (Depends-on): Add socklen.
51160
51161 2005-09-23  Bruno Haible  <bruno@clisp.org>
51162
51163         * tests/test-verify.c: New file.
51164
51165 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
51166
51167         Sync from coreutils.
51168
51169         * modules/argmatch (Depends-on): Add verify.
51170         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
51171         unistd-safer.
51172         * modules/save-cwd (Depends-on): Likewise.
51173
51174         * modules/openat (Files): Add lib/openat-die.c.
51175         (Depends-on): Remove error, exitfail.
51176         Add dirname.
51177
51178         * modules/verify: New file.
51179         * MODULES.html.sh (Diagnostics <assert.h>): New section,
51180         with "verify" module.
51181
51182 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
51183
51184         Sync from coreutils.
51185
51186         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
51187         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
51188         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
51189         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
51190         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
51191         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
51192         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
51193         Don't bother checking for string.h, stdlib.h, unistd.h.
51194         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
51195         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
51196         module's job.
51197         * m4/jm-macros.m4 (gl_MACROS): Likewise.
51198         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
51199
51200         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
51201         (gl_GETDATE): Use it.
51202
51203         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
51204
51205 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
51206
51207         Sync from coreutils.
51208
51209         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
51210         stat-time.h.
51211         * lib/argmatch.h: Include verify.h
51212         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
51213         (ARGMATCH_ASSERT): Remove; unused.
51214         * lib/canonicalize.c: Assume STDC_HEADERS.
51215         * lib/exclude.c: Include "strcase.h".
51216         * lib/regex_internal.h [!defined _LIBC]: Likewise.
51217         * lib/getusershell.c: Include stdio--.h rather than stdio.h
51218         and stdio-safer.h.
51219         (getusershell): Call fopen, not fopen_safer.
51220         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
51221         Do not include unistd-safer.h.
51222         (save_cwd): Don't call fd_safer; no longer needed
51223         now that we include fcntl--.h.
51224
51225         * lib/getdate.y (relative_time): New type.
51226         (RELATIVE_TIME_0): New constant.
51227         (parser_control): Use relative_time instead of doing it ourselves.
51228         (%union): Add new relative_time rel member.
51229         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
51230         Now typeless.
51231         (relunit, relunit_snumber): Now of type rel.
51232         (zone, rel, relunit, get_date): Adjust to above changes.
51233
51234         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
51235         Do not include unistd-safer.h.
51236         (getloadavg): Don't call fd_safer; no longer needed
51237         now that we include fcntl--.h.
51238
51239         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
51240         (make_dir_parents): Treat ENOSYS like EEXIST.
51241
51242         Improve quality of diagnostics on restore_cwd failure.
51243         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
51244         (make_dir_parents): Last arg is now int * (for errno), not bool *.
51245         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
51246         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
51247         each time through the loop.  Do not diagnose restore_cwd failure;
51248         that is the caller's job (and perhaps the caller does not care).
51249
51250         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
51251         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
51252         If the file already exists but is not a directory, don't bother
51253         to try to make its parents.
51254         Close potential file descriptor leak if we can't chdir("/") (!).
51255         Don't always return true if chdir($PWD) fails; return true only
51256         if the requested action was done successfully (except for the
51257         chdir($PWD)).
51258         Don't log final directory unless we actually made it.
51259         Refactor to avoid duplicate code to fix up permissions.
51260         Don't attempt to fix up parent permissions if chdir($PWD) fails.
51261
51262         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
51263         to make it a bit faster and (I hope) clearer.
51264         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
51265         Fix bug in formats like %2N.
51266
51267         * lib/verify.h: New file.
51268
51269 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
51270
51271         Sync from coreutils.
51272         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
51273
51274 2005-09-22  Jim Meyering  <jim@meyering.net>
51275
51276         Sync from coreutils.
51277
51278         * m4/lstat.m4 (gl_FUNC_LSTAT):
51279         Use AC_LIBSOURCES to require lstat.c and lstat.h.
51280         Remove obsolete comment.
51281         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
51282         * m4/xstrtod.m4: Likewise.
51283
51284         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
51285
51286 2005-09-22  Jim Meyering  <jim@meyering.net>
51287
51288         Sync from coreutils.
51289
51290         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
51291
51292         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
51293         the .tm_year member, since otherwise gcc-4.0 would now warn about
51294         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
51295
51296         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
51297         order to avoid an unsuppressible warning from gcc on 64-bit systems.
51298
51299         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
51300         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
51301         when run in a time zone for which daylight savings time is in effect
51302         for the starting date.
51303
51304         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
51305         stop us from restricting permissions of just-created absolute-named
51306         directories.
51307         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
51308         to restore initial working directory.
51309         * lib/mkdir-p.c (make_dir_parents): New parameter:
51310         different_working_dir, to tell caller if/when we change the working
51311         directory and are unable to return to the initial one.
51312         * lib/mkdir-p.h (make_dir_parents): Update prototype.
51313         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
51314         `return false'.  This fixes a bug introduced on 2004-07-30.
51315
51316         * lib/openat.c (fdopendir): Be sure to close the supplied
51317         file descriptor before returning.  This makes our replacement
51318         implementation a little closer to Solaris's, where fdopendir
51319         ties the file descriptor to the returned DIR* pointer.
51320         * lib/openat.c (unlinkat): New function.
51321         * lib/openat.h (unlinkat): Add prototype.
51322         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
51323         (openat_restore_fail): Rename from openat_restore_die.
51324         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
51325
51326         Provide an alternative to exiting immediately upon save_cwd or
51327         restore_cwd failure.  Now, an application can arrange e.g.,
51328         to perform a longjump in that case.
51329         * lib/openat.c: Include dirname.h.
51330         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
51331         (rpl_openat, fdopendir, fstatat): Call openat_save_die
51332         and openat_restore_die rather than calling error directly.
51333         Don't include "error.h" or "exitfail.h"; they're no longer needed.
51334
51335         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
51336         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
51337         define.
51338
51339         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
51340         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
51341                             int utc, int nanoseconds);
51342         Background:
51343         date should not have to allocate a megabyte of virtual memory to
51344         handle a format argument like +%1048575T.  When implemented with
51345         strftime, it must allocate such a buffer, use strftime to fill it
51346         in, print it, then free it.
51347         With fprintftime, it simply prints everything and exits.
51348         With no need for memory allocation, that's one fewer way to fail.
51349         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
51350         optional field width, not before, so we accept %9:z, not %:9z.
51351         (my_strftime): Be sure to use L_('x') for literals.
51352
51353         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
51354         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
51355         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
51356         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
51357         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
51358         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
51359         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
51360         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
51361         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
51362         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
51363         * lib/xgethostname.c, lib/xreadlink.c:
51364         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
51365
51366         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
51367         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
51368         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
51369         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
51370         and don't include <sys/file.h>).
51371
51372 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
51373
51374         Sync from coreutils.
51375
51376         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
51377         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
51378         [!LDAV_DONE]: Avoid unused variable warning.
51379
51380 2005-09-21  Bruno Haible  <bruno@clisp.org>
51381
51382         * lib/unicodeio.h (unicode_to_mb): New declaration.
51383
51384 2005-09-20  Derek Price  <derek@ximbiot.com>
51385
51386         * lib/getaddrinfo.c: Don't include <netdb.h> included from
51387         getaddrinfo.h.
51388
51389 2005-09-20  Bruno Haible  <bruno@clisp.org>
51390
51391         * gnulib-tool: Remove trailing slashes from the values specified for
51392         --source-base, --m4-base, --tests-base, --aux-dir.
51393         Suggested by Simon Josefsson <jas@extundo.com>.
51394
51395 2005-09-20  Bruno Haible  <bruno@clisp.org>
51396
51397         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
51398         func_modules_to_filelist, func_import, func_create_testdir): Make all
51399         sorting results locale-independent, so that gnulib-cache.m4 doesn't
51400         change when gnulib-tool is invoked in a different locale.
51401
51402 2005-09-19  Simon Josefsson  <jas@extundo.com>
51403
51404         * m4/socklen.m4: Fix typo.
51405
51406 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51407
51408         Use a consistent style for including <config.h>.
51409         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
51410         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
51411         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
51412         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
51413         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
51414         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
51415         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
51416         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
51417         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
51418         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
51419         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
51420         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
51421         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
51422         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
51423         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
51424         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
51425         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
51426         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
51427         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
51428         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
51429         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
51430         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
51431         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
51432         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
51433         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
51434         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
51435         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
51436         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
51437         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
51438         lib/xstrtoumax.c, lib/yesno.c:
51439         Standardize inclusion of config.h.
51440         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
51441         lib/inttostr.h:  Removed inclusion of config.h from header files.
51442         * lib/inttostr.c:  Adjusted in-tree users.
51443         * lib/timespec.h: Remove superfluous warning to include config.h.
51444         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
51445         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
51446         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
51447         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
51448         config.h with HAVE_CONFIG_H.
51449
51450 2005-09-19  Jim Meyering  <jim@meyering.net>
51451
51452         * modules/pathmax (License): Change to LGPL.
51453
51454 2005-09-19  Derek Price  <derek@ximbiot.com>
51455
51456         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
51457
51458 2005-09-19  Bruno Haible  <bruno@clisp.org>
51459
51460         * gnulib-tool (import): Provide default for --tests-base.
51461
51462 2005-09-19  Bruno Haible  <bruno@clisp.org>
51463
51464         * doc/quote.texi: New file, extracted from gnulib.texi.
51465         * doc/ctime.texi: New file, extracted from gnulib.texi.
51466         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
51467         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
51468         * doc/gnulib.texi: Include them.
51469
51470 2005-09-18  Bruno Haible  <bruno@clisp.org>
51471
51472         Portability fix.
51473         * gnulib-tool (func_readlink): New function.
51474         (func_ln_if_changed): Use it.
51475
51476 2005-09-18  Bruno Haible  <bruno@clisp.org>
51477
51478         * gnulib-tool: Support --with-tests also with --import.
51479         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
51480         (func_import): Use variables $testsbase and $inctests. Emit a
51481         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
51482         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
51483         SUBDIRS += $testsdir.
51484         (func_create_testdir): Update.
51485
51486 2005-09-18  Bruno Haible  <bruno@clisp.org>
51487
51488         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
51489         instead of $dry_run.
51490         (func_cp_if_changed, func_mv_if_changed): Remove functions.
51491         (func_ln_if_changed): Don't handle dry-run here.
51492         (func_import): In dry-run mode, detect more precisely which actions
51493         would be performed, and don't use "...ing" verbs.
51494
51495 2005-09-18  Bruno Haible  <bruno@clisp.org>
51496
51497         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
51498         (func_import): Use join on two temporary files instead of three nested
51499         loops, in order to determine which files are new or old.
51500
51501 2005-09-18  Bruno Haible  <bruno@clisp.org>
51502
51503         * gnulib-tool (func_import): Comment out code that spits out the
51504         new files with --dry-run.
51505
51506 2005-09-18  Bruno Haible  <bruno@clisp.org>
51507
51508         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
51509
51510 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
51511
51512         * lib/stat-time.h: New file.
51513         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
51514         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
51515         in a different way.
51516         (timespec_cmp): New function.
51517         * lib/utimecmp.c: Include stat-time.h.
51518         (SYSCALL_RESOLUTION): Depend on whether various struct stat
51519         members exist, not on the obsolescent ST_MTIM_NSEC.
51520         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
51521
51522 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
51523
51524         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
51525
51526 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
51527
51528         * MODULES.html.sh (File system functions): Add stat-time.
51529         * modules/stat-time: New file.
51530         * modules/timespec (Files): Remove m4/st_mtim.m4; this
51531         is now done in a different way, by the stat-time module.
51532         * modules/utimecmp (Depends-on): Add stat-time.
51533
51534 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
51535
51536         * m4/st_mtim.m4: Remove.  Superseded by...
51537         * m4/stat-time.m4: New file.
51538         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
51539         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
51540
51541 2005-09-15  Derek Price  <derek@ximbiot.com>
51542
51543         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
51544
51545 2005-09-15  Derek Price  <derek@ximbiot.com>
51546
51547         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
51548         * lib/regex_internal.c: Ditto, using this...
51549         (__GNUC_PREREQ): ...new macro.
51550         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
51551         using...
51552         (__GNUC_PREREQ): ...this new macro.
51553
51554         * lib/strstr.h: Include string.h. Define strstr as a macro here.
51555
51556 2005-09-15  Derek Price  <derek@ximbiot.com>
51557             Paul Eggert  <eggert@cs.ucla.edu>
51558
51559         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
51560         changes, consolidating in...
51561         * lib/regex_internal.h: ...this file.
51562
51563 2005-09-13  Jim Meyering  <jim@meyering.net>
51564
51565         * lib/canon-host.c: Filter through gnu indent and reword comments
51566         slightly.
51567         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
51568
51569 2005-09-13  Derek Price  <derek@ximbiot.com>
51570
51571         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
51572         failure.
51573         Reported by Jim Meyering  <jim@meyering.net>.
51574
51575 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51576
51577         * lib/base64.c: Typo.
51578         (base64_encode): Put b64str in initialized data section.
51579
51580 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
51581
51582         Merge glibc and coreutils changes into gnulib, plus a few
51583         extra fixes.
51584         * lib/md5.c: Use #error rather than a string.
51585         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
51586         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
51587         (__attribute__): Define to empty for non recent-GCC.
51588         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
51589         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
51590         Renamed from their non-__ counterparts, with new macros replacing
51591         them if not _LIBC.  Add __THROW attribute.
51592         (rol): Remove.
51593         (struct md5_ctx): Align buffer if using GCC.
51594         * lib/sha1.h (struct sha1_ctx): Likewise.
51595         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
51596         The old name was backwards.
51597         (NOTSWAP): Remove; not used.
51598         (rol): New macro, moved here from md5.h.
51599         (sha1_process_block): Remove a FIXME that doesn't make sense.
51600
51601 2005-09-12  Derek Price  <derek@ximbiot.com>
51602
51603         Return usable errors from canon-host.
51604         * lib/canon-host.h: New file.
51605         * lib/canon-host.c (canon_host): Wrap...
51606         (canon_host_r): ...this new function, which now relies exclusively on
51607         getaddrinfo.
51608         (ch_strerror): New function.
51609         (last_cherror): New global.
51610         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
51611         interface.
51612         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
51613         void *.
51614         (freeaddrinfo): Free ai->ai_canonname when set.
51615
51616 2005-09-12  Derek Price  <derek@ximbiot.com>
51617
51618         Make canon-host require getaddrinfo.
51619         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
51620         AC_LIBSOURCE canon-host.h.  Call...
51621         (gl_PREREQ_CANON_HOST): ...this new function, which requires
51622         gl_GETADDRINFO.
51623         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
51624
51625 2005-09-12  Derek Price  <derek@ximbiot.com>
51626
51627         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
51628         LGPL.
51629         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
51630
51631 2005-09-12  Derek Price  <derek@ximbiot.com>
51632
51633         * lib/gai_strerror.c: Include config.h when available.  Include
51634         getaddrinfo.h before other headers to test interface.
51635         Reported by Larry Jones <lawrence.jones@ugs.com>.
51636
51637 2005-09-12  Derek Price  <derek@ximbiot.com>
51638             Paul Eggert  <eggert@cs.ucla.edu>
51639
51640         * modules/glob (Files): Add glob-libc.h.
51641
51642 2005-09-12  Derek Price  <derek@ximbiot.com>
51643             Paul Eggert  <eggert@cs.ucla.edu>
51644
51645         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
51646         glob_.h, glob-libc.h.
51647         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
51648
51649 2005-09-12  Derek Price  <derek@ximbiot.com>
51650             Paul Eggert  <eggert@cs.ucla.edu>
51651
51652         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
51653         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
51654         protecting things that should be done only in gnulib contexts.
51655         * lib/glob_.h: New file, containing only the glob things needed for
51656         gnulib.
51657         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
51658         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
51659         (glob, globfree, glob_pattern_p): Now defined simply in terms of
51660         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
51661         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
51662         and to respect the namespace rules better.
51663
51664 2005-09-08  Simon Josefsson  <jas@extundo.com>
51665
51666         * modules/socklen: New file.
51667
51668 2005-09-08  Simon Josefsson  <jas@extundo.com>
51669
51670         * m4/socklen.m4: New file.
51671
51672 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51673
51674         * modules/utimens (Files): Add m4/utimbuf.m4, since
51675         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
51676         Reported by Sergey Poznyakoff.
51677
51678 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51679
51680         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
51681         definitions, since that's the preferred style in glibc.
51682         Fix a minor spacing issue, and update copyright notice to match
51683         glibc's.
51684
51685 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51686
51687         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
51688
51689 2005-09-06  Simon Josefsson  <jas@extundo.com>
51690
51691         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
51692         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
51693
51694 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51695
51696         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
51697         warning.
51698
51699 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51700
51701         * config/srclist.txt: Add glibc bug 1302.
51702
51703 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
51704
51705         Change bitset word type from unsigned int to unsigned long int,
51706         as this has better performance on typical 64-bit hosts.
51707         Port bitset code to hosts with unusual word sizes.
51708         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
51709         (build_collating_symbol):
51710         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
51711         argument is a bitset.  This is merely a style issue, but it makes
51712         it clearer that an entire array is expected.
51713         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
51714         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
51715         Port to the case where bitset_word is not the same as unsigned int.
51716         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51717         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
51718         Likewise.
51719         * lib/regexec.c (check_dst_limits_calc_pos_1,
51720         check_subexp_matching_top):
51721         (build_trtable, group_nodes_into_DFAstates):
51722         Likewise.
51723         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
51724         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
51725         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
51726         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
51727         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
51728         * lib/regcomp.c (optimize_subexps, lower_subexp):
51729         Work even if bitset_word has holes in its bitwise representation.
51730         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
51731         * lib/regexec.c (check_dst_limits_calc_pos_1,
51732         check_subexp_matching_top):
51733         Likewise.
51734         * lib/regex_internal.c (re_string_reconstruct):
51735         Don't assume UCHAR_MAX == 255.
51736         * lib/regex_internal.h (bitset_set_all): Likewise.
51737         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
51738         All uses changed.
51739         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
51740         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
51741         All uses changed.
51742         (BITSET_WORD_MAX): New macro.
51743         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
51744         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
51745         (bitset_empty, bitset_copy):
51746         Prefer sizeof (bitset) to multiplying it out ourselves.
51747         (bitset_not_merge): Remove; unused.
51748         (bitset_contain): Return bool, not unsigned int with one bit on.
51749         All callers changed.
51750         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
51751         alignment than re_node_set; do this by defining a new internal
51752         type struct dests_alloc and using it to allocate memory.
51753
51754 2005-09-05  Bruno Haible  <bruno@clisp.org>
51755
51756         * gnulib-tool (func_import): Fix comparison in handling of symbolic
51757         links.
51758
51759 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
51760
51761         * modules/size_max (Makefile.am): Add size_max.h
51762
51763 2005-09-04  Derek Price  <derek@ximbiot.com>
51764
51765         * gnulib-tool (func_import): Fix reversed $symbolic logic.
51766
51767 2005-09-03  Simon Josefsson  <jas@extundo.com>
51768
51769         * gnulib-tool: Fix typo.
51770
51771 2005-09-03  Simon Josefsson  <jas@extundo.com>
51772
51773         * config/srclist.txt: Add glibc bug 1293.
51774
51775 2005-09-03  Derek Price  <derek@ximbiot.com>
51776
51777         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
51778         From Larry Jones <lawrence.jones@ugs.com>.
51779
51780 2005-09-02  Simon Josefsson  <jas@extundo.com>
51781
51782         * modules/socklen: New file.
51783
51784 2005-09-02  Simon Josefsson  <jas@extundo.com>
51785
51786         * modules/havelib: New module.
51787
51788         * modules/gettext, modules/iconv, modules/lock, modules/readline:
51789         Use havelib.
51790
51791 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51792
51793         Check for arithmetic overflow when calculating sizes, to prevent
51794         some buffer-overflow issues.  These patches are conservative, in the
51795         sense that when I couldn't determine whether an overflow was possible,
51796         I inserted a run-time check.
51797         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
51798         macros.
51799         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
51800         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
51801         (re_xnrealloc, re_x2nrealloc): New inline functions.
51802         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
51803         parse_bracket_exp):
51804         (build_equiv_class, build_charclass): Check for arithmetic overflow
51805         in size expression calculations.
51806         * lib/regex_internal.c (re_string_realloc_buffers):
51807         (build_wcs_upper_buffer, re_node_set_add_intersect):
51808         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
51809         (re_dfa_add_node, register_state): Likewise.
51810         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
51811         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
51812         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
51813         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
51814
51815 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51816
51817         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
51818         m4/ulonglong.m4.  Problem reported by Martin Lambers.
51819
51820 2005-09-02  Bruno Haible  <bruno@clisp.org>
51821
51822         Support for lib vs. lib64 distinction on biarch platforms.
51823         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
51824         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
51825         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
51826
51827 2005-09-02  Bruno Haible  <bruno@clisp.org>
51828
51829         * gnulib-tool (import): In the other first-use case, provide defaults
51830         as well.
51831
51832 2005-09-02  Bruno Haible  <bruno@clisp.org>
51833
51834         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
51835         patches not yet found in the latest gettext release.
51836
51837 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51838
51839         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
51840         to avoid a collision with bits/local_lim.h in glibc.
51841         All uses changed.  Problem reported by Dmitry V. Levin in
51842         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
51843
51844         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
51845         bugs in int versus size_t comparisons.
51846         (re_string_context_at): Fix bug where the code assumed that
51847         Idx is signed.
51848
51849         Use bool where appropriate.
51850         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
51851         All callers changed.
51852         (calc_eclosure_iter): Likewise, for ROOT arg.
51853         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
51854         (build_charclass_op): Likewise, for NON_MATCH arg.
51855         * lib/regex_internal.c (re_string_allocate, re_string_construct):
51856         (re_string_construct_common): Likewise, for ICASE arg.
51857         * lib/regexec.c (re_search_2_stub, re_search_stub):
51858         Likewise, for RET_LEN arg.
51859         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
51860         (set_regs): Likewise, for FL_BACKTRACK arg.
51861         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
51862         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
51863         (calc_eclosure_iter, parse_bracket_exp):
51864         Use bool for internal variables that are booleans.
51865         * lib/regexec.c (re_search_internal, check_matching,
51866         proceed_next_node):
51867         (set_regs, build_sifted_states, sift_states_bkref):
51868         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
51869         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51870         (find_collation_sequence_value):
51871         Likewise.
51872         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
51873         (re_node_set_compare):
51874         Return bool, not int. All callers changed.
51875         * lib/regexec.c (check_halt_node_context, check_dst_limits):
51876         (build_trtable, check_node_accept): Likewise.
51877         * lib/regex_internal.h: Include stdbool.h.
51878
51879         Fix bugs uncovered when converting to bool.
51880         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
51881         failure instead of charging ahead blindly.
51882         * lib/regex_internal.c (register_state): Likewise.
51883         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
51884         for freeing internal storage.
51885         (group_nodes_into_DFA_states): Use unsigned int, not int, for
51886         bitset pieces used as boolean, to avoid undefined behavior
51887         on hosts that do int overflow checking.
51888
51889 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51890
51891         * config/srclist.txt: Add glibc bugs 1285-1287.
51892
51893 2005-09-01  Jim Meyering  <jim@meyering.net>
51894
51895         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
51896         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
51897         Require gl_STAT_MACROS, too.
51898
51899 2005-09-01  Bruno Haible  <bruno@clisp.org>
51900
51901         * gnulib-tool (import): In the first-use case, provide defaults.
51902
51903 2005-09-01  Bruno Haible  <bruno@clisp.org>
51904
51905         * gnulib-tool (func_import): Remove the .tmp files.
51906
51907 2005-09-01  Bruno Haible  <bruno@clisp.org>
51908
51909         * gnulib-tool (func_import): Fix handling of symbolic links.
51910
51911 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51912
51913         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
51914         old glibc regex code mishandles strings longer than 2**31 bytes.
51915         This patch fixes this when the regex code is used in gnulib
51916         (i.e., outside glibc).
51917
51918         This patch should not affect the use of the regex code inside
51919         glibc.  No doubt this problem also needs to be handled for glibc
51920         as well, but the result will be an incompatible change to the
51921         glibc ABI, and the old ABI will have to be supported too.  That
51922         can be the the subject for another patch.
51923
51924         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
51925         governing whether the rest of this patch is active.  By default,
51926         the macro is disabled and the patch has no effect.
51927         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
51928         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
51929         (struct re_pattern_buffer, re_search, re_search_2, re_match):
51930         (re_match_2, re_set_registers): Use the new types.
51931         * lib/regex_internal.h (Idx, re_hashval_t): New types.
51932         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
51933         New macros.
51934         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
51935         (re_string_context_at, bin_tree_t, re_dfastate_t):
51936         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
51937         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
51938         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
51939         (re_string_char_size_at, re_string_wchar_at):
51940         (re_string_elem_size_at):
51941         Use the new types and macros to port to 64-bit hosts.
51942         Use unsigned types for internal values, so that the code
51943         mostly works even for arrays larger than SSIZE_MAX.
51944         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
51945         (search_duplicated_node, calc_eclosure_iter, fetch_number):
51946         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
51947         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
51948         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
51949         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
51950         (calc_inveclosure, parse_dup_op, build_range_exp):
51951         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
51952         (fetch_number, create_token_tree, mark_opt_subexp):
51953         Likewise.
51954         * lib/regex_internal.c (re_string_construct_common,
51955         create_ci_newstate):
51956         (create_cd_newstate, re_string_allocate, re_string_construct):
51957         (re_string_realloc_buffers, build_wcs_upper_buffer):
51958         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51959         (re_string_reconstruct, re_string_peek_byte_case):
51960         (re_string_fetch_byte_case, re_string_context_at):
51961         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51962         (re_node_set_init_copy, re_node_set_add_intersect):
51963         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51964         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51965         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51966         (re_acquire_state, re_acquire_state_context, register_state):
51967         Likewise.
51968         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
51969         search_cur_bkref_entry):
51970         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
51971         (re_search_internal, re_search_2_stub, re_search_stub)
51972         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
51973         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
51974         (update_cur_sifted_state, check_dst_limits):
51975         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51976         (check_subexp_limits, sift_states_bkref, merge_state_array):
51977         (check_subexp_matching_top, get_subexp, get_subexp_sub):
51978         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
51979         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51980         (expand_bkref_cache, check_node_accept_bytes):
51981         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
51982         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
51983         (acquire_init_state_context, check_halt_node_context):
51984         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
51985         (sift_states_backward, clean_state_log_if_needed):
51986         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
51987         (find_recover_state, transit_state_sb, transit_state_mb):
51988         (transit_state_bkref, build_trtable, match_ctx_clean):
51989         Likewise.
51990         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
51991         to work around an assumption that REG_MISSING is negative.
51992
51993         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
51994         (seek_collating_symbol_entry) [defined _LIBC]:
51995         (lookup_collation_sequence_value) [defined _LIBC]:
51996         (build_range_exp, build_collating_symbol) [defined _LIBC]:
51997         Use prototypes rather than old-style function definitions.
51998         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
51999         (transit_state_sb) [0]:
52000         (find_collation_sequence_value) [defined _LIBC]: Likewise.
52001
52002         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
52003         rm_eo.
52004
52005         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
52006         (optimize_subexps, lower_subexp):
52007         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
52008         since the signed shift might overflow.  Use 1u<<31 instead.
52009         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
52010         Likewise.
52011         * lib/regexec.c (check_dst_limits_calc_pos_1,
52012         check_subexp_matching_top): Likewise.
52013
52014         * lib/regcomp.c (optimize_subexps, lower_subexp):
52015         Use CHAR_BIT rather than 8, for clarity.
52016         * lib/regexec.c (check_dst_limits_calc_pos_1):
52017         (check_subexp_matching_top): Likewise.
52018         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
52019         have to worry about portability issues when shifting it left.
52020         Remove no-longer-needed test for table_size > 0.
52021         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
52022         in a word, as the resulting behavior is undefined.
52023         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
52024         in one case, a <= should have been an <, and in another case the
52025         whole test was missing.
52026         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
52027         the standard name CHAR_BIT.
52028         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
52029         this is not true on one's complement and signed-magnitude hosts.
52030
52031         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
52032         next_last_offset.
52033         (struct re_dfa_t): Remove unused member states_alloc.
52034         * lib/regcomp.c (init_dfa): Don't initialize unused members.
52035
52036 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
52037
52038         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
52039         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
52040         and large-file glibc and in 32-bit large-file Solaris.
52041
52042 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
52043
52044         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
52045         lengths fit in regoff_t; this isn't true if regoff_t is the same
52046         width as size_t.
52047         * lib/regex.c (re_search_internal): 5th arg is LAST_START
52048         (= START + RANGE) instead of RANGE.  This avoids overflow
52049         problems when regoff_t is the same width as size_t.
52050         All callers changed.
52051         (re_search_2_stub): Check for overflow when adding the
52052         sizes of the two strings.
52053         (re_search_stub): Check for overflow when adding START
52054         to RANGE; if it occurs, substitute the extreme value.
52055
52056 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
52057
52058         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
52059
52060 2005-08-31  Jim Meyering  <jim@meyering.net>
52061
52062         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
52063         a pointer-to-const.
52064         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
52065         (register_state): Likewise.
52066         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
52067         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
52068         (group_nodes_into_DFAstates): Likewise.
52069
52070 2005-08-31  Jim Meyering  <jim@meyering.net>
52071
52072         * check-module: Add a FIXME comment.
52073
52074 2005-08-31  Eric Blake  <ebb9@byu.net>
52075
52076         * modules/unistd-safer (Files): Add unistd--.h.
52077         * modules/stdio-safer (Files): Add stdio--.h.
52078
52079 2005-08-31  Derek Price  <derek@ximbiot.com>
52080
52081         * lib/getdelim.c (getdelim): Return EOF on EOF.
52082         Reported by Larry Jones <lawrence.jones@ugs.com>.
52083
52084 2005-08-31  Bruno Haible  <bruno@clisp.org>
52085
52086         Avoid unnecessary diffs in the generated lib/Makefile.am.
52087         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
52088         the generated files.
52089         (func_import): Don't set cmd.
52090
52091 2005-08-31  Bruno Haible  <bruno@clisp.org>
52092
52093         * lib/strstr.c: Include <stddef.h>, for NULL.
52094         * lib/strcasestr.c: Likewise.
52095         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52096
52097 2005-08-31  Bruno Haible  <bruno@clisp.org>
52098
52099         * gnulib-tool: New option --macro-prefix.
52100         (func_import): Use macro_prefix.
52101         (import): Handle option --macro-prefix.
52102
52103 2005-08-31  Bruno Haible  <bruno@clisp.org>
52104
52105         * gnulib-tool (import): Rename most ac_* variables to cached_*.
52106         Also use new variables cached_lgpl, cached_libtool.
52107
52108 2005-08-31  Bruno Haible  <bruno@clisp.org>
52109
52110         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
52111         always instantiating them.
52112
52113 2005-08-31  Bruno Haible  <bruno@clisp.org>
52114
52115         * gnulib-tool (func_import): Read the previous cached settings
52116         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
52117         earlier added by gnulib but are now dropped. Warn when a gnulib file
52118         overwrites a non-gnulib file.
52119
52120 2005-08-31  Bruno Haible  <bruno@clisp.org>
52121
52122         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
52123         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
52124         projects that don't keep autogenerated files in CVS. Put into
52125         actioncmd only the specified modules, not the transitive closure.
52126
52127 2005-08-31  Bruno Haible  <bruno@clisp.org>
52128
52129         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
52130         Create directories that shall be filled.
52131         (import): Don't look for gl_* macros in configure.ac. Recurse across
52132         all directories containing a gnulib-cache.m4 files, if meaningful.
52133
52134 2005-08-31  Bruno Haible  <bruno@clisp.org>
52135
52136         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
52137         (import): Set seen_libtool when we see gl_LIBTOOL.
52138
52139 2005-08-31  Bruno Haible  <bruno@clisp.org>
52140
52141         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
52142         declaration macro definitions from generated gnulib.m4.
52143
52144 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
52145
52146         * lib/iconvme.h: Add prototype for iconv_alloc.
52147
52148 2005-08-29  Simon Josefsson  <jas@extundo.com>
52149
52150         * lib/iconvme.c: Fix errno.
52151
52152 2005-08-29  Bruno Haible  <bruno@clisp.org>
52153
52154         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
52155         that it works when the directory contains spaces.
52156
52157 2005-08-29  Bruno Haible  <bruno@clisp.org>
52158
52159         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
52160
52161 2005-08-29  Bruno Haible  <bruno@clisp.org>
52162
52163         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
52164         Emit more advice.
52165
52166 2005-08-29  Bruno Haible  <bruno@clisp.org>
52167         and Stepan Kasal  <kasal@ucw.cz>
52168
52169         * check-module: If more parameters are given, check each of them
52170         separately; add more exceptions, as noted by Jim Meyering.
52171         (check_module): New procedure.
52172         (%exempt_header): Now contains all exceptions.
52173
52174 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
52175
52176         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
52177
52178 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
52179
52180         * lib/iconvme.c: Split iconv_string into iconv_alloc.
52181
52182 2005-08-28  Bruno Haible  <bruno@clisp.org>
52183
52184         * m4/gnulib-tool.m4: New file.
52185
52186 2005-08-27  Jim Meyering  <jim@meyering.net>
52187
52188         * modules/unistd-safer (Files): Add pipe-safer.c.
52189         * modules/fcntl-safer (Files): Add creat-safer.c.
52190
52191 2005-08-27  Jim Meyering  <jim@meyering.net>
52192
52193         * m4/stdlib-safer.m4: New file.  From coreutils.
52194         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
52195         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
52196         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
52197         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
52198         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
52199
52200 2005-08-27  Jim Meyering  <jim@meyering.net>
52201
52202         * lib/fopen-safer.c: Merge minor changes from coreutils.
52203         * lib/dup-safer.c: Likewise.
52204         * lib/fd-safer.c: Likewise.
52205
52206         Merge from coreutils.
52207         * lib/stdio--.h: New file.
52208         * lib/stdlib--.h: New file.
52209         * lib/mkstemp-safer.c: New file.
52210
52211         GNU tar needs these.
52212         * lib/pipe-safer.c: New file.
52213         * lib/creat-safer.c: New file.
52214         * lib/fcntl--.h (creat): Define to creat_safer.
52215         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
52216         * lib/unistd--.h (pipe): Define to pipe_safer.
52217         * lib/unistd-safer.h: Declare pipe_safer.
52218
52219 2005-08-26  Simon Josefsson  <jas@extundo.com>
52220
52221         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
52222         Haible <bruno@clisp.org>.
52223
52224 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
52225
52226         * lib/regex_internal.h: Remove all references to
52227         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
52228         or better.
52229         (bitset_not, bitset_merge, bitset_not_merge):
52230         (bitset_mask, re_string_allocate, re_string_construct):
52231         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
52232         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
52233         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
52234         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
52235         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
52236         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
52237         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
52238         (re_acquire_state_context):
52239         Remove unnecessary forward decls.
52240         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
52241         Put __attribute at function definition,
52242         now that the function decl has been removed.
52243         * lib/regex_internal.c (re_string_peek_byte_case):
52244         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
52245         Likewise.
52246
52247 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
52248
52249         * m4/regex.m4: Add AC_PREREQ(2.50).
52250         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
52251
52252 2005-08-25  Simon Josefsson  <jas@extundo.com>
52253
52254         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
52255         __fsetlocking.
52256
52257 2005-08-25  Simon Josefsson  <jas@extundo.com>
52258
52259         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
52260         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
52261         GLIBC specific code.
52262
52263 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52264
52265         Make regex safe for g++.  This fixes one real bug (an "err"
52266         that should have been "*err").  g++ problem reported by
52267         Sam Steingold.
52268         * lib/regex_internal.h (re_calloc): New macro, consistent with
52269         re_malloc etc.  All callers of calloc changed to use re_calloc.
52270         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
52271         not int.  All callers changed.
52272         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
52273         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
52274         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
52275         (find_recover_state): Change "err" to "*err"; this fixes what
52276         appears to be a real bug.
52277         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
52278         versus int.
52279
52280 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52281
52282         * modules/regex (Depends-on): Add malloc, since the code
52283         assumes that !malloc(0) means failure.
52284
52285 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52286
52287         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
52288
52289         alloca modernization/simplification for regex.
52290         * lib/regex.c: Remove portability cruft for alloca.  This no longer
52291         needs to be at the start of the file, and can be moved into
52292         regex_internal.h and simplified.
52293         * lib/regex_internal.h: Include <alloca.h>.
52294         (__libc_use_alloca) [!defined _LIBC]: New macro.
52295         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
52296         now works outside glibc.
52297
52298 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52299
52300         * config/srclist.txt: Add glibc bugs 1241, 1245.
52301
52302 2005-08-25  Jim Meyering  <jim@meyering.net>
52303
52304         * lib/open-safer.c: Include <config.h>.
52305         Otherwise, we'd lose LARGEFILE support in any file using
52306         e.g. "fcntl--.h"
52307
52308 2005-08-25  Bruno Haible  <bruno@clisp.org>
52309
52310         * m4/minmax.m4: Require autoconf 2.52.
52311         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
52312         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
52313         alternatives of translit over the alphabet.
52314         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
52315
52316 2005-08-24  Simon Josefsson  <jas@extundo.com>
52317
52318         * tests/test-getpass.c: New file.
52319
52320 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52321
52322         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
52323         for GNU regex features.
52324
52325 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52326
52327         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
52328         * lib/regex.h (regerror): Likewise.
52329
52330         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
52331         requires this.  (The code never needed it.)
52332
52333         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
52334         All uses of recently-renamed identifiers changed to use the new,
52335         POSIX-compliant names.  The code will build and run just fine
52336         without these changes, but it's better to eat our own dog food
52337         and use the standard-conforming names.
52338
52339         * lib/regex.h: Fix a multitude of POSIX name space violations.
52340         These changes have an effect only for programs that define
52341         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
52342         do not change anything for programs compiled in the normal way.
52343         Also, there is no effect on the ABI.
52344
52345         (_REGEX_SOURCE): New macro.
52346         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
52347         defined and _GNU_SOURCE is not; this fixes a name space violation.
52348
52349         Rename the following macros to obey POSIX requirements.
52350         The old names are still visible as macros if _REGEX_SOURCE is defined.
52351         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
52352         RE_BACKSLASH_ESCAPE_IN_LISTS.
52353         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
52354         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
52355         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
52356         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
52357         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
52358         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
52359         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
52360         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
52361         (REG_INTERVALS): renamed from RE_INTERVALS.
52362         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
52363         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
52364         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
52365         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
52366         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
52367         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
52368         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
52369         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
52370         RE_UNMATCHED_RIGHT_PAREN_ORD.
52371         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
52372         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
52373         (REG_DEBUG): renamed from RE_DEBUG.
52374         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
52375         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
52376         unusual, since we can't clash with the POSIX REG_ICASE.
52377         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
52378         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
52379         (REG_NO_SUB): renamed from RE_NO_SUB.
52380         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
52381         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
52382         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
52383         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
52384         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
52385         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
52386         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
52387         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
52388         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
52389         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
52390         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
52391         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
52392         RE_SYNTAX_POSIX_MINIMAL_BASIC.
52393         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
52394         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
52395         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
52396         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
52397         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
52398         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
52399         (REG_FIXED): Renamed from REGS_FIXED.
52400         (REG_NREGS): Renamed from RE_NREGS.
52401
52402         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
52403         of other REG_* macros, since POSIX says the user is allowed to
52404         #undef these macros selectively.
52405
52406         (reg_errcode_t): Update comment stating what other tables need
52407         to be consistent.
52408
52409         Rename the following enum values to obey POSIX requirements.
52410         The old names are still visible as macros.
52411         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
52412         is not defined, since GNU is supposed to be a superset of POSIX as
52413         much as possible, and since we want reg_errcode_t to be a signed
52414         type for implementation consistency.
52415         (_REG_NOERROR): Renamed from REG_NOERROR.
52416         (_REG_NOMATCH): Renamed from REG_NOMATCH.
52417         (_REG_BADPAT): Renamed from REG_BADPAT.
52418         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
52419         (_REG_ECTYPE): Renamed from REG_ECTYPE.
52420         (_REG_EESCAPE): Renamed from REG_EESCAPE.
52421         (_REG_ESUBREG): Renamed from REG_ESUBREG.
52422         (_REG_EBRACK): Renamed from REG_EBRACK.
52423         (_REG_EPAREN): Renamed from REG_EPAREN.
52424         (_REG_EBRACE): Renamed from REG_EBRACE.
52425         (_REG_BADBR): Renamed from REG_BADBR.
52426         (_REG_ERANGE): Renamed from REG_ERANGE.
52427         (_REG_ESPACE): Renamed from REG_ESPACE.
52428         (_REG_BADRPT): Renamed from REG_BADRPT.
52429         (_REG_EEND): Renamed from REG_EEND.
52430         (_REG_ESIZE): Renamed from REG_ESIZE.
52431         (_REG_ERPAREN): Renamed from REG_ERPAREN.
52432         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
52433         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
52434         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
52435         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
52436
52437         (_REG_RE_NAME, _REG_RM_NAME): New macros.
52438         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
52439         changed.  But support the old name if the new one is not defined
52440         and if _REGEX_SOURCE.
52441
52442         Change the following member names in struct re_pattern_buffer.
52443         The old names are still supported if !_REGEX_SOURCE.
52444         The new names are always supported, regardless of _REGEX_SOURCE.
52445         (re_buffer): Renamed from buffer.
52446         (re_allocated): Renamed from allocated.
52447         (re_used): Renamed from used.
52448         (re_syntax): Renamed from syntax.
52449         (re_fastmap): Renamed from fastmap.
52450         (re_translate): Renamed from translate.
52451         (re_can_be_null): Renamed from can_be_null.
52452         (re_regs_allocated): Renamed from regs_allocated.
52453         (re_fastmap_accurate): Renamed from fastmap_accurate.
52454         (re_no_sub): Renamed from no_sub.
52455         (re_not_bol): Renamed from not_bol.
52456         (re_not_eol): Renamed from not_eol.
52457         (re_newline_anchor): Renamed from newline_anchor.
52458
52459         Change the following member names in struct re_registers.
52460         The old names are still supported if !_REGEX_SOURCE.
52461         The new names are always supported, regardless of _REGEX_SOURCE.
52462         (rm_num_regs): Renamed from num_regs.
52463         (rm_start): Renamed from start.
52464         (rm_end): Renamed from end.
52465
52466         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
52467         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
52468         Prepend __ to parameter names.
52469
52470         Undo yesterday's changes.
52471
52472 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52473
52474         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
52475         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
52476         lib/regex.c.
52477
52478 2005-08-24  Jim Meyering  <jim@meyering.net>
52479
52480         Sync from coreutils.
52481         * m4/fcntl-safer.m4: New file.
52482
52483         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
52484         and object files for this module.
52485
52486 2005-08-24  Jim Meyering  <jim@meyering.net>
52487
52488         Sync from coreutils.
52489         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
52490
52491 2005-08-24  Jim Meyering  <jim@meyering.net>
52492
52493         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
52494         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
52495
52496 2005-08-24  Jim Meyering  <jim@meyering.net>
52497
52498         * modules/fcntl-safer: New module.
52499         * modules/fts (Depends-on): Add fcntl-safer.
52500         * MODULES.html.sh (File descriptor based Input/Output):
52501         Add fcntl-safer.
52502
52503 2005-08-24  Bruno Haible  <bruno@clisp.org>
52504
52505         Support for unit test modules.
52506         * modules/README: Mention tests modules.
52507         * modules/TEMPLATE-TESTS: New file.
52508         * gnulib-tool: New options --extract-tests-module, --with-tests and
52509         --tests-base (unused for the moment).
52510         (testsbase, inctests): New variables.
52511         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
52512         (func_verify_module): Exclude TEMPLATE-TESTS.
52513         (func_verify_nontests_module, func_verify_tests_module): New functions.
52514         (func_get_dependencies): Add implicit dependency for tests modules.
52515         (func_get_tests_module): New function.
52516         (func_modules_transitive_closure): When --with-tests was specified,
52517         include the unit tests as well, unless explicitly avoided.
52518         (func_emit_lib_Makefile_am): Ignore the tests modules here.
52519         (func_emit_tests_Makefile_am): New function.
52520         (func_create_testdir): When --with-tests was specified, emit a
52521         tests/ directory.
52522         * MODULES.html.sh (Future developments): Update.
52523
52524 2005-08-24  Bruno Haible  <bruno@clisp.org>
52525
52526         * modules/tls-tests: New file.
52527         * tests/test-tls.c: New file, from GNU gettext.
52528
52529 2005-08-24  Bruno Haible  <bruno@clisp.org>
52530
52531         * modules/lock-tests: New file.
52532         * tests/test-lock.c: New file, from GNU gettext.
52533
52534 2005-08-24  Bruno Haible  <bruno@clisp.org>
52535
52536         * lib/lock.h: Add multiple inclusion guard.
52537         * lib/tls.h: Add multiple inclusion guard.
52538
52539 2005-08-24  Bruno Haible  <bruno@clisp.org>
52540
52541         * gnulib-tool: Add support for the --aux-dir option to
52542         --create-testdir, --create-megatestdir, --test, --megatest.
52543         (func_create_testdir, func_create_megatestdir): Optionally emit a
52544         AC_CONFIG_AUX_DIR directive.
52545         (create-testdir, create-megatestdir, test, megatest): Provide a
52546         default value for $auxdir.
52547
52548 2005-08-24  Bruno Haible  <bruno@clisp.org>
52549
52550         * gnulib-tool (import): Use compound statement instead of subshell
52551         where possible.
52552
52553 2005-08-24  Bruno Haible  <bruno@clisp.org>
52554
52555         * gnulib-tool (import): Change --aux-dir default to "build-aux".
52556
52557 2005-08-24  Bruno Haible  <bruno@clisp.org>
52558
52559         * gnulib-tool (func_version): Update.
52560
52561 2005-08-24  Bruno Haible  <bruno@clisp.org>
52562
52563         * gnulib-tool (func_import, func_create_testdir,
52564         func_create_megatestdir): Quote all autoconf macro arguments.
52565
52566 2005-08-24  Bruno Haible  <bruno@clisp.org>
52567
52568         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
52569         option --force, because --force causes the aclocal.m4 of each
52570         subdirectory to be newer than the corresponding config.h.in.
52571
52572 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52573
52574         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
52575         All contents moved to gl_REGEX.
52576         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
52577         assume that it does.
52578
52579 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52580
52581         * lib/regex.h (REG_NOSYS)
52582         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
52583         Define, since POSIX requires it as of 2001.
52584         (_REG_ENOSYS)
52585         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
52586         New private symbol, used to keep the enum signed in all cases.
52587         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
52588         Youngman in
52589         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
52590
52591         * lib/regex_internal.c (re_string_skip_chars, register_state):
52592         (calc_state_hash):
52593         Remove forward decls; no longer needed now that we use prototypes.
52594         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
52595         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
52596         (clean_state_log_if_needed): Likewise.
52597
52598 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52599
52600         * config/srclist.txt: Add glibc bugs 1231-1233.
52601
52602 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52603
52604         Fix problems reported by Sam Steingold in
52605         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
52606         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
52607         assumed that reg_errcode_t is a signed type, which is not
52608         necessarily true if _XOPEN_SOURCE is not defined.
52609         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
52610         since some compilers warn about it otherwise.
52611
52612 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52613
52614         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
52615         (init_word_char, create_initial_state, duplicate_node_closure):
52616         (fetch_token, peek_token_bracket, build_range_exp):
52617         (build_collating_symbol): Remove forward decls; no longer needed
52618         now that we use prototypes.
52619
52620         * lib/regcomp.c:
52621         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
52622         (re_compile_fastmap_iter, regcomp, regerror, regfree):
52623         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
52624         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
52625         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
52626         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
52627         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
52628         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
52629         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
52630         (build_range_exp, build_collating_symbol, parse_bracket_exp):
52631         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
52632         (build_charclass, build_charclass_op, fetch_number, create_tree):
52633         (create_token_tree, mark_opt_subexp, duplicate_tree):
52634         Use prototypes rather than old-style definitions.
52635
52636         * lib/regex_internal.c:
52637         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
52638         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
52639         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
52640         (re_string_reconstruct, re_string_peek_byte_case):
52641         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
52642         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
52643         (re_node_set_init_copy, re_node_set_add_intersect):
52644         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
52645         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
52646         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
52647         (re_acquire_state, re_acquire_state_context, register_state):
52648         (create_ci_newstate, create_cd_newstate, free_state):
52649         Likewise.
52650         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
52651         re_search_2):
52652         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
52653         (re_search_internal, prune_impossible_nodes):
52654         (acquire_init_state_context, check_matching, static):
52655         (check_halt_node_context, check_halt_state_context, proceed_next_node):
52656         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
52657         (update_regs, sift_states_backward, build_sifted_states):
52658         (clean_state_log_if_needed, merge_state_array):
52659         (update_cur_sifted_state, add_epsilon_src_nodes):
52660         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
52661         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
52662         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
52663         (find_recover_state, check_subexp_matching_top, transit_state_mb):
52664         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
52665         (check_arrival, check_arrival_add_next_nodes):
52666         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
52667         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
52668         (check_node_accept_bytes, check_node_accept, extend_buffers):
52669         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
52670         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
52671         (sift_ctx_init):
52672         Likewise.
52673
52674         * lib/regex_internal.h:
52675         (re_string_allocate, re_string_construct, re_string_reconstruct):
52676         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
52677         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
52678         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
52679         (re_string_context_at, re_string_peek_byte_case):
52680         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
52681         is defined, since we now use prototypes always.
52682
52683         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
52684         C89 or better.  All uses removed.
52685
52686 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52687
52688         * config/srclist.txt: Add glibc bugs 1220-1227.
52689
52690 2005-08-20  Jim Meyering  <jim@meyering.net>
52691
52692         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
52693         of unused local, dfa.
52694
52695 2005-08-20  Bruno Haible  <bruno@clisp.org>
52696
52697         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
52698
52699 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52700
52701         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
52702         (re_node_set_insert_last, re_dfa_add_node):
52703         Rename local variables to avoid GCC shadowing warnings.
52704
52705 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52706
52707         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
52708         [defined lint]: Suppress bogus uninitialized-variable warnings.
52709
52710         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
52711         and let the caller return REG_ESPACE if out of space.  This
52712         removes an uninitialied-variable warning with GCC 4.0.1, and also
52713         avoids taking the address of a local variable.  All callers
52714         changed.
52715
52716 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52717
52718         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
52719         $LIBCSRC/posix/regexec.c.
52720         Add glibc bug 1217 for regcomp.c.
52721
52722 2005-08-19  Jim Meyering  <jim@meyering.net>
52723
52724         * lib/regexec.c (proceed_next_node): Redo local variables to
52725         avoid GCC shadowing warnings.
52726
52727 2005-08-18  Bruno Haible  <bruno@clisp.org>
52728
52729         * lib/strstr.c (strstr): Fix return value in multibyte case.
52730         * lib/strcasestr.c (strcasestr): Likewise.
52731
52732 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52733
52734         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
52735
52736 2005-08-17  Jim Meyering  <jim@meyering.net>
52737
52738         Make the %s format (seconds since the epoch) work for a negative
52739         number and when used with a zero-padded field width, e.g. %015s.
52740
52741         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
52742         label so that it precedes the code to set `digits'.  Otherwise,
52743         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
52744         print `00-22'.  Now, it prints `-0022', as it should.
52745
52746 2005-08-17  Bruno Haible  <bruno@clisp.org>
52747
52748         * modules/strstr (Files): Add m4/mbrtowc.m4.
52749         (Depends-on): Add mbuiter.
52750
52751 2005-08-17  Bruno Haible  <bruno@clisp.org>
52752
52753         * modules/strcasestr: New file.
52754         * MODULES.html.sh (String handling, based on ANSI C 89): Add
52755         strcasestr.
52756
52757 2005-08-17  Bruno Haible  <bruno@clisp.org>
52758
52759         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
52760
52761 2005-08-17  Bruno Haible  <bruno@clisp.org>
52762
52763         * modules/mbuiter: New file.
52764         * MODULES.html.sh (Extended multibyte and wide character utilities):
52765         Add mbuiter.
52766
52767 2005-08-17  Bruno Haible  <bruno@clisp.org>
52768
52769         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
52770         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
52771
52772 2005-08-17  Bruno Haible  <bruno@clisp.org>
52773
52774         * m4/strcasestr.m4: New file.
52775
52776 2005-08-17  Bruno Haible  <bruno@clisp.org>
52777
52778         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
52779         * lib/strstr.c: Completely rewritten, with multibyte locale support.
52780
52781 2005-08-17  Bruno Haible  <bruno@clisp.org>
52782
52783         * lib/strcasestr.h: New file.
52784         * lib/strcasestr.c: New file.
52785
52786 2005-08-17  Bruno Haible  <bruno@clisp.org>
52787
52788         * lib/strcasecmp.c: Use mbuiter.h.
52789
52790 2005-08-17  Bruno Haible  <bruno@clisp.org>
52791
52792         * lib/mbuiter.h: New file.
52793
52794 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
52795
52796         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
52797         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
52798         and gl_GETOPT are both invoked via different paths (as happens
52799         with GNU tar CVS because it uses both argp and getopt), the former
52800         wins.
52801
52802 2005-08-16  Bruno Haible  <bruno@clisp.org>
52803
52804         * modules/tls: New file.
52805         * MODULES.html.sh (Multithreading): Add tls.
52806
52807 2005-08-16  Bruno Haible  <bruno@clisp.org>
52808
52809         * modules/strnlen1: New file.
52810         * MODULES.html.sh (String handling): Add strnlen1.
52811
52812 2005-08-16  Bruno Haible  <bruno@clisp.org>
52813
52814         * modules/strcase (Files): Add m4/mbrtowc.m4.
52815         (Depends-on): Add strnlen1, mbchar.
52816
52817 2005-08-16  Bruno Haible  <bruno@clisp.org>
52818
52819         * modules/mbiter: New file.
52820         * MODULES.html.sh (Extended multibyte and wide character utilities):
52821         Add mbiter.
52822
52823 2005-08-16  Bruno Haible  <bruno@clisp.org>
52824
52825         * modules/mbfile: New file.
52826         * MODULES.html.sh (Extended multibyte and wide character utilities):
52827         Add mbfile.
52828
52829 2005-08-16  Bruno Haible  <bruno@clisp.org>
52830
52831         * modules/mbchar: New file.
52832         * MODULES.html.sh (Extended multibyte and wide character utilities):
52833         New section.
52834
52835 2005-08-16  Bruno Haible  <bruno@clisp.org>
52836
52837         * m4/tls.m4: New file, from GNU gettext.
52838
52839 2005-08-16  Bruno Haible  <bruno@clisp.org>
52840
52841         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
52842         always.
52843         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
52844
52845 2005-08-16  Bruno Haible  <bruno@clisp.org>
52846
52847         * m4/mbiter.m4: New file.
52848
52849 2005-08-16  Bruno Haible  <bruno@clisp.org>
52850
52851         * m4/mbfile.m4: New file.
52852
52853 2005-08-16  Bruno Haible  <bruno@clisp.org>
52854
52855         * m4/mbchar.m4: New file.
52856
52857 2005-08-16  Bruno Haible  <bruno@clisp.org>
52858
52859         * lib/tls.h: New file, from GNU gettext.
52860         * lib/tls.c: New file, from GNU gettext.
52861
52862 2005-08-16  Bruno Haible  <bruno@clisp.org>
52863
52864         * lib/strnlen1.h: New file.
52865         * lib/strnlen1.c: New file.
52866
52867 2005-08-16  Bruno Haible  <bruno@clisp.org>
52868
52869         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
52870         (mbi_init): Update.
52871         (mbi_avail, mbi_advance): Let the iteration end before the terminating
52872         NUL byte, not after it.
52873
52874 2005-08-16  Bruno Haible  <bruno@clisp.org>
52875
52876         * lib/strcase.h (strcasecmp): Add note in comments.
52877         * lib/strncasecmp.c: Use code from strcasecmp.c.
52878         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
52879         (strcasecmp): Work correctly in multibyte locales.
52880
52881 2005-08-16  Bruno Haible  <bruno@clisp.org>
52882
52883         * lib/mbiter.h: New file.
52884
52885 2005-08-16  Bruno Haible  <bruno@clisp.org>
52886
52887         * lib/mbfile.h: New file.
52888
52889 2005-08-16  Bruno Haible  <bruno@clisp.org>
52890
52891         * lib/mbchar.h: New file.
52892         * lib/mbchar.c: New file.
52893
52894 2005-08-16  Bruno Haible  <bruno@clisp.org>
52895
52896         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
52897         the valid ones. Makes the comparison operations transitive:
52898         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
52899         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
52900
52901 2005-08-15  Simon Josefsson  <jas@extundo.com>
52902
52903         * modules/ssize_t (License): Change to 'unlimited'.
52904
52905         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
52906
52907 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52908
52909         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
52910         Add comments for each pending glibc patch.
52911
52912 2005-08-15  Bruno Haible  <bruno@clisp.org>
52913
52914         * lib/regex.h (__restrict_arr): Don't define to __restrict if
52915         __cplusplus is defined.
52916
52917 2005-08-14  Jim Meyering  <jim@meyering.net>
52918
52919         Sync from coreutils.
52920
52921         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
52922         Use the hash-table-based cycle-detection code not just when
52923         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
52924         Reported by James Youngman in
52925         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
52926         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
52927         FTS_TIGHT_CYCLE_CHECK.
52928         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
52929         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
52930         once again.
52931         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
52932         * lib/fts.c (fd_safer): Remove decl.
52933         Include fcntl--.h rather than unistd-safer.h
52934         (fts_safe_changedir): Don't call fd_safer; no longer needed
52935         now that we include fcntl--.h.
52936
52937 2005-08-12  Simon Josefsson  <jas@extundo.com>
52938
52939         * modules/getndelim2: Use ssize_t module.
52940         * modules/getnline: Likewise.
52941         * modules/safe-read: Likewise.
52942         * modules/xreadlink: Likewise.
52943
52944         * modules/ssize_t: New file.
52945
52946 2005-08-12  Simon Josefsson  <jas@extundo.com>
52947
52948         * m4/readline.m4: Look for termcap, curses or ncurses if required.
52949
52950 2005-08-12  Simon Josefsson  <jas@extundo.com>
52951
52952         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52953         ssize_t.
52954
52955 2005-08-12  Simon Josefsson  <jas@extundo.com>
52956
52957         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
52958         readline, getdelim and check_version.
52959         (Support for systems lacking ISO C 99: Sizes of integer types):
52960         Add size_max.
52961
52962 2005-08-12  Bruno Haible  <bruno@clisp.org>
52963
52964         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
52965
52966 2005-08-11  Simon Josefsson  <jas@extundo.com>
52967
52968         * modules/readline: New file.
52969
52970         * modules/strnlen (Files): Add strnlen.h.
52971
52972 2005-08-11  Simon Josefsson  <jas@extundo.com>
52973
52974         * m4/readline.m4: New file.
52975
52976 2005-08-11  Simon Josefsson  <jas@extundo.com>
52977
52978         * lib/readline.h, readline.c: New file.
52979
52980 2005-08-11  Simon Josefsson  <jas@extundo.com>
52981
52982         * doc/gnulib.texi (Initial import, Finishing touches): Mention
52983         gl_AVOID.
52984
52985 2005-08-11  Bruno Haible  <bruno@clisp.org>
52986
52987         * lib/strnlen.h (strnlen): Change parameter name to match comment.
52988
52989 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
52990
52991         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
52992
52993 2005-08-10  Simon Josefsson  <jas@extundo.com>
52994
52995         * tests/test-iconvme.c: New file.
52996
52997 2005-08-10  Simon Josefsson  <jas@extundo.com>
52998
52999         * m4/strnlen.m4: New file.
53000
53001         * m4/strndup.m4: Don't check for strnlen declaration, done in
53002         strnlen.m4.
53003
53004 2005-08-10  Simon Josefsson  <jas@extundo.com>
53005
53006         * lib/strndup.c: Use strnlen.h.
53007
53008         * lib/strnlen.h: New file.
53009
53010 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53011
53012         * README: Typos.
53013
53014 2005-08-02  Simon Josefsson  <jas@extundo.com>
53015
53016         * modules/readline: New file.
53017
53018 2005-08-02  Simon Josefsson  <jas@extundo.com>
53019
53020         * modules/getdelim: New file.
53021
53022         * modules/getline: Rewrite, don't use getndelim2.
53023
53024 2005-08-02  Simon Josefsson  <jas@extundo.com>
53025
53026         * m4/getline.m4: Separate out getdelim stuff into separate module.
53027
53028         * m4/getdelim.m4: New file.
53029
53030 2005-08-02  Simon Josefsson  <jas@extundo.com>
53031
53032         * lib/getline.h, getline.c: Rewrite.
53033
53034         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
53035
53036 2005-07-31  Bruno Haible  <bruno@clisp.org>
53037
53038         * lib/lock.h (gl_lock_initializer): New macro.
53039         (gl_lock_define_initialized): Use it.
53040         (gl_rwlock_initializer): New macro.
53041         (gl_rwlock_define_initialized): Use it.
53042         (gl_recursive_lock_initializer): New macro.
53043         (gl_recursive_lock_define_initialized): Use it.
53044
53045 2005-07-30  Karl Berry  <karl@gnu.org>
53046
53047         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
53048         Report from Ben Pfaff, regarding getopt.
53049
53050 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
53051
53052         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
53053         normal way.
53054         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
53055         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
53056         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
53057         (gl_GETOPT): Use the new macros.  Most of the implementation
53058         is moved to the new macros.  This is for programs like Emacs
53059         that don't want all the functionality of gl_GETOPT.
53060
53061 2005-07-26  Bruno Haible  <bruno@clisp.org>
53062
53063         * m4/lock.m4: Update from GNU gettext.
53064
53065 2005-07-26  Bruno Haible  <bruno@clisp.org>
53066
53067         * lib/lock.h: Update from GNU gettext.
53068         * lib/lock.c: Update from GNU gettext.
53069
53070 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
53071
53072         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
53073         obsolescent AC_TRY_RUN.  Include the default includes files, for
53074         'exit'.
53075
53076 2005-07-24  Bruno Haible  <bruno@clisp.org>
53077
53078         * modules/visibility: New file.
53079         * MODULES.html.sh (Misc): Add visibility.
53080
53081 2005-07-24  Bruno Haible  <bruno@clisp.org>
53082
53083         * m4/visibility.m4: New file.
53084
53085 2005-07-24  Bruno Haible  <bruno@clisp.org>
53086
53087         * doc/visibility.texi: New file.
53088
53089 2005-07-22  Bruno Haible  <bruno@clisp.org>
53090
53091         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
53092         $(ALLOCA_H), redundant through BUILT_SOURCES.
53093         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
53094         redundant through BUILT_SOURCES.
53095         * modules/byteswap (Makefile.am): Remove explicit dependency on
53096         $(BYTESWAP_H), redundant through BUILT_SOURCES.
53097         * modules/fnmatch (Makefile.am): Remove explicit dependency on
53098         $(FNMATCH_H), redundant through BUILT_SOURCES.
53099         * modules/getopt (Makefile.am): Remove explicit dependency on
53100         $(GETOPT_H), redundant through BUILT_SOURCES.
53101         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
53102         redundant through BUILT_SOURCES.
53103         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
53104         redundant through BUILT_SOURCES.
53105         * modules/stdbool (Makefile.am): Remove explicit dependency on
53106         $(STDBOOL_H), redundant through BUILT_SOURCES.
53107         * modules/stdint (Makefile.am): Remove explicit dependency on
53108         $(STDINT_H), redundant through BUILT_SOURCES.
53109         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
53110         Remove explicit dependency on $(SYSEXITS_H).
53111         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
53112
53113 2005-07-18  Simon Josefsson  <jas@extundo.com>
53114
53115         * lib/check-version.c (check_version): Accept identical versions too.
53116
53117 2005-07-18  Bruno Haible  <bruno@clisp.org>
53118
53119         * modules/lock: New file.
53120         * MODULES.html.sh (Multithreading): New section.
53121
53122 2005-07-18  Bruno Haible  <bruno@clisp.org>
53123
53124         * m4/lock.m4: New file, from GNU gettext.
53125
53126 2005-07-18  Bruno Haible  <bruno@clisp.org>
53127
53128         * lib/lock.h: New file, from GNU gettext.
53129         * lib/lock.c: New file, from GNU gettext.
53130
53131 2005-07-18  Bruno Haible  <bruno@clisp.org>
53132
53133         * lib/lock.h (gl_once_t): New type.
53134         (gl_once_define, gl_once): New macros.
53135         * lib/lock.c (fresh_once): New variable.
53136         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
53137         functions.
53138
53139 2005-07-16  Simon Josefsson  <jas@extundo.com>
53140
53141         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
53142         workaround, suggested by Bruno.
53143
53144 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
53145
53146         * modules/xalloc (Depends-on): Add xalloc-die.
53147         * modules/xvasprintf (Depends-on): Add xalloc-die.
53148
53149 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
53150
53151         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
53152         with a minor change.
53153
53154 2005-07-15  Bruno Haible  <bruno@clisp.org>
53155
53156         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
53157         When using lib/poll.c, define poll as rpl_poll.
53158
53159 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
53160
53161         * modules/argp (Depends-on): Remove unlocked-io.
53162
53163 2005-07-14  Derek Price  <derek@ximbiot.com>
53164
53165         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
53166         for glob symlink bug.
53167
53168 2005-07-14  Bruno Haible  <bruno@clisp.org>
53169
53170         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
53171         Instead, test for *_unlocked function declarations directly.
53172
53173 2005-07-11  Simon Josefsson  <jas@extundo.com>
53174
53175         * modules/size_max: New file.
53176
53177         * modules/xsize: Depend on size_max module for size_max.m4.
53178
53179 2005-07-11  Simon Josefsson  <jas@extundo.com>
53180
53181         * lib/size_max.h: New file.
53182
53183 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
53184
53185         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
53186         copyright symbol and the year.
53187         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
53188         (version_etc_va): Use parameterized copyright notice.
53189         Reword to conform to the current GNU coding standards.
53190
53191 2005-07-11  Karl Berry  <karl@gnu.org>
53192
53193         * doc/gnulib.texi (Quoting): new node.
53194         (Initial import): more info, from Patrice.
53195
53196 2005-07-11  Bruno Haible  <bruno@clisp.org>
53197
53198         * gnulib-tool (func_usage): Document option --avoid.
53199         (Command line options): Handle --avoid.
53200         (func_acceptable): New function.
53201         (func_modules_transitive_closure): Use it.
53202
53203 2005-07-11  Bruno Haible  <bruno@clisp.org>
53204
53205         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
53206         Reported by Jim Meyering.
53207
53208 2005-07-10  Bruno Haible  <bruno@clisp.org>
53209
53210         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
53211         Needed when size_t is smaller than 'unsigned int'.
53212         Reported by Paul Eggert.
53213
53214 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
53215
53216         * modules/argp (Depends-on): Add unlocked-io
53217
53218 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
53219
53220         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
53221         block of defines.
53222
53223 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
53224
53225         * config/srclist.txt: Comment out regcomp.c, since we have a porting
53226         fix now.
53227
53228 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
53229         and Paul Eggert  <eggert@cs.ucla.edu>
53230
53231         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
53232         in wint_t, not wchar_t.  Remove now-unnecessary cast.
53233
53234 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
53235
53236         * modules/regex (Files): Add lib/regex_internal.c,
53237         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
53238         (Depends-on): Add extensions.
53239         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
53240
53241 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
53242
53243         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
53244         pathconf.
53245         * m4/same.m4 (gl_SAME): Likewise.
53246         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
53247
53248         * m4/regex.m4: Adjust to new libc regex implementation.
53249         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
53250         all the .c and .h parts of (the new) regex.
53251         Quote the m4 stuff better.
53252         Check for RE_ICASE bug of old gnulib.
53253         Check for REG_STARTEND of recent libc.
53254         Rename local variables from jm_* to gl_*.
53255         Quote operand of "test -f".
53256         Say "recent enough" version of libc, not "version 2".
53257         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
53258         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
53259         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
53260         Remove check for btowc, isascii.
53261         Require AM_LANGINFO_CODESET.
53262
53263 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
53264
53265         * lib/regex.c, regex.h: Sync from libc.
53266         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
53267         * lib/regexec.c:
53268         New files, synced from libc, except that regex_internal.h
53269         currently has a small porting fix.
53270
53271 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
53272
53273         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
53274         regex_internal.c, regexec.c.
53275         Add regex_internal.h too, but as a comment, since the libc version
53276         is currently broken in gnulib mode.
53277
53278 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
53279
53280         Support programs like Emacs that use gnulib but not gettext.
53281         * MODULES.html.sh (Internationalization functions): Add gettext-h.
53282         * modules/gettext-h: New file.
53283         * modules/gettext (Files): Remove lib/gettext.h.
53284         (Depends-on): Add gettext-h.
53285         (Makefile.am): Remove lib_SOURCES.
53286         * modules/argmatch, modules/c-stack, modules/closeout:
53287         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
53288         * modules/execute, modules/file-type, modules/getaddrinfo:
53289         * modules/getopt, modules/human, modules/javacomp:
53290         * modules/javaexec, modules/mkdir-p, modules/obstack:
53291         * modules/openat, modules/pagealign_alloc, modules/pipe:
53292         * modules/quotearg, modules/regex, modules/rpmatch:
53293         * modules/unicodeio, modules/userspec, modules/version-etc:
53294         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
53295         * modules/xsetenv:
53296         Depend on gettext-h, not gettext.
53297
53298 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
53299
53300         * gnulib-tool (func_import): Add support for 'public domain' license.
53301         * modules/alloca, modules/atexit, modules/memmove:
53302         Now public domain, not GPL.
53303         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
53304         * modules/realloc, modules/strerror, modules/strtod:
53305         Now LGPL, not GPL.
53306
53307 2005-07-05  Bruno Haible  <bruno@clisp.org>
53308
53309         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
53310         autoconf CVS. Needed for mingw.
53311
53312 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
53313
53314         Remove the dependency of the strftime module on the tzset module.
53315         * modules/strftime (Depends-on): Remove dependency on tzset.
53316
53317 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
53318
53319         Remove the dependency of the strftime module on the tzset module.
53320         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
53321         gl_FUNC_TZSET_CLOBBER.
53322
53323 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
53324
53325         Remove the dependency of the strftime module on the tzset module.
53326         * lib/strftime.c (my_strftime)
53327         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
53328         Copy the input structure, to work around some of the bug with
53329         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
53330         Solaris releases, you should also use the tzset module, but we won't
53331         require it as a dependency any more since we don't want LGPLed code
53332         to depend on GPLed code.
53333
53334 2005-07-02  Jim Meyering  <jim@meyering.net>
53335
53336         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
53337         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
53338         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
53339         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
53340
53341 2005-07-02  Jim Meyering  <jim@meyering.net>
53342
53343         * lib/backupfile.c (backup_args): Change a `0' to NULL.
53344
53345 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
53346
53347         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
53348         declares only 'struct timespec;' (!).
53349
53350 2005-07-01  Jim Meyering  <jim@meyering.net>
53351
53352         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
53353         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
53354         * lib/save-cwd.c, tempname.c:
53355         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
53356         and don't include <sys/file.h>).
53357
53358 2005-06-29  Jim Meyering  <jim@meyering.net>
53359
53360         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
53361         type name.  Use the variable name instead.
53362         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
53363         Likewise.
53364
53365 2005-06-28  Simon Josefsson  <jas@extundo.com>
53366
53367         * modules/check-version (Files): Add check-version.m4.
53368
53369 2005-06-28  Simon Josefsson  <jas@extundo.com>
53370
53371         * m4/check-version.m4: New file, suggested by Jim Meyering
53372         <jim@meyering.net>.
53373
53374 2005-06-28  Simon Josefsson  <jas@extundo.com>
53375
53376         * lib/check-version.h, lib/check-version.c: New files.
53377
53378 2005-06-28  Simon Josefsson  <jas@extundo.com>
53379
53380         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
53381         collision with global variable.  Better indentation.  Don't
53382         increment buffer pointer beyond buffer end.  Based on comments
53383         from Paul Eggert <eggert@cs.ucla.edu>.
53384
53385         * lib/base64.h: Indent.
53386
53387 2005-06-28  Simon Josefsson  <jas@extundo.com>
53388
53389         * doc/gnulib.texi (Library version handling): New section.
53390
53391 2005-06-28  Jim Meyering  <jim@meyering.net>
53392
53393         * check-module (find_included_lib_files): Hard-code another
53394         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
53395         but modules/fts-lgpl (correctly) does not list those files.
53396
53397         * modules/canonicalize (Files): Add lib/pathmax.h.
53398
53399 2005-06-25  Simon Josefsson  <jas@extundo.com>
53400
53401         * modules/check-version: New file.
53402
53403 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
53404
53405         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
53406         initializer of struct addrinfo, as an indication that we don't
53407         care how many members the structure has.
53408
53409 2005-06-24  Derek Price  <derek@ximbiot.com>
53410         and Bruno Haible  <bruno@clisp.org>
53411
53412         Remove stat module & update lstat.
53413         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
53414         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53415         * m4/stat.m4: Remove this file.
53416
53417 2005-06-24  Derek Price  <derek@ximbiot.com>
53418         and Bruno Haible  <bruno@clisp.org>
53419
53420         Remove stat module & update lstat.
53421         * lib/stat.c: Remove this file...
53422         (slash_aware_lstat): ...moving this content and its support...
53423         * lib/lstat.c (rpl_lstat): ...into here.
53424         * lib/lstat.h: New file.
53425
53426 2005-06-24  Derek Price  <derek@ximbiot.com>
53427         and Bruno Haible  <bruno@clisp.org>
53428
53429         Remove stat module & update lstat.
53430         * config/srclist.txt (libc sources): Remove stat.
53431
53432 2005-06-24  Derek Price  <derek@ximbiot.com>
53433         and Bruno Haible  <bruno@clisp.org>
53434
53435         Remove stat module & update lstat.
53436         * MODULES.html.sh (stat): Remove.
53437         * MODULES.html: Regenerated.
53438         * modules/lstat (Description): Correct function name.
53439         (Files): Add "lstat.h".
53440         (Depends-on): Remove stat, add xalloc, stat-macros.
53441         * modules/stat: Remove this file.
53442         (Include): Add "lstat.h", remove <sys/stat.h>.
53443
53444 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53445
53446         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
53447         (ranged_convert): Don't save conversion in a temporary struct.
53448         This causes a warning with GCC 4.0.0, and anyway in the typical
53449         case it's not worth the extra 100 bytes or so of code.
53450         (ranged_convert, __mktime_internal): When calling a function via a
53451         pointer P, use P () rather than (*P) (), as we now assume C89 or
53452         better.
53453
53454 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53455
53456         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
53457         "who -r" failed to give output.  Problem reported by Tim Waugh.
53458
53459         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
53460         (xcalloc): Use it to avoid needless tests.
53461         Problem reported by Jim Meyering.
53462
53463 2005-06-20  Derek Price  <derek@ximbiot.com>
53464
53465         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
53466         unnecessary for Autoconfs > 2.59c.
53467
53468 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53469
53470         * lib/argp.h (__option_is_short): Check upper limit of
53471         __key. Isprint() requires its argument to have the value
53472         of an unsigned char or EOF.
53473
53474 2005-06-16  Jim Meyering  <jim@meyering.net>
53475
53476         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
53477         when either N or S is zero.
53478
53479 2005-06-16  Derek Price  <derek@ximbiot.com>
53480
53481         * m4/bison.m4: Declare YACC & YFLAGS precious.
53482
53483 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
53484
53485         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
53486         multibyte string or pattern, fall back on unibyte matching.
53487         Problem reported by James Youngman.
53488
53489 2005-06-08  Bruno Haible  <bruno@clisp.org>
53490
53491         * modules/csharpcomp: New file.
53492         * MODULES.html.sh (C#): Add csharpcomp.
53493
53494 2005-06-08  Bruno Haible  <bruno@clisp.org>
53495
53496         * m4/csharpcomp.m4: New file, from GNU gettext.
53497
53498 2005-06-08  Bruno Haible  <bruno@clisp.org>
53499
53500         * lib/csharpcomp.h: New file, from GNU gettext.
53501         * lib/csharpcomp.c: New file, from GNU gettext.
53502         * lib/csharpcomp.sh.in: New file, from GNU gettext.
53503
53504 2005-06-08  Bruno Haible  <bruno@clisp.org>
53505
53506         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
53507         warning on mingw.
53508
53509 2005-06-07  Derek Price  <derek@ximbiot.com>
53510
53511         Sync from CVS.
53512         * lib/glob_.h: Indent nested #ifdef.
53513
53514 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
53515
53516         Sync from coreutils.
53517         Use "file name" when talking about file names, instead of "filename"
53518         or "path", as per the GNU coding standards.
53519         * lib/mkdir-p.c: Renamed from makepath.c.
53520         (make_dir_parents): Renamed from make_path.  All callers changed.
53521         * lib/mkdir-p.h: Likewise.  All includers changed.
53522         * lib/filenamecat.c: Renamed from path-concat.c.
53523         (file_name_concat): Renamed from path_concat.  All callers changed.
53524         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
53525         * lib/filenamecat.h: Likewise.  All includers changed.
53526         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
53527         in comments or local variable names.
53528         * lib/basename.c: Likewise.
53529         * lib/canonicalize.c, canonicalize.h: Likewise.
53530         * lib/dirname.c, dirname.h: Likewise.
53531         * lib/euidaccess.c: Likewise.
53532         * lib/exclude.c: Likewise
53533         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
53534         * lib/fsusage.c, fsuage.h: Likewise.
53535         * lib/fts.c, fts_.h: Likewise.
53536         * lib/getcwd.c: Likewise.
53537         * lib/getloadavg.c: Likewise.
53538         * lib/mkstemp.c: Likewise.
53539         * lib/mountlist.c, mountlist.h: Likewise.
53540         * lib/openat.c, openat.h: Likewise.
53541         * lib/readlink-stub.c: Likewise.
53542         * lib/readutmp.c, readutmp.h: Likewise.
53543         * lib/rename.c: Likewise.
53544         * lib/rmdir.c: Likewise.
53545         * lib/same.c: Likewise.
53546         * lib/savedir.c: Likewise.
53547         * lib/stripslash.c: Likewise.
53548         * lib/tempname.c: Likewise.
53549         * lib/xreadlink.c: Likewise.
53550         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
53551         All uses changed.
53552         * lib/exclude.h: Likewise.
53553
53554         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
53555         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
53556         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
53557         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
53558         * lib/pathmax.h: Include <limits.h> unconditionally, since other
53559         files have been getting away with it for years (MORE/BSD 4.3
53560         is extinct now).
53561         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
53562         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
53563
53564         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
53565         Define to 256, not 255, as per modern POSIX.
53566
53567 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
53568
53569         Sync from coreutils.
53570         Use "file name" when talking about file names, instead of "filename"
53571         or "path", as per the GNU coding standards.
53572         * MODULES.html.sh: mkdir-p renamed from makepath.
53573         filenamecat renamed from path-concat.
53574         * modules/filenamecat: Renamed from modules/path-concat.
53575         (Files): filenamecat.h and filenamecat.c renamed from
53576         path-concat.h and path-concat.c.
53577         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
53578         (Include): filenamecat.h, not path-concat.h.
53579         * modules/mkdir-p: Renamed from modules/makepath.
53580         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
53581         makepath.c.
53582         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
53583         (Include): mkdir-p.h, not makepath.h.
53584
53585 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
53586
53587         Sync from coreutils.
53588         * m4/mkdir-p.m4: Renamed from makepath.m4.
53589         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
53590         Rename files from makepath.c to mkdir-p.c, and from
53591         makepath.h to mkdir-p.h.
53592         * m4/filenamecat.m4: Renamed from path-concat.m4.
53593         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
53594         Rename files from path-concat.c to filenamecat.c,
53595         and from path-concat.h to filenamecat.h.
53596         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
53597         "file name" in local variables or comments.
53598         * m4/rename.m4: Likewise.
53599
53600 2005-06-01  Bruno Haible  <bruno@clisp.org>
53601
53602         * modules/csharpexec: New file.
53603         * MODULES.html.sh (C#): New section.
53604
53605 2005-06-01  Bruno Haible  <bruno@clisp.org>
53606
53607         * m4/csharp.m4: New file, from GNU gettext.
53608         * m4/csharpexec.m4: New file, from GNU gettext.
53609
53610 2005-06-01  Bruno Haible  <bruno@clisp.org>
53611
53612         * lib/csharpexec.h: New file, from GNU gettext.
53613         * lib/csharpexec.c: New file, from GNU gettext.
53614         * lib/csharpexec.sh.in: New file, from GNU gettext.
53615
53616 2005-05-31  Derek Price  <derek@ximbiot.com>
53617             Paul Eggert  <eggert@cs.ucla.edu>
53618
53619         Sync from cvs.
53620         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
53621
53622 2005-05-31  Derek Price  <derek@ximbiot.com>
53623             Paul Eggert  <eggert@cs.ucla.edu>
53624
53625         Sync from cvs.
53626         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
53627
53628 2005-05-29  Derek Price  <derek@ximbiot.com>
53629
53630         * config/srclist.txt (glob_.h, glob.c): Add these files.
53631
53632 2005-05-29  Derek Price  <derek@ximbiot.com>
53633
53634         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
53635         * modules/glob: New file.
53636         * modules/getlogin_r: Add link to POSIX spec in description.
53637
53638 2005-05-29  Derek Price  <derek@ximbiot.com>
53639             Paul Eggert  <eggert@cs.ucla.edu>
53640
53641         * m4/glob.m4: New file.
53642
53643 2005-05-29  Derek Price  <derek@ximbiot.com>
53644             Paul Eggert  <eggert@cs.ucla.edu>
53645
53646         * lib/glob_.h, lib/glob.c: New files.
53647
53648 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53649
53650         * modules/fts (Files): Remove m4/inttypes-pri.m4.
53651         * modules/fts-lgpl (Depends-on): Remove gettext.
53652
53653 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53654
53655         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
53656         and don't require gt_INTTYPES_PRI.
53657
53658 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53659
53660         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
53661
53662         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
53663         the configuration hassle isn't worth it.
53664         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
53665         (LONGEST_MODIFIER, PRIuMAX): Remove.
53666
53667 2005-05-27  Bruno Haible  <bruno@clisp.org>
53668
53669         * lib/getlogin_r.h: Remove second include of <stddef.h>.
53670
53671 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53672
53673         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
53674         _POSIX_PTHREAD_SEMANTICS for Solaris.
53675
53676 2005-05-25  Derek Price  <derek@ximbiot.com>
53677
53678         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
53679
53680 2005-05-25  Derek Price  <derek@ximbiot.com>
53681             Paul Eggert  <eggert@cs.ucla.edu>
53682
53683         * modules/getlogin_r, m4/getlogin_r.m4: New files.
53684         * lib/getlogin_r.c, getlogin_r.h: New files.
53685
53686 2005-05-25  Bruno Haible  <bruno@clisp.org>
53687             Derek Price  <derek@ximbiot.com>
53688
53689         * lib/getlogin_r.h: Simplify API documentation.
53690
53691 2005-05-23  Derek Price  <derek@ximbiot.com>
53692
53693         * modules/minmax (Files): Add m4/minmax.m4.
53694         (configure.ac): Add gl_MINMAX.
53695
53696 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
53697
53698         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
53699         so that unistd-safer.h (GPL'ed code) need not be included.
53700
53701 2005-05-22  Bruno Haible  <bruno@clisp.org>
53702
53703         * m4/minmax.m4: New file.
53704         Based on a patch by Derek Price <derek@ximbiot.com>.
53705
53706 2005-05-22  Bruno Haible  <bruno@clisp.org>
53707
53708         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
53709         (INT64_MIN): Fix definition.
53710         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
53711
53712         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
53713         NEED_SIGNED_INT_TYPES.
53714
53715         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
53716         HAVE_SYSTEM_INTTYPES.
53717
53718 2005-05-22  Bruno Haible  <bruno@clisp.org>
53719
53720         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
53721         Also include <sys/param.h> if it defines MIN, MAX.
53722         Based on a patch by Derek Price <derek@ximbiot.com>.
53723
53724 2005-05-21  Jim Meyering  <jim@meyering.net>
53725
53726         * modules/fts (Files): Add m4/inttypes-pri.m4.
53727         (Depends-on): Add lstat and remove gettext.  Alphabetize.
53728
53729 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53730
53731         New fts module.
53732         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
53733         (setup_dir, free_dir): New functions.
53734         (enter_dir, leave_dir): Define trivial
53735         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
53736         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
53737         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
53738         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
53739         Move to fts-cycle.c.
53740         (fts_open): Use setup_dir.
53741         (fts_close): Use free_dir.
53742         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
53743         This adds a label and some gotos, but the alternatives were messier.
53744         Check for memory allocation failure when entering a dir.
53745         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
53746         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
53747         (FTS): New member fts_cycle, that is a union that contains the
53748         old active_dir_ht and cycle_state.  All uses changed to mention
53749         fts_cycle.ht and fts_cycle.state.
53750         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
53751         fts.c, with the following changes:
53752         (setup_dir, free_dir): New functions.
53753         (enter_dir): Now returns bool.  Return true if successful, false
53754         if memory exhausted.  All callers changed.
53755         Do not bother partly cleaning up on
53756         memory allocation failure; that is free_dir's job.
53757         However, free ad if hash_insert fails, to avoid memory leak.
53758         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
53759         fts->fts_options to see which union member to use.
53760
53761 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53762
53763         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
53764         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
53765
53766 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53767
53768         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
53769
53770 2005-05-20  Jim Meyering  <jim@meyering.net>
53771
53772         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
53773         Now a macro, to pacify GCC.
53774
53775 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53776
53777         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
53778         of -1.
53779
53780 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53781
53782         * lib/chown.c (rpl_chown): Return -1 on failure.
53783
53784 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53785
53786         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
53787         Don't check for stddef.h.
53788         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
53789         don't use its results.
53790         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
53791         since we include them unconditionally.  Don't require
53792         AM_STDBOOL_H, since stdbool is a prerequisite.
53793         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
53794         since we assume C89 or better.
53795         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
53796         as we don't use their results.
53797         Don't check for fchdir, memmove, memset, strrchr, as we use
53798         them unconditionally.
53799         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
53800         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
53801
53802 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53803
53804         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
53805         Include <stddef.h> unconditionally, since we assume C89 now.
53806         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
53807         * lib/fts.c: Include fts_.h first, to check interface.
53808         Do not include intprops.h; no longer needed.
53809         Include cycle-check.h and hash.h, since fts_.h no longer does.
53810         Remove unnecessary casts of closedir to void.
53811         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
53812         decide whether to decrement nlinks.
53813         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
53814         (FTS): Use struct hash_table * instead of Hash_table, so that
53815         we no longer need to include hash.h here.
53816
53817 2005-05-18  Jim Meyering  <jim@meyering.net>
53818
53819         * modules/dirfd (License): Change to LGPL.  Most of the code
53820         is already in the public domain.
53821
53822 2005-05-18  Jim Meyering  <jim@meyering.net>
53823
53824         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
53825         Reported by Yoann Vandoorselaere.
53826
53827 2005-05-17  Jim Meyering  <jim@meyering.net>
53828
53829         * m4/fts.m4: New file, from coreutils.
53830
53831 2005-05-17  Jim Meyering  <jim@meyering.net>
53832
53833         * lib/fts.c, lib/fts_.h: New files, from coreutils.
53834
53835 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53836
53837         Sync from coreutils.
53838         * m4/unlinkdir.m4: New file.
53839
53840 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53841
53842         Sync from coreutils.
53843         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
53844         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
53845         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
53846         White space changes only.
53847         * lib/makepath.c (make_path): Port to hosts where leading "//" is
53848         special.
53849         * lib/yesno.c: Include getline.h, not ctype.h.
53850         (yesno): Don't remove leading white space; POSIX doesn't allow it.
53851         Use getline to remove arbitrary restriction on response length.
53852
53853 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53854
53855         * config/srclist-update: Spell out "Street" in FSF postal
53856         mail address; this is the style the FSF seems to prefer.
53857
53858         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
53859         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
53860         this updates FSF postal mail address.
53861
53862         Sync from coreutils.
53863         * modules/unlinkdir: New file.
53864         * modules/yesno (Depends-on): Add getline.
53865         * MODULES.html.sh (File system functions): Add unlinkdir.
53866
53867 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53868
53869         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
53870         lib/strsep.h:
53871         Change the initial comment to refer to GPL, not LGPL.
53872         gnulib-tool will change it to LGPL as needed.
53873
53874         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
53875         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
53876         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
53877         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
53878         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
53879         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
53880         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
53881         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
53882         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
53883         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
53884         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
53885         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
53886         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
53887         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
53888         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
53889         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
53890         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
53891         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
53892         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
53893         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
53894         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
53895         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
53896         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
53897         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
53898         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
53899         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
53900         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
53901         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
53902         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
53903         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
53904         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
53905         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
53906         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
53907         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
53908         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
53909         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
53910         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
53911         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
53912         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
53913         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
53914         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
53915         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
53916         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
53917         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
53918         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
53919         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
53920         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
53921         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
53922         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
53923         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
53924         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
53925         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
53926         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
53927         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
53928         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
53929         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
53930         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
53931         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
53932         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
53933         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
53934         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
53935         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
53936         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
53937         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
53938         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
53939         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
53940         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
53941         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
53942         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
53943         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
53944         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
53945         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
53946         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
53947         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
53948         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
53949         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
53950         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
53951         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
53952         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
53953         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
53954         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
53955         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
53956         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
53957         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
53958         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
53959         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
53960         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
53961         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
53962         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
53963         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
53964         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
53965         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
53966         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
53967         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
53968         lib/yesno.c, lib/yesno.h:
53969         Update FSF postal mail address.
53970
53971 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53972
53973         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
53974         tests/test-memmem.c, tests/test-stpncpy.c:
53975         Update FSF postal mail address.
53976
53977 2005-05-13  Bruno Haible  <bruno@clisp.org>
53978
53979         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
53980         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
53981         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
53982         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
53983         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
53984         Add support for 64-bit integers in the MSVC compiler.
53985
53986 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53987
53988         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
53989
53990 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
53991
53992         * gnulib-tool (func_import): Sort and uniquify recommended includes.
53993
53994 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
53995
53996         * doc/getdate.texi (General date syntax): Don't say that date
53997         date --iso-8601=ns generates acceptable dates; it doesn't yet.
53998         Problem reported by Nic Ferrier.
53999
54000 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54001
54002         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
54003         specified in ai_socktype. Fix invalid ai_protocol
54004         check. ai_protocol is usually set to 0 or depending on
54005         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
54006         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
54007         ai_socktype / ai_protocol in the returned addrinfo structure.
54008
54009 2005-05-10  Simon Josefsson  <jas@extundo.com>
54010
54011         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
54012         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54013
54014 2005-05-10  Karl Berry  <karl@gnu.org>
54015
54016         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
54017         (from http://www.gnu.org/licenses).
54018         * doc/COPYING.LIB: also rename to COPYING.LESSER.
54019         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
54020         fdl.texi suffices.
54021
54022 2005-05-10  Karl Berry  <karl@gnu.org>
54023
54024         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
54025         (COPYING.DOC): remove.
54026
54027         * config/srclist-update: new FSF address.
54028
54029 2005-05-10  Derek Price  <derek@ximbiot.com>
54030
54031         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
54032         possible.
54033
54034 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54035             Bruno Haible  <bruno@clisp.org>
54036
54037         * modules/inet_ntop: New file.
54038         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54039         inet_ntop.
54040
54041 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54042             Bruno Haible  <bruno@clisp.org>
54043
54044         * m4/inet_ntop.m4: New file.
54045
54046 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54047             Bruno Haible  <bruno@clisp.org>
54048
54049         * lib/inet_ntop.h: New file.
54050         * lib/inet_ntop.c: New file, from glibc with modifications.
54051
54052 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
54053
54054         * modules/time_r (License): Change to LGPL.
54055         * modules/extensions (License): Change to LGPL.  Actually,
54056         the license is more permissive than that, but currently gnulib-tool
54057         doesn't know how to handle more-permissive licenses.
54058
54059         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
54060         Problem reported by Dave Love.
54061
54062 2005-05-08  Jim Meyering  <jim@meyering.net>
54063
54064         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
54065         blank.
54066
54067 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
54068
54069         * modules/argmatch (Depends-on): Add stdbool.
54070         * modules/backupfile (Depends-on): Likewise.
54071         * modules/chdir-long (Depends-on): Likewise.
54072         * modules/closeout (Depends-on): Likewise.
54073         * modules/cycle-check (Depends-on): Likewise.
54074         * modules/dirname (Depends-on): Likewise.
54075         * modules/fnmatch (Depends-on): Likewise.
54076         * modules/fsusage (Depends-on): Likewise.
54077         * modules/fwriteerror (Depends-on): Likewise.
54078         * modules/getcwd (Depends-on): Likewise.
54079         * modules/getloadavg (Depends-on): Likewise.
54080         * modules/hard-locale (Depends-on): Likewise.
54081         * modules/makepath (Depends-on): Likewise.
54082         * modules/mountlist (Depends-on): Likewise.
54083         * modules/nanosleep (Depends-on): Likewise.
54084         * modules/posixtm (Depends-on): Likewise.
54085         * modules/quotearg (Depends-on): Likewise.
54086         * modules/readtokens (Depends-on): Likewise.
54087         * modules/readtokens0 (Depends-on): Likewise.
54088         * modules/readutmp (Depends-on): Likewise.
54089         * modules/save-cwd (Depends-on): Likewise.
54090         * modules/strftime (Depends-on): Likewise.
54091         * modules/userspec (Depends-on): Likewise.
54092         * modules/utimecmp (Depends-on): Likewise.
54093         * modules/xgetcwd (Depends-on): Likewise.
54094         * modules/xnanosleep (Depends-on): Likewise.
54095         * modules/xstrtod (Depends-on): Likewise.
54096         * modules/yesno (Depends-on): Likewise.
54097
54098 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
54099
54100         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
54101         needless checks.
54102
54103 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54104
54105         Merge from coreutils.  Among other things,
54106         add bulletproofing for cases where stdin, stdout, or stderr are closed.
54107         * lib/fd-safer.c: New file.
54108         * lib/fcntl-safer.h, open-safer.c: Remove.
54109         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
54110         * lib/dup-safer.c: Include unistd-safer.h first.
54111         Don't include errno.h.
54112         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
54113         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
54114         * lib/file-type.c: Rely on file-type.h change.
54115         * lib/getloadavg.c: Include unistd-safer.h.
54116         (getloadavg): Use safer open.
54117         * lib/getusershell.c: Include "stdio-safer.h".
54118         (getusershell): Use safer fopen.
54119         * lib/long-options.c (long_options): Use NULL rather than 0.
54120         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
54121         'free'.
54122         * lib/modechange.c: Likewise.
54123         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
54124         (MODE_DONE): New constant.
54125         (struct mode_change): Remove 'next' member.
54126         (make_node_op_equals): New function; like the old one of the
54127         same name, except it allocates an array.
54128         (mode_compile, mode_create_from_ref): Use it.
54129         (mode_compile): Allocate result as an array, not a linked list.
54130         Parse octal string ourself, so that we catch mistakes like "+0".
54131         (mode_adjust): Arg is an array, not a linked list.
54132         * lib/modechange.c: Include stat-macros.h, xalloc.h.
54133         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
54134         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
54135         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
54136         Remove.  This is now stat-macros.h's job.
54137         (talloc): Remove.  All callers replaced by xalloc, so that
54138         our invokers don't have to worry about reporting memory failures.
54139         (make_node_op_equals): Remove.
54140         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
54141         New constants.
54142         (struct mode_change): Moved here from modechange.h.
54143         (mode_append_entry): Remove.
54144         (mode_compile): Remove MASKED_OPS arg, since it encouraged
54145         apps to have incorrect behavior.  Use simpler algorithm for head
54146         and tail.  Don't futz with umask; that's now the job of mode_adjust.
54147         Detect more invalid usages rather than having somewhat-random behavior.
54148         Don't insert an "a=" action, as that leads to incorrect behavior.
54149         (mode_compile, mode_create_from_ref): Return NULL on error instead
54150         of an enum, since now there's only one way to have an error.  All
54151         callers changed.
54152         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
54153         at the correct time.  Simplify calculation of "+u" and its ilk.
54154         Don't mishandle "+X".
54155         (mode_free): Remove "register" and localize decls.
54156         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
54157         (struct mode_change): Move to modechange.c; callers don't
54158         need to see this stuff.
54159         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
54160         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
54161         (mode_change, mode_adjust): Reflect the new signatures noted above.
54162         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
54163         that might redefine system include files.
54164         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
54165         (my_usleep): Use NULL rather than (void *) 0.
54166         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
54167         Use siginterrupt to specify that system calls should be interrupted.
54168         (rpl_nanosleep): Move initialization of suspended closer to call of
54169         my_usleep.
54170         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
54171         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
54172         (desirable_utmp_entry): New function.
54173         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
54174         using x2nrealloc, to simplify logic.
54175         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
54176         size calculation.  Do not assume utmp file is a regular file.
54177         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
54178         (READ_UTMP_CHECK_PIDS): New constant.
54179         * lib/save-cwd.c: Include unistd-safer.h.
54180         (save_cwd): Use fd_safer.
54181         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
54182         [!_LIBC] Include "stat-macros.h" instead.
54183         * lib/unistd-safer.h (fd_safer): New decl.
54184
54185 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54186
54187         * modules/getloadavg (Depends-on): Add unistd-safer.
54188         * modules/getusershell (Depends-on): Add stdio-safer.
54189         * modules/lstat (Depends-on): Remove xalloc.
54190         * modules/mkstemp (Depends-on): Add stat-macros.
54191         * modules/modechange (Depends-on): Remove xstrtol.
54192         Add stat-macros, xalloc.
54193         * modules/save-cwd (Depends-on): Add unistd-safer.
54194         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
54195         * modules/unistd-safer (Files): Add lib/fd-safer.c
54196         (Makefile.am): Remove lib_SOURCES.
54197
54198         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
54199         Remove fcntl-safer; unistd-safer supersedes it.
54200
54201 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54202
54203         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
54204         AC_HEADER_STAT.
54205         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
54206         (gl_PREREQ_CHOWN): Remove.
54207         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
54208         it.  Don't require AC_HEADER_STAT.
54209         (gl_PREREQ_LSTAT): Remove.
54210         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
54211         Don't require AC_HEADER_STAT.
54212         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
54213         (gl_PREREQ_RMDIR): Remove.
54214         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
54215         mention stat-macros.h or AC_HEADER_STAT, since we'll make
54216         the stat-macros module a prerequisite.
54217         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
54218         * m4/filemode.m4 (gl_FILEMODE): Likewise.
54219         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
54220         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
54221         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
54222         variable names.
54223         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
54224         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
54225         variable prefixes.
54226         * m4/fcntl-safer.m4: Remove.
54227         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
54228         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
54229         Invoke gl_PREREQ_FD_SAFER.
54230         (gl_PREREQ_FD_SAFER): New macro.
54231         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
54232         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
54233         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
54234         Remove duplicate call to AC_LIBOBJ(readutmp).
54235         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
54236
54237         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
54238         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
54239
54240 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54241
54242         * MODULES.html.sh (Misc): Add byteswap.
54243
54244 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
54245
54246         * modules/getcwd (Depends-on): Add extensions.
54247         * modules/openat (Depends-on): Likewise.
54248
54249 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
54250
54251         * modules/byteswap: New file.
54252
54253 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
54254
54255         * m4/byteswap.m4: New file.
54256
54257 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
54258
54259         * lib/byteswap_.h: New file.
54260
54261 2005-04-25  Karl Berry  <karl@gnu.org>
54262
54263         * m4/gettext.m4: Update from GNU gettext 0.14.4.
54264
54265 2005-04-25  Albert Chin  <china@thewrittenword.com>
54266
54267         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
54268         Toolkit C bug.
54269
54270 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
54271
54272         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
54273         (func_ln_if_changed) Remove forcibly for no error message
54274         in case file does not exist.
54275
54276 2005-04-19  Simon Josefsson  <jas@extundo.com>
54277
54278         * gnulib-tool (Options): Make --symlink mean --symbolic.
54279
54280 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
54281
54282         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
54283
54284 2005-04-16  Simon Josefsson  <jas@extundo.com>
54285
54286         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
54287
54288 2005-04-15  Simon Josefsson  <jas@extundo.com>
54289
54290         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
54291
54292 2005-04-15  Simon Josefsson  <jas@extundo.com>
54293
54294         * gnulib-tool: Rename --symlink to --symbolic.
54295
54296 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
54297
54298         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
54299         symbolic links to files instead of copying/moving.  Add --aux-dir,
54300         specifying directory relative --dir where auxiliary build tools
54301         are placed.
54302
54303 2005-04-14  Bruno Haible  <bruno@clisp.org>
54304
54305         * modules/allocsa (License): Change to LGPL.
54306         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54307
54308 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
54309
54310         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
54311         that "UTC +1 second" continues to work.  Problem reported
54312         by Dmitry V. Levin.
54313         (relunit_snumber): New rule.
54314         (relunit): Use it.
54315
54316 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
54317
54318         * lib/getdate.y (universal_time_zone_table): New constant.
54319         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
54320         universal_time_zone_table.
54321         (lookup_zone): Prefer universal_time_zone_table to
54322         local_time_zone_table, so that "GMT" time stamps are allowed in
54323         London during the summer.  Problem reported by Ian Abbott.
54324
54325 2005-04-12  Jim Meyering  <jim@meyering.net>
54326
54327         * lib/human.c (humblock): Set *options even when returning due to
54328         xstrtoumax conversion failure.  Thanks to a used-uninitialized
54329         warning from gcc-4.
54330
54331 2005-04-09  Jim Meyering  <jim@meyering.net>
54332
54333         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
54334         -Wuninitialized: initialize tm0.tm_year.
54335
54336 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
54337
54338         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
54339         count, since there's no maximum.  All uses changed.
54340         Add member dsts_seen.
54341         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
54342         not being INT_MAX.
54343         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
54344         Use pc_rels_seen to decide whther a date is absolute.
54345
54346         * lib/getdate.y (number): Don't overwrite year.
54347         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
54348         check.
54349
54350 2005-04-02  Simon Josefsson  <jas@extundo.com>
54351
54352         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
54353         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
54354
54355 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
54356
54357         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
54358         where no absolute path name can be longer than PATH_MAX.
54359
54360 2005-03-27  Jim Meyering  <jim@meyering.net>
54361
54362         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
54363
54364 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
54365
54366         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
54367         "one's complement" -> "ones' complement" in comment, as per Knuth.
54368         "value of type" -> "type or expression" in comment.
54369         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
54370
54371 2005-03-26  Jim Meyering  <jim@meyering.net>
54372
54373         Comment nits.
54374         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
54375         Correct typos: s/or/of/.
54376
54377 2005-03-26  Jim Meyering  <jim@meyering.net>
54378
54379         * modules/check-include-files: Move to ../ and rename to...
54380         * check-module: ...this.
54381
54382 2005-03-25  Jim Meyering  <jim@meyering.net>
54383
54384         * modules/xvasprintf (Files): Add xalloc.h.
54385
54386 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
54387
54388         * modules/gettext (Files): config/config.rpath ->
54389         build-aux/config.rpath
54390         * modules/iconv (Files): Likewise.
54391         Problem reported by Oskar Liljeblad.
54392
54393 2005-03-23  Jim Meyering  <jim@meyering.net>
54394
54395         * modules/check-include-files: New script to check for
54396         missing dependencies, multiple includes, etc.
54397
54398         * modules/c-strtold (Depends-on): Add xalloc.
54399         * modules/c-strtod (Depends-on): Add xalloc.
54400         * modules/hash (Depends-on): Add xalloc.
54401         (Files): Remove lib/xalloc.h.
54402
54403         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
54404         * modules/userspec (Files): Add lib/inttostr.h.
54405
54406 2005-03-23  Jim Meyering  <jim@meyering.net>
54407
54408         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
54409
54410 2005-03-22  Jim Meyering  <jim@meyering.net>
54411
54412         * modules/stat-macros: New module.
54413         * modules/canonicalize, modules/euidaccess, modules/file-type,
54414         * modules/filemode, modules/lchown, modules/makepath,
54415         * modules/rmdir, modules/stat: Depend on new stat-macros module
54416         rather than listing lib/stat-macros.h manually.
54417         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
54418
54419 2005-03-22  Jim Meyering  <jim@meyering.net>
54420
54421         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
54422
54423 2005-03-22  Bruno Haible  <bruno@clisp.org>
54424
54425         * config/srclist.txt: Replace target directory 'config' with
54426         'build-aux'.
54427         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
54428         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
54429         ../build-aux/.
54430
54431 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
54432
54433         * modules/chdir-long (Depends-on): Add mempcpy.
54434
54435         * modules/acl, modules/backupfile, modules/c-strtod,
54436         modules/c-strtold, modules/canon-host, modules/canonicalize,
54437         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
54438         modules/exclude, modules/exitfail, modules/file-type,
54439         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
54440         modules/getdate, modules/getline, modules/getpagesize,
54441         modules/getpass, modules/getugroups, modules/group-member,
54442         modules/hard-locale, modules/hash, modules/human, modules/idcache,
54443         modules/inttostr, modules/long-options, modules/makepath,
54444         modules/md5, modules/memcasecmp, modules/memcoll,
54445         modules/modechange, modules/mountlist, modules/path-concat,
54446         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
54447         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
54448         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
54449         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
54450         modules/strftime, modules/strndup, modules/strverscmp,
54451         modules/timespec, modules/unlocked-io, modules/userspec,
54452         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
54453         modules/yesno:
54454         Remove lib_SOURCES line from Makefile.am section, as this is now
54455         done automatically by the corresponding Autoconf macro.
54456
54457 2005-03-21  Jim Meyering  <jim@meyering.net>
54458
54459         Changes imported from coreutils.
54460
54461         * lib/cycle-check.c: Don't include xalloc.h.
54462
54463         * lib/path-concat.c: Don't include assert.h.
54464         (path_concat): Remove assertion that would have triggered
54465         for ABASE starting with more than one slash.
54466         Reported by Andreas Schwab.
54467
54468         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
54469         properly when ABASE is an absolute file name.
54470         Correct the description of this function.
54471         Include <assert.h>.
54472         Add an assertion and a test driver.
54473         This fixes a bug introduced on 2004-07-02.
54474         Andreas Schwab reported the resulting failure of cp --parents:
54475         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
54476
54477 2005-03-21  Jim Meyering  <jim@meyering.net>
54478
54479         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
54480         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
54481
54482 2005-03-21  Jim Meyering  <jim@meyering.net>
54483         and  Paul Eggert  <eggert@cs.ucla.edu>
54484
54485         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
54486         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
54487         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
54488         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
54489         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
54490         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
54491         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
54492         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
54493         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
54494         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
54495         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
54496         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
54497         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
54498         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
54499         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
54500         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
54501         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
54502         for these modules.
54503
54504 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
54505
54506         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
54507         (which shouldn't happen), generate nothing instead of returning 0
54508         immediately, so that nstrftime (NULL, ...) doesn't return 0.
54509
54510 2005-03-16  Bruno Haible  <bruno@clisp.org>
54511
54512         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
54513         HAVE_LONGLONG_64BIT.
54514
54515 2005-03-16  Bruno Haible  <bruno@clisp.org>
54516
54517         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
54518         HAVE_LONGLONG_64BIT.
54519
54520 2005-03-16  Bruno Haible  <bruno@clisp.org>
54521
54522         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
54523         HAVE_LONGLONG_64BIT.
54524
54525 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
54526
54527         * lib/strftime.c (my_strftime): Prepend space to format so that we can
54528         reliably distinguish strftime failure from empty output on POSIX
54529         hosts.
54530
54531 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
54532
54533         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
54534         (iconv_string): Don't guess a size-zero buffer, as that might cause
54535         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
54536         result would be 'too large', where 'too large' is (heuristically)
54537         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
54538         overflow concerns.  This will prevent some unwanted malloc failures
54539         when the inputs are very large.
54540
54541 2005-03-15  Karl Berry  <karl@gnu.org>
54542
54543         * config/srclist.txt (config.rpath): from gettext.
54544         * config/config.rpath: update.
54545
54546 2005-03-15  Bruno Haible  <bruno@clisp.org>
54547
54548         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
54549         to 'negate'.
54550
54551         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
54552         variable.
54553
54554         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
54555         results.
54556
54557 2005-03-14  Simon Josefsson  <jas@extundo.com>
54558
54559         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
54560         <fx@gnu.org>.
54561
54562 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
54563
54564         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
54565         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
54566         intprops.h.
54567         * lib/strtol.c: Likewise.
54568
54569 2005-03-14  Jim Meyering  <jim@meyering.net>
54570
54571         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
54572         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
54573         to be nonzero so that we (and caller) can detect the difference
54574         between a valid zero-length expansion and an error return, even
54575         when the underlying strftime fails before writing anything into
54576         that location.
54577
54578 2005-03-14  Bruno Haible  <bruno@clisp.org>
54579
54580         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
54581         Update from GNU gettext 0.14.3.
54582
54583 2005-03-10  Jim Meyering  <jim@meyering.net>
54584
54585         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
54586
54587 2005-03-10  Jim Meyering  <jim@meyering.net>
54588
54589         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
54590         so that this module works on systems without fchdir.
54591
54592 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
54593
54594         Factor int-properties macros into a single file, except for
54595         glibc-related files.
54596         * lib/intprops.h: New file.
54597         * lib/getloadavg.c: Include it instead of limits.h.
54598         (INT_STRLEN_BOUND): Remove.
54599         * lib/human.c: Include intprops.h.
54600         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
54601         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
54602         302/1000.
54603         * lib/inttostr.h: Include intprops.h instead of limits.h.
54604         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
54605         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
54606         for consistency with intprops.h.
54607         (time_t_is_integer, twos_complement_arithmetic): Use them.
54608         * lib/sig2str.h: Include <signal.h>, intprops.h.
54609         (INT_STRLEN_BOUND): Remove.
54610         * lib/strftime.c (TYPE_SIGNED): Remove.
54611         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
54612         * lib/strtol.c: Adjust comments to match intprops.h.
54613         * lib/userspec.c: Include intprops.h.
54614         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
54615         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
54616         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
54617         instead of rolling our own expressions.
54618         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
54619
54620         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
54621         instead of int.
54622         (my_strftime): Do not mishandle years close to INT_MAX, by doing
54623         the right thing even if adding 1900 would overflow.  Similarly
54624         for tm_mon + 1 and tm_yday + 1.
54625         Make %Y always equivalent to %C%y, and similarly for %G and %g.
54626         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
54627         (DO_SIGNED_NUMBER): New macro.
54628         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
54629
54630 2005-03-07  Bruno Haible  <bruno@clisp.org>
54631
54632         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
54633
54634 2005-03-07  Bruno Haible  <bruno@clisp.org>
54635
54636         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
54637
54638 2005-03-04  Derek R. Price  <derek@ximbiot.com>
54639
54640         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
54641         (func_import): Only replace files via --import when they have actually
54642         changed.
54643
54644 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54645
54646         * m4/mmap-anon.m4: New file.
54647         * m4/pagealign_alloc.m4: New file.
54648
54649 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54650             Bruno Haible  <bruno@clisp.org>
54651
54652         * modules/pagealign_alloc: New file.
54653         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
54654
54655 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54656             Bruno Haible  <bruno@clisp.org>
54657
54658         * lib/pagealign_alloc.h: New file.
54659         * lib/pagealign_alloc.c: New file.
54660
54661 2005-03-03  Bruno Haible  <bruno@clisp.org>
54662
54663         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
54664         Use an all-permissive copyright notice, recommended by RMS.
54665
54666 2005-03-02  Bruno Haible  <bruno@clisp.org>
54667
54668         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
54669         of AIX, the replacement has to be done only after <string.h> is
54670         included, therefore not in config.h. stpncpy.h does the replacement,
54671         and stpncpy.c uses it.
54672
54673 2005-03-02  Bruno Haible  <bruno@clisp.org>
54674
54675         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
54676         stpncpy.c uses it.
54677
54678 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54679
54680         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
54681         The workaround isn't strictly needed for POSIX conformance, and
54682         it's too much of a pain to configure and maintain.  We'll ask
54683         people to fix their kernels instead.
54684         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
54685         (NANOSLEEP_BUG_WORKAROUND): Remove.
54686         (xnanosleep): Remove the workaround.
54687
54688 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54689
54690         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
54691         Reported by Derek Price.
54692         (Include): Add "timespec.h".
54693
54694         * modules/xnanosleep (Depends-on): Remove gethrxtime.
54695
54696 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54697
54698         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
54699         to detect nanosleep bug.
54700
54701 2005-03-01  Bruno Haible  <bruno@clisp.org>
54702
54703         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
54704
54705 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
54706
54707         * modules/gethrxtime: New file.
54708         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
54709         (Depends-on): Add gethrxtime.
54710         (configure.ac): Add gl_XNANOSLEEP.
54711         (Makefile.am): Remove lib_SOURCES line.
54712
54713 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54714
54715         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
54716         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
54717
54718 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54719
54720         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
54721         * lib/timespec.h (gettime): Return void, since it always
54722         succeeds now.  All uses changed.
54723         * lib/gettime.c (gettime) Likewise.
54724         [HAVE_NANOTIME]: Prefer nanotime.
54725         Assume gettimeofday succeeds, as POSIX requires.
54726         Assime time () succeeds, since other code already does.
54727         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
54728         (timespec_subtract): Remove.
54729         (NANOSLEEP_BUG_WORKAROUND): New constant.
54730         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
54731         things considerably.  Use it only on GNU/Linux hosts, since the
54732         workaround shouldn't be needed elsewhere.
54733
54734 2005-02-24  Bruno Haible  <bruno@clisp.org>
54735
54736         * modules/gettext (Files): Add m4/glibc2.m4.
54737
54738 2005-02-24  Bruno Haible  <bruno@clisp.org>
54739
54740         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
54741         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
54742         * m4/progtest.m4:
54743         Update from GNU gettext 0.14.2.
54744         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
54745
54746 2005-02-24  Bruno Haible  <bruno@clisp.org>
54747
54748         * lib/localcharset.c: Update from GNU gettext 0.14.2.
54749         * lib/config.charset: Update from GNU gettext 0.14.2.
54750
54751 2005-02-24  Bruno Haible  <bruno@clisp.org>
54752
54753         * lib/gettext.h: Update from GNU gettext 0.14.2.
54754
54755 2005-02-23  Simon Josefsson  <jas@extundo.com>
54756
54757         * m4/iconvme.m4: New file.
54758
54759 2005-02-23  Jim Meyering  <jim@meyering.net>
54760
54761         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
54762         change.
54763         Thanks to Bruno Haible for catching it.
54764
54765 2005-02-22  Simon Josefsson  <jas@extundo.com>
54766
54767         * modules/iconvme: New file.
54768
54769         * MODULES.html.sh: Add iconvme.
54770
54771 2005-02-22  Simon Josefsson  <jas@extundo.com>
54772
54773         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
54774
54775 2005-02-22  Simon Josefsson  <jas@extundo.com>
54776
54777         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
54778
54779 2005-02-22  Jim Meyering  <jim@meyering.net>
54780
54781         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
54782         s/ifndef/ifdef/.
54783
54784 2005-02-20  Neil Conway  <neilc@samurai.com>
54785
54786         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
54787         returned by OSX/Darwin if the specified buffer is not large
54788         enough for the hostname.
54789
54790 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54791
54792         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
54793         pass it to _help, otherwise the latter coredumps trying to
54794         dereference state.root_argp.
54795
54796 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54797
54798         * modules/chdir-long (Depends-on): Add memrchr.
54799         * modules/memrchr (Files): Add lib/memrchr.h.
54800         (Include): "memrchr.h".
54801
54802 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54803
54804         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
54805
54806 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54807
54808         * lib/memrchr.h: New file.
54809         * lib/chdir-long.c: Include it.
54810         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
54811         Don't bother including stddef.h.
54812
54813 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54814
54815         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
54816         inclusion.
54817         Include <sys/types.h>, for dev_t.
54818         (ME_DUMMY, ME_REMOTE): Move from here....
54819         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
54820         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
54821         Dmitry V. Levin.
54822         Include mountlist.h first, to test the interface.
54823
54824 2005-01-29  Bruno Haible  <bruno@clisp.org>
54825
54826         * lib/progname.c (program_name): Initialize.
54827         Needed when linking statically on MacOS X.
54828
54829 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54830
54831         Sync from coreutils.
54832         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
54833         (Depends-on): Add c-strtod.
54834         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
54835
54836 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54837
54838         Sync from coreutils.
54839         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
54840
54841         Remove files that are specific to coreutils.
54842         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
54843
54844 2005-01-28  Bruno Haible  <bruno@clisp.org>
54845
54846         * modules/javacomp: New file.
54847         * MODULES.html.sh (Java): Add javacomp.
54848
54849 2005-01-28  Bruno Haible  <bruno@clisp.org>
54850
54851         * m4/javacomp.m4: New file, from GNU gettext.
54852
54853 2005-01-28  Bruno Haible  <bruno@clisp.org>
54854
54855         * lib/javacomp.sh.in: New file, from GNU gettext.
54856         * lib/javacomp.h: New file, from GNU gettext.
54857         * lib/javacomp.c: New file, from GNU gettext.
54858
54859 2005-01-26  Simon Josefsson  <jas@extundo.com>
54860
54861         * lib/gai_strerror.c: Use GPL in header.
54862
54863 2005-01-26  Bruno Haible  <bruno@clisp.org>
54864
54865         * modules/javaexec: New file.
54866         * MODULES.html.sh (Java): Add javaexec.
54867
54868 2005-01-26  Bruno Haible  <bruno@clisp.org>
54869
54870         * m4/javaexec.m4: New file, from GNU gettext.
54871
54872 2005-01-26  Bruno Haible  <bruno@clisp.org>
54873
54874         * lib/javaexec.sh.in: New file, from GNU gettext.
54875         * lib/javaexec.h: New file, from GNU gettext.
54876         * lib/javaexec.c: New file, from GNU gettext.
54877
54878 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54879
54880         * modules/lchown (Depends-on): Remove lchown.h
54881
54882 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54883
54884         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
54885         must be defined if the header file was not found, in order
54886         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
54887
54888 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54889
54890         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
54891         initializers for struct pentry_state.
54892         (__argp_error): Check return value of __asprintf
54893         (__argp_failure): Translate error message
54894
54895         * lib/argp-parse.c: Removed braces around the expansion of N_()
54896
54897 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54898
54899         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
54900         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
54901         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
54902         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
54903         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
54904         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
54905         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
54906         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
54907         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
54908         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
54909         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
54910         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
54911         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
54912         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
54913         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
54914         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
54915         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
54916         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
54917         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
54918         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
54919         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
54920         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
54921         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
54922         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
54923         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
54924         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
54925         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
54926         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
54927         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
54928         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
54929         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
54930         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
54931         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
54932         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
54933         xstrtol.m4, xstrtoumax.m4, yesno.m4:
54934         Use an all-permissive copyright notice, recommended by RMS.
54935
54936 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
54937
54938         * modules/chdir-long (Depends-on): Remove mempcpy.
54939
54940 2005-01-21  Jim Meyering  <jim@meyering.net>
54941
54942         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
54943         same value as for Solaris 9.
54944
54945         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
54946         component length.  This included changing the parameter to be
54947         of type `char *' rather than `char const *'.
54948         * lib/chdir-long.h (chdir_long): Update prototype.
54949
54950         * lib/openat.c (fdopendir, fstatat): New functions.
54951         * lib/openat.h: Include headers required for use of DIR and struct
54952         stat.
54953         [AT_SYMLINK_NOFOLLOW]: Define.
54954         (fdopendir, fstatat): Add prototypes.
54955
54956 2005-01-21  Bruno Haible  <bruno@clisp.org>
54957
54958         * modules/classpath: New file.
54959         * MODULES.html.sh (Java): Add classpath.
54960
54961 2005-01-21  Bruno Haible  <bruno@clisp.org>
54962
54963         * lib/classpath.h: New file, from GNU gettext.
54964         * lib/classpath.c: New file, from GNU gettext.
54965
54966 2005-01-20  Simon Josefsson  <jas@extundo.com>
54967
54968         * modules/version-etc-fsf: New file.
54969
54970 2005-01-20  Simon Josefsson  <jas@extundo.com>
54971
54972         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
54973         * lib/version-etc.c: Remove version_etc_copyright.
54974         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
54975         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
54976
54977 2005-01-20  Simon Josefsson  <jas@extundo.com>
54978
54979         * lib/base64.h (isbase64): Add.
54980
54981         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
54982         using a unsigned prototype, don't inline.
54983         (base64_decode): Use it.
54984
54985 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54986
54987         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
54988         it.
54989
54990 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54991
54992         * lib/save-cwd.c (save_cwd): Remove code to support the case
54993         where fchdir is missing or flaky.
54994
54995 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54996
54997         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
54998
54999 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
55000
55001         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
55002         AC_LIBSOURCES now does this.
55003         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
55004         with new ullong_max module.
55005
55006 2005-01-19  Bruno Haible  <bruno@clisp.org>
55007
55008         * modules/sh-quote: New file.
55009         * MODULES.html.sh (Executing programs): Add sh-quote.
55010
55011 2005-01-19  Bruno Haible  <bruno@clisp.org>
55012
55013         * lib/sh-quote.h: New file, from GNU gettext.
55014         * lib/sh-quote.c: New file, from GNU gettext.
55015
55016 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
55017
55018         Merge from coreutils.
55019         * m4/ullong_max.m4: New file.
55020         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
55021         (gl_MACROS): Assume localeconv exists.
55022
55023 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
55024
55025         Merge changes from coreutils, as described below in several
55026         changelogs dated today.
55027
55028         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
55029         (O_DIRECTORY): Remove; not needed here, since "." must be
55030         a directory.  All uses removed.
55031         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
55032         universal on Suns, and we also need to test for IRIX.
55033         Revamp code to use 'if' rather than '#if'.
55034         Avoid unnecessary comparison of cwd->desc to 0.
55035
55036         * lib/utimens.c (futimens): Robustify the previous patch, by checking
55037         for known valid error numbers rather than observed invalid ones.
55038
55039 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
55040
55041         * modules/ullong_max: New file.
55042
55043         * modules/chdir-long, modules/openat: New files.
55044         * modules/save-cwd (Depends-on): Depend on chdir-long.
55045         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
55046
55047 2005-01-18  Jim Meyering  <jim@meyering.net>
55048
55049         Merge from coreutils.
55050         * m4/chdir-long.m4, m4/openat.m4: New files.
55051         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
55052         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
55053         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
55054         is sane and DOES follow symlinks.  Besides, testing 20 different
55055         systems found no broken chown implementations.
55056         Prompted by a change in rsync's copy of this macro.
55057         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
55058
55059         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
55060
55061         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
55062         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
55063         NULL-means-set-to-current-time semantics.
55064         Remove temporary file immediately, rather than waiting
55065         for configure's at-exit trap code to do it.
55066
55067 2005-01-18  Jim Meyering  <jim@meyering.net>
55068
55069         * lib/version-etc.c (version_etc_copyright): Update copyright date.
55070
55071         * lib/utimens.c (futimens): Account for the fact that futimes
55072         can also fail with errno == ENOSYS or errno == ENOENT.
55073         Patch from Dmitry V. Levin.
55074
55075         Change the name of the robust chdir function from chdir to chdir_long.
55076         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
55077         (restore_cwd): Use chdir_long, not chdir.
55078         * lib/chdir-long.c: Renamed from chdir.c.
55079         * lib/chdir-long.h: Renamed from chdir.h.
55080         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
55081         Hurd.
55082
55083 2005-01-18  Bruno Haible  <bruno@clisp.org>
55084
55085         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
55086         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
55087         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
55088         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
55089         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
55090         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
55091         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
55092         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
55093         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
55094         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
55095         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
55096         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
55097         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
55098         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
55099         Use an all-permissive copyright notice, recommended by RMS.
55100
55101 2005-01-18  Bob Proulx  <bob@proulx.com>
55102
55103         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
55104         simplify offsetof() macro construct to avoid compile failure with
55105         native HP-UX 11.0 ANSI C compiler.
55106
55107 2005-01-17  Bruno Haible  <bruno@clisp.org>
55108
55109         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
55110         redundant because stpncpy.m4 takes care of it.
55111
55112 2005-01-17  Bruno Haible  <bruno@clisp.org>
55113
55114         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
55115
55116 2005-01-17  Bruno Haible  <bruno@clisp.org>
55117
55118         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
55119         used.
55120
55121 2005-01-17  Bruno Haible  <bruno@clisp.org>
55122
55123         * lib/fwriteerror.h (fwriteerror): Change specification to include
55124         fclose.
55125         * lib/fwriteerror.c: Include <stdbool.h>.
55126         (fwriteerror): At the end, close the file stream. Record whether
55127         stdout was already closed.
55128
55129 2005-01-17  Bruno Haible  <bruno@clisp.org>
55130
55131         * lib/execute.c (environ): Declare if needed.
55132         * lib/pipe.c (environ): Likewise.
55133         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
55134
55135 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55136
55137         * modules/argp: Depend on vsnprintf
55138
55139 2005-01-10  Jim Meyering  <jim@meyering.net>
55140
55141         * modules/closeout (Depends-on): Add atexit.
55142
55143 2005-01-06  Bruno Haible  <bruno@clisp.org>
55144
55145         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
55146
55147 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
55148
55149         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
55150         definitions to be after all include files, to avoid collisions.
55151         Problem reported by Bob Proulx.
55152
55153 2005-01-04  Jim Meyering  <jim@meyering.net>
55154
55155         Changes imported from coreutils.
55156         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
55157         as the mkstemp template, use a temporary directory and an
55158         8.3-friendly template to avoid trouble on systems like DJGPP.
55159         Reported by Juan M. Guerrero via Stepan Kasal.
55160         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
55161         close. Remove the temporary directory right away, rather than waiting
55162         for configure's at-exit trap code to do it.
55163         Suggestion from Stepan Kasal.
55164
55165 2005-01-01  Simon Josefsson  <jas@extundo.com>
55166
55167         * gnulib-tool: Print #include directives when --import'ing.
55168
55169 2004-12-28  Simon Josefsson  <jas@extundo.com>
55170
55171         * tests/test-base64.c: Include required header files.  Remove
55172         unused variables.
55173
55174 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
55175
55176         * modules/error (Depends-on): Remove gettext.
55177
55178 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
55179
55180         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
55181         not needed.  This removes a dependency on the gettext module.
55182         [defined _LIBC]: Do not include <libintl.h>; not needed.
55183
55184 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
55185
55186         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
55187         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
55188
55189 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
55190
55191         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
55192         HAVE_DECL_STRTOLD.
55193
55194 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55195
55196         * modules/getdate (Depends-on): Remove alloca-opt.
55197
55198 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55199
55200         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
55201
55202 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55203
55204         * lib/argp-parse.c: Include <stddef.h>.
55205         (alignof, alignto): New macros.
55206         (parser_init): Don't assume that void * is aligned sufficiently
55207         for struct option.
55208
55209         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
55210         need to extend the stack.
55211         (YYINITDEPTH): New macro, so that the initial stack isn't overly
55212         large.
55213
55214 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55215
55216         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
55217
55218 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
55219
55220         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
55221         (2004-10-24) change.  Apparently this was a false alarm.
55222
55223         * modules/getdate: Depend on alloca-opt, not alloca.
55224
55225 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
55226
55227         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
55228         Remove now-obsolete comment about AIX.
55229         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
55230         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
55231         (YYMAXDEPTH): New macro.
55232
55233 2004-12-18  Simon Josefsson  <jas@extundo.com>
55234
55235         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
55236
55237 2004-12-18  Bruno Haible  <bruno@clisp.org>
55238
55239         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
55240
55241 2004-12-18  Bruno Haible  <bruno@clisp.org>
55242
55243         * lib/fatal-signal.c (fatal_signals): Make non-const.
55244         (init_fatal_signals): New function.
55245         (uninstall_handlers, install_handlers): Ignore signals that were set to
55246         SIG_IGN.
55247         (at_fatal_signal): Call init_fatal_signals.
55248         (init_fatal_signal_set): Likewise. Ignore signals that were set to
55249         SIG_IGN.
55250         Reported by Paul Eggert.
55251
55252 2004-12-18  Bruno Haible  <bruno@clisp.org>
55253
55254         * doc/alloca.texi: New file.
55255         * doc/alloca-opt.texi: New file.
55256
55257 2004-12-17  Jim Meyering  <jim@meyering.net>
55258
55259         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
55260         Otherwise, install-sh could exit with improper exit status when
55261         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
55262
55263 2004-12-16  Simon Josefsson  <jas@extundo.com>
55264
55265         * tests/test-base64.c: Add license.
55266
55267 2004-12-15  Stepan Kasal  <address@hidden>
55268
55269         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
55270
55271 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
55272
55273         * modules/getcwd (Files): Add m4/d-ino.m4.
55274         Suggested by Mark D. Baushke.
55275
55276 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
55277
55278         * lib/getdate.y (textint): New member "negative".
55279         (time_zone_hhmm): New function.
55280         Expect 14 shift-reduce conflicts, not 13.
55281         (o_colon_minutes): New rule.
55282         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
55283         (yylex): Set the "negative" member of signed numbers.
55284
55285 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
55286
55287         * doc/getdate.texi (Time of day items, Time zone items):
55288         Describe new formats +00:00, UTC+00:00.
55289
55290 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
55291
55292         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
55293         spurious "-l"s.  Problem reported by Stepan Kasal.
55294
55295 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
55296
55297         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
55298         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
55299
55300 2004-12-04  Simon Josefsson  <jas@extundo.com>
55301
55302         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
55303         Vandoorselaere <yoann@prelude-ids.org>.
55304
55305 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
55306
55307         Changes imported from coreutils.
55308         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
55309         exist.
55310         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
55311
55312 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
55313
55314         Changes imported from coreutils.
55315         * lib/hard-locale.c: Assume <locale.h> exists.
55316         Include "strdup.h".
55317         (GLIBC_VERSION): New macro.
55318         (hard_locale): Assume setlocale exists.
55319         Rewrite to avoid #ifdef.
55320         Use strdup rather than malloc + strcpy.
55321         * lib/human.c: Assume <locale.h> exists.
55322         (human_readable): Assume localeconv exists.
55323
55324 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
55325
55326         * modules/hard-locale (Depends-on): Add strdup.
55327
55328 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
55329
55330         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
55331         convert T2, not T.  (Imported from libc.)
55332
55333 2004-11-30  Simon Josefsson  <jas@extundo.com>
55334
55335         * modules/restrict (License): Change to LGPL.
55336
55337 2004-11-30  Simon Josefsson  <jas@extundo.com>
55338
55339         * m4/restrict.m4: Add copyright and copying conditions.
55340
55341 2004-11-30  Simon Josefsson  <jas@extundo.com>
55342
55343         * m4/base64.m4: New file.
55344
55345 2004-11-30  Simon Josefsson  <jas@extundo.com>
55346
55347         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
55348         base64.
55349
55350         * tests/test-base64.c: New file.
55351
55352         * modules/base64: New file.
55353
55354 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
55355
55356         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
55357         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
55358
55359         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
55360
55361 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
55362
55363         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
55364         (__getcwd.c): Don't restore errno; glibc doesn't.
55365         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
55366         first, falling back to our code only if its results look suspicious.
55367         Ensure that the resulting buffer is only as large as necessary.
55368
55369         * lib/readutmp.c: Include readutmp.h first.
55370         Include <errno.h>, since readutmp.h no longer does that.
55371         * lib/readutmp.h: Don't include <errno.h>,
55372         <sys/param.h>, <time.h>; not needed to establish interface.
55373         (errno): Remove decl.
55374         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
55375         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
55376         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
55377
55378 2004-11-28  Simon Josefsson  <jas@extundo.com>
55379
55380         * lib/base64.h, base64.c: New file.
55381
55382 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
55383
55384         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
55385
55386 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
55387
55388         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
55389         (Depends-on): Remove pathmax, same.  Add mempcpy.
55390         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
55391         (Makefile.am): Append getcwd.h to lib_SOURCES.
55392         (Include): Add getcwd.h.
55393         (Maintainer): Change from Jim Meyering to "all, glibc",
55394         since getdate now uses intended-for-glibc code.
55395         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
55396         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
55397
55398 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
55399
55400         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
55401         HP's ANSI C compiler.
55402         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
55403         Declaring int functions causes warnings on some modern systems and
55404         shouldn't be needed to compile on ancient ones.
55405         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
55406         defined.
55407
55408         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
55409         with the following changes.
55410         (__set_errno): Parenthesize properly.
55411         Include <stdbool.h>.
55412         (MIN, MAX, MATCHING_INO): New macros.
55413         (__getcwd): Define with prototype, not K&R form.
55414         Use heuristics to allocate default buffer on stack if possible.
55415         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
55416         behavior, and to avoid the PATH_MAX limit when computing
55417         ../../../../...
55418         Use MATCHING_INO to compare inode number to file.
55419         Check for arithmetic overflow in size calculations.
55420         Fix bug in reallocation of dot array that caused getcwd to fail
55421         on directories nested deeper than 75.
55422         Be more careful about saving errno on error.
55423         Do not use realloc; use only free+malloc, as this is a bit
55424         more flexible and avoids a needless copy operation.
55425         Do not inspect st_dev and st_ino for symbolic links; POSIX
55426         doesn't specify the latter.
55427         Check for closedir errors.
55428         Avoid needless casts.
55429         Use "#ifdef weak_alias" around weak_alias, to be like other
55430         glibc code.
55431         The following changes to getcwd.c have effect only when used in
55432         gnulib; they have no effect inside glibc proper.
55433         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
55434         as alloca isn't used.
55435         (alloca, __alloca): Likewise.
55436         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
55437         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
55438         unconditionally, as gnulib assumes C89 or better.
55439         Do not include <sys/param.h>.
55440         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
55441         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
55442         better.
55443         (NULL) [!defined NULL]: Remove; we assume C89 or better.
55444         Include <dirent.h> in a way that is compatible with modern Autoconf.
55445         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
55446         New macros, if not already defined.
55447         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
55448         Use "_LIBC", not "defined _LIBC", for consistency.
55449         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
55450         a mempcpy module.
55451         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
55452         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
55453         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
55454         credit only to Jim Meyering and adjust the copyright dates.
55455         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
55456         <stdlib.h>, <unistd.h>, "pathmax.h".
55457         Instead, include "xgetcwd.h" (first) and "getcwd.h".
55458         (INITIAL_BUFFER_SIZE): Remove.
55459         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
55460
55461 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
55462
55463         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
55464         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
55465         Use the _ONCE methods, for efficiency.
55466         Check for fcntl.h.  In test program, include <errno.h>
55467         and <fcntl.h> if available.  Remove old K&R cruft from
55468         test program.  Check for common errors in GNU/Linux,
55469         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
55470         don't do AC_LIBOBJ, as that's getcwd.m4's job.
55471         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
55472         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
55473         name accordingly.
55474         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
55475         accommodate new getcwd.c.
55476         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
55477         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
55478         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
55479         that's all we need now.
55480
55481 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55482
55483         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
55484         argp-parse.c depends on getopt internals, that means we should
55485         always use our getopt, to be on the safe side.
55486         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
55487         order not to spoil the result of an eventual previous invocation
55488         of gl_GETOPT_SUBSTITUTE.
55489
55490 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55491
55492         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
55493         redefinition warnings. To avoid them, include the defines
55494         in `#if !defined __need_getopt ... #endif'. The only place
55495         where __getopt_argv_const is used is in definitions
55496         of getopt_long and getopt_long_only below, which are as well
55497         protected by `#ifndef __need_getopt'.
55498         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
55499         __need_getopt after including <stdio.h> and <unistd.h> These
55500         headers might have defined it.
55501
55502 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
55503
55504         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
55505
55506 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
55507
55508         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
55509         (futimens): New function, which uses futimes if available.
55510         (futimens, utimens): Support timespec==NULL, with same semantics
55511         as utime and utimens.
55512         * lib/utimens.h (futimens): New decl.
55513
55514 2004-11-23  Jim Meyering  <jim@meyering.net>
55515
55516         * lib/getopt_.h: Remove trailing blanks.
55517
55518 2004-11-23  Jim Meyering  <jim@meyering.net>
55519
55520         * lib/__fpending.c: Add comment.
55521
55522 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
55523
55524         * modules/canonicalize (Depends-on): Add xreadlink.
55525         Problem reported by James Youngman.
55526
55527 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55528
55529         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
55530         New macros.
55531         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
55532         optopt): Use them instead of invoking ## directly; otherwise, the
55533         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
55534
55535 2004-11-19  Bruno Haible  <bruno@clisp.org>
55536
55537         * lib/strtok_r.c: Move comments from here...
55538         * lib/strtok_r.h: ... to here.
55539
55540 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55541
55542         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
55543         implementations that mishandle size_t overflow.
55544
55545 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55546
55547         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
55548         might fail.  Problem reported by Yoann Vandoorselaere.
55549         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
55550         implementations that mishandle size_t overflow.
55551
55552 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55553
55554         * modules/canon-host (Depends-on): Add strdup.
55555
55556 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55557
55558         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
55559
55560 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55561
55562         * lib/canon-host.c: Include "strdup.h".
55563         (canon_host): Use getaddrinfo if available, so that IPv6 works.
55564         Use strdup instead of malloc/strcpy to duplicate strings.
55565
55566         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
55567         (human_space_before_unit): New constant.
55568         * lib/human.c (human_readable): Support it.
55569
55570         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
55571         (xgetcwd): Set errno correctly when failing.
55572         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
55573         the failure is actually due to a PATH_MAX problem.
55574
55575         Further getopt changes to make it more likely that glibc will
55576         buy the changes back.
55577         * lib/getopt.c (POSIXLY_CORRECT): New constant.
55578         (getopt): Use it, so to preserve glibc semantic
55579         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
55580         when compiling for libc.
55581         * lib/getopt_.h (__getopt_argv_const): Bring it back.
55582         (getopt_long, getopt_long_only): Use it.
55583
55584         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
55585         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
55586         (getopt): Argv is now char * const *, as per standard.
55587         (_getopt_internal_r, _getopt_internal): Argv is now char **,
55588         not char *__getopt_argv_const *.
55589         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
55590         _getopt_long_only_r): Likewise.
55591         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
55592         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
55593         _getopt_long_r, _getopt_long_only_r): Likewise.
55594         * lib/getopt_.h (__getopt_argv_const): Remove.
55595         (getopt): Argv is now char * const *, as per standard.
55596
55597         * lib/getdate.y (tORDINAL): New token.
55598         (day, relunit): Allow it for relative times.
55599         (relative_time_table): Use tORDINAL for ordinals.
55600
55601 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55602
55603         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
55604         Document that "second" isn't allowed as an ordinal number.
55605
55606 2004-11-16  Jim Meyering  <jim@meyering.net>
55607
55608         * modules/closeout (Depends-on): Add fpending.
55609
55610 2004-11-15  Jim Meyering  <jim@meyering.net>
55611
55612         * lib/closeout.c: Include "__fpending.h" once again.
55613         Include <stdbool.h>.
55614         (close_stdout): Don't fail just because stdout was closed initially,
55615         since some programs don't write to stdout in the normal course of
55616         operation (other than --version and --help), and we don't want this
55617         function to make e.g. `touch file >&-' fail.
55618         But do fail if it was closed and someone has tried to write to it.
55619         E.g., `printf foo >&-' must fail.
55620
55621 2004-11-13  Jim Meyering  <jim@meyering.net>
55622
55623         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
55624
55625 2004-11-12  Simon Josefsson  <jas@extundo.com>
55626
55627         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
55628         small doc fix is still pending.
55629
55630 2004-11-11  Simon Josefsson  <jas@extundo.com>
55631
55632         * modules/strtok_r: New file.
55633
55634         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55635         strtok_r.
55636
55637 2004-11-11  Simon Josefsson  <jas@extundo.com>
55638
55639         * m4/strtok_r.m4: New file.
55640
55641         * m4/getopt.m4: Replace opterr.
55642
55643 2004-11-11  Simon Josefsson  <jas@extundo.com>
55644
55645         * lib/strtok_r.h, strtok_r.c: New file.
55646
55647 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
55648
55649         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
55650         of replacing opterr, getopt, etc.  This should handle the
55651         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
55652
55653 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
55654
55655         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
55656         we can stop lying to compilers about the constness of argv when we
55657         are compiled outside glibc.
55658         (getopt, getopt_long, getopt_long_only): Use it.
55659         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
55660         _getopt_internal, getopt): Likewise.
55661         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
55662         _getopt_long_only_r): Likewise.
55663         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
55664         _getopt_long_r, _getopt_long_only_r): Likewise.
55665
55666         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
55667         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
55668         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
55669         the other external symbols.
55670         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
55671         declaration, since the above renaming now works around collisions.
55672
55673 2004-11-11  Jim Meyering  <jim@meyering.net>
55674
55675         * lib/linebreak.c: Remove trailing blanks.
55676         * lib/alloca_.h: Likewise.
55677         * lib/acosl.c: Likewise.
55678         * lib/euidaccess.c: Likewise.
55679         * lib/allocsa.h: Likewise.
55680
55681 2004-11-10  Simon Josefsson  <jas@extundo.com>
55682
55683         * m4/getaddrinfo.m4: New file.
55684
55685 2004-11-10  Simon Josefsson  <jas@extundo.com>
55686
55687         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
55688
55689 2004-11-10  Simon Josefsson  <jas@extundo.com>
55690
55691         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55692         getaddrinfo.
55693
55694         * modules/getaddrinfo: New file.
55695
55696 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55697
55698         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
55699
55700 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55701
55702         * lib/mktime.c (SHR): New macro, which is a portable
55703         substitute for >> that should work even on Crays.
55704         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
55705         Problem reported by Mark D. Baushke in
55706         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
55707         * lib/getdate.y (SHR): Likewise.
55708         (tm_diff): Use it.
55709         * lib/strftime.c (SHR): Likewise.
55710         (tm_diff): Use it.
55711         * lib/quotearg.c (struct quoting_options): Use unsigned int for
55712         quote_these_too, so that right shifts are well defined.  All uses
55713         changed.
55714
55715 2004-11-10  Jim Meyering  <jim@meyering.net>
55716
55717         Ensure that no close failure goes unreported.
55718         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
55719         return early when it seems there's nothing to flush.
55720         Don't include __fpending.h.
55721
55722 2004-11-10  Jim Meyering  <jim@meyering.net>
55723
55724         * modules/closeout (Depends-on): Remove fpending.
55725
55726 2004-11-10  Jim Meyering  <jim@meyering.net>
55727
55728         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
55729
55730 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55731
55732         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
55733         gl_FUNC_STRFTIME.
55734         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
55735         and AC_REQUIRE when possible, to avoid duplicate checks.
55736         Check for <wchar.h>.
55737
55738 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55739
55740         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
55741
55742 2004-11-09  Bruno Haible  <bruno@clisp.org>
55743
55744         * m4/sockpfaf.m4: New file.
55745
55746 2004-11-05  Bruno Haible  <bruno@clisp.org>
55747
55748         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
55749         Reported by Mark D. Baushke <mdb@cvshome.org>.
55750
55751 2004-11-04  Bruno Haible  <bruno@clisp.org>
55752
55753         2004-09-11  Bruno Haible  <bruno@clisp.org>
55754                 * allocsa.valgrind: New file.
55755         2004-02-06  Bruno Haible  <bruno@clisp.org>
55756                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
55757                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
55758                 Reported by Christopher Seip <chris.seip@hp.com>.
55759
55760 2004-11-04  Bruno Haible  <bruno@clisp.org>
55761
55762         * modules/allocsa (Files): Add lib/allocsa.valgrind.
55763         (Makefile.am): Distribute it.
55764
55765 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55766
55767         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
55768         with errno == ERANGE if the buffer is too small.
55769         Problem reported by Mark D. Baushke.
55770
55771 2004-11-03  Albert Chin  <china@thewrittenword.com>
55772             Paul Eggert  <eggert@cs.ucla.edu>
55773
55774         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
55775         equivalent, substitute $ac_type for equivalent type rather than
55776         blindly using uint32_t *always* which won't work if uint32_t is not
55777         available.  Define _UINT32_T to work around typedef of uint32_t if
55778         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
55779         2.5.1.
55780
55781 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55782
55783         * m4/jm-macros.m4: Sync from coreutils.
55784         (gl_MACROS): Check for mbrlen, for pathchk.
55785         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
55786
55787 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55788
55789         * lib/xreadlink.c (MAXSIZE): New macro.
55790         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
55791         size does not exceed MAXSIZE.  Avoid cast.
55792         As suggested by Mark D. Baushke in
55793         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
55794         if readlink fails with buffer size just under MAXSIZE, try again
55795         with MAXSIZE.
55796
55797 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55798
55799         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
55800
55801 2004-11-02  Derek R. Price  <derek@ximbiot.com>
55802         and  Paul Eggert  <eggert@cs.ucla.edu>
55803
55804         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
55805         (get_date): Overparenthesize to avoid GCC warning.
55806
55807 2004-11-02  Bruno Haible  <bruno@clisp.org>
55808
55809         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
55810         returns void.
55811
55812 2004-11-02  Bruno Haible  <bruno@clisp.org>
55813
55814         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
55815         function returns void.
55816
55817 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55818
55819         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
55820         fflush_unlocked, flockfile, funlockfile, funlockfile,
55821         fputs_unlocked, putc_unlocked.
55822
55823 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55824
55825         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55826         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
55827         already declared.
55828
55829 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55830
55831         * modules/getdate (Files): Add doc/getdate.texi.
55832         (Depends-on): Add setenv, xalloc.
55833
55834 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55835
55836         * lib/getdate.y: Add support for TZ="foo" within a date string.
55837         Fix some bugs near time_t boundaries.  Reject dates with
55838         out-of-range components, e.g., "Sept 31".
55839         Include <stdlib.h>, "setenv.h", "xalloc.h".
55840         (ISDIGIT_LOCALE): Remove; unused.
55841         Note that the TZ and time functions used here are not reentrant.
55842         (mktime_ok, get_tz): New functions.
55843         (TZBUFSIZE): New constant.
55844         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
55845         This requires that we sometimes generate our own TZ="XXX..." setting.
55846
55847 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55848
55849         * doc/getdate.texi: New file, from coreutils with modifications for
55850         the new TZ parsing.
55851
55852 2004-10-27  Derek R. Price  <derek@ximbiot.com>
55853
55854         * lib/mktime.c (not_equal_tm): Remove redundant check.
55855
55856 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55857
55858         * modules/regex (lib_SOURCES): Add regex.c.
55859         Reported by James Youngman in
55860         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
55861
55862 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55863
55864         * lib/getdate.y: Use Bison 1.875 features, and some minor
55865         code cleanups.  This change does not affect semantics.
55866         Don't include <stdlib.h>; no longer needed.
55867         Don't include unlocked-io.h; only the "#if TEST" code uses
55868         stdio, and performance isn't crucial there.
55869         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
55870         Bison 1.875 features as described below.
55871         All uses of "PC." replaced by "pc->".
55872         (YYSTYPE): Add a forward declaration.
55873         (yylex, yyerror): Use full prototypes in forward decls.
55874         Use "%pure-parser" rather than obsolescent "%pure_parser".
55875         Use %parse-param and %lex-param instead of obsolescent
55876         YYPARSE_PARAM and YYLEX_PARAM.
55877         (meridian_table, month_and_day_table, time_units_table,
55878         relative_time_table, time_zone_table, military_table,
55879         lookup_zone, lookup_word, get_date):
55880         Use NULL instead of 0 where appropriate.
55881         (to_hour): Avoid abort (), to avoid a dependency on
55882         stdlib.h.
55883         (yyerror, yylex): Now accepts parser_control * arg.
55884         (main) [TEST]: Use '\0' rather than 0 for char.
55885
55886 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55887
55888         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
55889
55890 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55891
55892         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
55893         It's now the caller's responsibility to handle the case where
55894         !HAVE_GETPAGESIZE && !defined getpagesize.
55895
55896         * lib/mktime.c (leapyear): Arg is long int, not int.
55897
55898 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
55899
55900         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
55901
55902 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55903
55904         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
55905         missing.  Problem reported by James Youngman.
55906
55907 2004-10-16  Simon Josefsson  <jas@extundo.com>
55908
55909         * gnulib-tool: Fix comments.  Fix parse problem.
55910         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
55911
55912 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
55913
55914         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
55915         implementation of getopt_long.  Problem reported by Alexander Taler in:
55916         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
55917
55918 2004-10-15  Bruno Haible  <bruno@clisp.org>
55919
55920         * gnulib-tool: Untabify. Initialize supplied_libname.
55921         (func_usage): More homogenous output.
55922         (func_modules_transitive_closure, func_modules_to_filelist,
55923         func_emit_lib_Makefile_am): New functions.
55924         (func_import): New function, extracted from big case statement. Use
55925         func_get_license, func_modules_transitive_closure,
55926         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
55927         opt_lgpl. Don't use test -a, as it's not portable.
55928         (func_create_testdir): Use func_modules_transitive_closure,
55929         func_modules_to_filelist, func_emit_lib_Makefile_am.
55930
55931 2004-10-15  Bruno Haible  <bruno@clisp.org>
55932
55933         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
55934
55935 2004-10-15  Bruno Haible  <bruno@clisp.org>
55936
55937         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
55938         the portions belonging to each module.
55939         Suggested by Derek Robert Price <derek@ximbiot.com>.
55940
55941 2004-10-12  Simon Josefsson  <jas@extundo.com>
55942
55943         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55944         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
55945         to real functions.
55946
55947 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55948
55949         * modules/vsnprintf: New file.
55950
55951 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55952
55953         * m4/vsnprintf.m4: New file.
55954
55955 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55956
55957         * lib/vsnprintf.h: New file.
55958         * lib/vsnprintf.c: New file.
55959
55960 2004-10-11  Bruno Haible  <bruno@clisp.org>
55961
55962         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
55963         vsnprintf.
55964
55965 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55966
55967         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
55968
55969 2004-10-07  Bruno Haible  <bruno@clisp.org>
55970
55971         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
55972         fits into the provided buffer.
55973
55974 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55975
55976         * lib/diacrit.c, diacrit.h: Add GPL notice.
55977
55978         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
55979         notice.
55980         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
55981         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
55982         This avoids a potential constant-folding bug.
55983
55984 2004-10-05  Bruno Haible  <bruno@clisp.org>
55985
55986         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
55987         for the declaration of strsep.
55988
55989 2004-10-05  Bruno Haible  <bruno@clisp.org>
55990
55991         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
55992
55993 2004-10-04  Simon Josefsson  <jas@extundo.com>
55994
55995         * modules/memmem: New file.
55996         * tests/test-memmem.c: New file.
55997         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
55998
55999 2004-10-04  Simon Josefsson  <jas@extundo.com>
56000
56001         * m4/memmem.m4: New file.
56002
56003 2004-10-04  Simon Josefsson  <jas@extundo.com>
56004
56005         * lib/memmem.h: New file.
56006         * lib/memmem.c: New file, taken from glibc.
56007
56008 2004-10-04  Simon Josefsson  <jas@extundo.com>
56009
56010         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
56011         '#ifdef USE_UNLOCKED_IO'.
56012
56013 2004-10-04  Simon Josefsson  <jas@extundo.com>
56014
56015         * config/srclist.txt: Add memmem from glibc.
56016
56017 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
56018
56019         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
56020
56021         * modules/argmatch, modules/argp, modules/closeout, modules/error,
56022         modules/exclude, modules/getdate, modules/getline,
56023         modules/getndelim2, modules/getpass, modules/getpass-gnu,
56024         modules/getusershell, modules/linebuffer, modules/md5,
56025         modules/mountlist, modules/posixtm, modules/readtokens,
56026         modules/readutmp, modules/regex, modules/sha1,
56027         modules/version-etc, modules/yesno:
56028         Remove dependency on unlocked-io.
56029
56030 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
56031
56032         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
56033
56034         * m4/unlocked-io.m4: Add copyright notice.
56035         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
56036
56037 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
56038
56039         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
56040         * lib/xmalloc.c (xmemdup): Likewise.
56041         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
56042         XFREE): Remove these long-obsolescent macros.
56043         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
56044         * lib/xstrdup.c: Remove.
56045
56046         * lib/regex.c (re_comp): Cast gettext return value to char *,
56047         Problem reported by Martin Neitzel via Mark D. Baushke.
56048
56049 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
56050
56051         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
56052         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
56053         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
56054         regex.c, sha1.c, version-etc.c, yesno.c:
56055         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
56056         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
56057         the includer's responsibility.
56058
56059         Sync from coreutils.
56060
56061         * lib/modechange.c (mode_compile): Don't decrement a pointer that
56062         points to the start of a string, as the C Standard says the
56063         resulting behavior is undefined.
56064
56065         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
56066         simple -> simple_backups, numbered_existing ->
56067         numbered_existing_backups, numbered -> numbered_backups
56068         to avoid shadowing problems.  All uses changed.
56069         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
56070         * lib/backupfile.c (check_extension, numbered_backup):
56071         Rename locals to avoid shadowing 'basename'.
56072         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
56073         once.
56074
56075         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
56076         * lib/.cvsignore: Add getopt.h.
56077
56078 2004-10-04  Bruno Haible  <bruno@clisp.org>
56079
56080         * modules/README: New file.
56081         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
56082         not a module.
56083
56084 2004-10-02  Jim Meyering  <jim@meyering.net>
56085
56086         * lib/dirfd.h, getpagesize.h: Add copyright notice.
56087
56088 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56089
56090         * modules/strsep: New file.
56091
56092 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56093
56094         * m4/strsep.m4: New file.
56095
56096 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56097
56098         * lib/strsep.h: New file.
56099         * lib/strsep.c: New file.
56100
56101 2004-10-01  Simon Josefsson  <jas@extundo.com>
56102
56103         * lib/snprintf.c (snprintf): Handle size==0.
56104
56105 2004-10-01  Simon Josefsson  <jas@extundo.com>
56106             Bruno Haible  <bruno@clisp.org>
56107
56108         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
56109         (snprintf): Declare 'args'.
56110
56111 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
56112
56113         * lib/snprintf.c: Remove comments as to why each header is needed.
56114
56115 2004-10-01  Bruno Haible  <bruno@clisp.org>
56116
56117         * MODULES.html.sh: Add strsep.
56118
56119 2004-09-30  Simon Josefsson  <jas@extundo.com>
56120
56121         * modules/snprintf: New file.
56122
56123 2004-09-30  Simon Josefsson  <jas@extundo.com>
56124
56125         * m4/snprintf.m4: New file.
56126
56127 2004-09-30  Simon Josefsson  <jas@extundo.com>
56128
56129         * lib/snprintf.h, lib/snprintf.c: New files.
56130
56131 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56132
56133         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
56134         (hol_entry_help): Never translate an empty string.
56135         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
56136         * lib/argp.h (OPTION_NO_TRANS): New option.
56137
56138 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
56139
56140         * modules/argp (Maintainer): Replace Simon Josefsson
56141         by Sergey Poznyakoff.
56142
56143 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
56144
56145         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
56146         changes merged back into glibc.
56147
56148 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
56149
56150         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
56151
56152 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
56153
56154         * lib/xvasprintf.c: Include xalloc.h.
56155         (xvasprintf): Use xalloc_die, not xmalloc_die.
56156
56157 2004-09-29  Bruno Haible  <bruno@clisp.org>
56158
56159         * modules/alloca-opt: New file, derived from modules/alloca.
56160         * modules/allocsa: Depend on alloca-opt instead of alloca.
56161         * modules/setenv: Likewise.
56162         * modules/vasnprintf: Likewise.
56163         * MODULES.html.sh: Add alloca-opt.
56164
56165 2004-09-28  Simon Josefsson  <jas@extundo.com>
56166
56167         * gnulib-tool: New parameter --lgpl, to asseert that modules are
56168         LGPL, and to replace license template from GPL to LGPL.
56169
56170 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
56171
56172         * modules/dummy: Change license to LGPL.
56173
56174 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
56175
56176         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
56177
56178 2004-09-24  Simon Josefsson  <jas@extundo.com>
56179
56180         * modules/minmax (License): Change from GPL to LGPL.
56181
56182 2004-09-23  Simon Josefsson  <jas@extundo.com>
56183
56184         * gnulib-tool (--import): Typo.
56185
56186 2004-09-23  Simon Josefsson  <jas@extundo.com>
56187
56188         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
56189
56190 2004-09-22  Bruno Haible  <bruno@clisp.org>
56191
56192         * modules/*: Add 'License' field.
56193         * gnulib-tool: Accept --extract-license option.
56194         (func_get_license): New function.
56195
56196 2004-09-21  Bruno Haible  <bruno@clisp.org>
56197
56198         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
56199         Reported by Simon Josefsson.
56200
56201 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
56202
56203         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
56204         gl_AC_TYPE_LONG_LONG.
56205
56206 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
56207
56208         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
56209
56210 2004-09-18  Simon Josefsson  <jas@extundo.com>
56211         and  Paul Eggert  <eggert@cs.ucla.edu>
56212
56213         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
56214         calls with autoreconf.  Define GL_LIB.
56215
56216 2004-09-14  Karl Berry  <karl@gnu.org>
56217
56218         * config/srclist.txt: unsync setenv.c, sigh.
56219
56220 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56221
56222         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
56223         Problem reported by Bruno Haible in:
56224         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
56225
56226 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56227
56228         * config/srclist.txt: Comment out argp-pvh.c.
56229
56230 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
56231
56232         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
56233         in case some system header has #define'd it.  Problem reported by
56234         Soeren D. Schulze in
56235         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
56236
56237 2004-09-09  Karl Berry  <karl@gnu.org>
56238
56239         * regex.[ch]: delete from the root.  These were supposed to be
56240                 synced with emacs cvs, but this has not happened for about
56241                 a year, and anyway nothing else uses emacs regex.[ch].
56242                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
56243                 lib/regex[.ch] is untouched.
56244
56245 2004-09-09  Bruno Haible  <bruno@clisp.org>
56246
56247         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
56248
56249 2004-09-09  Bruno Haible  <bruno@clisp.org>
56250
56251         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
56252         modifications.
56253         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
56254
56255 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
56256
56257         * modules/xvasprintf: New file.
56258         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
56259
56260 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
56261
56262         * lib/xvasprintf.h: New file.
56263         * lib/xvasprintf.c: New file.
56264         * lib/xasprintf.c: New file.
56265
56266 2004-09-08  Bruno Haible  <bruno@clisp.org>
56267
56268         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
56269
56270 2004-09-08  Bruno Haible  <bruno@clisp.org>
56271
56272         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
56273         length is > INT_MAX.
56274         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
56275         more.
56276
56277 2004-09-08  Bruno Haible  <bruno@clisp.org>
56278
56279         * lib/stdint_.h: New file, taken from GNU clisp.
56280
56281 2004-09-08  Bruno Haible  <bruno@clisp.org>
56282             Oskar Liljeblad  <oskar@osk.mine.nu>
56283
56284         * modules/stdint: New file.
56285         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
56286
56287 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56288
56289         Import from coreutils.
56290         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
56291         strings on unbounded length.  alloca's performance benefits aren't
56292         that important here.
56293         (V_STRDUP): Remove.
56294         (parse_with_separator): New function, with most of the internals
56295         of the old parse_user_spec.  Allow user to omit both user and group,
56296         for compatibility with FreeBSD.
56297         Clone only the user name, not the entire spec.
56298         Do not set *uid, *gid unless entirely successful.
56299         Avoid memory leak in some failing cases.
56300         Fix regression for USER.GROUP reported by Dmitry V. Levin in
56301         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
56302         (parse_user_spec): Rewrite to use parse_with_separator.
56303
56304 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56305
56306         * modules/userspec: Don't depend on alloca.
56307
56308 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56309
56310         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
56311
56312 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
56313
56314         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
56315         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
56316         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
56317
56318 2004-08-16  Simon Josefsson  <jas@extundo.com>
56319
56320         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
56321         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
56322         Add --dry-run for --import.
56323         Let user provided command line parameters override configure.ac
56324         settings.
56325
56326 2004-08-12  Simon Josefsson  <jas@extundo.com>
56327
56328         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
56329         as discussed with Paul Eggert in threads rooted at
56330         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
56331         and
56332         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
56333         Before, the test was empty, and relied on ELIDE_CODE in source
56334         code.)
56335         (gl_PREREQ_GETOPT): New macro.
56336         (gl_GETOPT): Use them.
56337
56338 2004-08-12  Simon Josefsson  <jas@extundo.com>
56339
56340         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
56341         * lib/getopt_.h: Renamed from getopt.h.
56342
56343 2004-08-12  Simon Josefsson  <jas@extundo.com>
56344
56345         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
56346         Change default library name from libfoo to libgnu.
56347         Now, if you have a configure.ac that says:
56348                 gl_SOURCE_BASE(gl)
56349                 gl_M4_BASE(gl/m4)
56350                 gl_MODULES(error getopt etcetera)
56351                 gl_INIT
56352         you can import all you need by running:
56353                 ../gnulib/gnulib-tool --import
56354
56355         * modules/getopt (Files): Rename getopt.h to getopt_.h.
56356         (Makefile.am): Rewrite, use logic from argz.
56357         (Include): Use <getopt.h> instead of "getopt.h".
56358
56359 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56360
56361         * modules/argp (Files): Add m4/unlocked-io.m4.
56362         (Depends-on): Add extensions.
56363
56364 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56365
56366         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
56367         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
56368         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
56369         Check for program_invocation_name, program_invocation_short_name,
56370         flockfile, funlockfile, features.h, _getopt_long_only_r.
56371
56372 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56373
56374         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
56375         its complicated substitute.
56376         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
56377         and program_invocation_name.
56378         (__argp_basename) [!_LIBC]: Remove; the only use was
56379         replaced by its body.
56380         (__argp_short_program_name): Change condition from
56381         !defined __argp_short_program_name to
56382         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
56383         to match argp-namefrob.h.
56384         (__argp_failure): Don't assume strerror_r returns char *.
56385         * lib/argp-parse.c (N_): Define unconditionally.
56386         (argp_default_options): Fill out initializers with 0 to avoid
56387         gcc warnings.
56388
56389 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56390
56391         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
56392         getopt1.c.
56393
56394 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56395
56396         Merge from coreutils.
56397
56398         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
56399
56400         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
56401         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
56402
56403 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56404
56405         Merge from coreutils.
56406
56407         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
56408         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
56409         for Reliant Unix 5.43.
56410
56411         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
56412         (union fooround): Use uintmax_t, not long int.
56413         The rest is a merge from libc:
56414         [defined _LIBC]: Include <shlib-compat.h>.
56415         (_obstack) [defined _LIBC]: Remove after 2.3.4.
56416
56417         * lib/settime.c (settime): Recode to avoid warning with
56418         Sun Forte C 6U2.
56419
56420         * lib/strverscmp.c: Convert to UTF-8.
56421
56422 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56423
56424         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
56425         m4/uintmax_t.m4.
56426
56427 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
56428
56429         * modules/xalloc-die: New file.
56430         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
56431
56432         * modules/md5 (Files): Add m4/uint32_t.m4.
56433         * modules/sha1: Renamed from modules/sha.
56434         (Files):
56435         Rename lib/sha.h to lib/sha1.h.
56436         Rename lib/sha.c to lib/sha1.c.
56437         Rename m4/sha.m4 to m4/sha1.m4.
56438         (lib_SOURCES): Likewise.
56439         (configure.ac): Rename gl_SHA to gl_SHA1.
56440         (Include): sha.h -> sha1.h.
56441
56442 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
56443
56444         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
56445         * m4/sha1.m4: Renamed from sha.m4.
56446         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
56447
56448 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
56449
56450         * lib/obstack.h (obstack_empty_p):
56451         Don't assume that chunk->contents is suitably aligned.
56452         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
56453         Likewise. Problem reported by Benno in
56454         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
56455
56456         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
56457         readable.  This could be improved further but it'd take some work.
56458
56459 2004-08-08  Simon Josefsson  <jas@extundo.com>
56460
56461         * modules/xgethostname (Depends-on): Remove exit and error (not
56462         used).
56463
56464         * modules/getpass-gnu: Add getpass.h.
56465         (Depends-on): Add stdbool.
56466         * modules/getpass: Add getpass.h.
56467
56468 2004-08-08  Simon Josefsson  <jas@extundo.com>
56469
56470         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
56471         Check getpass declaration.
56472
56473 2004-08-08  Simon Josefsson  <jas@extundo.com>
56474
56475         * lib/xgethostname.c: Don't include error.h (not used).
56476
56477         * lib/getpass.h: Add.
56478         * lib/getpass.c: Include getpass.h first.
56479
56480 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
56481
56482         * lib/xalloc-die.c: New file.
56483         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
56484         All uses removed.
56485         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
56486         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
56487         xalloc-die.c.
56488         (_, N_, xalloc_die): Move to xalloc-die.c.
56489         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
56490         so that we needn't mess with xalloc_msg_memory_exhausted.
56491
56492         * lib/sha1.h: Renamed from sha.h.
56493         (SHA1_H): Renamed from _SHA_H.
56494         (sha1_ctx): Renamed from sha_ctx.
56495         (sha1_init_ctx): Renamed from sha_init_ctx.
56496         (sha1_process_block): Renamed from sha_process_block.
56497         (sha1_process_bytes): Renamed from sha_process_bytes.
56498         (sha1_finish_ctx): Renamed from sha_finish_ctx.
56499         (sha1_read_ctx): Renamed from sha_read_ctx.
56500         (sha1_stream): Renamed from sha_stream.
56501         (sha1_buffer): Renamed from sha_buffer.
56502         * lib/sha1.c: Likewise; renamed from sha.c.
56503         Do not include <sys/types.h>.
56504         Include <stddef.h> rather than <stdlib.h>.
56505
56506 2004-08-08  Bruno Haible  <bruno@clisp.org>
56507
56508         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
56509         FILESYSTEM_PREFIX_LEN.
56510         * lib/progreloc.c: Likewise.
56511         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
56512
56513 2004-08-06  Simon Josefsson  <jas@extundo.com>
56514
56515         * modules/progname (Depends-on): Don't depend on stdbool.
56516
56517 2004-08-06  Simon Josefsson  <jas@extundo.com>
56518
56519         * modules/getsubopt: New file.
56520         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56521         getsubopt.
56522
56523 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56524
56525         More merge from coreutils.
56526
56527         * m4/utimens.m4, m4/utimecmp.m4: New files.
56528         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
56529         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
56530         prereq.m4, sha.m4: Import changes from coreutils.
56531
56532 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56533
56534         More merge from coreutils.
56535         * modules/raise, modules/readtokens0, modules/utimens:
56536         * modules/utimecmp, module/xnanosleep: New files.
56537         * modules/strftime: Add lib/strftime.h.
56538         Change include from <time.h> to "strftime.h".
56539         * modules/yesno: Add lib/yesno.h.
56540         * modules/backupfile: Remove lib/addext.c.
56541         * modules/euidaccess: Add stat-macros.h.
56542         * modules/canonicalize, modules/euidaccess,
56543         modules/filemode, modules/lchown, modules/makepath,
56544         modules/rmdir, modules/stat: Likewise.
56545
56546 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56547
56548         Merge from tar.
56549         * lib/argp-help.c (make_hol, hol_append): Don't assume that
56550         SIZE_MAX is a valid preprocessor constant.
56551         (__argp_basename): Change from "#ifndef _LIBC"
56552         to "#ifndef __argp_short_program_name", so that
56553         we don't compile these functions for tar.
56554
56555         More merges from coreutils.
56556         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
56557         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
56558         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
56559         * lib/addext.c: Remove; no longer needed.
56560         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
56561         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
56562         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
56563         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
56564         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
56565         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
56566         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
56567         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
56568         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
56569         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
56570         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
56571         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
56572         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
56573         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
56574         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
56575         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
56576         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
56577         Import changes from coreutils.
56578
56579 2004-08-05  Simon Josefsson  <jas@extundo.com>
56580
56581         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
56582
56583 2004-08-05  Simon Josefsson  <jas@extundo.com>
56584
56585         * m4/getsubopt.m4: New file.
56586
56587 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56588
56589         Merge from coreutils.
56590
56591         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
56592         * m4/getcwd-path-max.m4: New files.
56593
56594         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
56595         FILESYSTEM_PREFIX_LEN ->
56596         FILE_SYSTEM_PREFIX_LEN.
56597         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
56598         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
56599         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
56600         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
56601
56602         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
56603         prerequisite modules now handle the DOS stuff.
56604         Don't check for unistd.h.
56605
56606 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56607
56608         Merge from coreutils.
56609
56610         * lib/.gdb-history: Remove; this doesn't belong here.
56611
56612         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
56613         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
56614         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
56615         * lib/getcwd.c: New files.
56616
56617         * lib/dirname.h: Include <stdbool.h>.
56618         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
56619         for consistency with POSIX terminology.  All uses changed.
56620         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
56621         (strip_trailing_slashes): Use bool for booleans.
56622         * lib/stripslash.c (strip_trailing_slashes): Likewise.
56623
56624         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
56625         sometimes returns a positive errno value even when it succeeds.
56626         (print_errno_message) [!LIBC]: Fall back on strerror if
56627         __strerror_r fails.
56628
56629         * lib/path-concat.c (mempcpy): Don't define if a system header defines
56630         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
56631         (longest_relative_suffix): New function.
56632         (path_concat): Use it.  Assume first argument is not NULL.
56633         Port to DOS.  Omit redundant separators.
56634         Report an error instead of returning NULL.
56635         Use mempcpy instead of memcpy.
56636         (xpath_concat): Remove: not declared or used.
56637
56638         * lib/same.h: Include <stdbool.h>
56639         (same_name): Return bool, not int.
56640         * lib/same.c (same_name): Likewise.
56641         (errno): Don't declare; we assume C89 or better now.
56642
56643         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
56644         if not already defined.
56645
56646         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
56647         * lib/dup-safer.c (errno): Likewise.
56648
56649 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56650
56651         Merge from coreutils.
56652         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
56653         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
56654         * modules/path-concat: Don't depend on strdup.
56655
56656 2004-08-03  Simon Josefsson  <jas@extundo.com>
56657
56658         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
56659         * lib/progname.h: Don't include stdbool.h.
56660
56661 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56662
56663         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
56664         * MODULES.html.sh (func_all_modules): Remove fatal.
56665
56666 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56667
56668         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
56669
56670 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56671
56672         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
56673         working.
56674
56675 2004-08-02  Simon Josefsson  <jas@extundo.com>
56676
56677         * lib/getsubopt.h: New file, with comments from Bruno Haible.
56678         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
56679         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
56680
56681 2004-08-01  Simon Josefsson  <jas@extundo.com>
56682
56683         * lib/xgetdomainname.c: Include stdlib.h, for free().
56684
56685 2004-07-19  Bruno Haible  <bruno@clisp.org>
56686
56687         * MODULES.html.sh (func_all_modules): Add dummy.
56688
56689 2004-07-16  Simon Josefsson  <jas@extundo.com>
56690
56691         * modules/dummy: New file.
56692
56693 2004-07-16  Simon Josefsson  <jas@extundo.com>
56694
56695         * lib/dummy.c: New file.
56696
56697 2004-07-16  Bruno Haible  <bruno@clisp.org>
56698
56699         * lib/backupfile.h: Add extern "C" for C++.
56700         * lib/closeout.h: Likewise.
56701         * lib/copy-file.h: Likewise.
56702         * lib/findprog.h: Likewise.
56703         * lib/full-write.h: Likewise.
56704         * lib/pathname.h: Likewise.
56705         * lib/progname.h: Likewise.
56706         * lib/stpcpy.h: Likewise.
56707         * lib/stpncpy.h: Likewise.
56708         * lib/strcase.h: Likewise.
56709         * lib/strstr.h: Likewise.
56710         * lib/xalloc.h: Likewise.
56711
56712         * lib/mbswidth.h: Add extern "C" for C++.
56713         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
56714
56715 2004-07-13  Robert Millan  <robertmh@gnu.org>
56716
56717         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
56718
56719 2004-07-09  Simon Josefsson  <jas@extundo.com>
56720
56721         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
56722         failed without this.)
56723
56724 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56725
56726         * modules/chown (Files): Add lib/fchown-stub.c, since
56727         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
56728
56729 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56730
56731         * lib/fchown-stub.c: New file.
56732
56733 2004-06-24  Jim Meyering  <jim@meyering.net>
56734
56735         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
56736
56737 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56738
56739         * modules/argz: Omit "#include".
56740
56741         * MODULES.html.sh (func_all_modules): Add calloc, to match
56742         2004-06-01 addition of calloc module.
56743
56744 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56745
56746         * m4/argz.m4: New file, which is autoupdated from libtool.
56747
56748 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56749
56750         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
56751         libtool.
56752
56753 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56754
56755         * config/srclist-update: Don't insist on "USA." before the
56756         close-comment, as libtool omits the period and puts the */ on a
56757         separate line.
56758         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
56759         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
56760
56761 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
56762
56763         * modules/argz: New file.
56764         * MODULES.html.sh (func_all_modules): Add argz.
56765
56766 2004-06-12  Jim Meyering  <jim@meyering.net>
56767         and  Paul Eggert  <eggert@cs.ucla.edu>
56768
56769         * modules/hash (Files): Add lib/xalloc.h.
56770         * modules/pipe (Depends-on): Add wait-process.
56771         * modules/stat (Depends-on): Add xalloc.
56772         * modules/userspec (Files): Add lib/userspec.h.
56773         * modules/xstrto
56774
56775         Upgrade from gettext-0.13.
56776         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
56777         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
56778         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
56779
56780 2004-06-10  Jim Meyering  <jim@meyering.net>
56781
56782         * lib/calloc.c: New file.
56783
56784 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
56785
56786         * lib/getdate.y (yylex): Allow space between sign and number.
56787         Problem reported by Dan Jacobson.
56788
56789 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56790
56791         Merge from coreutils CVS.
56792
56793         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
56794         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
56795         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
56796         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
56797         xstrtol.m4: Fix copyright date and/or serial number.
56798
56799         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
56800         See if we need an fchown replacement.
56801         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
56802         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
56803         and use the replacement function if we detect either defect.
56804
56805         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
56806         gl_UTIMECMP.
56807
56808 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56809         and  Jim Meyering  <jim@meyering.net>
56810
56811         Merge from coreutils CVS.
56812
56813         * lib/stat-macros.h: New file, with contents from file-type.h
56814         and coreutils' system.h.
56815         * lib/file-type.c: Include "stat-macros.h".
56816         * lib/file-type.h (file_type): Move all macro definitions to new file,
56817         stat-macros.h.
56818
56819         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
56820         Wrap old code with this conditional.
56821         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
56822         function that does not dereference symlinks.
56823         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
56824
56825         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
56826         dependency problems.
56827         (xreadlink): Accept new arg SIZE, for efficiency.
56828         All decls and uses changed.
56829         * lib/xreadlink.h: Include <stddef.h>, for size_t.
56830
56831         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
56832         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
56833
56834         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
56835         sysexits.h.
56836
56837 2004-06-01  Jim Meyering  <jim@meyering.net>
56838
56839         * m4/calloc.m4: New file.
56840
56841 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
56842
56843         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
56844         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
56845         Also, fix a typo in a diagnostic.
56846
56847 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56848
56849         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
56850         or AC_FUNC_REALLOC.
56851
56852 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56853
56854         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
56855         macros to be defined.
56856         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
56857         the allocator returns NULL because the requested size is zero.
56858
56859 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56860
56861         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
56862         var.  Add comment explaining why libc still defines it.  This
56863         merges the following patch from glibc:
56864         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
56865
56866 2004-05-20  Andreas Schwab  <schwab@suse.de>
56867
56868         * m4/free.m4: Replace free if it not known to work, not the other
56869         way round.
56870
56871 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56872
56873         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
56874         present in glibc since revision 1.1 of this file.
56875         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
56876         obstack_alignment_mask, obstack_alloc, obstack_base,
56877         obstack_blank, obstack_blank_fast, obstack_chunk_size,
56878         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
56879         obstack_grow0, obstack_init, obstack_int_grow,
56880         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
56881         obstack_next_free, obstack_object_size, obstack_ptr_grow,
56882         obstack_ptr_grow_fast, obstack_room): Remove declarations of
56883         nonexistent functions.
56884
56885 2004-05-18  Karl Berry  <karl@gnu.org>
56886
56887         * config/srclist.txt: break link for vasnprintf.c.
56888
56889 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56890
56891         Port obstack to the AS/400, where pointers are 16 bytes wide and
56892         you cannot cast an integer to a valid pointer.  This patch is
56893         currently waiting to be integrated into glibc; see
56894         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
56895
56896         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
56897         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
56898         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
56899         (struct obstack): temp member is now a union of a pointer and
56900         an integer, instead of an integer.  All integer uses changed.
56901         This does not affect the physical layout of struct obstack,
56902         except on hosts (like the AS/400) where the size or alignment of
56903         void * is greater than that of ptrdiff_t.
56904         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
56905         __STDC__)]: Store temporary in pointer member of union, not
56906         integer member.
56907         * lib/obstack.c: Include <stddef.h>, for offsetof.
56908         (struct fooalign): Remove; it doesn't need a name.
56909         (union fooround): Change double to long double, and add void *.
56910         (DEFAULT_ALIGNMENT): Use offsetof to compute.
56911         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
56912         not a macro.  Hence the values are always int; so remove all
56913         casts-to-int in uses.
56914
56915 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56916
56917         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
56918         we can get this patch merged into glibc.
56919
56920 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56921             Paul Eggert  <eggert@cs.ucla.edu>
56922
56923         * m4/argp: Depend on alloca.
56924
56925 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56926             Paul Eggert  <eggert@cs.ucla.edu>
56927
56928         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
56929         freecoding.
56930
56931 2004-05-17  Bruno Haible  <bruno@clisp.org>
56932
56933         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
56934         precision that consists of a '.' followed by an empty digit string.
56935         Patch by Tor Lillqvist <tml@iki.fi>.
56936
56937 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56938
56939         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
56940         for backward compatibility with older code.  We need our own
56941         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
56942         it under some other name, and our alloca.h will define it.
56943
56944 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56945             Derek Price  <derek@ximbiot.com>
56946
56947         * lib/alloca.c: Include <alloca.h>, to get our interface.
56948         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
56949         include <alloca.h> first.  Use C89 prototype for alloca; this
56950         requires including <stddef.h> for size_t.  Use extern "C" if C++.
56951         Use #elif for simplicity, since we can assume C89 now.
56952         Don't try to source the system alloca.h since it will not be found
56953         and to prevent recursively including its replacement.
56954         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
56955         * lib/regex.c: Likewise.
56956
56957 2004-05-16  Derek Price  <derek@ximbiot.com>
56958             Paul Eggert  <eggert@cs.ucla.edu>
56959
56960         getline cleanup.  This changes the getndelim2 API: both order of
56961         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
56962         no delimiter).
56963
56964         * lib/getline.c: Don't include stddef.h or stdio.h, since our
56965         interface does that.
56966         (getline): Always use getdelim, so that we don't have two
56967         copies of this code.
56968         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
56969         if available.
56970         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
56971         (GETNDELIM2_MAXIMUM): New macro.
56972         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
56973         instead of the old practice of delim2==0.  All callers changed.
56974         Return -1 on overflow, instead of returning junk.
56975         Do not set *linesize unless allocation succeeds.
56976         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
56977         that we include sys/types.h.
56978         * lib/getnline.h: Likewise.
56979         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
56980         (getndelim2): Reorder arguments.
56981         * lib/getnline.c (getnline, getndelim):
56982         Don't discard the NMAX argument.
56983         (getnline): Invoke getndelim, to avoid code duplication.
56984         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
56985         of (size_t) -1 by callers of the getnline family.
56986
56987 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56988
56989         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
56990         Check for gettimeofday.
56991         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
56992         Check for settimeofday, stime.
56993
56994 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56995
56996         * lib/nanosleep.c (suspended): Change its type from int to
56997         sig_atomic_t volatile.
56998         (first_call): Make it private to rpl_nanosleep, and have it
56999         be zero initially as that's a bit faster.
57000         (my_usleep): Round up fractional times instead of truncating them,
57001         as this is the usual meaning for 'sleep'.
57002
57003         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
57004         doesn't work.
57005         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
57006         (ENOSYS): Define if not defined.
57007         (settime): Fall back on stime if it exists and settimeofday fails.
57008         But don't bother with fallbacks if a method fails with errno == EPERM.
57009
57010 2004-05-11  Jim Meyering  <jim@meyering.net>
57011
57012         Prior to this change, the save_cwd caller required read access to the
57013         current directory on most systems (ones with the fchdir function).
57014
57015         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
57016         fails, try write-only, and finally, resort to using xgetcwd.
57017
57018 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
57019
57020         * lib/obstack.c, obstack.h: Import changes from libc.
57021
57022 2004-04-28  Bruno Haible  <bruno@clisp.org>
57023
57024         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
57025         also implicitly appends .exe to executables.
57026         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
57027         accepts Windows pathnames.
57028         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
57029         Treat Cygwin like Windows, since it now accepts Windows pathnames.
57030         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
57031         Treat Cygwin like Windows, since it now accepts Windows pathnames.
57032         Reported by Derek Robert Price <derek@ximbiot.com>.
57033
57034 2004-04-21  Karl Berry  <karl@gnu.org>
57035
57036         * config/srclist.txt (localcharset.c): break sync.
57037
57038 2004-04-20  Paul Eggert  <eggert@twinsun.com>
57039
57040         * m4/host-os.m4: Add a copyright notice.
57041
57042 2004-04-20  Jim Meyering  <jim@meyering.net>
57043
57044         Change UTILS_ to gl_ in AC_DEFINE'd names.
57045         Change utils_- and jm_-prefixed variables, too.
57046         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
57047         UTILS_FUNC_MKDIR_TRAILING_SLASH.
57048         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
57049
57050         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
57051         Don't emit trailing blanks.
57052         Also rename jm_-prefixed variables to have gl_ prefix.
57053
57054         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
57055         Also rename jm_-prefixed variables to have gl_ prefix.
57056
57057         * m4/jm-macros.m4: Reflect the renamings.
57058         * m4/prereq.m4: Likewise.
57059
57060 2004-04-20  Jim Meyering  <jim@meyering.net>
57061
57062         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
57063         memory.
57064
57065 2004-04-20  Jim Meyering  <jim@meyering.net>
57066             Bruno Haible  <bruno@clisp.org>
57067
57068         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
57069         memory when realloc fails.
57070
57071 2004-04-19  Jim Meyering  <jim@meyering.net>
57072
57073         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
57074         now that readutmp.c may call `free (0)'.
57075
57076 2004-04-19  Bruno Haible  <bruno@clisp.org>
57077
57078         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
57079         * m4/inttypes_h.m4: Likewise.
57080         * m4/stdint_h.m4: Likewise.
57081         * m4/intmax_t.m4: Likewise.
57082         * m4/uintmax_t.m4: Likewise.
57083
57084 2004-04-18  Jim Meyering  <jim@meyering.net>
57085
57086         * m4/prereq.m4: Don't forbid jm_ prefix.
57087
57088         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
57089         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
57090         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
57091         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
57092         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
57093         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
57094         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
57095         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
57096         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
57097         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
57098         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
57099         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
57100         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
57101         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
57102         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
57103         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
57104         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
57105         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
57106         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
57107
57108 2004-04-18  Jim Meyering  <jim@meyering.net>
57109
57110         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
57111         failure, don't leak memory and do call END_UTMP_ENT.
57112
57113 2004-04-16  Jim Meyering  <jim@meyering.net>
57114
57115         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
57116         coreutils' stat program.
57117         (gl_PREREQ): Don't require jm_PREREQ_STAT.
57118
57119 2004-04-11  Paul Eggert  <eggert@twinsun.com>
57120
57121         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
57122         C89.
57123         (CHAR_BIT): Remove, since we assume C89.
57124         Include <stdint.h> if available, as per current Autoconf CVS advice.
57125
57126 2004-03-31  Jim Meyering  <jim@meyering.net>
57127
57128         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
57129         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
57130         * m4/xalloc.m4: Likewise.
57131
57132 2004-03-30  Paul Eggert  <eggert@twinsun.com>
57133
57134         Merge from coreutils.
57135
57136         * m4/inttostr.m4: New file.
57137         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
57138         Require AM_STDBOOL_H and gl_TIMESPEC instead.
57139         Require gl_CLOCK_TIME.
57140         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
57141
57142 2004-03-30  Paul Eggert  <eggert@twinsun.com>
57143
57144         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
57145         not bool, to be more consistent with Unix conventions.
57146         Suggested by Bruno Haible.
57147
57148         Merge from coreutils.
57149
57150         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
57151         * lib/umaxtostr.c: New files.
57152
57153         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
57154         the usual <time.h> dance.
57155         (get_date): Change signature to support fractional time stamps.
57156         All callers changed.
57157         * lib/getdate.y: Include "getdate.h" first, as we can now
57158         assume C89 and don't need to worry about 'const'.
57159         Similarly, include "unlocked-io.h" near start, not in middle.
57160         Include <limits.h>.
57161         (textint.value): Use long int rather than int.
57162         (textint.digits): Use size_t rather than int.
57163         (BILLION, LOG10_BILLION): New constants.
57164         (parser_control): New member rel_ns.  Members day_ordinal,
57165         time_zone, month, day, hour, minutes, rel_year, rel_month,
57166         rel_day, rel_hour, rel_minutes, rel_seconds
57167         are now long int, not int.  Member seconds is now struct timespec,
57168         not int.  New member timespec_seen.  Members dates_seen, days_seen,
57169         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
57170         not int.
57171         (%union.intval): Now long int, not int.
57172         New member timespec.
57173         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
57174         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
57175         (spec): Now is a timespec or an item list.
57176         (timespec, items): New nonterminals.
57177         (time, rel, relunit, number, get_date):
57178         Add support for fractional seconds.
57179         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
57180         (gmtime, localtime, mktime): Remove decls; not needed with C89.
57181         (to_hour): First arg is now long int, not int.
57182         (to_year): Returns long int, not int.
57183         Don't treat year -70 like 70.
57184         (tm_diff): Returns long int, not int.
57185         (lookup_word): Use bool instead of int when appropriate.
57186         (yylex): Use size_t for count, not int.
57187         Detect overflow when parsing large integer constants.
57188         Add support for fractions.
57189         (get_date): Make pointers 'const' if possible.
57190         Use more-portable code to detect integer overflow.
57191         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
57192         Don't use ctime; it's not reliable if the year has >4 digits.
57193
57194         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
57195         This is for compatibility with BSD.
57196
57197         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
57198         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
57199         From coreutils' system.h.
57200
57201         * lib/userspec.c: Don't include "posixver.h".
57202         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
57203         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
57204         compatible extension.  Simplify code by removing a boolean int
57205         that was always nonzero if a string was nonnull.
57206
57207 2004-03-30  Jim Meyering  <jim@meyering.net>
57208
57209         Merge from coreutils.
57210
57211         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
57212         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
57213         on some systems one must include <grp.h> before it.
57214         Reported by Christian Krackowizer.
57215
57216 2004-03-30  Jim Meyering  <jim@meyering.net>
57217
57218         Merge from coreutils.
57219
57220         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
57221
57222         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
57223         an empty input stream.
57224
57225         * lib/readtokens.c: Include <stdbool.h>.
57226         (readtoken): Use `size_t' rather than int/long.
57227         All callers adjusted.
57228         Use `bool' rather than `int' where appropriate.
57229         Use memset rather than an explicit loop.
57230         Use x2nrealloc rather than xrealloc.
57231         Allow the use of `\0' as a delimiter.
57232         (readtokens): Likewise.
57233         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
57234
57235 2004-03-30  Jim Meyering  <jim@meyering.net>
57236
57237         * m4/realloc.m4: Remove file, since now it does no more than
57238         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
57239         the `configure.ac' section of module/realloc.
57240         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
57241
57242 2004-03-30  Bruno Haible  <bruno@clisp.org>
57243
57244         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
57245         nonnull.
57246
57247 2004-03-29  Paul Eggert  <eggert@twinsun.com>
57248
57249         Merge changes to getloadavg.c from coreutils and Emacs.
57250
57251         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
57252         Define to an expression, not to the empty string.
57253         Include cloexec.h and xalloc.h.
57254         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
57255         Use set_cloexec_flag rather than rolling our own.
57256         * lib/cloexec.c, lib/cloexec.h: New files.
57257
57258 2004-03-29  Paul Eggert  <eggert@twinsun.com>
57259
57260         * m4/cloexec.m4: New file.
57261
57262 2004-03-18  Paul Eggert  <eggert@twinsun.com>
57263
57264         * lib/getopt.h: Sync with libc CVS.
57265
57266 2004-03-18  Paul Eggert  <eggert@twinsun.com>
57267             Bruno Haible  <bruno@clisp.org>
57268
57269         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
57270         mbswidth.
57271
57272 2004-03-18  Paul Eggert  <eggert@twinsun.com>
57273             Bruno Haible  <bruno@clisp.org>
57274
57275         * lib/mbswidth.h: Include <wchar.h> only if
57276         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
57277         <wchar.h>.
57278         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
57279
57280 2004-03-09  Paul Eggert  <eggert@twinsun.com>
57281
57282         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
57283         Sync with libc CVS.
57284         * lib/getopt_int.h: New file, also synced from libc.
57285
57286 2004-03-09  Paul Eggert  <eggert@twinsun.com>
57287
57288         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
57289         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
57290         Bring back getopt.c, getopt.h, getopt1.c.
57291
57292 2004-03-07  Paul Eggert  <eggert@twinsun.com>
57293
57294         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
57295         All uses changed.  Check for sa_sigaction member; this fixes
57296         a bug first reported by Jason Andrade in
57297         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
57298
57299 2004-03-07  Paul Eggert  <eggert@twinsun.com>
57300
57301         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
57302         '#if' expressions.  Unlike the code it replaces, it does not
57303         depend on (defined _SC_PAGESIZE).  However, it does depend on
57304         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
57305         first reported by Jason Andrade in
57306         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
57307
57308 2004-02-25  Simon Josefsson  <jas@extundo.com>
57309
57310         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
57311
57312 2004-02-25  Simon Josefsson  <jas@extundo.com>
57313
57314         * lib/strdup.h: New file.
57315         * lib/strdup.c: Include it.
57316         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
57317         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
57318
57319 2004-02-23  Karl Berry  <karl@gnu.org>
57320
57321         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
57322         (from fencepost.gnu.org:/gd/gnuorg).
57323
57324 2004-02-23  Karl Berry  <karl@gnu.org>
57325
57326         * config/srclistvars.sh (GNUORG) [karl]: redefine.
57327         * config/srclist.txt: add maintain/standards documents.
57328
57329 2004-02-18  Bruno Haible  <bruno@clisp.org>
57330
57331         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
57332         Reported by Derek Robert Price <derek@ximbiot.com>.
57333
57334 2004-02-16  Karl Berry  <karl@gnu.org>
57335
57336         * config/mkinstalldirs, install-sh: update from automake.
57337
57338 2004-02-06  Karl Berry  <karl@gnu.org>
57339
57340         * m4/po.m4: update from gettext 0.14.1.
57341
57342 2004-02-06  Karl Berry  <karl@gnu.org>
57343
57344         * lib/config.charset: update from gettext 0.14.1.
57345
57346 2004-02-05  Paul Eggert  <eggert@twinsun.com>
57347
57348         Add comments and code, prompted by suggestions from Bruno Haible
57349         for sh-quote.
57350         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
57351         describing the enum quoting_style values.
57352         * lib/quotearg.c (quotearg_alloc): New function.
57353         (quotearg_buffer_restyled): Treat lone { and } as special.
57354         Treat = as special.  Work around bug with older shells
57355         that "see" a '\' that is really the 2nd byte of a multibyte char.
57356         Quote empty string with shell_quoting_style.
57357
57358 2004-02-03  Bruno Haible  <bruno@clisp.org>
57359
57360         * m4/pipe.m4: New file, from GNU gettext.
57361
57362 2004-02-03  Bruno Haible  <bruno@clisp.org>
57363
57364         * lib/pipe.h: New file, from GNU gettext.
57365         * lib/pipe.c: New file, from GNU gettext.
57366
57367 2004-01-27  Bruno Haible  <bruno@clisp.org>
57368
57369         * m4/execute.m4: New file, from GNU gettext.
57370
57371 2004-01-27  Bruno Haible  <bruno@clisp.org>
57372
57373         * lib/execute.h: New file, from GNU gettext.
57374         * lib/execute.c: New file, from GNU gettext.
57375         * lib/w32spawn.h: New file, from GNU gettext.
57376
57377 2004-01-24  Paul Eggert  <eggert@twinsun.com>
57378
57379         Merge from diffutils.
57380
57381         * lib/file-type.c (file_type): Add typed memory objects.
57382         * lib/file-type.h (S_TYPEISTMO): New macro.
57383
57384         * lib/c-stack.h (c_stack_action): Remove argv argument.
57385         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
57386         (die): Don't calculate message unless segv_action returns.
57387         (get_stack_location, min_address_from_argv, max_address_from_argv,
57388         volatile stack_base, volatile_stack_size): Remove.
57389         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
57390         that every segmentation violation is a stack overflow.  (Ouch!)
57391         See Debian bug 136249 (still outstanding) for more info about why
57392         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
57393
57394 2004-01-24  Paul Eggert  <eggert@twinsun.com>
57395
57396         Exit-status fix from coreutils.
57397
57398         Use exit_failure consistently in place of EXIT_FAILURE,
57399         so that program exit statuses are consistent on failure.
57400
57401         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
57402         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
57403         * lib/argmatch.h: Comment fix to match the above.
57404         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
57405         Now a macro referring to exit_failure, instead of a separate
57406         variable.  Include "exitfail.h" to get it.
57407         * lib/xstrtol.h: Include "exitfail.h".
57408         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
57409
57410         * lib/long-options.c (parse_long_options): Use prototype
57411         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
57412         for clarity.
57413
57414 2004-01-21  Jim Meyering  <jim@meyering.net>
57415
57416         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
57417         so as not to conflict with a different-sized __mktime_internal
57418         function in GNU libc.
57419         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
57420         Problem building statically-linked `ls' reported by Michael Brunnbauer.
57421
57422 2004-01-20  Karl Berry  <karl@gnu.org>
57423
57424         * config/config.guess: update from config.
57425
57426         * config/srclistvars.sh: GNUWWWLICENSES for karl.
57427
57428 2004-01-20  Bruno Haible  <bruno@clisp.org>
57429
57430         Safer stack allocation.
57431         * lib/setenv.c: Include allocsa.h.
57432         (alloca): Remove fallback definition.
57433         (freea): Remove macro.
57434         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
57435         instead of freea.
57436
57437 2004-01-20  Bruno Haible  <bruno@clisp.org>
57438
57439         * m4/eealloc.m4: New file, from GNU gettext.
57440
57441 2004-01-20  Bruno Haible  <bruno@clisp.org>
57442
57443         * m4/allocsa.m4: New file, from GNU gettext.
57444
57445 2004-01-20  Bruno Haible  <bruno@clisp.org>
57446
57447         * lib/xallocsa.h: New file, from GNU gettext.
57448         * lib/xallocsa.c: New file, from GNU gettext.
57449
57450 2004-01-20  Bruno Haible  <bruno@clisp.org>
57451
57452         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
57453
57454 2004-01-20  Bruno Haible  <bruno@clisp.org>
57455
57456         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
57457         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
57458         specially.
57459
57460 2004-01-20  Bruno Haible  <bruno@clisp.org>
57461
57462         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
57463         patch.
57464
57465 2004-01-20  Bruno Haible  <bruno@clisp.org>
57466
57467         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
57468
57469 2004-01-20  Bruno Haible  <bruno@clisp.org>
57470
57471         * lib/eealloc.h: New file.
57472
57473 2004-01-20  Bruno Haible  <bruno@clisp.org>
57474
57475         * lib/binary-io.h: Avoid warnings on Cygwin.
57476
57477 2004-01-20  Bruno Haible  <bruno@clisp.org>
57478
57479         * lib/allocsa.h: New file, from GNU gettext.
57480         * lib/allocsa.c: New file, from GNU gettext.
57481
57482 2004-01-18  Karl Berry  <karl@gnu.org>
57483
57484         * doc/gpl.texi, doc/lgpl.texi: new files.
57485
57486 2004-01-18  Karl Berry  <karl@gnu.org>
57487
57488         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
57489         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
57490
57491 2004-01-15  Paul Eggert  <eggert@twinsun.com>
57492
57493         Merge from coreutils.
57494
57495         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
57496         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
57497         (gl_DEFAULT_POSIX2_VERSION): Move
57498         the documentation from 'configure' into 'config.hin',
57499         so that 'configure --help' isn't burdened by it and
57500         we don't have to worry about its formatting there.
57501         Reword the documentation so that it's more succinct
57502         and can be run together into a single paragraph.
57503         * m4/same.m4 (gl_SAME): Check for pathconf.
57504
57505 2004-01-15  Paul Eggert  <eggert@twinsun.com>
57506
57507         Merge from coreutils.
57508
57509         * lib/posixver.c: Include posixver.h.
57510
57511         * lib/same.c: Include <stdbool.h>, <limits.h>.
57512         (_POSIX_NAME_MAX): Define if not defined.
57513         (MIN): New macro.
57514         (same_name): If file names are silently truncated, report
57515         that the file names are the same if they are the same after
57516         the silent truncation.
57517
57518         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
57519         conversion function.
57520         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
57521         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
57522         longer needed.
57523
57524 2004-01-15  Jim Meyering  <jim@meyering.net>
57525
57526         Merge from coreutils.
57527
57528         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
57529         if no library is required.
57530         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
57531         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
57532         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
57533         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
57534         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
57535         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
57536         value, $ac_cv_search_crypt, if it's "none required".
57537         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
57538         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
57539         not gl_FUNC_GETLOADAVG.
57540         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
57541         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
57542
57543 2004-01-15  Jim Meyering  <jim@meyering.net>
57544
57545         Merge from coreutils.
57546
57547         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
57548         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
57549         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
57550
57551         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
57552         optional configure-time default.
57553
57554         * lib/version-etc.c (version_etc_copyright): Update copyright date.
57555
57556         * lib/xreadlink.c (xreadlink): Correct outdated comment.
57557
57558 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
57559
57560         Merge from coreutils.
57561
57562         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
57563         value, $ac_cv_search_nanosleep, if it's "none required".
57564
57565 2004-01-14  Paul Eggert  <eggert@twinsun.com>
57566
57567         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
57568         with like-named macro in fnmatch.c.
57569         (EXT): Use an internal constant instead.
57570
57571         Merge fnmatch patches from glibc.
57572         * lib/fnmatch.c (mbsinit): Remove define.
57573         Add libc_hidden_ver (__fnmatch, fnmatch).
57574         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
57575         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
57576
57577 2004-01-14  Karl Berry  <karl@gnu.org>
57578
57579         * config/install-sh: update from automake.
57580
57581 2004-01-13  Karl Berry  <karl@gnu.org>
57582
57583         * config/install-sh: update from automake.
57584
57585 2004-01-09  Karl Berry  <karl@gnu.org>
57586
57587         * config/install-sh: update from automake.
57588
57589 2004-01-05  Karl Berry  <karl@gnu.org>
57590
57591         * config/config.{sub,guess}: update from config.
57592
57593 2003-12-31  Karl Berry  <karl@gnu.org>
57594
57595         * config/depcomp: update from automake.
57596
57597 2003-12-14  Karl Berry  <karl@gnu.org>
57598
57599         * lib/config.charset: update from gettext-runtime.
57600
57601 2003-12-03  Paul Eggert  <eggert@twinsun.com>
57602
57603         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
57604         Bug reported by Alfred M. Szmidt.
57605
57606 2003-12-03  Bruno Haible  <bruno@clisp.org>
57607
57608         * m4/gettext.m4: Upgrade from gettext-0.13.
57609         * m4/po.m4: Upgrade from gettext-0.13.
57610         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
57611         * m4/intmax.m4: New file, from gettext-0.13.
57612         * m4/printf-posix.m4: New file, from gettext-0.13.
57613
57614 2003-11-29  Karl Berry  <karl@gnu.org>
57615
57616         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
57617
57618 2003-11-25  Paul Eggert  <eggert@twinsun.com>
57619             Bruno Haible  <bruno@clisp.org>
57620
57621         * lib/printf-parse.h: Don't include sys/types.h.
57622         (ARG_NONE): New macro.
57623         (char_directive): Change type of *arg_index fields to size_t.
57624         * lib/printf-parse.c: Don't include sys/types.h.
57625         (SSIZE_MAX): Remove macro.
57626         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
57627         Remove unnecessary overflow check.
57628         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
57629         fields.
57630
57631 2003-11-25  Bruno Haible  <bruno@clisp.org>
57632
57633         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
57634
57635 2003-11-25  Bruno Haible  <bruno@clisp.org>
57636
57637         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
57638         gt_TYPE_SSIZE_T.
57639
57640 2003-11-24  Paul Eggert  <eggert@twinsun.com>
57641
57642         * modules/alloca: Remove dependency on xalloc.
57643
57644 2003-11-24  Paul Eggert  <eggert@twinsun.com>
57645
57646         * lib/alloca.c: Remove dependency on xalloc module.
57647         (xalloc_die): Remove.
57648         (memory_full) [!defined emacs]: New macro.
57649         [!defined emacs]: Don't include xalloc.h.
57650         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
57651         address arithmetic overflows.  Change datatypes a bit to avoid
57652         unnecessary casts.
57653
57654 2003-11-22  Jim Meyering  <jim@meyering.net>
57655
57656         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
57657         s/size/size_t/.
57658
57659 2003-11-21  Karl Berry  <karl@gnu.org>
57660
57661         * config/config.{sub,guess}: update from config.
57662
57663 2003-11-18  Karl Berry  <karl@gnu.org>
57664
57665         * config/config.{sub,guess}: update from config.
57666
57667         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
57668
57669 2003-11-17  Paul Eggert  <eggert@twinsun.com>
57670
57671         * README: Mention that S+T cannot overflow if S is the size of
57672         an existing object and T is sufficiently small.
57673
57674 2003-11-17  Jim Meyering  <jim@meyering.net>
57675
57676         On systems without utime and without a utimes function capable of
57677         dealing with a NULL struct utimbuf* argument, this utime replacement
57678         could -- in unusual circumstances -- leak a file descriptor.
57679         * lib/utime.c: Include <unistd.h> and <errno.h>.
57680         (utime_null): Be sure to close `fd' and to preserve errno.
57681         Reported by Geoff Collyer via Arnold Robbins.
57682
57683 2003-11-17  Bruno Haible  <bruno@clisp.org>
57684
57685         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
57686         (Depends-on): Add xsize.
57687
57688 2003-11-17  Bruno Haible  <bruno@clisp.org>
57689
57690         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
57691
57692 2003-11-17  Bruno Haible  <bruno@clisp.org>
57693
57694         * lib/vasnprintf.c (alloca): Remove fallback definition.
57695         (freea): Remove definition.
57696         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
57697         Reported by Paul Eggert.
57698
57699 2003-11-16  Paul Eggert  <eggert@twinsun.com>
57700             Bruno Haible  <bruno@clisp.org>
57701
57702         Protect against address arithmetic overflow.
57703         * lib/printf-args.h: Include stddef.h.
57704         (arguments): Change type of field 'count' to size_t.
57705         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
57706         'unsigned int' where appropriate.
57707         * lib/printf-parse.h: Include sys/types.h.
57708         (char_directive): Change type of *arg_index fields to ssize_t.
57709         (char_directives): Change type of fields 'count', max_*_length to
57710         size_t.
57711         * lib/printf-parse.c: Include sys/types.h and xsize.h.
57712         (SSIZE_MAX): Define fallback value.
57713         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
57714         instead of 'int' where appropriate. Check a_allocated, d_allocated
57715         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
57716         * lib/vasnprintf.c: Include xsize.h.
57717         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
57718         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
57719         overflow. Avoid wraparound when converting a width or precision from
57720         decimal to binary.
57721
57722 2003-11-16  Bruno Haible  <bruno@clisp.org>
57723
57724         Update from GNU gettext.
57725         * lib/printf-parse.c: Generalize to it can be compiled for wide
57726         strings.
57727         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
57728         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
57729         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
57730         SNPRINTF): New macros.
57731         Don't include <alloca.h> if the file is used inside libintl.
57732         (local_wcslen): New function, for Solaris 2.5.1.
57733         (VASNPRINTF): Use it instead of wcslen.
57734
57735 2003-11-16  Bruno Haible  <bruno@clisp.org>
57736
57737         * lib/xsize.h (xmax): New function.
57738         (xsum, xsum3, xsum4): Declare as "pure" functions.
57739
57740 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57741
57742         * modules/xalloc (Files): Undo latest change, since xalloc.h
57743         no longer needs SIZE_MAX or PTRDIFF_MAX.
57744
57745 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57746
57747         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
57748         gl_PTRDIFF_MAX.
57749
57750 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57751
57752         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
57753         "return", to pacify some unknown compiler.  Problem reported
57754         by Joerg Schilling.
57755
57756 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57757
57758         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
57759         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
57760         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
57761         heuristic is just as accurate as far as we know, and it removes a
57762         dependency on size_max.m4 and ptrdiff_max.m4.
57763
57764 2003-11-11  Bruno Haible  <bruno@clisp.org>
57765
57766         * modules/xsize (Files): Add m4/size_max.m4.
57767         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
57768
57769 2003-11-11  Bruno Haible  <bruno@clisp.org>
57770
57771         * m4/size_max.m4: New file.
57772         * m4/ptrdiff_max.m4: New file.
57773         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
57774         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
57775         (gl_XALLOC): Invoke it.
57776
57777 2003-11-11  Bruno Haible  <bruno@clisp.org>
57778
57779         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
57780         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
57781         defined.
57782
57783 2003-11-10  Paul Eggert  <eggert@twinsun.com>
57784
57785         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
57786         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
57787         rejected some allocations of exactly SIZE_MAX - 2 bytes.
57788         From Bruno Haible.
57789         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
57790         not (size_t) -1, since it's defined here.
57791
57792 2003-11-09  Karl Berry  <karl@gnu.org>
57793
57794         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
57795
57796 2003-11-06  Paul Eggert  <eggert@twinsun.com>
57797
57798         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
57799         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
57800         Reject sizes of exactly SIZE_MAX bytes.
57801         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
57802         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
57803
57804 2003-11-05  Bruno Haible  <bruno@clisp.org>
57805
57806         * lib/xsize.h: Include limits.h, to avoid a possible collision with
57807         SIZE_MAX defined in <limits.h> on Solaris.
57808
57809 2003-11-04  Jim Meyering  <jim@meyering.net>
57810
57811         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
57812         variable names, rather than @VAR@.
57813         * modules/poll: Likewise.
57814
57815 2003-11-04  Bruno Haible  <bruno@clisp.org>
57816
57817         * modules/xsize: New file.
57818         * modules/linebreak: Depend on xsize.
57819         * MODULES.html.sh (func_all_modules): Add xsize.
57820
57821 2003-11-04  Bruno Haible  <bruno@clisp.org>
57822
57823         * m4/xsize.m4: New file.
57824
57825 2003-11-04  Bruno Haible  <bruno@clisp.org>
57826
57827         * lib/xsize.h: New file.
57828         * lib/linebreak.c: Include xsize.h.
57829         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
57830         argument for overflow.
57831         Suggested by Paul Eggert.
57832
57833 2003-11-03  Karl Berry  <karl@gnu.org>
57834
57835         * config/config.{guess,sub}: update from config.
57836
57837 2003-11-03  Jim Meyering  <jim@meyering.net>
57838
57839         * modules/userspec (lib_SOURCES): Add userspec.h.
57840         (Include): Add "userspec.h".
57841         Improve description.
57842
57843 2003-11-03  Jim Meyering  <jim@meyering.net>
57844
57845         * lib/userspec.c: Include "userspec.h".
57846         * lib/userspec.h: New file.
57847
57848 2003-11-03  Bruno Haible  <bruno@clisp.org>
57849
57850         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
57851
57852 2003-11-03  Bruno Haible  <bruno@clisp.org>
57853
57854         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
57855         available, to avoid (extremely rare) race condition.
57856         Suggested by Paul Eggert.
57857
57858 2003-11-02  Karl Berry  <karl@gnu.org>
57859
57860         * config/srclist.txt (vasprintf.c): sync broken, sigh.
57861
57862 2003-10-31  Paul Eggert  <eggert@twinsun.com>
57863
57864         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
57865         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
57866         (read_filesystem_list): Set and use me_type_malloced.
57867         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
57868         whatever the type happens to be), for brevity and consistency.
57869         Check for size calculation overflow on Alphas running OSF/1.
57870
57871 2003-10-31  Jim Meyering  <jim@meyering.net>
57872
57873         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
57874
57875         * lib/linebuffer.c: Include <string.h> for declaration of memset.
57876
57877 2003-10-30  Paul Eggert  <eggert@twinsun.com>
57878             Bruno Haible  <bruno@clisp.org>
57879
57880         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
57881         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
57882
57883 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
57884
57885         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
57886         netbsd*-gnu*.  Suggested by Robert Millan.
57887
57888 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57889
57890         * modules/group-member: Depend on stdbool.
57891
57892 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57893
57894         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
57895
57896 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57897
57898         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
57899         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
57900         after the 'gnu' in these cases.  This fixes some bugs in the
57901         previous change, and is based on suggestions by Robert Millan.
57902
57903 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57904
57905         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
57906         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
57907         no longer needed.
57908         * lib/quotearg.c (quotearg_n_options): Use it.
57909         * lib/group-member.c: Include <stdbool.h>.
57910         (free_group_info): Arg is now const *; don't free arg.
57911         (get_group_info): Now returns bool and accepts struct group_info *,
57912         rather than returning a malloc'ed struct group_info *.
57913         All uses changed.  Check for overflow in internal size calculation.
57914
57915         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
57916         rather than xmalloc/xrealloc.
57917         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
57918         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
57919         conformance bug: the old code used a pointer after freeing the
57920         storage that it addressed.
57921         * lib/hash.c (hash_initialize): Simplify the code by using
57922         xalloc_oversized rather than doing it by hand.
57923         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
57924         the buffer preserved.  Use free and xmalloc instead.
57925         * lib/quotearg.c (quotearg_n_options): Likewise.
57926         Use a simpler test for size overflow.  Don't use xalloc_oversized
57927         because unsigned int might be wider than size_t (!); this suggests
57928         that we should switch from unsigned int to size_t for slot numbers.
57929
57930 2003-10-28  Paul Eggert  <eggert@twinsun.com>
57931
57932         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
57933         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
57934         NetBSD kernels.  Requested by Richard Stallman.
57935
57936 2003-10-27  Paul Eggert  <eggert@twinsun.com>
57937
57938         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
57939         to allocate the returned structure.  Do not allocate a subarray,
57940         as x2nrealloc will do that.
57941         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
57942         instead of xnrealloc.
57943         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
57944
57945 2003-10-27  Bruno Haible  <bruno@clisp.org>
57946
57947         * lib/stdbool_.h: Better support for BeOS.
57948
57949 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57950
57951         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
57952         now uses inline.
57953
57954 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57955
57956         * lib/xalloc.h (xalloc_oversized): New static inline function, for
57957         callers that want to do their own size-overflow checking.  Include
57958         <stdbool.h>, since xalloc_oversized returns bool.
57959         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
57960         to use xalloc_oversized.
57961
57962         Add two functions x2realloc, x2nrealloc, for programs that grow
57963         arrays dynamically by doubling their sizes.
57964         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
57965         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
57966         New functions.
57967
57968         Port to C99 semantics for 'inline' of external functions.
57969         Bug reported by Bruno Haible.
57970         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
57971         with the old contents of xnmalloc.
57972         (xnmalloc, xmalloc): Use it.
57973         (xnrealloc_inline): New static inline function,
57974         with the old contents of xnrealloc.
57975         (xnrealloc, xrealloc): Use it.
57976
57977         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
57978         that.
57979
57980 2003-10-26  Karl Berry  <karl@gnu.org>
57981
57982         * config/srclist.txt (COPYING.DOC): no longer available from
57983         /gd/gnuorg; don't know where the ultimate source is.
57984
57985 2003-10-25  Paul Eggert  <eggert@twinsun.com>
57986
57987         Fix several address-calculation bugs in the hash modules,
57988         plus some minor code cleanup.
57989
57990         * lib/hash.h: Include <stdbool.h>, for bool.
57991         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
57992         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
57993         hash_get_n_entries, hash_get_max_bucket_length,
57994         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
57995         hash_rehash): Use size_t rather than unsigned.
57996         * lib/hash.c (struct hash_table, hash_get_n_buckets,
57997         hash_get_n_buckets_used, hash_get_n_entries,
57998         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
57999         hash_get_entries, hash_do_for_each, hash_string, is_prime,
58000         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
58001         Likewise.
58002         (SIZE_MAX): Define if not defined.
58003         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
58004         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
58005         hash_print):
58006         Use const * when possible.
58007         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
58008         (check_tuning): Fix bug: if tuning parameters were very close to
58009         0 or 1, rounding errors could have caused subscript violations.
58010         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
58011         (hash_initialize): Add 'fail:' label
58012         to free table and return NULL, and use it to simplify code.
58013         Use calloc rather than clearing the storage ourself.
58014         (hash_initialize, hash_rehash): Check for arithmetic overflow in
58015         buffer size calculations.
58016         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
58017         Include <stddef.h>, for size_t.
58018         * lib/hash-pjw.c (hash_pjw): Likewise.
58019         Switch to method described by Bruno Haible.
58020         Include <limits.h>, for CHAR_BIT.
58021         (SIZE_BITS): New macro.
58022
58023 2003-10-23  Paul Eggert  <eggert@twinsun.com>
58024
58025         * m4/getline.m4 (AM_FUNC_GETLINE):
58026         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
58027         hosts.  Problem reported by Derek Robert Price in
58028         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
58029         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
58030         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
58031
58032 2003-10-21  Paul Eggert  <eggert@twinsun.com>
58033
58034         * lib/getndelim2.c (getndelim2): When size calculation overflows,
58035         ceiling the allocation at NMAX bytes rather than silently
58036         discarding input bytes before NMAX is reached.  This makes
58037         a difference only if NMAX exceeds SIZE_MAX / 2.
58038
58039         * lib/obstack.c: Merge from glibc.
58040         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
58041         Add libc_hidden_def (_obstack_newchunk).
58042         (_obstack_free) [! defined _LIBC]: Remove.
58043         [defined _LIBC]: Make a strong alias from obstack_free, rather than
58044         a clone of the function body.
58045         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
58046         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
58047
58048         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
58049         glibc.
58050         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
58051         arg to memcpy.
58052
58053         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
58054         (obstack_ptr_grow_fast, obstack_int_grow_fast):
58055         Don't use lvalue casts, as GCC plans to remove support for them
58056         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
58057         was also present in the non-GCC version, indicating that this
58058         code had always been buggy and had never been widely used.
58059         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
58060         Use the fast variant of each macro, rather than copying the
58061         definiens of the fast variant; that way, we'll be more likely to
58062         catch future bugs in the fast variants.
58063
58064 2003-10-20  Bruno Haible  <bruno@clisp.org>
58065
58066         * modules/wait-process: New file.
58067         * MODULES.html.sh (func_all_modules): Add wait-process.
58068
58069 2003-10-20  Bruno Haible  <bruno@clisp.org>
58070
58071         * m4/wait-process.m4: New file.
58072
58073 2003-10-20  Bruno Haible  <bruno@clisp.org>
58074
58075         * lib/wait-process.h: New file, from GNU gettext.
58076         * lib/wait-process.c: New file, from GNU gettext.
58077
58078 2003-10-19  Jim Meyering  <jim@meyering.net>
58079
58080         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
58081         HPUX 10.20.
58082
58083 2003-10-18  Karl Berry  <karl@gnu.org>
58084
58085         * config/config.guess: update from config.
58086
58087 2003-10-16  Paul Eggert  <eggert@twinsun.com>
58088
58089         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
58090         (getgroups): First arg is int, not size_t.
58091         Don't let 'free' mangle errno.
58092
58093 2003-10-16  Paul Eggert  <eggert@twinsun.com>
58094
58095         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
58096
58097 2003-10-16  Karl Berry  <karl@gnu.org>
58098
58099         * config/config.{guess,sub}: update from config.
58100
58101 2003-10-16  Jim Meyering  <jim@meyering.net>
58102
58103         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
58104         memcpy.
58105
58106 2003-10-15  Paul Eggert  <eggert@twinsun.com>
58107
58108         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
58109         (SIZE_MAX): Remove.
58110         (new_exclude, add_exclude_file): Initial size no longer needs to
58111         be a power of 2.
58112         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
58113         our own address arithmetic overflow checking.
58114
58115         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
58116         (fnmatch): Do not alloca more than 2000 wide characters;
58117         instead, use malloc for large buffers.
58118         Check for address arithmetic overflow, and return -1
58119         with errno set to ENOMEM in that case.
58120         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
58121         (NEW_PATTERN): Do not alloca more than 8000 bytes;
58122         instead, return -1.  Check for address arithmetic overflow.
58123
58124 2003-10-14  Paul Eggert  <eggert@twinsun.com>
58125
58126         Handle invalid suffixes and overflow independently, so that
58127         callers can treat them independently as needed.  Fix some bugs in
58128         suffix handling, e.g., "100k@" was not diagnosed as an invalid
58129         suffix for a human-readable blocksize.  The major caller-visible
58130         change is the addition of a new
58131         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
58132         that both overflow and suffix chars were found.
58133
58134         * lib/human.c (humblock): Don't check separately for invalid suffix
58135         char; that is xstrtoumax's job (now that its bug is fixed).
58136         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
58137         INTMAX_MAX]: New macros.
58138         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
58139         TYPE_MAXIMUM): New macros.
58140         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
58141         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
58142         if overflow occurs, as it's what __strtol does and it's more useful
58143         in practice.
58144         (__xstrtol): If __strtol reports some error other than ERANGE,
58145         reflect it to the caller as LONGINT_INVALID.  If it reports
58146         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
58147         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
58148         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
58149         value.
58150         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
58151         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
58152         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
58153         [defined UINTMAX_MAX]: New macros.
58154
58155 2003-10-14  Bruno Haible  <bruno@clisp.org>
58156
58157         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
58158
58159 2003-10-14  Bruno Haible  <bruno@clisp.org>
58160
58161         * m4/sig_atomic_t: New file, from GNU gettext.
58162         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
58163
58164 2003-10-14  Bruno Haible  <bruno@clisp.org>
58165
58166         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
58167         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
58168         Also use volatile where needed.
58169
58170 2003-10-12  Paul Eggert  <eggert@twinsun.com>
58171
58172         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
58173         Change maintainer from Bruno Haible to 'all'.
58174
58175 2003-10-12  Paul Eggert  <eggert@twinsun.com>
58176
58177         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
58178
58179 2003-10-12  Paul Eggert  <eggert@twinsun.com>
58180
58181         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
58182         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
58183         and define in terms of the other primitives.
58184         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
58185         (SIZE_MAX): Define if not already defined.
58186         (array_size_overflow): New function.
58187         (xalloc_die): Abort instead of exiting if 'error' returns.
58188         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
58189         (xmalloc, xrealloc): Use them.
58190         (xcalloc): Check for address arithmetic overflow.
58191         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
58192         a bit faster than strcpy.
58193
58194 2003-10-10  Simon Josefsson  <jas@extundo.com>
58195
58196         * modules/argp (Depends-on): Add restrict and strcase.
58197
58198 2003-10-10  Simon Josefsson  <jas@extundo.com>
58199
58200         * m4/argp.m4: Add AC_C_INLINE.
58201
58202 2003-10-08  Paul Eggert  <eggert@twinsun.com>
58203
58204         Merge getpass from libc, plus a few fixes.
58205
58206         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
58207         Include <stdbool.h>.
58208         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
58209         __fsetlocking to empty.
58210         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
58211         do include <bits/libc-lock.h>.
58212         Do not include <fcntl.h>; not needed.
58213         [_LIBC]: Include <wchar.h>.
58214         (NOTCANCEL_MODE): New macro.
58215         (flockfile, funlockfile) [_LIBC]: New macros.
58216         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
58217         [!_LIBC]: New macros.
58218         (call_fclose): New function.
58219         (getpass): Use it.  Save tty stream separately; this simplifies the
58220         code and makes it more reliable if stdin happens to equal stdout.
58221         Invoke __fsetlocking on tty.
58222         Handle thread cancellation if needed.
58223         Namespace cleanup (use __tcgetattr, __getline).
58224         Use bool for Booleans.
58225         [USE_IN_LIBIO]: Handle wide streams.
58226         [!_LIBC]: Unconditionally do the fseek, since we don't know what
58227         stream might go where.
58228
58229         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
58230         doesn't have to include <stdio.h> before us.
58231         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
58232         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
58233         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
58234         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
58235         if not declared, so that we can use getpass.c code from libc without
58236         rewriting it.
58237         (flockfile, ftrylockfile, funlockfile): New macros.
58238
58239 2003-10-08  Paul Eggert  <eggert@twinsun.com>
58240
58241         * modules/getpass: Depend on stdbool.
58242
58243 2003-10-08  Paul Eggert  <eggert@twinsun.com>
58244
58245         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
58246
58247 2003-10-07  Karl Berry  <karl@gnu.org>
58248
58249         * config/config.{guess,sub}: update from config.
58250
58251 2003-10-06  Jim Meyering  <jim@meyering.net>
58252             Bruno Haible  <bruno@clisp.org>
58253
58254         This lets translators provide better translations for the
58255         "Written by ..." part of --version output.
58256         * lib/version-etc.h: Include stdarg.h.
58257         (version_etc_copyright): Declare as readonly.
58258         (version_etc): Make this function variadic with a NULL-terminated list
58259         of author name strings.
58260         (version_etc_va): New declaration.
58261         * lib/version-etc.c: Include stdarg.h, stdlib.h.
58262         (version_etc_copyright): Declare as readonly.
58263         (version_etc_va): New function. Provide a different translatable string
58264         for each possible number of authors < 10. Abbreviate when there are 10
58265         authors or more.
58266         (version_etc): Make this function variadic. Call version_etc_va.
58267         Suggestion from Gary V. Vaughan.
58268
58269         * lib/long-options.h (parse_long_options): Change prototype: the
58270         authors string is moved to the end and becomes variadic.
58271         * lib/long-options.c: Include stdarg.h.
58272         (parse_long_options): Make this function variadic, too.
58273         Call version_etc_va, not version_etc.
58274
58275 2003-10-06  Bruno Haible  <bruno@clisp.org>
58276
58277         * modules/version-etc-2: Remove file.
58278         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
58279
58280 2003-10-06  Bruno Haible  <bruno@clisp.org>
58281
58282         * modules/fatal-signal: New file.
58283         * MODULES.html.sh (func_all_modules): Add fatal-signal.
58284
58285 2003-10-06  Bruno Haible  <bruno@clisp.org>
58286
58287         * m4/fatal-signal.m4: New file.
58288         * m4/signalblocking.m4: New file, from GNU gettext.
58289
58290 2003-10-06  Bruno Haible  <bruno@clisp.org>
58291
58292         * lib/version-etc-2.h: Remove file.
58293         * lib/version-etc-2.c: Remove file.
58294
58295 2003-10-06  Bruno Haible  <bruno@clisp.org>
58296
58297         * lib/fatal-signal.h: New file, from GNU gettext.
58298         * lib/fatal-signal.c: New file, from GNU gettext.
58299
58300 2003-10-05  Paul Eggert  <eggert@twinsun.com>
58301
58302         * README: Rework advice for preventing empty .o files.
58303         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
58304         not <sys/types.h>.
58305
58306 2003-10-04  Karl Berry  <karl@gnu.org>
58307
58308         * lib/argp*: update from libc.
58309
58310 2003-10-04  Karl Berry  <karl@gnu.org>
58311
58312         * config/config.{guess,sub}: update from config.
58313
58314 2003-10-02  Bruno Haible  <bruno@clisp.org>
58315
58316         * modules/lchown (Include): Add lchown.h.
58317         * modules/time_r (Include): Use "..." syntax.
58318         * modules/xgetdomainname (Include): Add xgetdomainname.h.
58319
58320 2003-10-01  Simon Josefsson  <jas@extundo.com>
58321
58322         * MODULES.html.sh (func_all_modules): Move gethostname from section
58323         'based on' to section 'lacking' POSIX:2001.
58324
58325 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
58326
58327         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
58328         to output mode on the same stream.
58329
58330 2003-09-29  Paul Eggert  <eggert@twinsun.com>
58331
58332         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
58333         Fix arg typo in previous patch.
58334
58335 2003-09-28  Jim Meyering  <jim@meyering.net>
58336
58337         * lib/error.c: Correct cpp indentation.
58338
58339 2003-09-27  Paul Eggert  <eggert@twinsun.com>
58340
58341         * modules/free: New file.
58342
58343 2003-09-27  Paul Eggert  <eggert@twinsun.com>
58344
58345         * m4/free.m4: New file.
58346
58347 2003-09-27  Paul Eggert  <eggert@twinsun.com>
58348
58349         * lib/minmax.h (MIN, MAX)
58350         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
58351         Omit the special code that used __typeof__, since we worry that
58352         it could be more trouble than it's worth.  See:
58353         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
58354         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
58355
58356         * lib/free.c: New file.
58357
58358 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
58359
58360         Trivial fixes to Makefile.am parts of module listings.
58361         * modules/strstr: Append strstr.h to lib_SOURCES.
58362         * modules/strcase: Likewise, for strcase.h.
58363
58364 2003-09-27  Karl Berry  <karl@gnu.org>
58365
58366         * config/mkinstalldirs: update from automake.
58367
58368 2003-09-26  Paul Eggert  <eggert@twinsun.com>
58369
58370         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
58371         (error_tail): Do not loop, reallocating temporary buffer, since
58372         the output cannot contain more wide characters than the input
58373         contains bytes, the size must be big enough already.  This avoids
58374         one potential size overflow calculation.  Check for size overflow
58375         when calculating temporary buffer size.  Free temporary buffer
58376         when done, if it was allocated with malloc; this plugs a memory
58377         leak.  Remove casts from void * to pointers, that are no longer
58378         needed now that we're assuming C89 or better.
58379
58380         Merge error changes from glibc.
58381
58382         * lib/error.c, error.h: Update copyright notice header to match glibc.
58383         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
58384         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
58385         Disable cancellation while printing error.
58386         * lib/error.h: Prepend __ to parameter names.
58387
58388 2003-09-26  Jim Meyering  <jim@meyering.net>
58389
58390         * lib/error.c (error_tail): Move some declarations
58391         into inner scope where the local variables are used.
58392
58393 2003-09-26  Bruno Haible  <bruno@clisp.org>
58394
58395         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
58396         stpncpy().
58397         Don't define stpncpy through config.h; it's now done through stpncpy.h.
58398
58399 2003-09-26  Bruno Haible  <bruno@clisp.org>
58400
58401         * lib/stpncpy.h (gnu_stpncpy): New declaration.
58402         (stpncpy): Define as alias for gnu_stpncpy.
58403         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
58404
58405 2003-09-25  Simon Josefsson  <jas@extundo.com>
58406
58407         * lib/xgetdomainname.h: New file.
58408         * lib/xgetdomainname.c: New file.
58409
58410 2003-09-25  Simon Josefsson  <jas@extundo.com>
58411             Bruno Haible  <bruno@clisp.org>
58412
58413         * modules/getdomainname: New file.
58414         * modules/xgetdomainname: New file.
58415         * MODULES.html.sh (func_all_modules): Add getdomainname,
58416         xgetdomainname.
58417
58418 2003-09-25  Simon Josefsson  <jas@extundo.com>
58419             Bruno Haible  <bruno@clisp.org>
58420
58421         * m4/getdomainname.m4: New file.
58422
58423 2003-09-25  Simon Josefsson  <jas@extundo.com>
58424             Bruno Haible  <bruno@clisp.org>
58425
58426         * lib/getdomainname.h: New file.
58427         * lib/getdomainname.c: New file.
58428
58429 2003-09-25  Karl Berry  <karl@gnu.org>
58430
58431         * lib/argp-fmtstream.c, argp-help.c: update from libc.
58432
58433 2003-09-25  Karl Berry  <karl@gnu.org>
58434
58435         * config/install-sh: update from automake.
58436
58437 2003-09-25  Bruno Haible  <bruno@clisp.org>
58438
58439         * modules/version-etc-2: New file, from modules/version-etc with
58440         modifications.
58441         * MODULES.html.sh (func_all_modules): Add version-etc-2.
58442
58443 2003-09-25  Bruno Haible  <bruno@clisp.org>
58444
58445         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
58446         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
58447
58448 2003-09-24  Simon Josefsson  <jas@extundo.com>
58449
58450         * modules/xgethostname: Add xgethostname.h.
58451
58452 2003-09-24  Paul Eggert  <eggert@twinsun.com>
58453
58454         * lib/linebuffer.c (freebuffer): Don't free the argument, just
58455         the buffer associated with the argument.  Bug reported by
58456         Simon Josefsson.
58457
58458 2003-09-24  Paul Eggert  <eggert@twinsun.com>
58459
58460         * README: Document assumptions that 'int' is at least 32 bits
58461         wide, that integer arithmetic is 2's complement without overflow,
58462         that there are no holes in integer values, that adding sizes of
58463         two nonoverlapping objects can't overflow, and that all-bits-zero
58464         yields scalar zero.  Fix spelling and capitalization typos.
58465
58466 2003-09-19  Karl Berry  <karl@gnu.org>
58467
58468         * lib/argp.h: update from libc.
58469
58470 2003-09-17  Paul Eggert  <eggert@twinsun.com>
58471
58472         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
58473         to avoid spurious warnings like "AC_RUN_IFELSE was called before
58474         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
58475
58476 2003-09-17  Paul Eggert  <eggert@twinsun.com>
58477
58478         * gnulib-tool: Use "test -h", not "test -L", for portability
58479         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
58480         (tags_regexp): Remove, since \| doesn't conform to POSIX.
58481         (sed_extract_prog): Issue s commands one-by-one, rather than
58482         using \| in one s command.
58483
58484 2003-09-16  Paul Eggert  <eggert@twinsun.com>
58485
58486         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
58487         input error, instead of returning NULL the next time we are called
58488         (and therefore losing track of errno).
58489
58490 2003-09-16  Bruno Haible  <bruno@clisp.org>
58491
58492         * gnulib-tool (func_create_testdir): Warn about duplicated
58493         dependencies.
58494
58495 2003-09-15  Paul Eggert  <eggert@twinsun.com>
58496
58497         * modules/argmatch, modules/fatal, modules/obstack,
58498         modules/xalloc, modules/xgethostname: Sort dependencies by
58499         importance, not alphabetically.
58500
58501 2003-09-15  Paul Eggert  <eggert@twinsun.com>
58502
58503         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
58504         fails, so that the caller gets the proper errno.
58505
58506         * lib/readutmp.c (read_utmp): Likewise.
58507         Check for fstat error.  Close stream and free storage
58508         when failing.
58509
58510 2003-09-14  Karl Berry  <karl@gnu.org>
58511
58512         * config/srclist.txt (strdup.c): disable for c89 changes.
58513
58514 2003-09-14  Jim Meyering  <jim@meyering.net>
58515
58516         * lib/getloadavg.c: Correct cpp indentation.
58517         * lib/strdup.c: Likewise.
58518         * lib/vasnprintf.c: Likewise.
58519
58520 2003-09-14  Bruno Haible  <bruno@clisp.org>
58521
58522         * modules/fwriteerror: New file.
58523         * MODULES.html.sh (func_all_modules): Add fwriteerror.
58524
58525 2003-09-14  Bruno Haible  <bruno@clisp.org>
58526
58527         * lib/fwriteerror.h: New file.
58528         * lib/fwriteerror.c: New file.
58529
58530 2003-09-12  Paul Eggert  <eggert@twinsun.com>
58531
58532         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
58533         modules/xgethostname, modules/xalloc: Depend on exit.
58534
58535 2003-09-12  Paul Eggert  <eggert@twinsun.com>
58536
58537         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
58538
58539         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
58540         and AC_MINIX, too, so that their extensions are available.
58541
58542         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
58543         This macro has been superseded by gl_BACKUPFILE.
58544
58545         More patches to assume C89 or better.
58546
58547         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
58548
58549         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
58550         unconditionally.
58551         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
58552         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
58553         Include <string.h>, <stdlib.h> unconditionally.
58554         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
58555         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
58556         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
58557         headers or for string.h.
58558         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
58559         or strtoul.
58560
58561         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
58562         headers.
58563         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
58564         * m4/userspec.m4 (gl_USERSPEC): Likewise.
58565         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
58566         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
58567         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58568         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
58569         memcpy, memset.
58570         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
58571         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
58572         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
58573         strtol.
58574         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
58575         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
58576         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
58577         strtoul.
58578
58579 2003-09-12  Paul Eggert  <eggert@twinsun.com>
58580
58581         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
58582         * lib/obstack.c [!defined _LIBC]: Likewise.
58583         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
58584         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
58585         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
58586
58587         More changes to assume C89 or better.
58588
58589         * lib/error.c (error_tail): Assume vprintf.
58590
58591         * lib/argmatch.c (getenv): Remove decl.
58592         * lib/progreloc.c (get_full_program_name): Define via prototype.
58593         * lib/setenv.c (clearenv): Likewise.
58594         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
58595         needed.
58596         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
58597         (malloc, memcpy): Remove decls.
58598         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
58599         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
58600         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
58601         (memcpy): Remove macro.
58602         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
58603         (__P): Remove.  All uses removed.
58604         (PTR): Remove.  All uses changed to void *.
58605         (CHAR_BIT, NULL): Remove.
58606         (spaces, zeros, memset_space, memset_zero)
58607         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
58608         Remove.
58609         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
58610         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
58611         Define with prototype.
58612         Remove now-unnecessary prototype decl.
58613         (extra_args_spec): Assume ANSI C.  All uses changed.
58614         (extra_args_spec_iso): Remove.
58615         (my_strftime, emacs_strftimeu): Define via prototype.
58616         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
58617         unconditionally.
58618         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
58619         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
58620         (strtoul, strtol): Remove decls.
58621         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
58622         LONG_MAX): Remove.
58623         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
58624         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
58625         (LOCALE_PARAM_PROTO): New macro.
58626         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
58627         (INTERNAL (strtol), strtol): Define with a prototype.
58628         (PARAMS): Remove.  All uses removed.
58629         * lib/tempname.c: Include <string.h> unconditionally.
58630         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
58631         * lib/xgethostname.c (main): Define with a prototype.
58632         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
58633         Include <stdlib.h> unconditionally.
58634         (calloc, malloc, realloc, free): Remove decls.
58635         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
58636         Include <stdlib.h> unconditionally.  Sort include file names.
58637         (strtod): Remove.
58638         (xstrtod): Define with a prototype.
58639         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
58640         (strtol, strtoul): Remove decls.
58641
58642 2003-09-11  Paul Eggert  <eggert@twinsun.com>
58643
58644         More patches to assume C89 or better.
58645         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
58646         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
58647         string.h, memchr, STDC_HEADERS.
58648
58649 2003-09-11  Paul Eggert  <eggert@twinsun.com>
58650
58651         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
58652         Include <stdlib.h>, <string.h> unconditionally.
58653         Remove now-unnecessary cast to char *.
58654         * lib/strnlen.c: Include <string.h> unconditionally.
58655         * lib/yesno.c (yesno): Define with a prototype.
58656
58657 2003-09-11  Bruno Haible  <bruno@clisp.org>
58658
58659         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
58660
58661 2003-09-10  Jim Meyering  <jim@meyering.net>
58662
58663         * lib/error.c: Correct indentation of cpp directives.
58664
58665 2003-09-10  Bruno Haible  <bruno@clisp.org>
58666
58667         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
58668         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
58669         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
58670         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
58671         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
58672         <stdlib.h> and <string.h> checks.
58673         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
58674         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
58675
58676 2003-09-10  Bruno Haible  <bruno@clisp.org>
58677
58678         * lib/strcspn.c: Include <string.h> unconditionally.
58679         * lib/strpbrk.c: Include <string.h> unconditionally.
58680         * lib/strstr.c: Include <string.h> unconditionally.
58681         * lib/unicodeio.c: Include <string.h> unconditionally.
58682         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
58683         * lib/unsetenv.c: Likewise.
58684         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
58685         * lib/yesno.c: Include <stdlib.h> unconditionally.
58686         (rpmatch): Add prototype.
58687
58688 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58689
58690         More patches to assume C89 or better.
58691         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
58692         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
58693         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
58694         or for string.h.
58695         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
58696         stdlib.h.
58697         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
58698         C headers.
58699         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
58700         string.h.
58701         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
58702         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
58703         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
58704         or for string.h.
58705         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
58706         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
58707         C headers.
58708         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
58709         memcpy.
58710         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
58711         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
58712         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
58713         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
58714         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
58715         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
58716         string.h, free.
58717         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
58718         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
58719         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
58720         C headers, or for string.h.
58721         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
58722         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
58723         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
58724         headers, memory.h, stdlib.h, string.h, strings.h.
58725         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
58726         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
58727         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
58728         strchr.
58729         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
58730         headers, memory.h, string.h.
58731         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
58732         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
58733         free.
58734         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
58735         headers.
58736         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
58737         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
58738         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
58739         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
58740         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
58741
58742 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58743
58744         More K&R removal.
58745
58746         * lib/acosl.c (main): Use a prototype.
58747         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
58748         tanl.c: Likewise.
58749
58750         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
58751
58752         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
58753         (getopt, etopt_long, getopt_long_only, _getopt_internal)
58754         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
58755         with a prototype.
58756         * lib/getopt.c (const): Remove macro.
58757         Include <string.h> unconditionally.
58758         (my_index): Remove; all uses changed to strchr.
58759         (strlen): Remove decl.
58760         (exchange): Remove forward decl; no longer needed.
58761         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
58762         Define with prototype.
58763         * lib/getopt1.c (const): Remove macro.
58764         (getopt_long, getopt_long_only, main): Define with prototype.
58765
58766         * lib/getugroups.c: Include <string.h> unconditionally.
58767
58768         * lib/getusershell.c: Include <stdlib.h> unconditionally.
58769         (getusershell, setusershell, endusershell, readname, main):
58770         Define with prototypes.
58771
58772         * lib/group-member.c: Include group-member.h first.
58773         Include <stdlib.h> unconditionally.
58774
58775         * lib/hard-locale.c: Include hard-locale.h first.
58776         Include <stdlib.h>, <string.h> unconditionally.
58777
58778         * lib/hash.c (free, malloc): Remove decls.
58779         Include <stdlib.h> unconditionally.
58780
58781         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
58782         (getenv): Do not declare.
58783
58784         * lib/idcache.c: Include <string.h> unconditionally.
58785
58786         * lib/long-options.c: Include long-options.h first, to test interface.
58787         Include <stdlib.h> unconditionally.
58788
58789         * lib/makepath.c: Include makepath.h first, to test interface.
58790         Include <stdlib.h> and <string.h> unconditionally.
58791
58792         * lib/linebuffer.c: Include <stdlib.h>.
58793         (free): Remove decl.
58794
58795         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
58796         stddef.h. rpl_malloc returns void *, not char *.
58797         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
58798         prototype.
58799
58800         * lib/md5.h: Include <limits.h> unconditionally.
58801         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
58802         (__P): Remove; all uses removed.
58803         * lib/md5.c: Include "md5.h" first.
58804         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
58805         md5_buffer, md5_process_bytes, md5_process_block):
58806         Define with prototypes.
58807         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
58808         * lib/sha.c: Include "sha.h" first.
58809         Include <stdlib.h>, <string.h> unconditionally.
58810
58811         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
58812         * lib/memcmp.c (__ptr_t): Likewise.
58813         * lib/memrchr.c (__ptr_t): Likewise.
58814         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
58815         Include <string.h> unconditionally.
58816         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
58817         * lib/memchr.c: Include <stdlib.h> unconditionally.
58818         * lib/memchr.c (LONG_MAX): Remove.
58819         * lib/memrchr.c (LONG_MAX): Likewise.
58820         * lib/memchr.c (__memchr): Define via a prototype.
58821         * lib/memrchr.c (__memrchr): Likewise.
58822         * lib/memcmp.c (__P): Remove, and remove all uses.
58823         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
58824         Remove forward decls; no longer needed.
58825         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
58826         Use types required by C89 in prototype.
58827
58828         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
58829         * lib/savedir.c: Likewise.
58830         * lib/mkdir.c (free): Remove decl.
58831         * lib/rmdir.c (rmdir): Define with a prototype.
58832         * lib/savedir.c: Include savedir.h first, to test interface.
58833
58834         * lib/mktime.c (STDC_HEADERS): Remove.
58835         Include <stdlib.h>, <string.h> unconditionally.
58836
58837         * lib/modechange.c: Include <stdlib.h> unconditionally.
58838         (malloc): Remove decl.
58839
58840         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
58841         (free): Remove decl.
58842
58843         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
58844         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
58845         (This type really should be intptr_t, but that's a C99ism.)
58846         (_obstack_memcpy): Remove: all uses changed to memcpy.
58847         Include <string.h> unconditionally.
58848         (struct obstack): Assume __STDC__ for types of members
58849         chunkfun, freefun, extra_arg.
58850         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
58851         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
58852         obstack_begin, obstack_specify_allocation,
58853         obstack_specify_allocation_with_arg, obstack_chunkfun,
58854         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
58855         Remove unprototyped decls and the macros that use them.
58856         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
58857         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
58858         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
58859         (defined __STDC__ && __STDC__)]:
58860         Remove nonprototyped code.
58861         Include <stdlib.h> unconditionally.
58862         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
58863         _obstack_allocated_p, _obstack_free, obstack_free,
58864         _obstack_memory_used, print_and_abort):
58865         Define using prototypes.
58866         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
58867         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
58868         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
58869         obstack_next_free, obstack_object_size, obstack_room) [0]:
58870         Remove unused, unprototyped code.
58871
58872         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
58873
58874         * lib/physmem.c (physmem_total, physmem_available, main): Define
58875         with prototypes.
58876
58877         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
58878         (main): Define with a prototype.
58879
58880         * lib/posixver.c (getenv): Remove decl.
58881
58882         * lib/putenv.c (malloc): Returns void *, not char *.
58883         Include <string.h> unconditionally.
58884         (strchr, memcpy, NULL): Do not define.
58885
58886         * lib/readtokens.c: Include readtokens.h first, to test interface.
58887         Include <stdlib.h>, <string.h> unconditionally.
58888         (init_tokenbuffer): Define with a prototype.
58889
58890         * lib/regex.c (PARAMS): Remove.  All uses removed.
58891         All uses of _RE_ARGS removed, too.
58892         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
58893         unconditionally.
58894         (bzero): Assume memset exists.
58895         (memcmp, memcpy, NULL): Remove.
58896         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
58897         char, or assignments to local vars of type signed char.
58898         (init_syntax_once, PREFIX(extract_number_and_incr),
58899         PREFIX(print_partial_compiled_pattern),
58900         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
58901         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
58902         PREFIX(regex_grow_registers), PREFIX(regex_compile),
58903         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
58904         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
58905         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
58906         wcs_compile_range, byte_compile_range, truncate_wchar,
58907         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
58908         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
58909         count_mbs_length, wcs_re_match_2_internal,
58910         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
58911         PREFIX(alt_match_null_string_p),
58912         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
58913         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
58914         regfree, PREFIX(extract_number)): Define with prototype.  Remove
58915         now-unnecessary declaration, if any.
58916         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
58917         regcomp, regexec):
58918         Remove now-unnecessary casts among pointer types.
58919         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
58920
58921         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
58922         (free): Remove decl.
58923
58924         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
58925
58926         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
58927         (free): Remove decl.
58928
58929         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
58930         * lib/xgetcwd.c: Likewise.
58931
58932         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
58933         (free): Remove decl.
58934
58935         * lib/strchrnul.c (strchrnul): Define with a prototype.
58936         Fix bug: c_in was not converted to char before searching.
58937
58938         The following changes are not K&R related:
58939
58940         * lib/group-member.h: Include <sys/types.h>, so that this file is
58941         self-contained.
58942         * lib/makepath.h: Likewise.
58943
58944         * lib/getusershell.c (readname, default_index, line_size, readname):
58945         Use size_t, not int, for sizes.
58946         (readname): If the size overflows, report an error instead of
58947         looping forever.
58948
58949 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58950
58951         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
58952         libc.
58953
58954 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58955
58956         * README: New section: portability guidelines.
58957
58958 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58959
58960         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
58961         C89 spec.
58962
58963 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58964
58965         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
58966
58967 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58968
58969         Assume C89 or better; remove K&R cruft.
58970         A few of these changes were first proposed by Derek Robert Price
58971         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
58972
58973         * lib/addext.c: Include <string.h> unconditionally.
58974         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
58975         Don't declare getenv or malloc.
58976
58977         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
58978         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
58979         (NULL): Remove.
58980         (find_stack_direction, alloca): Use prototypes.
58981
58982         * lib/atexit.c (atexit): Define using a prototype.
58983
58984         * lib/basename.c, dirname.c, stripslash.c:
58985         Include <string.h> unconditionally.
58986
58987         * lib/bcopy.c: Include <stddef.h>.
58988         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
58989
58990         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
58991
58992         * lib/error.h (error, error_at_line, error_print_progname)
58993         [! (defined (__STDC__) && __STDC__)]: Remove decls.
58994         * lib/error.c: Include error.h first, to check interface.
58995         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58996         (VA_START): Remove; all uses changeed to va_start.
58997         (exit, strerror): Remove decls.
58998         (error_print_progname): Prototype uncondionally.
58999         Don't include <errno.h>; no longer needed.
59000         (private_strerror): Remove.
59001         (error_tail): Always define.
59002         (error, error_at_line): Assume C89 or better; always use prototypes.
59003         * lib/fatal.c: Include "fatal.h" first, to test interface.
59004         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
59005         (VA_START): Remove; all uses changed to va_start.
59006         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
59007         this case.
59008         (exit): Remove decl.
59009         (fatal): Prototype unconditionally.  Assume va_start works.
59010         Abort at end, to pacify gcc.
59011
59012         * lib/euidaccess.c (main): Define with a prototype.
59013
59014         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
59015
59016         * lib/exitfail.c: Include <stdlib.h> unconditionally.
59017
59018         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
59019         prototypes.
59020         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
59021         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
59022         (getenv): Remove decl.
59023         (fnmatch): Define using a prototype.
59024         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
59025         (FCT): Define using a prototype.
59026
59027         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
59028
59029         * lib/gethostname.c: Include <stddef.h>.
59030         (gethostname): Define with prototype.  Length is size_t, not int.
59031
59032 2003-09-08  Paul Eggert  <eggert@twinsun.com>
59033
59034         Assume C89 or better; remove K&R cruft.
59035         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
59036         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
59037         string.h, getenv, malloc.
59038         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
59039         headers.
59040         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
59041         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
59042         do not check for strerror.
59043         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
59044         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
59045         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
59046         do not check for doprnt or vprintf.
59047         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
59048         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
59049
59050 2003-09-08  Paul Eggert  <eggert@twinsun.com>
59051
59052         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
59053         getversion.c should have been removed then, but was accidentally
59054         preserved.
59055
59056         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
59057         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
59058
59059 2003-09-08  Karl Berry  <karl@gnu.org>
59060
59061         * config/config.sub, config.guess, srclistvars.sh: update from savannah
59062                 config, forget about prep.
59063
59064         * config/depcomp, missing: update from automake.
59065
59066 2003-09-07  Paul Eggert  <eggert@twinsun.com>
59067
59068         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
59069         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
59070
59071 2003-09-07  Paul Eggert  <eggert@twinsun.com>
59072
59073         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
59074         copy_tm_result.  Bug reported by Simon Josefsson in
59075         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
59076
59077 2003-09-06  Paul Eggert  <eggert@twinsun.com>
59078
59079         * m4/time_r.m4: New file.
59080         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
59081         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
59082         is. Check for timegm declaration.
59083         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
59084         Do not check for gmtime_r.
59085         Replace mktime if __mktime_internal does not exist and if mktime
59086         hasn't been replaced already.
59087
59088 2003-09-06  Paul Eggert  <eggert@twinsun.com>
59089
59090         * lib/time_r.c, lib/time_r.h: New files.
59091
59092         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
59093         __localtime_r.
59094         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
59095         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
59096
59097         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
59098         __gmtime_r.
59099         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
59100         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
59101         Include <time_r.h>.
59102
59103         * lib/timegm.c: Switch to glibc implementation, with the following
59104         changes:
59105         [defined HAVE_CONFIG_H]: Include <config.h>.
59106         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
59107         (__mktime_internal) [!defined _LIBC]: New decl.
59108         (__gmtime_r) [!defined _LIBC]: New macro and function.
59109         (timegm): Use a prototype, since gnulib assumes C89.
59110         Do not bother declaring tmp to be const, as it's not really usefu.
59111         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
59112         (timegm): Declare only if HAVE_DECL_TIMEGM.
59113
59114 2003-09-06  Paul Eggert  <eggert@twinsun.com>
59115
59116         * MODULES.html.sh (func_all_modules): Add time_r.
59117         * modules/time_r: New file.
59118         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
59119         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
59120
59121 2003-09-03  Paul Eggert  <eggert@twinsun.com>
59122
59123         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
59124         Bug reported by Lute Kamstra in
59125         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
59126
59127         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
59128         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
59129         course with correspondingly smaller numbers for tomorrow and
59130         yesterday.  From Tadayoshi Funaba.  Originally installed into
59131         sh-utils on 1999-08-07, but the patch got lost (I guess during the
59132         coreutils merge?).
59133
59134 2003-08-31  Simon Josefsson  <jas@extundo.com>
59135
59136         * modules/timegm: New file.
59137         * MODULES.html.sh (func_all_modules): Add timegm.
59138
59139 2003-08-31  Simon Josefsson  <jas@extundo.com>
59140
59141         * m4/timegm.m4: New file.
59142
59143 2003-08-31  Simon Josefsson  <jas@extundo.com>
59144
59145         * lib/timegm.h: New file.
59146         * lib/timegm.c: New file.  Based on
59147         wget-1.8.2/src/http.c:mktime_from_utc.
59148
59149 2003-08-31  Karl Berry  <karl@gnu.org>
59150
59151         * lib/argp.h: update from libc.
59152
59153 2003-08-28  Bruno Haible  <bruno@clisp.org>
59154
59155         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
59156         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
59157         followed by '#define fnmatch fnmatch_posix' gives an error.
59158
59159 2003-08-28  Bruno Haible  <bruno@clisp.org>
59160
59161         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
59162         warning on QNX, which defines O_BINARY to 000000.
59163
59164 2003-08-27  Jim Meyering  <jim@meyering.net>
59165
59166         * m4/mkstemp.m4: Require that the system mkstemp be able to create
59167         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
59168         would fail after 32.  Reported by Danny Levinson.  Details here:
59169         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
59170
59171 2003-08-24  Bruno Haible  <bruno@clisp.org>
59172
59173         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
59174         MSVC7 <stdio.h> is included later.
59175
59176 2003-08-22  Simon Josefsson  <jas@extundo.com>
59177
59178         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
59179
59180 2003-08-20  Karl Berry  <karl@gnu.org>
59181
59182         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
59183
59184 2003-08-20  Bruno Haible  <bruno@clisp.org>
59185
59186         * modules/progname: New file.
59187         * MODULES.html.sh (func_all_modules): Add progname.
59188
59189 2003-08-20  Bruno Haible  <bruno@clisp.org>
59190
59191         * lib/progname.h: New file, from GNU gettext.
59192         * lib/progname.c: New file, from GNU gettext.
59193         * lib/progreloc.c: New file, from GNU gettext.
59194
59195 2003-08-19  Jim Meyering  <jim@meyering.net>
59196
59197         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
59198         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
59199
59200 2003-08-19  Bruno Haible  <bruno@clisp.org>
59201
59202         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
59203         more.
59204
59205 2003-08-19  Bruno Haible  <bruno@clisp.org>
59206
59207         * lib/xstrdup.c: Assume <string.h> exists.
59208
59209 2003-08-18  Paul Eggert  <eggert@twinsun.com>
59210
59211         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
59212         in makefile rules.
59213
59214 2003-08-18  Jim Meyering  <jim@meyering.net>
59215
59216         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
59217         * m4/lib-ld.m4: Likewise.
59218
59219 2003-08-18  Jim Meyering  <jim@meyering.net>
59220
59221         * lib/setenv.h: Indent nested cpp directive.
59222         * lib/vasnprintf.c: Remove trailing blanks.
59223
59224 2003-08-17  Simon Josefsson  <jas@extundo.com>
59225
59226         * modules/xstrndup: New file.
59227         * MODULES.html.sh (func_all_modules): Add xstrndup.
59228
59229 2003-08-17  Simon Josefsson  <jas@extundo.com>
59230
59231         * modules/argp: Fix autoconf macro name. Add more dependencies.
59232
59233 2003-08-17  Simon Josefsson  <jas@extundo.com>
59234
59235         * m4/xstrndup.m4: New file.
59236
59237 2003-08-17  Simon Josefsson  <jas@extundo.com>
59238
59239         * m4/argp.m4: New file.
59240
59241 2003-08-17  Simon Josefsson  <jas@extundo.com>
59242             Bruno Haible  <bruno@clisp.org>
59243
59244         * lib/xstrndup.h: New file.
59245         * lib/xstrndup.c: New file.
59246
59247 2003-08-17  Bruno Haible  <bruno@clisp.org>
59248
59249         * modules/strndup (Files, Include): Add lib/strndup.h.
59250
59251 2003-08-17  Bruno Haible  <bruno@clisp.org>
59252
59253         * modules/euidaccess (Files): Add lib/euidaccess.h.
59254
59255 2003-08-17  Bruno Haible  <bruno@clisp.org>
59256
59257         * lib/strndup.h: New file.
59258
59259 2003-08-17  Bruno Haible  <bruno@clisp.org>
59260
59261         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
59262         like AC_GNU_SOURCE.
59263         * modules/extensions (configure.ac): Comment out the invocation of
59264         gl_USE_SYSTEM_EXTENSIONS.
59265
59266 2003-08-16  Paul Eggert  <eggert@twinsun.com>
59267
59268         Merges from coreutils, etc.
59269         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
59270         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
59271         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
59272         fixing a typo.
59273         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
59274         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
59275
59276 2003-08-16  Paul Eggert  <eggert@twinsun.com>
59277
59278         Document merge from coreutils.
59279         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
59280         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
59281         * modules/utime: Add m4/utimes-null.m4.
59282
59283 2003-08-16  Paul Eggert  <eggert@twinsun.com>
59284
59285         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
59286         space, undoing this 2003-08-12 change:
59287         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
59288
59289 2003-08-16  Paul Eggert  <eggert@twinsun.com>
59290
59291         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
59292         strtoul.c from libc, undoing this 2003-08-12 change:
59293         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
59294
59295 2003-08-16  Jim Meyering  <jim@meyering.net>
59296
59297         Merges from coreutils.
59298         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
59299         prefix.  Adjust cache variables similarly.  Create 500 rather than
59300         just 300 files, to exercise bug on Darwin6.5, too.
59301         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
59302         $missing_dir.
59303         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
59304         AM_SYS_POSIX_TERMIOS.
59305         Reported by mkc@mathdogs.com.
59306         Also change use of $am_cv_sys_posix_termios
59307         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
59308         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
59309         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
59310         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
59311         in /proc/mounts until it finds one with matching device number.  This
59312         is unnecessary when the FILE argument *is* a mount point.  No stat call
59313         is necessary in that case.  So, disable the statvfs-testing code on
59314         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
59315         as RedHat bug# 84846.
59316         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
59317         to 1MB, so as not to render systems with no stack size limit (e.g.,
59318         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
59319         Include <unistd.h>.  On some systems,
59320         it is required for the definition of _SC_PAGESIZE.
59321
59322 2003-08-16  Jim Meyering  <jim@meyering.net>
59323
59324         Merge from coreutils.
59325         * lib/xstrtoimax.c: #else #if -> #elif.
59326         * lib/xstrtoumax.c: Likewise.
59327
59328 2003-08-16  Jim Meyering  <jim@meyering.net>
59329
59330         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
59331         * m4/utimes.m4: Removed.
59332         * m4/utimes-null.m4: Renamed from utimes.m4.
59333
59334         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
59335         to 1MB, so as not to render systems with no stack size limit (e.g.,
59336         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
59337         Include <unistd.h>.  On some systems,
59338         it is required for the definition of _SC_PAGESIZE.
59339
59340 2003-08-16  Jim Meyering  <jim@meyering.net>
59341         and Paul Eggert  <eggert@cs.ucla.edu>
59342
59343         Merges from coreutils, etc.
59344
59345         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
59346         using the latest version from cvs.  This avoids problems with #line
59347         directives using a vendor (Sun) compiler.
59348         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
59349         Don't set GETGROUPS_LIB here; now it's
59350         done via getgroups.m4's wrapper function.
59351         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
59352         rather than just in sh-util/configure.in, so that the
59353         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
59354         same.
59355         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
59356         AC_FUNC_GETLOADAVG where to find getloadavg.c.
59357         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
59358         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
59359         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
59360         Remove code that is now done by the newly-required macros.
59361         Append $(EXEEXT) to DF_PROG.
59362         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
59363         Do not invoke or require the following here,
59364         since prereq.m4 or some gnulib .m4 now does this for us:
59365         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
59366         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
59367         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
59368         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
59369         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
59370         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
59371         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
59372         AC_FUNC_OBSTACK.
59373         Do not replace the following functions, as this is now the job
59374         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
59375         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
59376         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
59377         atexit getpass, strdup, getpagesize.
59378         Replace 'raise'.
59379         Do not check for the following functions, as this is now the job
59380         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
59381         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
59382         setregid.
59383         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
59384         Check for sys/sysctl.h.
59385         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
59386         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
59387         of checking for ssize_t ourselves.
59388
59389         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
59390         Require every macro that gnulib/modules/* suggests for us.
59391         (jm_PREREQ_ADDEXT): New macro.
59392         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
59393         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
59394
59395         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
59396         (gl_PHYSMEM): Use it.
59397         Also check for `table' function.
59398         Check for new headers and functions.
59399         Add check for sys/sysmp.h.
59400         With suggestions from Kaveh Ghazi.
59401         Ignore headers that are present but cannot be compiled.  This
59402         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
59403         C 5.4.
59404
59405 2003-08-15  Paul Eggert  <eggert@twinsun.com>
59406
59407         Document merge from coreutils.
59408         * modules/userspec: Depend on posixver.
59409         * modules/strftime: Depend on tzset.
59410
59411 2003-08-15  Paul Eggert  <eggert@twinsun.com>
59412
59413         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
59414         rather than tab, after '#' in shell-script copyright notices.
59415         Suggested by Bruno Haible.
59416
59417 2003-08-15  Paul Eggert  <eggert@twinsun.com>
59418
59419         * config/srclist-update: Use three spaces, rather than tab, after '#'
59420         in shell-script copyright notices.  Suggested by Bruno Haible.
59421         Remove unnecessary parenthesization in regular expression.
59422
59423 2003-08-15  Jim Meyering  <jim@meyering.net>
59424
59425         Merge from coreutils.
59426         * lib/xgethostname.c: Include <stdlib.h>.
59427         (xghostname): Don't exit for anything other than memory-related
59428         failure; just return NULL.
59429         * lib/userspec.c: Include "posixver.h".
59430         (parse_user_spec): Accept `.' as a separator only
59431         in pre-POSIX-200112 mode.
59432         * lib/strtoimax.c: Use #elif rather than #else #if.
59433         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
59434         Remove function, now that we can rely on a working tzset function.
59435         [!_LIBC]: Ensure that the required autoconf test has been run.
59436         [!defined _NL_CURRENT && HAVE_STRFTIME]:
59437         Use underlying_strftime for %r.
59438         * lib/sha.c: Merge in some clean-up and optimization changes from
59439         glibc.
59440         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
59441         Ensure that it is a multiple of 64.
59442         Rearrange loop exit tests so as to avoid performing an
59443         additional fread after encountering an error or EOF.
59444         * lib/realloc.c: Update copyright date.
59445
59446 2003-08-15  Jim Meyering  <jim@meyering.net>
59447         and Paul Eggert  <eggert@twinsun.com>
59448
59449         Merge from coreutils.
59450         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
59451         member but strut utmpx does not.  Needed for AIX 4.3.3.
59452         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
59453
59454 2003-08-15  Jim Meyering  <jim@meyering.net>
59455         and Paul Eggert  <eggert@cs.ucla.edu>
59456
59457         Merges from coreutils, etc.
59458         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
59459         Require gl_FUNC_TZSET_CLOBBER.
59460         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
59461         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
59462         members.
59463
59464 2003-08-14  Paul Eggert  <eggert@twinsun.com>
59465
59466         Help the merge from coreutils.
59467         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
59468         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
59469         * m4/tzset.m4: Use it too.
59470
59471 2003-08-14  Paul Eggert  <eggert@twinsun.com>
59472
59473         * modules/tzset: New file.
59474
59475 2003-08-14  Jim Meyering  <jim@meyering.net>
59476
59477         Merges from coreutils.
59478         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
59479         variable names, rather than @FNMATCH_H@.
59480         * modules/alloca: Likewise for $(ALLOCA_H).
59481
59482         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
59483         the three copies of the literal target, `fnmatch.h'.
59484         * modules/alloca (alloca.h): Likewise.
59485
59486 2003-08-14  Jim Meyering  <jim@meyering.net>
59487
59488         Merge from coreutils.
59489         * m4/tzset.m4: New file.
59490         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
59491         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
59492         otherwise, AIX 5.1 systems would end up using the latter.
59493         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
59494         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
59495         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
59496         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
59497
59498 2003-08-14  Jim Meyering  <jim@meyering.net>
59499
59500         Merge from coreutils.
59501         * lib/obstack.h: Whitespace changes.
59502         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
59503         and xcalloc return values.
59504         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
59505         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
59506         hang on OSF/1 5.1 for DIR on both local and remote file systems.
59507         Reported by (and fix confirmed by) Nelson H. F. Beebe.
59508         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
59509         error from mntctl.
59510         Use mntctl's return value to drive the entry-processing loop, since
59511         we can't rely on the value of the vmt_length member in the last
59512         entry.  On some systems doing so could result in exhausting
59513         virtual memory.  Based in part on a patch from Mike Jetzer.
59514
59515 2003-08-14  Jim Meyering  <jim@meyering.net>
59516         and Paul Eggert  <eggert@twinsun.com>
59517
59518         Merges from coreutils, plus other fixes.
59519         * lib/physmem.c: Merge in portability changes from gcc/libiberty
59520         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
59521         for credits and details.  Thanks to Kaveh Ghazi for helping
59522         to keep these files in sync.
59523         (ARRAY_SIZE): Define it.
59524         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
59525         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
59526         (memcasecmp): Don't assume size_t fits in unsigned int.
59527         Remove casts and duplicate code.
59528         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
59529         (memcpy): Remove definition.
59530         Merge in some clean-up and optimization changes from glibc.
59531         [BLOCKSIZE]: Move definition to top of file.
59532         Ensure that it is a multiple of 64.
59533         Rearrange loop exit tests so as to avoid performing an
59534         additional fread after encountering an error or EOF.
59535         * lib/md5.h (md5_uintptr): Define.
59536         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
59537         return to the initial working directory.  Preserve errno
59538         for caller.
59539         * lib/idcache.c: Include "xalloc.h".
59540         (xmalloc, xrealloc): Remove decls.
59541         (getuser): Remove casts no longer required in C89.
59542         * lib/human.c: Include stdio.h, for sprintf.
59543         * lib/group-member.c: Include "xalloc.h".
59544         (xmalloc, xrealloc): Remove decls.
59545         (get_group_info): Remove casts no longer required in C89.
59546         * lib/getusershell.c (readname): Remove casts no longer required in
59547         C89.
59548         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
59549         * lib/getline.c: Whitespace fix, from coreutils.
59550
59551 2003-08-13  Paul Eggert  <eggert@twinsun.com>
59552
59553         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
59554         Check for isascii.
59555
59556         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
59557         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
59558         Undo previous (whitespace-only) change.
59559
59560 2003-08-13  Paul Eggert  <eggert@twinsun.com>
59561
59562         * lib/exclude.c: Include <ctype.h>
59563         (IN_CTYPE_DOMAIN): New macro.
59564         (is_space): New fn.
59565         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
59566         and empty lines.
59567
59568         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
59569         Undo previous (whitespace-only) change.
59570
59571 2003-08-13  Paul Eggert  <eggert@twinsun.com>
59572
59573         * config/srclist-update: Change update back to the old behavior,
59574         leaving whitespace alone.  Use one 'sed' command rather than a
59575         pipeline.
59576         (fixlicense): Now a variable, not a function.
59577         (remove_trailing_blanks): Remove.
59578         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
59579         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
59580         Undo previous (whitespace-only) change.
59581
59582 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59583
59584         Merge from coreutils.
59585         * modules/euidaccess: Add lib_SOURCES, include for new
59586         file euidaccess.h
59587
59588 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59589
59590         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
59591         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
59592         Normalize leading white space and remove trailing white space.
59593
59594         Merge from coreutils
59595         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
59596
59597         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
59598         0.12.1.  These files are now being upgraded automatically by
59599         ../config/srclist-update.
59600
59601 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59602
59603         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
59604         Normalize leading white space and remove trailing white space.
59605         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
59606         notice, as per ../config/srclist-update.
59607
59608         Merge from coreutils.
59609         * lib/euidaccess.h: New file.
59610         * lib/euidaccess.c: Include it.
59611         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
59612         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
59613         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
59614
59615 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59616
59617         * config/srclist-update: Add copyright notice.
59618         (remove_id_lines, remove_trailing_blanks): New constants.
59619         (fixfile): Use them to normalize spacing a bit in copied files.
59620         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
59621         Normalize leading white space and remove trailing white space.
59622
59623         * config/texinfo.tex: Sync with texinfo.
59624
59625         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
59626         strtoul.c from libc, to merge coreutils whitespace changes.
59627
59628         * config/srclist.txt: Get the following m4 files from gettext:
59629         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
59630         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
59631         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
59632         wint_t.m4.
59633
59634 2003-08-12  Karl Berry  <karl@gnu.org>
59635
59636         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
59637         been made.
59638
59639 2003-08-11  Paul Eggert  <eggert@twinsun.com>
59640
59641         * modules/gnu-source, m4/gnu-source.m4:
59642         Remove; we're assuming Autoconf 2.54 or later now.
59643         Suggested by Bruno Haible.
59644         * MODULES.html.sh (func_all_modules): Remove gnu-source.
59645
59646 2003-08-11  Bruno Haible  <bruno@clisp.org>
59647
59648         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
59649
59650 2003-08-11  Bruno Haible  <bruno@clisp.org>
59651
59652         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
59653         (vasnprintf): Use it instead of wcslen.
59654
59655 2003-08-11  Bruno Haible  <bruno@clisp.org>
59656
59657         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
59658         value to ensure that _Bool promotes to int. Use #define for _Bool when
59659         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
59660
59661 2003-08-10  Karl Berry  <karl@gnu.org>
59662
59663         * lib/regex.h: update from libc (whitespace fix).
59664
59665 2003-08-09  Paul Eggert  <eggert@twinsun.com>
59666
59667         Merge some files from coreutils.  These changes were
59668         originally made by Jim Meyering.
59669         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
59670         many older Unixes require this.
59671         * lib/alloca.c (alloca): Remove cast to argument of free;
59672         no longer needed in C89.
59673         * lib/alloca_.h, regex.h: Fix white space to match
59674         what GNU indent does.
59675
59676 2003-08-09  Paul Eggert  <eggert@twinsun.com>
59677
59678         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
59679         apparently Emacs's Unicode mode got confused before my 2003-08-05
59680         checkin.
59681
59682 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59683
59684         * m4/extensions.m4: New file.
59685         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
59686         Require gl_USE_SYSTEM_EXTENSIONS.
59687         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
59688         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
59689
59690 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59691
59692         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
59693         * modules/extensions, modules/gnu-source: New files.
59694         * modules/timespec, modules/unlocked-io: Depend on extensions.
59695
59696 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59697
59698         * modules/restrict: New file.
59699         * MODULES.html.sh (func_all_modules): Add restrict.
59700         * modules/regex: Depend on restrict.
59701
59702 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59703
59704         * m4/restrict.m4: New file.
59705         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
59706
59707 2003-08-07  Bruno Haible  <bruno@clisp.org>
59708
59709         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
59710         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
59711
59712 2003-08-07  Bruno Haible  <bruno@clisp.org>
59713
59714         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
59715         makes the module 'getndelim2' compatible with the module 'getline'.
59716
59717 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59718
59719         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
59720         byte with "\201" to avoid glitches when editing that source file
59721         with multi-gnome-terminal.
59722
59723 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59724
59725         * lib/bumpalloc.h: Remove.
59726
59727 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59728
59729         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
59730         * modules/bumpalloc: Remove.
59731
59732 2003-08-04  Paul Eggert  <eggert@twinsun.com>
59733
59734         * lib/getloadavg.c: Change copyright notice and spacing to conform to
59735         GNU coding style.
59736
59737         Merge from coreutils.
59738         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
59739         1. From glibc.
59740         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
59741         from Karl Berry, implemented by Jim Meyering.
59742         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
59743         from Dmitry V. Levin.
59744         Remove anachronistic cast of xrealloc.
59745         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
59746         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
59747         type. Otherwise, it wouldn't compile with at least /bin/cc on
59748         ymp-cray-unicos9.0.2.X.
59749         Combine two mostly-identical uses of alloca into one.
59750         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
59751
59752 2003-08-04  Dave Love  <d.love@dl.ac.uk>
59753
59754         [From Emacs.]
59755
59756         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
59757         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
59758         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
59759         obsolete NLIST_NAME_UNION.
59760         [__GNU__]: Undef BSD and FSCALE.
59761         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
59762
59763 2003-08-03  Paul Eggert  <eggert@twinsun.com>
59764
59765         * lib/stdbool_.h (_Bool): Make it signed char, instead of
59766         an enum type, so that it's guaranteed to promote to int.  See:
59767         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
59768
59769 2003-08-03  Karl Berry  <karl@gnu.org>
59770
59771         * config/depcomp: update from automake.
59772
59773 2003-07-31  Paul Eggert  <eggert@twinsun.com>
59774
59775         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
59776         (strerror): Don't assume that a printable int fits in 14 bytes.
59777
59778 2003-07-31  Bruno Haible  <bruno@clisp.org>
59779
59780         * modules/getpass-gnu: New file.
59781         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
59782
59783 2003-07-31  Bruno Haible  <bruno@clisp.org>
59784
59785         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
59786
59787 2003-07-24  Karl Berry  <karl@gnu.org>
59788
59789         * config/missing: update from automake.
59790
59791 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
59792             Bruno Haible  <bruno@clisp.org>
59793
59794         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
59795         * lib/getline.c (getline, getdelim): Likewise.
59796         Remove _GNU_SOURCE define; now it's defined in config.h through
59797         m4/getline.m4.
59798
59799 2003-07-23  Karl Berry  <karl@gnu.org>
59800
59801         * config/config.sub: update from prep.
59802
59803 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59804
59805         * modules/xalloc (Depends-on): Add exitfail.
59806         * modules/xmemcoll: Likewise.
59807
59808 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59809
59810         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
59811         over-parenthesization in macros.
59812
59813         Sync with coreutils.
59814
59815         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
59816         required by C99.
59817
59818         Use `exit_failure' for xalloc and xmemcoll instead of their own
59819         private exit-failure variables.
59820         * lib/xalloc.h (xalloc_exit_failure): Remove.
59821         * lib/xmalloc.c: Likewise.  Include exitfail.h.
59822         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
59823         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
59824         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
59825         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
59826
59827 2003-07-20  Jim Meyering  <jim@meyering.net>
59828
59829         * modules/closeout (Depends-on): Add exitfail.
59830         Suggestion from Bruno Haible.
59831
59832 2003-07-19  Karl Berry  <karl@gnu.org>
59833
59834         * config/config.sub: update from prep.
59835
59836 2003-07-18  Paul Eggert  <eggert@twinsun.com>
59837
59838         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
59839         Remove.
59840         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
59841         to test that it can stand by itself.  Include "exitfail.h".
59842         Clients should set exit_failure instead.
59843         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
59844
59845 2003-07-18  Bruno Haible  <bruno@clisp.org>
59846
59847         * modules/getndelim2: New file.
59848         * modules/getline: Share files with module getndelim2.
59849         * modules/getnline: Depend on getndelim2 instead of sharing files with
59850         it. Add getnline.c to lib_SOURCES.
59851         * MODULES.html.sh (func_all_modules): Add getndelim2.
59852
59853 2003-07-18  Bruno Haible  <bruno@clisp.org>
59854
59855         * m4/getndelim2.m4: New file.
59856         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
59857         invoke gl_PREREQ_GETNDELIM2.
59858         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
59859         gl_PREREQ_GETNDELIM2.
59860         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
59861         gl_GETNDELIM2.
59862
59863 2003-07-18  Bruno Haible  <bruno@clisp.org>
59864
59865         * lib/getndelim2.h: New file.
59866         * lib/getndelim2.c: Make into a module of its own. Include config.h,
59867         getndelim2.h.
59868         (getndelim2): Make non-static. Change return type to ssize_t.
59869         * lib/getline.h: Change argument names.
59870         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
59871         * lib/getnline.c: Include getndelim2.h.
59872
59873 2003-07-18  Andreas Schwab  <schwab@suse.de>
59874
59875         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
59876
59877 2003-07-17  Karl Berry  <karl@gnu.org>
59878
59879         * config/config.sub: update from prep.
59880
59881 2003-07-17  Bruno Haible  <bruno@clisp.org>
59882
59883         * modules/getnline: New file.
59884         * modules/getline: Add lib/getndelim2.c to source file list.
59885         * MODULES.html.sh (func_all_modules): Add getnline.
59886
59887 2003-07-17  Bruno Haible  <bruno@clisp.org>
59888
59889         * m4/getnline.m4: New file.
59890
59891 2003-07-17  Bruno Haible  <bruno@clisp.org>
59892
59893         * m4/Makefile.am.in: Remove file.
59894         * m4/Makefile.am: Remove file.
59895         * m4/Makefile.in: Remove file.
59896
59897 2003-07-17  Bruno Haible  <bruno@clisp.org>
59898
59899         * lib/getnline.h: New file.
59900         * lib/getnline.c: New file.
59901         * lib/getndelim2.c: New file, extracted from getline.c.
59902         (getndelim2): Renamed from getdelim2, with added nmax argument.
59903         * lib/getline.c: Include getndelim2.c.
59904         (getdelim2): Moved out to getndelim2.c.
59905         (getline, getdelim): Update.
59906
59907 2003-07-17  Bruno Haible  <bruno@clisp.org>
59908
59909         * lib/Makefile.am: Remove file.
59910         * lib/Makefile.in: Remove file.
59911
59912 2003-07-17  Bruno Haible  <bruno@clisp.org>
59913
59914         * configure.in: Remove file.
59915         * Makefile.in: Remove file.
59916
59917 2003-07-17  Bruno Haible  <bruno@clisp.org>
59918
59919         * MODULES.html.sh: Put the </BODY> right before </HTML>.
59920
59921 2003-07-16  Karl Berry  <karl@gnu.org>
59922
59923         * config/srclist-update: was running fixlicense twice, which caused
59924                 texinfo.tex to be nullified for some reason.  Simplify,
59925                 $gplsrc is no longer needed as far as I can see?
59926
59927 2003-07-16  Jim Meyering  <jim@meyering.net>
59928
59929         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
59930
59931 2003-07-15  Paul Eggert  <eggert@twinsun.com>
59932
59933         * config/srclist.txt: Get the following files from gettext-runtime/intl
59934         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
59935         ref-del.sin.  From Bruno Haible.
59936         * config/srclist-update (fixfile): Change grep pattern again, since the
59937         previous fix didn't work (there was another trailing $).  Use
59938         '[$]' to escape the $s.
59939
59940 2003-07-15  Karl Berry  <karl@gnu.org>
59941
59942         * lib/vasnprintf.c: update from gettext.
59943
59944 2003-07-15  Karl Berry  <karl@gnu.org>
59945
59946         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
59947         gets expanded when surrounded by '$'.
59948
59949 2003-07-15  Jim Meyering  <jim@meyering.net>
59950
59951         * modules/save-cwd: Don't depend on error.  From Derek Price.
59952
59953 2003-07-15  Jim Meyering  <jim@meyering.net>
59954
59955         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
59956
59957 2003-07-14  Simon Josefsson  <jas@extundo.com>
59958
59959         * modules/mempcpy: New file.
59960         * MODULES.html.sh (func_all_modules): Add mempcpy.
59961
59962 2003-07-14  Simon Josefsson  <jas@extundo.com>
59963
59964         * m4/mempcpy.m4: New file.
59965
59966 2003-07-14  Simon Josefsson  <jas@extundo.com>
59967
59968         * lib/mempcpy.h: New file.
59969         * lib/mempcpy.c: New file.
59970
59971 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59972
59973         * modules/getdate, modules/posixtm: Depend on mktime.
59974
59975 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59976
59977         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
59978         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
59979         unicodeio.c, unicodeio.h, unlocked-io.h:
59980         Switch from LGPL to GPL.
59981
59982 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59983
59984         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
59985         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
59986         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
59987         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
59988         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
59989         updated automatically by ../config/srclist-update.  This changes
59990         their license from LPGL to GPL.
59991
59992 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59993
59994         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
59995         assumed to refer to the root of the most recent stable gettext version.
59996         * config/srclistvars.sh: Add defaults for eggert.
59997         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
59998         Match "This program" as well as "The program".  This is needed
59999         for gettext.
60000
60001 2003-07-14  Jim Meyering  <jim@meyering.net>
60002
60003         Don't emit diagnostics.  Let callers do that.
60004         * lib/save-cwd.c: Don't include "error.h".
60005         (save_cwd): Don't call error.  Ensure that errno is valid
60006         when returning nonzero.
60007
60008         * lib/save-cwd.h (restore_cwd): Update prototype.
60009         * lib/save-cwd.c (restore_cwd): Remove two parameters.
60010         Simplify.  Don't call error upon failure.  Let callers do that.
60011         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
60012         when auditing is enabled.  But don't bother updating the #if.
60013
60014 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
60015
60016         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
60017         it breaks C++ compilation.
60018         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
60019
60020 2003-07-10  Simon Josefsson  <jas@extundo.com>
60021
60022         * modules/strchrnul (Makefile.am): Add strchrnul.h.
60023
60024 2003-07-10  Jim Meyering  <jim@meyering.net>
60025
60026         * m4/clock_time.m4: Remove trailing blank.
60027         * m4/intmax_t.m4: Likewise.
60028
60029 2003-07-10  Jim Meyering  <jim@meyering.net>
60030
60031         * lib/vasnprintf.c: Remove trailing blanks.
60032         Make cpp indentation consistent.
60033
60034 2003-07-09  Paul Eggert  <eggert@twinsun.com>
60035
60036         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
60037         posixver.c, strftime.c, strnlen.c, strverscmp.c:
60038         Switch from LGPL to GPL.
60039
60040 2003-07-09  Paul Eggert  <eggert@twinsun.com>
60041
60042         * config/srclist.txt: Sort sublists.  Add
60043         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
60044         that differ from gnulib for one reason or another; we'd like this list
60045         to be smaller but for now let's document what we have.
60046
60047 2003-07-08  Paul Eggert  <eggert@twinsun.com>
60048
60049         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
60050         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
60051         and sweeter "eval x=$x".
60052         * config/srclist.txt: Get lib/argp* from glibc.
60053
60054 2003-07-07  Paul Eggert  <eggert@twinsun.com>
60055
60056         * lib/mktime.c: Fix some boundary cases and remove need for floating
60057         point.
60058
60059         Issue a compile-time diagnostic if time_t is floating point, or if
60060         two's complement arithmetic is not in effect, or if arithmetic
60061         right shift does not propagate the sign.  These assumptions were
60062         all in the original code but they weren't checked.
60063
60064         (TIME_T_MIDPOINT, verify): New macros.
60065         (__isleap): Remove; it has integer overflow problems.
60066         (leapyear): New function, without those problems.
60067         (ydhms_tm_diff): Remove; splitting into two parts.
60068         (ydhms_diff): New function, containing the arithmetic part of
60069         the old ydhms_tm_diff function.  Issue a compile-time
60070         diagnostic if we are not using C99 integer division.
60071         Avoid casts when possible.
60072         (guess_time_tm): New function, containing the checking part of
60073         the old ydhms_tm_diff function.  Return the new value, rather than
60074         the difference between it and the old.  Accept a new argument T
60075         so that *T specifies the old value.  Check for overflow in the result.
60076
60077         (__mktime_internal): Use a time_t offset, not a long int offset.
60078         This undoes the 2003-06-04 change, which is no longer needed now
60079         that we have better overflow checking.
60080         (localtime_offset): Likewise.
60081
60082         (__mktime_internal): Avoid harmful overflow on hosts where time_t
60083         and long are 64-bit but int is only 32-bit.
60084         (ydhms_diff): Use long int to store year1 and yday1.
60085         Issue a compile-time diagnostic if long int is not wide enough.
60086
60087         (__mktime_internal): Use long int to store adjusted year and yday.
60088         Use plain C rather than preprocessor commands, if that doesn't
60089         affect efficiency.
60090         Check for overflow (and try to repair) after each probe
60091         rather than checking only at the very end.  This avoids some bugs
60092         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
60093         does not equal GMT offset at maximum time).
60094         Use integer to check for overflow rather than floating point; this
60095         is more portable to non-IEEE hosts, and is a tad faster.
60096         When we detect that we are oscillating between two values,
60097         don't check whether tm_isdst has the requested value, since
60098         we already know the answer.  When tm_isdst has the wrong value,
60099         use a different heuristic to find the right one, based on the
60100         extreme values actually observed in practice in tz2003a,
60101         rather than the (overly optimistic) "previous 3 calendar quarters".
60102
60103         (not_equal_tm, print_tm, check_result): Use "const T" rather than
60104         "T const" to accommodate glibc style.
60105         (check_result): Use less-confusing report format.  "long" -> "long int.
60106         (main): Likewise.
60107         Don't loop if the iteration overflows time_t.
60108         Allow a negative step in the iteration.
60109
60110 2003-07-06  Karl Berry  <karl@gnu.org>
60111
60112         * config/depcomp: update from automake.
60113         * config/config.sub: update from prep.
60114
60115 2003-07-03  Karl Berry  <karl@gnu.org>
60116
60117         * config/config.guess: update from prep.
60118
60119 2003-07-01  Paul Eggert  <eggert@twinsun.com>
60120
60121         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
60122         xreadlink.c now includes it unconditionally.
60123
60124 2003-07-01  Paul Eggert  <eggert@twinsun.com>
60125
60126         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
60127         having it depend on HAVE_SYS_TYPES_H.
60128
60129 2003-07-01  Bruno Haible  <bruno@clisp.org>
60130
60131         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
60132         <sys/types.h> should be sufficient.
60133         Reported by Paul Eggert.
60134
60135 2003-06-26  Karl Berry  <karl@gnu.org>
60136
60137         * config/depcomp: update from automake.
60138
60139 2003-06-26  Bruno Haible  <bruno@clisp.org>
60140
60141         * modules/human: Depend on module stdbool.
60142
60143 2003-06-25  Bruno Haible  <bruno@clisp.org>
60144
60145         * modules/readlink: New file.
60146         * modules/xreadlink: Depend on it.
60147         * MODULES.html.sh (func_all_modules): Add readlink.
60148
60149 2003-06-25  Bruno Haible  <bruno@clisp.org>
60150
60151         * m4/readlink.m4: New file.
60152
60153 2003-06-25  Bruno Haible  <bruno@clisp.org>
60154
60155         * lib/readlink.c: New file.
60156
60157 2003-06-22  Karl Berry  <karl@gnu.org>
60158
60159         * config/srclist.txt: update mkinstalldirs from automake.
60160         * config/mkinstalldirs: update.
60161
60162 2003-06-22  Bruno Haible  <bruno@clisp.org>
60163
60164         Portability to mingw32.
60165         * m4/ssize_t.m4: New file, from GNU gettext.
60166         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
60167         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
60168
60169 2003-06-22  Bruno Haible  <bruno@clisp.org>
60170
60171         * modules/safe-read: Add m4/ssize_t.m4.
60172         * modules/xreadlink: Add m4/ssize_t.m4.
60173
60174 2003-06-20  Bruno Haible  <bruno@clisp.org>
60175
60176         Assume C89, so PARAMS isn't needed.
60177         * lib/unicodeio.h (PARAMS): Remove.
60178         * lib/unicodeio.c: Don't use PARAMS.
60179
60180 2003-06-18  Karl Berry  <karl@gnu.org>
60181
60182         * config/config.{guess,sub}: update from prep.
60183
60184 2003-06-18  Jim Meyering  <jim@meyering.net>
60185
60186         Merge changes from coreutils.
60187         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
60188         Remove explicit declarations of xmalloc and realloc.
60189         Include xalloc.h.
60190         (read_utmp): Remove anachronistic cast of xmalloc.
60191
60192 2003-06-17  Paul Eggert  <eggert@twinsun.com>
60193
60194         Assume C89, so PARAMS isn't needed.
60195         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
60196         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
60197         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
60198         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
60199         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
60200         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
60201         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
60202         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
60203         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
60204         lib/xstrtod.h, lib/xstrtol.h: Likewise.
60205         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
60206         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
60207         no longer needed. Anyway, config.h should always be included before any
60208         other file.
60209
60210 2003-06-11  Simon Josefsson  <jas@extundo.com>
60211
60212         * modules/sysexits: New file.
60213         * MODULES.html.sh (func_all_modules): Add sysexits.
60214
60215 2003-06-11  Simon Josefsson  <jas@extundo.com>
60216
60217         * lib/sysexit_.h: New file.
60218
60219 2003-06-11  Derek Price  <derek@ximbiot.com>
60220
60221         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
60222         necessary.
60223
60224 2003-06-11  Bruno Haible  <bruno@clisp.org>
60225
60226         * m4/sysexits.m4: New file.
60227
60228 2003-06-10  Simon Josefsson  <jas@extundo.com>
60229
60230         * lib/argp.h: New file, from glibc.
60231         * lib/argp-ba.c: New file, from glibc.
60232         * lib/argp-eexst.c: New file, from glibc.
60233         * lib/argp-fmtstream.c: New file, from glibc.
60234         * lib/argp-fmtstream.h: New file, from glibc.
60235         * lib/argp-fs-xinl.c: New file, from glibc.
60236         * lib/argp-help.c: New file, from glibc.
60237         * lib/argp-namefrob.h: New file, from glibc.
60238         * lib/argp-parse.c: New file, from glibc.
60239         * lib/argp-pv.c: New file, from glibc.
60240         * lib/argp-pvh.c: New file, from glibc.
60241         * lib/argp-xinl.c: New file, from glibc.
60242
60243 2003-06-10  Simon Josefsson  <jas@extundo.com>
60244
60245         * modules/strchrnul: New file.
60246
60247 2003-06-10  Simon Josefsson  <jas@extundo.com>
60248
60249         * modules/argp: New file.
60250
60251 2003-06-10  Simon Josefsson  <jas@extundo.com>
60252
60253         * m4/strchrnul.m4: New file.
60254
60255 2003-06-10  Simon Josefsson  <jas@extundo.com>
60256
60257         * lib/strchrnul.h: New file.
60258         * lib/strchrnul.c: New file.
60259
60260 2003-06-10  Bruno Haible  <bruno@clisp.org>
60261
60262         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
60263
60264 2003-06-07  Karl Berry  <karl@gnu.org>
60265
60266         * config/config.{guess,sub}: update from prep.
60267
60268 2003-06-07  Jim Meyering  <jim@meyering.net>
60269
60270         * modules/strtod: Use $(...) notation, not @...@ for
60271         AC_REPLACE'd variables.
60272         * modules/localcharset: Likewise.
60273
60274 2003-06-07  Jim Meyering  <jim@meyering.net>
60275
60276         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
60277         in place of my name in the copyright comment.
60278         Remove definition and uses of __P.
60279
60280         From coreutils.
60281         * lib/stat.c: Don't declare xmalloc explicitly.
60282         Instead, include "xalloc.h".
60283         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
60284         xrealloc, and xcalloc return values.
60285         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
60286         Improve comment.
60287         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
60288
60289 2003-06-07  Bruno Haible  <bruno@clisp.org>
60290
60291         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
60292         avoid AC_CONFIG_LINKS.
60293         * modules/fnmatch (Makefile.am): Use explicit creation rule for
60294         fnmatch.h, to avoid AC_CONFIG_LINKS.
60295         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
60296
60297 2003-06-07  Bruno Haible  <bruno@clisp.org>
60298
60299         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
60300         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
60301         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
60302         directory.
60303         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
60304         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
60305         directory.
60306
60307 2003-06-06  Jim Meyering  <jim@meyering.net>
60308
60309         Merge from coreutils.
60310         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
60311         Consolidate declarations and initializations of *_base* locals.
60312
60313         Merge from coreutils.
60314         This avoids a core dump on systems without GNU putenv,
60315         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
60316         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
60317         (unsetenv): New static function, from GNU libc.
60318         (rpl_putenv): Use it.
60319
60320         * lib/modechange.c: Remove trailing blanks.
60321
60322         Merge from coreutils.
60323         * lib/fsusage.c: Remove declaration of statfs.
60324         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
60325
60326         * lib/posixtm.c: Include <stdbool.h> unconditionally.
60327
60328 2003-06-06  Jim Meyering  <jim@meyering.net>
60329
60330         * lib/stdbool_.h: Renamed from stdbool.h.in.
60331
60332 2003-06-06  Jim Meyering  <jim@meyering.net>
60333             Bruno Haible  <bruno@clisp.org>
60334
60335         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
60336         Adjust Makefile.am snippet not to redirect directly to target.
60337         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
60338
60339 2003-06-05  Paul Eggert  <eggert@twinsun.com>
60340
60341         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
60342         mismatch, look in future quarters as well as past.  This fixes a
60343         bug when processing fall-backwards gaps immediately after a long
60344         period of daylight-saving time.
60345
60346         * lib/mktime.c: Assume freestanding C89 or better.
60347         (HAVE_LIMITS_H): Remove.  Assume it's 1.
60348         (__P): Remove; not used.
60349         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
60350         (mktime, not_equal_tm, print_tm, check_result,
60351         main): Use prototypes.  Use const * where appropriate.
60352         (main): Fix typo in testing code that uncovered by above changes.
60353         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
60354
60355 2003-06-04  Paul Eggert  <eggert@twinsun.com>
60356
60357         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
60358         locale.h, localeconv.  This merges changes from coreutils.
60359
60360         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
60361         It can be removed after the next Autoconf is released.
60362         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
60363         needed.
60364
60365 2003-06-04  Paul Eggert  <eggert@twinsun.com>
60366
60367         * lib/mktime.c: Fix Debian bug 177940
60368         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
60369         (localtime_offset): Now long int, not time_t, because we want it
60370         to be guaranteed to be signed.  All uses changed.
60371         (__mktime_internal): If overflow would occur when adding offset,
60372         don't add it.
60373
60374         Merge 'human' changes from coreutils.  Rewrite to support
60375         locale-specific notations like thousands separators.
60376         * lib/human.c: Simplify authorship notice.
60377         Include human.h immediately after config.h.
60378         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
60379         <limits.h>: Do not include, since human.h does.
60380         (SIZE_MAX, UINTMAX_MAX): New macros.
60381         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
60382         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
60383         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
60384         (power_letter): Renamed from suffixes.
60385         (generate_suffix_backwards): Remove.
60386         (adjust_value): Now takes int style (because of human.h changes)
60387         and long double value (for greater precision on some platforms).
60388         (group_number): New function.
60389         (human_readable): Use it.  Use integer options, not enum.
60390         Put the options before the sizes in the arg list.
60391         Support all the new options.
60392         The old human_readable function has been removed;
60393         use inttostr.h instead.
60394         (human_readable, default_block_size, humblock):
60395         Use uintmax_t, not int, for block sizes.
60396         (human_readable_inexact, block_size_types): Remove.
60397         (block_size_opts): New constant.
60398         (human_options): Renamed from human_block_size, with new signature
60399         that allows block sizes up to UINTMAX_MAX.  All callers changed.
60400         * lib/human.h: Add copyright and authorship notice.
60401         Include <limits.h> and <stdbool.h> unconditionally.
60402         (PARAMS): Remove.  All uses removed.
60403         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
60404         (enum human_inexact_style): Remove tag; now a nameless enum.
60405         (human_floor, human_ceiling, human_round_to_even): Now have
60406         values 2, 0, 1 rather than -1, 1, 0.
60407         (human_group_digits, human_suppress_point_zero, human_autoscale,
60408         human_base_1024, human_SI, human_B): New constants.
60409         (human_readable_inexact, human_block_size): Remove.
60410         (human_readable): Size args are now uintmax_t, not int.
60411         (human_options): New decl.
60412
60413         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
60414         unnecessary now that we assume C89 or better.  This change
60415         imported from coreutils.
60416
60417         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
60418         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
60419         in the 2003-05-30 sync from glibc.
60420
60421         .h files should stand alone, but we shouldn't include <sys/types.h>
60422         if we can get away with just <stddef.h>.
60423
60424         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
60425         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
60426         rather than <sys/types.h>, as we merely need size_t.
60427         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
60428         to get size_t.
60429         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
60430         Include <stdio.h>, to get FILE.
60431         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
60432         memcasecmp.h has included <stddef.h> and all we need is size_t.
60433         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
60434         our interface, instead of including <sys/types.h>
60435
60436 2003-06-04  Paul Eggert  <eggert@twinsun.com>
60437
60438         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
60439         now, as glibc mktime is buggy on non-glibc systems.
60440
60441 2003-06-03  Karl Berry  <karl@gnu.org>
60442
60443         * config/config.sub: update from prep.
60444
60445 2003-06-02  Paul Eggert  <eggert@twinsun.com>
60446
60447         [from coreutils]
60448         Fix some minor time-related bugs with POSIX time arguments.
60449         Some valid time stamps were being rejected (notably -1, and
60450         time stamps before 1900 on 64-bit hosts).  And some invalid
60451         time stamps were being accepted, e.g. September 31.
60452
60453         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
60454         that we can return (time_t) -1 successfully.
60455         * lib/posixtm.c: Likewise.
60456         [HAVE_STDBOOL_H]: Include <stdbool.h>.
60457         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
60458         (t): Remove static var.
60459         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
60460         of static var.  All uses changed.
60461         (year): Do not reject years before 1900; they can occur with
60462         64-bit time_t.
60463         (posix_time_parse): Do not check for out-of-range components;
60464         that is now the caller's responsibility, since our checks were
60465         only approximations.
60466         (posixtime): Use mktime to check for out-of-range components,
60467         since it knows them exactly.
60468         If mktime returns (time_t) -1, check whether an error actually occurred
60469         by invoking localtime on -1.
60470         (main) [TEST_POSIXTIME]: Check for input data errors, and report
60471         posixtime failures better.
60472         Improve the test data (in comments only).
60473
60474 2003-06-02  Karl Berry  <karl@gnu.org>
60475
60476         * config/mkinstalldirs (version): new variable.
60477         (--version): new option.
60478         (usage): improve message.
60479
60480 2003-05-30  Karl Berry  <karl@gnu.org>
60481
60482         * lib/mktime.c: update from libc.
60483
60484 2003-05-30  Bruno Haible  <bruno@clisp.org>
60485
60486         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
60487         * config/config.rpath: Upgrade to gettext-0.12.1.
60488
60489 2003-05-30  Bruno Haible  <bruno@clisp.org>
60490
60491         * m4/gettext.m4: Upgrade to gettext-0.12.1.
60492         * m4/nls.m4: New file, from gettext-0.12.1.
60493         * m4/po.m4: New file, from gettext-0.12.1.
60494         * m4/progtest.m4: Upgrade to gettext-0.12.1.
60495
60496 2003-05-30  Bruno Haible  <bruno@clisp.org>
60497
60498         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
60499         * lib/localcharset.h: Likewise.
60500         * lib/localcharset.c: Likewise.
60501
60502 2003-05-29  Karl Berry  <karl@gnu.org>
60503
60504         * config/config.rpath: update from gettext.
60505
60506 2003-05-28  Paul Eggert  <eggert@twinsun.com>
60507
60508         Assume the headers required for C89 freestanding compilers.
60509         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
60510         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
60511         * m4/human.m4 (gl_HUMAN): Likewise.
60512         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
60513         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
60514         * m4/userspec.m4 (gl_USERSPEC): Likewise.
60515         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
60516         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60517         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
60518
60519 2003-05-28  Paul Eggert  <eggert@twinsun.com>
60520
60521         Assume the headers required for C89 freestanding compilers.
60522         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
60523         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
60524         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
60525         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
60526         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
60527         define, since <limits.h> is guaranteed to do that.
60528         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
60529         * lib/exclude.c: Include <stdbool.h> unconditionally.
60530         * lib/tempname.c: Include <stddef.h> unconditionally.
60531         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
60532         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
60533         <stddef.h> does that.
60534         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
60535         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
60536         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
60537         needed.
60538         * lib/xstrtol.c: Likewise.
60539         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
60540         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
60541
60542         * lib/addext.c (addext): Use assignment rather than cast, to avoid
60543         warnings on some platforms.
60544
60545         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
60546         arbitrarily.
60547
60548 2003-05-26  Jim Meyering  <jim@meyering.net>
60549
60550         Merge in a change from coreutils:
60551         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
60552         that is guaranteed to be `no'.  Use `no_such_member' to indicate
60553         that condition, rather than `-1' which is slightly misleading.
60554         Change the name of the cache variable to have the gl_ prefix.
60555         Prompted by a patch from Richard Dawe for DJGPP.
60556
60557 2003-05-24  Karl Berry  <karl@gnu.org>
60558
60559         * config/config.guess: update from prep.
60560
60561 2003-05-22  Karl Berry  <karl@gnu.org>
60562
60563         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
60564
60565 2003-05-20  Karl Berry  <karl@gnu.org>
60566
60567         * config/config.guess: update from prep.
60568
60569 2003-05-18  Karl Berry  <karl@gnu.org>
60570
60571         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
60572         might actually be set by the user.
60573
60574         * config/depcomp, install-sh, mdate-sh: update from automake.
60575
60576 2003-05-17  Bruno Haible  <bruno@clisp.org>
60577
60578         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
60579         invalid expansion for AC_EGREP_CPP.
60580         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
60581         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
60582         Suggested by Akim Demaille <akim@epita.fr> in
60583         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
60584
60585 2003-05-12  Jim Meyering  <jim@meyering.net>
60586
60587         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
60588         the space-padded-by-default conversion specifiers, %e, %k, %l.
60589
60590 2003-05-12  Bruno Haible  <bruno@clisp.org>
60591
60592         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
60593         the string is longer than 4 KB.
60594
60595 2003-05-11  Karl Berry  <karl@gnu.org>
60596
60597         * config/config.{guess,sub}: update from prep.
60598
60599 2003-05-09  Bruno Haible  <bruno@clisp.org>
60600
60601         * modules/error: Add m4/strerror_r.m4 to file list.
60602
60603 2003-05-03  Bruno Haible  <bruno@clisp.org>
60604
60605         Upgrade to Unicode-4.0.
60606         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
60607         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
60608         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
60609         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
60610         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
60611         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
60612         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
60613         Change width of U+E0100..U+E01EF from 1 to 0.
60614
60615 2003-04-25  Jim Meyering  <jim@meyering.net>
60616
60617         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
60618         of type size_t, not int.
60619
60620 2003-04-25  Bruno Haible  <bruno@clisp.org>
60621
60622         * lib/copy-file.c: Include <stddef.h>, for size_t.
60623
60624 2003-04-21  Paul Eggert  <eggert@twinsun.com>
60625
60626         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
60627         code which expansion is under static control.  Patch imported from
60628         Akim Demaille's patch to Bison; see
60629         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
60630
60631 2003-04-14  Bruno Haible  <bruno@clisp.org>
60632
60633         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
60634
60635 2003-04-11  Jim Meyering  <jim@meyering.net>
60636
60637         Merge changes from Coreutils.
60638
60639         2003-03-22  Jim Meyering  <jim@meyering.net>
60640
60641         * lib/strftime.c (widen): Cast alloca return value to proper type.
60642
60643         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
60644
60645         From GNU libc.
60646         * lib/strftime.c (my_strftime): Handle very large width
60647         specifications for numeric values correctly.  Improve checks for
60648         overflow.
60649
60650         2003-01-19  Jim Meyering  <jim@meyering.net>
60651
60652         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
60653         definitions.
60654         (nl_get_alt_digit) [! defined my_strftime]: Define.
60655         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
60656         _nl_get_alt_digit and _nl_get_walt_digit.
60657
60658         * lib/strftime.c (my_strftime): Merge in locale-related changes from
60659         libc. These changes have no effect outside of _LIBC.
60660
60661 2003-04-10  Bruno Haible  <bruno@clisp.org>
60662
60663         * modules/findprog: New file.
60664         * MODULES.html.sh (func_all_modules): Add it.
60665
60666 2003-04-10  Bruno Haible  <bruno@clisp.org>
60667
60668         * m4/findprog.m4: New file.
60669         * m4/eaccess.m4: New file.
60670
60671 2003-04-10  Bruno Haible  <bruno@clisp.org>
60672
60673         * lib/findprog.h: New file, from GNU gettext.
60674         * lib/findprog.c: New file, from GNU gettext.
60675
60676 2003-04-05  Jim Meyering  <jim@meyering.net>
60677
60678         Merge changes from Coreutils.
60679
60680         * lib/exclude.h (PARAMS): Remove definition and uses.
60681         * lib/exclude.c: Remove uses of `PARAMS'.
60682
60683         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
60684         Add test-cases for DOS filenames. Declare program_name.
60685         (main): Set up program_name.  Patch by Rich Dawe.
60686
60687         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
60688         error from mntctl.
60689         Use mntctl's return value to drive the entry-processing loop, since
60690         we can't rely on the value of the vmt_length member in the last
60691         entry.  On some systems doing so could result in exhausting
60692         virtual memory.  Based in part on a patch from Mike Jetzer.
60693
60694 2003-04-04  Bruno Haible  <bruno@clisp.org>
60695
60696         * modules/linebreak: New file.
60697         * MODULES.html.sh (func_all_modules): Add it.
60698
60699 2003-04-04  Bruno Haible  <bruno@clisp.org>
60700
60701         * m4/linebreak.m4: New file.
60702
60703 2003-04-04  Bruno Haible  <bruno@clisp.org>
60704
60705         * lib/linebreak.h: New file, from GNU gettext.
60706         * lib/linebreak.c: New file, from GNU gettext with slight
60707         modifications.
60708         * lib/lbrkprop.h: New file, from GNU gettext.
60709
60710 2003-04-03  Bruno Haible  <bruno@clisp.org>
60711
60712         * modules/utf8-ucs4: New file.
60713         * modules/utf16-ucs4: New file.
60714         * modules/ucs4-utf8: New file.
60715         * modules/ucs4-utf16: New file.
60716         * MODULES.html.sh (func_all_modules): Add them.
60717
60718 2003-04-03  Bruno Haible  <bruno@clisp.org>
60719
60720         * m4/utf-ucs4.m4: New file.
60721         * m4/ucs4-utf.m4: New file.
60722
60723 2003-04-03  Bruno Haible  <bruno@clisp.org>
60724
60725         * lib/utf8-ucs4.h: New file, from GNU gettext.
60726         * lib/utf16-ucs4.h: New file, from GNU gettext.
60727         * lib/ucs4-utf8.h: New file, from GNU gettext.
60728         * lib/ucs4-utf16.h: New file, from GNU gettext.
60729
60730 2003-04-02  Bruno Haible  <bruno@clisp.org>
60731
60732         * modules/binary-io: New file.
60733         * MODULES.html.sh (func_all_modules): Add it.
60734
60735 2003-04-02  Bruno Haible  <bruno@clisp.org>
60736
60737         * lib/binary-io.h: New file, from GNU gettext.
60738
60739 2003-04-01  Bruno Haible  <bruno@clisp.org>
60740
60741         * modules/pathname: New file.
60742         * MODULES.html.sh (func_all_modules): Add it.
60743
60744 2003-04-01  Bruno Haible  <bruno@clisp.org>
60745
60746         * lib/pathname.h: New file, from GNU gettext.
60747         * lib/concatpath.c: New file, from GNU gettext.
60748
60749 2003-03-30  Bruno Haible  <bruno@clisp.org>
60750
60751         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
60752
60753 2003-03-30  Bruno Haible  <bruno@clisp.org>
60754
60755         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
60756         function chown() doesn't exist.
60757
60758 2003-03-28  Bruno Haible  <bruno@clisp.org>
60759
60760         * modules/copy-file: New file.
60761         * MODULES.html.sh (func_all_modules): Add it.
60762
60763 2003-03-28  Bruno Haible  <bruno@clisp.org>
60764
60765         * m4/copy-file.m4: New file.
60766
60767 2003-03-28  Bruno Haible  <bruno@clisp.org>
60768
60769         * lib/copy-file.h: New file, from GNU gettext.
60770         * lib/copy-file.c: New file, from GNU gettext.
60771
60772 2003-03-18  Jim Meyering  <jim@meyering.net>
60773
60774         * lib/quote.c (quote_n): Fix typo in comment.
60775
60776 2003-03-18  Bruno Haible  <bruno@clisp.org>
60777
60778         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
60779         checking.
60780         * m4/onceonly_2_57.m4: Likewise.
60781
60782 2003-03-17  Bruno Haible  <bruno@clisp.org>
60783
60784         * m4/onceonly.m4: Require autoconf 2.54 or newer.
60785         (m4_quote): Remove macro.
60786         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
60787
60788 2003-03-14  Jim Meyering  <jim@meyering.net>
60789
60790         Merge changes from Coreutils.
60791         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
60792         to be const, in order to avoid warnings.
60793         (obstack_room): Likewise.
60794         (obstack_empty_p): Likewise.
60795
60796 2003-03-14  Bruno Haible  <bruno@clisp.org>
60797
60798         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
60799         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
60800
60801 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60802
60803         Merge changes from Bison.
60804         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
60805         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
60806         when compiling Bison 1.875's `bitset bset = obstack_alloc
60807         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
60808         * lib/hash.c: Include <stdbool.h> unconditionally.
60809
60810 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60811
60812         * m4/onceonly.m4 (m4_quote): New macro.
60813         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
60814         Quote AC_FOREACH variable-expansions properly.
60815
60816 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60817
60818         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
60819
60820 2003-03-09  Paul Eggert  <eggert@twinsun.com>
60821
60822         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
60823         Reported by Bruce Becker; see:
60824         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
60825
60826 2003-03-03  Paul Eggert  <eggert@twinsun.com>
60827             Bruno Haible  <bruno@clisp.org>
60828
60829         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
60830         Reported by John Hughes, see
60831         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
60832
60833 2003-02-20  Bruno Haible  <bruno@clisp.org>
60834
60835         * MODULES.html.sh (func_all_modules): Add poll.
60836
60837 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60838
60839         * modules/poll: New file.
60840
60841 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60842
60843         * lib/poll_.h: New file.
60844         * lib/poll.c: New file.
60845
60846 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60847
60848         * m4/poll.m4: New file.
60849
60850 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60851
60852         * modules/mathl: New file.
60853
60854 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60855
60856         * lib/mathl.h: New file.
60857         * lib/acosl.c: New file.
60858         * lib/asinl.c: New file.
60859         * lib/atanl.c: New file.
60860         * lib/ceill.c: New file.
60861         * lib/cosl.c: New file.
60862         * lib/expl.c: New file.
60863         * lib/floorl.c: New file.
60864         * lib/frexpl.c: New file.
60865         * lib/ldexpl.c: New file.
60866         * lib/logl.c: New file.
60867         * lib/sincosl.c: New file.
60868         * lib/sinl.c: New file.
60869         * lib/sqrtl.c: New file.
60870         * lib/tanl.c: New file.
60871         * lib/trigl.c: New file.
60872         * lib/trigl.h: New file.
60873
60874 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60875
60876         * m4/mathl.m4: New file.
60877
60878 2003-02-18  Bruno Haible  <bruno@clisp.org>
60879
60880         * MODULES.html.sh (func_all_modules): Add mathl.
60881
60882 2003-02-17  Bruno Haible  <bruno@clisp.org>
60883
60884         * modules/mkdtemp: New module.
60885         * MODULES.html.sh (func_all_modules): Add it.
60886
60887 2003-02-17  Bruno Haible  <bruno@clisp.org>
60888
60889         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
60890
60891 2003-02-17  Bruno Haible  <bruno@clisp.org>
60892
60893         * lib/mkdtemp.h: New file, from GNU gettext.
60894         * lib/mkdtemp.c: New file, from GNU gettext.
60895
60896 2003-02-02  Jim Meyering  <jim@meyering.net>
60897
60898         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
60899         e.g. glibc-2.2.93.
60900
60901 2003-01-31  Bruno Haible  <bruno@clisp.org>
60902
60903         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
60904         'rpl_rename'.
60905         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
60906         'rpl_strnlen'.
60907         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
60908         'rpl_strtod'.
60909         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
60910         'rpl_utime'.
60911
60912 2003-01-31  Bruno Haible  <bruno@clisp.org>
60913
60914         * lib/rename.c: #undef rename before defining rpl_rename.
60915         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
60916
60917 2003-01-30  Bruno Haible  <bruno@clisp.org>
60918
60919         * modules/vasnprintf, modules/vasprintf: New modules.
60920         * MODULES.html.sh (func_all_modules): Add them.
60921
60922 2003-01-30  Bruno Haible  <bruno@clisp.org>
60923
60924         * m4/signed.m4: New file, from GNU gettext.
60925         * m4/longdouble.m4: New file, from GNU gettext.
60926         * m4/wchar_t.m4: New file, from GNU gettext.
60927         * m4/wint_t.m4: New file, from GNU gettext.
60928         * m4/vasnprintf.m4: New file.
60929         * m4/vasprintf.m4: New file.
60930
60931 2003-01-30  Bruno Haible  <bruno@clisp.org>
60932
60933         * lib/printf-args.h: New file, from GNU gettext.
60934         * lib/printf-args.c: New file, from GNU gettext.
60935         * lib/printf-parse.h: New file, from GNU gettext.
60936         * lib/printf-parse.c: New file, from GNU gettext.
60937         * lib/vasnprintf.h: New file, from GNU gettext.
60938         * lib/vasnprintf.c: New file, from GNU gettext.
60939         * lib/asnprintf.c: New file, from GNU gettext.
60940         * lib/vasprintf.h: New file, from GNU gettext with modifications.
60941         * lib/vasprintf.c: New file, from GNU gettext.
60942         * lib/asprintf.c: New file, from GNU gettext.
60943
60944 2003-01-29  Bruno Haible  <bruno@clisp.org>
60945
60946         * modules/stpncpy: New module.
60947         * MODULES.html.sh (func_all_modules): Add it.
60948
60949 2003-01-29  Bruno Haible  <bruno@clisp.org>
60950
60951         * m4/stpncpy.m4: New file.
60952
60953 2003-01-29  Bruno Haible  <bruno@clisp.org>
60954
60955         * lib/stpncpy.h: New file, from GNU gettext with modifications.
60956         * lib/stpncpy.c: New file, from GNU gettext with modifications.
60957
60958 2003-01-28  Bruno Haible  <bruno@clisp.org>
60959
60960         * modules/c-ctype: New module.
60961         * MODULES.html.sh (func_all_modules): Add it.
60962
60963 2003-01-28  Bruno Haible  <bruno@clisp.org>
60964
60965         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
60966         Paul Eggert.
60967         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
60968         Paul Eggert.
60969
60970 2003-01-27  Bruno Haible  <bruno@clisp.org>
60971
60972         * modules/xsetenv: New module.
60973         * MODULES.html.sh (func_all_modules): Add it.
60974
60975 2003-01-27  Bruno Haible  <bruno@clisp.org>
60976
60977         * lib/xsetenv.h: New file, from GNU gettext.
60978         * lib/xsetenv.c: New file, from GNU gettext.
60979
60980 2003-01-23  Jim Meyering  <jim@meyering.net>
60981
60982         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
60983         from working on systems without dirfd (at least Irix and OSF1/Tru64).
60984
60985 2003-01-23  Bruno Haible  <bruno@clisp.org>
60986
60987         * modules/minmax: New module.
60988         * MODULES.html.sh (func_all_modules): Add it.
60989
60990 2003-01-23  Bruno Haible  <bruno@clisp.org>
60991
60992         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
60993         Eggert.
60994
60995 2003-01-22  Bruno Haible  <bruno@clisp.org>
60996
60997         * modules/exit: New module.
60998         * MODULES.html.sh (func_all_modules): Add it.
60999
61000 2003-01-22  Bruno Haible  <bruno@clisp.org>
61001
61002         * lib/exit.h: New file, from GNU gettext.
61003
61004 2003-01-19  Bruno Haible  <bruno@clisp.org>
61005
61006         * gnulib-tool: Recognize option --extract-maintainer.
61007         (func_get_maintainer): New function.
61008         * modules/*: Add Maintainer entry.
61009
61010 2003-01-16  Jim Meyering  <jim@meyering.net>
61011
61012         * m4/regex.m4: The `regex' struct is both input and output.
61013         Initialize it before each use.  Patch by Tim Waugh.
61014
61015 2003-01-16  Bruno Haible  <bruno@clisp.org>
61016
61017         * MODULES.html.sh: Add a table of contents. Add the module name as
61018         leftmost column. Add hyperlinks.
61019
61020 2003-01-15  Bruno Haible  <bruno@clisp.org>
61021
61022         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
61023
61024 2003-01-15  Bruno Haible  <bruno@clisp.org>
61025
61026         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
61027         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
61028         suffix.
61029
61030 2003-01-15  Bruno Haible  <bruno@clisp.org>
61031
61032         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
61033
61034 2003-01-15  Bruno Haible  <bruno@clisp.org>
61035
61036         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
61037         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
61038
61039 2003-01-14  Jim Meyering  <jim@meyering.net>
61040
61041         * lib/same.c (same_name): Tweak a comment.
61042
61043 2003-01-14  Bruno Haible  <bruno@clisp.org>
61044
61045         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
61046         when a string comparison is sufficient.
61047
61048 2003-01-14  Bruno Haible  <bruno@clisp.org>
61049
61050         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
61051         'unsigned int'.
61052
61053 2003-01-14  Bruno Haible  <bruno@clisp.org>
61054
61055         * lib/hash-pjw.c: Add comment about low quality of this function.
61056
61057 2003-01-13  Bruno Haible  <bruno@clisp.org>
61058
61059         * modules/stpcpy: Distribute lib/stpcpy.h.
61060         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
61061
61062 2003-01-13  Bruno Haible  <bruno@clisp.org>
61063
61064         * modules/*: Add a description.
61065         * modules/strpbrk: Fix Makefile.am snippet.
61066         * modules/strtoimax: Fix dependencies.
61067         * modules/strtoumax: Likewise.
61068
61069 2003-01-13  Bruno Haible  <bruno@clisp.org>
61070
61071         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
61072         * modules/alloca (Makefile.am): All object files depend on alloca.h.
61073         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
61074
61075 2003-01-13  Bruno Haible  <bruno@clisp.org>
61076
61077         * gnulib-tool (func_create_testdir): Store config/* files in the main
61078         directory.
61079         * config.rpath: Move to ...
61080         * config/config.rpath: ... here.
61081         * modules/gettext: Contains config/config.rpath, not config.rpath.
61082         * modules/iconv: Likewise.
61083
61084 2003-01-12  Paul Eggert  <eggert@twinsun.com>
61085
61086         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
61087         to avoid collisions with libcurses and libreadline.
61088
61089         * m4/getstr.m4: Remove.
61090         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
61091
61092 2003-01-12  Paul Eggert  <eggert@twinsun.com>
61093
61094         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
61095         to avoid collisions with libcurses and libreadline.
61096
61097         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
61098         * lib/getstr.h, getstr.c: Remove.
61099         * lib/getline.c: Include "getline.h", to check interface.
61100         Move body of old getstr.c here: this defines MIN_CHUNK and
61101         declares getdelim2, which is renamed from getstr.
61102         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
61103
61104         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
61105         All uses changed.
61106         * lib/linebuffer.h: Likewise.
61107         (readline): Remove backward-compatibility macro.
61108
61109 2003-01-12  Paul Eggert  <eggert@twinsun.com>
61110
61111         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
61112         to avoid collisions with libcurses and libreadline.
61113         * getstr: Remove.
61114         * MODULES.html.sh: Remove getstr.
61115         * modules/getline: Depend on unlocked-io, not getstr.
61116
61117 2003-01-12  Jim Meyering  <jim@meyering.net>
61118
61119         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
61120
61121 2003-01-10  Bruno Haible  <bruno@clisp.org>
61122
61123         * modules/alloca: Change Makefile.am requirements. Simplify Include
61124         requirements. Add lib/alloca_.h to file list.
61125
61126 2003-01-10  Bruno Haible  <bruno@clisp.org>
61127
61128         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
61129
61130 2003-01-10  Bruno Haible  <bruno@clisp.org>
61131
61132         * lib/alloca_.h: New file.
61133         * lib/getdate.y: Unconditionally include alloca.h.
61134         * lib/makepath.c: Likewise.
61135         * lib/setenv.c: Likewise.
61136         * lib/userspec.c: Likewise.
61137
61138 2003-01-09  Karl Berry  <karl@gnu.org>
61139
61140         * MODULES.html.sh: include `dirname $0` in PATH, to find
61141         gnulib-tool.
61142
61143 2003-01-09  Bruno Haible  <bruno@clisp.org>
61144
61145         * modules/stdbool: Change configure.ac, Makefile.am requirements.
61146         Simplify Include requirements. Add lib/stdbool.h.in to file list.
61147
61148 2003-01-09  Bruno Haible  <bruno@clisp.org>
61149
61150         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
61151
61152 2003-01-09  Bruno Haible  <bruno@clisp.org>
61153
61154         * lib/stdbool.h.in: New file.
61155
61156 2003-01-09  Bruno Haible  <bruno@clisp.org>
61157
61158         * gnulib-tool (func_all_modules): Ignore files ending in ~.
61159         * MODULES.html.sh: Likewise.
61160
61161 2003-01-08  Jim Meyering  <jim@meyering.net>
61162
61163         * lib/full-write.c: Undefine and define-away `const' after inclusion
61164         of errno.h, not before.  Suggestion from Bruno Haible.
61165
61166 2003-01-08  Bruno Haible  <bruno@clisp.org>
61167
61168         * modules/full-read: Depend on full-write.
61169
61170 2003-01-08  Bruno Haible  <bruno@clisp.org>
61171
61172         * lib/safe-read.c: Include specification header first, to ensure its
61173         selfcontainedness.
61174         * lib/full-write.c: Likewise.
61175
61176 2003-01-07  Jim Meyering  <jim@meyering.net>
61177
61178         * lib/full-write.c: Rework so that it may serve to define full_read,
61179         too.
61180         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
61181
61182 2003-01-07  Bruno Haible  <bruno@clisp.org>
61183
61184         * lib/strtoimax.c: Include <stdint.h> as an alternative to
61185         <inttypes.h>.
61186         * lib/xstrtol.h: Likewise.
61187         * lib/xstrtoimax.c: Likewise.
61188         * lib/xstrtoumax.c: Likewise.
61189         * lib/human.h: Likewise.
61190
61191         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
61192         on systems that have <inttypes.h> but not <stdint.h>.
61193
61194 2003-01-07  Bruno Haible  <bruno@clisp.org>
61195
61196         * MODULES.html.sh: Add copyright notice.
61197         (missed_files): Omit CVS directory entries.
61198         (func_module): Make it work with sed-3.02.
61199         * MODULES.txt: Remove file.
61200
61201 2003-01-06  Jim Meyering  <jim@meyering.net>
61202
61203         * lib/version-etc.c: Update year in translatable copyright string.
61204
61205 2003-01-03  Karl Berry  <karl@gnu.org>
61206
61207         * config/config.{guess,sub}: update from prep.
61208
61209 2003-01-02  Karl Berry  <karl@gnu.org>
61210
61211         * doc/COPYING.DOC: belatedly updated to 1.2.
61212
61213 2003-01-01  Karl Berry  <karl@gnu.org>
61214
61215         * gnulib-tool (func_verify_module): report module name $module in
61216         error message, not $1.
61217         * gnulib-tool (create-testdir): don't complain if destdir couldn't
61218         be created, only if it doesn't exist.
61219         * gnulib-tool (last_checkin_date): don't expand the $Date here.
61220
61221 2002-12-31  Paul Eggert  <eggert@twinsun.com>
61222
61223         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
61224
61225 2002-12-31  Paul Eggert  <eggert@twinsun.com>
61226
61227         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
61228         memcmp if strcoll doesn't work.
61229
61230 2002-12-31  Bruno Haible  <bruno@clisp.org>
61231
61232         * lib/utime.c (utime_null): No need to call ftruncate if the file was
61233         nonempty.
61234
61235 2002-12-31  Bruno Haible  <bruno@clisp.org>
61236
61237         * lib/memcoll.c (STRCOLL): New macro.
61238         (memcoll): Use it.
61239
61240 2002-12-31  Bruno Haible  <bruno@clisp.org>
61241
61242         * lib/localcharset.h: New file.
61243         * lib/localcharset.c: Include it.
61244         * lib/unicodeio.c: Likewise.
61245
61246 2002-12-31  Bruno Haible  <bruno@clisp.org>
61247
61248         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
61249         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
61250
61251 2002-12-31  Bruno Haible  <bruno@clisp.org>
61252
61253         * lib/getline.h: Include <stddef.h>, for size_t.
61254
61255         * lib/unicodeio.h: Include <stddef.h>, for size_t.
61256         * lib/unicodeio.c: Don't include <stddef.h>.
61257
61258 2002-12-31  Bruno Haible  <bruno@clisp.org>
61259
61260         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
61261         HAVE_TM_ZONE.
61262
61263 2002-12-24  Karl Berry  <karl@gnu.org>
61264
61265         * config/config.guess: update from prep.
61266
61267 2002-12-24  Bruno Haible  <bruno@clisp.org>
61268
61269         General infrasructure.
61270         * m4/README: Rewritten.
61271         * m4/onceonly.m4: New file.
61272         * m4/onceonly_2_57.m4: New file.
61273
61274         Module atexit.
61275         * m4/atexit.m4: New file.
61276
61277         Module strtod.
61278         * m4/strtod.m4: New file.
61279
61280         Module strtol.
61281         * m4/strtol.m4: New file.
61282
61283         Module strtoul.
61284         * m4/strtoul.m4: New file.
61285
61286         Module memchr.
61287         * m4/memchr.m4: New file.
61288
61289         Module memcmp.
61290         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
61291         (jm_FUNC_MEMCMP): Invoke it.
61292
61293         Module memcpy.
61294         * m4/memcpy.m4: New file.
61295
61296         Module memmove.
61297         * m4/memmove.m4: New file.
61298
61299         Module memset.
61300         * m4/memset.m4: New file.
61301
61302         Module strcspn.
61303         * m4/strcspn.m4: New file.
61304
61305         Module strpbrk.
61306         * m4/strpbrk.m4: New file.
61307
61308         Module strstr.
61309         * m4/strstr.m4: New file.
61310
61311         Module strerror.
61312         * m4/strerror.m4: New file.
61313
61314         Module mktime.
61315         * m4/mktime.m4: Renamed from jm-mktime.m4.
61316         (gl_PREREQ_MKTIME): New macro.
61317         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
61318
61319         Module malloc.
61320         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
61321         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
61322         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
61323
61324         Module realloc.
61325         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
61326         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
61327         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
61328
61329         Module strftime.
61330         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
61331         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
61332         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
61333         gl_TM_GMTOFF.
61334         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
61335
61336         Module xalloc.
61337         * m4/xalloc.m4: New file.
61338
61339         Module alloca.
61340         * m4/alloca.m4: New file.
61341
61342         Module putenv.
61343         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
61344         (jm_FUNC_PUTENV): Invoke it.
61345
61346         Module setenv.
61347         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
61348         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
61349         when invoked twice.
61350         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
61351         gt_FUNC_SETENV.
61352
61353         Module memrchr.
61354         * m4/memrchr.m4: New file.
61355
61356         Module stpcpy.
61357         * m4/stpcpy.m4: New file.
61358
61359         Module strcase.
61360         * m4/strcase.m4: New file.
61361
61362         Module strdup.
61363         * m4/strdup.m4: New file.
61364
61365         Module strnlen.
61366         * m4/strnlen.m4: New file.
61367
61368         Module strndup.
61369         * m4/strndup.m4: New file.
61370
61371         Module xstrtod.
61372         * m4/xstrtod.m4: New file.
61373
61374         Module xstrtol.
61375         * m4/xstrtol.m4: New file.
61376
61377         Module getdate.
61378         * m4/getdate.m4: New file.
61379
61380         Module unlocked-io.
61381         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
61382         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
61383         * m4/jm-glibc-io.m4n: Remove file.
61384
61385         Module long-options.
61386         * m4/long-options.m4: New file.
61387
61388         Module md5.
61389         * m4/md5.m4: New file.
61390
61391         Module sha.
61392         * m4/sha.m4: New file.
61393
61394         Module getstr.
61395         * m4/getstr.m4: New file.
61396
61397         Module getline.
61398         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
61399         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
61400         <sys/types.h>, for size_t. Use the function name gnu_getline, not
61401         simply getline. Infoke gl_PREREQ_GETLINE.
61402
61403         Module obstack.
61404         * m4/obstack.m4: New file.
61405
61406         Module hash.
61407         * m4/hash.m4: New file.
61408
61409         Module readtokens.
61410         * m4/readtokens.m4: New file.
61411
61412         Module strverscmp.
61413         * m4/strverscmp.m4: New file.
61414
61415         Module stdbool.
61416         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
61417         OSF/1.
61418
61419         Module strtoll.
61420         * m4/strtoll.m4: New file.
61421
61422         Module strtoull.
61423         * m4/strtoull.m4: New file.
61424
61425         Module strtoimax.
61426         * m4/strtoimax.m4: New file.
61427
61428         Module strtoumax.
61429         * m4/strtoumax.m4: New file.
61430
61431         Module xstrtoimax.
61432         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
61433         jm_AC_PREREQ_XSTRTOIMAX.
61434         Moved the strtol prerequisites to strtol.m4.
61435         Moved the strtoll prerequisites to strtoll.m4.
61436         Moved the strtoimax prerequisites to strtoimax.m4.
61437
61438         Module xstrtoumax.
61439         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
61440         jm_AC_PREREQ_XSTRTOUMAX.
61441         Moved the strtoul prerequisites to strtoul.m4.
61442         Moved the strtoull prerequisites to strtoull.m4.
61443         Moved the strtoumax prerequisites to strtoumax.m4.
61444
61445         Module chown.
61446         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
61447         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
61448
61449         Module dup2.
61450         * m4/dup2.m4: New file.
61451
61452         Module ftruncate.
61453         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
61454         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
61455
61456         Module getgroups.
61457         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
61458         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
61459
61460         Module gettimeofday.
61461         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
61462         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
61463         gl_PREREQ_GETTIMEOFDAY.
61464
61465         Module mkdir.
61466         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
61467         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
61468
61469         Module mkstemp.
61470         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
61471         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
61472         jm_AC_TYPE_UINTMAX_T.
61473         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
61474
61475         Module stat.
61476         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
61477         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
61478
61479         Module lstat.
61480         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
61481         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
61482
61483         Module timespec.
61484         * m4/timespec.m4 (gl_TIMESPEC): New macro.
61485         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
61486         * m4/st_mtim.m4: Indentation.
61487
61488         Module nanosleep.
61489         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
61490         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
61491         gl_PREREQ_NANOSLEEP.
61492
61493         Module regex.
61494         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
61495         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
61496         (gl_REGEX): New macro.
61497
61498         Module rename.
61499         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
61500         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
61501
61502         Module rmdir.
61503         * m4/rmdir.m4: New file.
61504
61505         Module utime.
61506         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
61507         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
61508         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
61509
61510         Module dirname.
61511         * m4/dirname.m4: New file.
61512
61513         Module getopt.
61514         * m4/getopt.m4: New file.
61515
61516         Module unistd-safer.
61517         * m4/unistd-safer.m4: New file.
61518
61519         Module fnmatch.
61520         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
61521         declaration.
61522         (gl_PREREQ_FNMATCH_EXTRA): New macro.
61523         (gl_FUNC_FNMATCH_POSIX): New macro.
61524         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
61525         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
61526         simply fnmatch.
61527
61528         Module exclude.
61529         * m4/exclude.m4: New file.
61530
61531         Module human.
61532         * m4/human.m4: New file.
61533
61534         Module acl.
61535         * m4/acl.m4: Nop.
61536
61537         Module backupfile.
61538         * m4/backupfile.m4: New file.
61539         * m4/d-ino.m4: Indentation.
61540
61541         Module fsusage.
61542         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
61543         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
61544         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
61545
61546         Module dirfd.
61547         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
61548         requirements.
61549
61550         Module euidaccess.
61551         * m4/euidaccess.m4: New file.
61552
61553         Module file-type.
61554         * m4/file-type.m4: New file.
61555
61556         Module fileblocks.
61557         * m4/fileblocks.m4: New file.
61558
61559         Module filemode.
61560         * m4/filemode.m4: New file.
61561
61562         Module isdir.
61563         * m4/isdir.m4: New file.
61564
61565         Module lchown.
61566         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
61567         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
61568
61569         Module makepath.
61570         * m4/makepath.m4: New file.
61571
61572         Module modechange.
61573         * m4/modechange.m4: New file.
61574
61575         Module mountlist.
61576         * m4/mountlist.m4: New file.
61577         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
61578         Indentation.
61579
61580         Module path-concat.
61581         * m4/path-concat.m4: New file.
61582
61583         Module pathmax.
61584         * m4/pathmax.m4: New file.
61585
61586         Module same.
61587         * m4/same.m4: New file.
61588
61589         Module save-cwd.
61590         * m4/save-cwd.m4: New file.
61591
61592         Module savedir.
61593         * m4/savedir.m4: New file.
61594
61595         Module xgetcwd.
61596         * m4/xgetcwd.m4: New file.
61597         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
61598
61599         Module xreadlink.
61600         * m4/xreadlink.m4: New file.
61601
61602         Module safe-read.
61603         * m4/safe-read.m4: New file.
61604
61605         Module safe-write.
61606         * m4/safe-write.m4: New file.
61607
61608         Module closeout.
61609         * m4/closeout.m4: New file.
61610
61611         Module stdio-safer.
61612         * m4/stdio-safer.m4: New file.
61613
61614         Module getpass.
61615         * m4/getpass.m4: New file.
61616
61617         Module getugroups.
61618         * m4/getugroups.m4: New file.
61619
61620         Module group-member.
61621         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
61622         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
61623
61624         Module idcache.
61625         * m4/idcache.m4: New file.
61626
61627         Module userspec.
61628         * m4/userspec.m4: New file.
61629
61630         Module gettime.
61631         * m4/clock_time.m4: New file.
61632         * m4/gettime.m4: New file.
61633
61634         Module settime.
61635         * m4/settime.m4: New file.
61636
61637         Module posixtm.
61638         * m4/posixtm.m4: New file.
61639
61640         Module gethostname.
61641         * m4/gethostname.m4: New file.
61642
61643         Module canon-host.
61644         * m4/canon-host.m4: New file.
61645
61646         Module gettext.
61647         * m4/codeset.m4: New file, from gettext-0.11.5.
61648         * m4/gettext.m4: New file, from gettext-0.11.5.
61649         * m4/glibc21.m4: New file, from gettext-0.11.5.
61650         * m4/iconv.m4: New file, from gettext-0.11.5.
61651         * m4/intdiv0.m4: New file, from gettext-0.11.5.
61652         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
61653         * m4/inttypes.m4: New file, from gettext-0.11.5.
61654         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
61655         * m4/isc-posix.m4: New file, from gettext-0.11.5.
61656         * m4/lcmessage.m4: New file, from gettext-0.11.5.
61657         * m4/lib-ld.m4: New file, from gettext-0.11.5.
61658         * m4/lib-link.m4: New file, from gettext-0.11.5.
61659         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
61660         * m4/progtest.m4: New file, from gettext-0.11.5.
61661         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
61662         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
61663         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
61664
61665         Module localcharset.
61666         * m4/localcharset.m4: New file.
61667
61668         Module hard-locale.
61669         * m4/hard-locale.m4: New file.
61670
61671         Module mbswidth.
61672         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
61673         onceonly macros.
61674         * m4/mbrtowc.m4: Add comment.
61675
61676         Module memcasecmp.
61677         * m4/memcasecmp.m4: New file.
61678
61679         Module memcoll.
61680         * m4/memcoll.m4: New file.
61681
61682         Module unicodeio.
61683         * m4/unicodeio.m4: New file.
61684
61685         Module rpmatch.
61686         * m4/rpmatch.m4: New file.
61687
61688         Module yesno.
61689         * m4/yesno.m4: New file.
61690
61691         Module exitfail.
61692         * m4/exitfail.m4: New file.
61693
61694         Module c-stack.
61695         * m4/c-stack.m4 (gl_C_STACK): New macro.
61696         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
61697
61698         Module error.
61699         * m4/error.m4 (gl_ERROR): New macro.
61700         (jm_PREREQ_ERROR): Use onceonly macros.
61701
61702         Module fatal.
61703         * m4/fatal.m4: New file.
61704
61705         Module getloadavg.
61706         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
61707         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
61708
61709         Module getpagesize.
61710         * m4/getpagesize.m4: New file.
61711
61712         Module getusershell.
61713         * m4/getusershell.m4: New file.
61714
61715         Module physmem.
61716         * m4/physmem.m4: New file.
61717
61718         Module posixver.
61719         * m4/posixver.m4: New file.
61720
61721         Module quotearg.
61722         * m4/quotearg.m4: New file.
61723
61724         Module quote.
61725         * m4/quote.m4: New file.
61726
61727         Module readutmp.
61728         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
61729
61730         Module sig2str.
61731         * m4/sig2str.m4: New file.
61732
61733         Other.
61734         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
61735         ulonglong.m4.
61736         * m4/intmax_t.m4: New file.
61737         * m4/d-type.m4: Indentation.
61738         * m4/jm-macros.m4: Update.
61739         * m4/prereq.m4 (jm_PREREQ): Update.
61740         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
61741         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
61742         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
61743         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
61744         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
61745         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
61746         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
61747         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
61748         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
61749         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
61750         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
61751         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
61752         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
61753         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
61754         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
61755         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
61756         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
61757         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
61758         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
61759
61760 2002-12-24  Bruno Haible  <bruno@clisp.org>
61761
61762         * MODULES.txt: Update according to m4/ changes.
61763
61764         Module gettext.
61765         * config.rpath: New file, from gettext-0.11.5.
61766
61767         * modules/*: New module descriptions.
61768         * gnulib-tool: New file.
61769         * MODULES.html.sh: New file.
61770
61771 2002-12-21  Karl Berry  <karl@gnu.org>
61772
61773         * doc/fdl.texi: update to version 1.2.
61774
61775 2002-12-19  Karl Berry  <karl@gnu.org>
61776
61777         * config/config.guess: update from prep.
61778
61779 2002-12-18  Bruno Haible  <bruno@clisp.org>
61780
61781         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
61782         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
61783
61784 2002-12-17  Bruno Haible  <bruno@clisp.org>
61785
61786         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
61787         stdlib.h, string.h.
61788
61789 2002-12-17  Bruno Haible  <bruno@clisp.org>
61790
61791         * lib/canon-host.c (strdup): Remove unused declaration.
61792
61793         * lib/fsusage.c: Include full_read.h.
61794         (get_fs_usage): Use full_read instead of safe_read.
61795
61796         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
61797
61798 2002-12-12  Karl Berry  <karl@gnu.org>
61799
61800         * config/config.guess: update from prep.
61801
61802 2002-12-11  Bruno Haible  <bruno@clisp.org>
61803
61804         * m4/setenv.m4: New file, from gettext-0.11.5.
61805
61806 2002-12-11  Bruno Haible  <bruno@clisp.org>
61807
61808         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
61809         not unsetenv().
61810         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
61811         modifications:
61812
61813         2002-12-11  Bruno Haible  <bruno@clisp.org>
61814
61815                 * setenv.c (alloca): Fall back to malloc.
61816                 (freea): New macro.
61817                 (setenv): Use freea() to free memory allocated with alloca().
61818
61819         2002-11-13  Bruno Haible  <bruno@clisp.org>
61820
61821                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
61822                 function declarations.
61823                 * unsetenv.c (unsetenv): Likewise.
61824
61825         2002-03-04  Bruno Haible  <bruno@clisp.org>
61826
61827                 Portability to AIX 4.3.3.
61828                 * unsetenv.c: New file, extracted from setenv.c.
61829                 * setenv.c: Move the unsetenv() function to unsetenv.c.
61830
61831         2001-12-20  Bruno Haible  <bruno@clisp.org>
61832
61833                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
61834                 use malloc instead. For SunOS 4.
61835
61836         2001-12-11  Bruno Haible  <bruno@clisp.org>
61837
61838                 * setenv.c: Declare alloca.
61839                 (compar_fn_t): New typedef.
61840                 (KNOWN_VALUE, STORE_VALUE): Use it.
61841
61842         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
61843         setenv.h.
61844
61845 2002-12-10  Paul Eggert  <eggert@twinsun.com>
61846
61847         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
61848         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
61849         Choose values that are less likely to collide with system fnmatch
61850         options.
61851         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
61852         defined (e.g., a pure POSIX system).
61853         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
61854         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
61855
61856 2002-12-06  Paul Eggert  <eggert@twinsun.com>
61857
61858         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
61859         a pain in practice to deal with generated m4 files.  This change
61860         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
61861
61862         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
61863         and jm-glibc-io.m4, as they are no longer a special case.
61864         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
61865         kludge and the auto-generation stuff.  Check only whether the
61866         functions are declared, not whether they exist, since older hosts
61867         that don't declare the functions can't use the optimization anyway.
61868
61869 2002-12-06  Jim Meyering  <jim@meyering.net>
61870
61871         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
61872
61873         Merge in changes from libc's misc/error.c, in preparation
61874         for the merge of gnulib's changes back into libc.
61875
61876         * lib/error.c (_): Define only if not already defined.
61877         Move definition to follow all #include directives.
61878         Include unlocked-io.h only if !_LIBC.
61879         [_LIBC]: Include <libio/libioP.h>.
61880         [USE_IN_LIBIO]: Include <libio/iolibio.h>
61881         (fflush): Tweak definition to use INTUSE.
61882         (putc): Define.
61883
61884 2002-12-05  Paul Eggert  <eggert@twinsun.com>
61885
61886         * lib/alloca.c [defined emacs]: Include "lisp.h".
61887         (xalloc_die) [defined emacs]: New macro.
61888         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
61889         [! defined emacs]: Include <xalloc.h>.
61890         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
61891         (pointer): Typedef to POINTER_TYPE *.
61892         (malloc): Remove decl; we now always use xmalloc.
61893         (alloca): Use old-style definition, since Emacs needs this.
61894         Check for arithmetic overflow when computing combined size.
61895
61896 2002-12-04  Paul Eggert  <eggert@twinsun.com>
61897
61898         Do not generate unlocked-io.h automatically, since it's easier to
61899         maintain it by hand.
61900
61901         * lib/unlocked-io.h: New file, from GNU diffutils,
61902         but with proper copyright notice and attribution.
61903         * lib/gen-uio: Remove.
61904         * lib/Makefile.am: Add copyright notice.
61905         (libfetish_a_SOURCES): Add unlocked-io.h.
61906         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
61907         (DISTCLEANFILES, io_functions): Remove macros.
61908         (EXTRA_DIST): Remove gen_uio.
61909         (unlocked-io.h): Remove rule.
61910
61911 2002-12-04  Jim Meyering  <jim@meyering.net>
61912
61913         Reflect the fact that stat.c and lstat.c are no longer generated.
61914         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
61915         (DISTCLEANFILES): Likewise.
61916         (EXTRA_DIST): Likewise.
61917         (all_local): Don't depend on stat.c or lstat.c.
61918         (stat.c, lstat.c): Remove rules.
61919         (EXTRA_DIST): Remove xstat.in.
61920
61921         * lib/xstat.in: Remove file.  Contents moved into stat.c.
61922         * lib/stat.c: New file.  Contents mostly from xstat.in.
61923         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
61924         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
61925
61926         * lib/safe-read.c: Rework so that it may serve to define safe_write,
61927         too.
61928         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
61929
61930 2002-12-03  Jim Meyering  <jim@meyering.net>
61931
61932         * lib/safe-read.c, safe-write.c: Change variable names and comments,
61933         but not semantics, to minimize the differences between these two files.
61934         (safe_read): Change comment to mention SAFE_READ_ERROR.
61935
61936         * lib/safe-read.c (IS_EINTR): Define.
61937         (safe_read): Use IS_EINTR in place of in-function cpp directives.
61938
61939 2002-12-02  Jim Meyering  <jim@meyering.net>
61940
61941         * lib/safe-read.c (EINTR): Define.
61942         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
61943         (INT_MAX): Provide fallback.
61944         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
61945
61946         * lib/safe-read.h (SAFE_READ_ERROR): Define.
61947
61948 2002-12-02  Bruno Haible  <bruno@clisp.org>
61949
61950         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
61951         Define, taken from safe-read.c.
61952         (INT_MAX): Provide fallback.
61953         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
61954         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
61955
61956         * lib/safe-read.c (EINTR): Remove definition.
61957         (safe_read): Don't use EINTR if it is absent.
61958
61959 2002-12-01  Jim Meyering  <jim@meyering.net>
61960
61961         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
61962         zero.
61963         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
61964
61965 2002-11-27  Paul Eggert  <eggert@twinsun.com>
61966
61967         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
61968         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
61969         with `if (! (value < limit)) abort ();', for readability.
61970
61971 2002-11-26  Karl Berry  <karl@gnu.org>
61972
61973         * lib/strdup.c: copy from libc again, with jim's ok.
61974         * lib/.cppi-disable: re-add strdup.c
61975
61976 2002-11-25  Karl Berry  <karl@gnu.org>
61977
61978         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
61979         instead of "strtol.c".
61980
61981 2002-11-25  Karl Berry  <karl@gnu.org>
61982
61983         * config/install-sh: update from automake for variable quoting, $0 in
61984         error msgs, etc.
61985
61986         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
61987         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
61988         entry.
61989
61990 2002-11-25  Jim Meyering  <jim@meyering.net>
61991
61992         * lib/mktime.c: Sync from libc, now that it has the latest fix.
61993
61994 2002-11-24  Karl Berry  <karl@gnu.org>
61995
61996         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
61997         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
61998
61999 2002-11-24  Jim Meyering  <jim@meyering.net>
62000
62001         Update from coreutils:
62002
62003         * lib/mktime.c: Merge in changes from libc.
62004
62005         Avoid a link-time failure on some Linux systems.
62006         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
62007         (otherwise).
62008         (__mon_yday): Declare with the STATIC attribute.
62009         (__mktime_internal): Likewise.
62010         Based on a report from Greg Schafer.
62011
62012 2002-11-23  Jim Meyering  <jim@meyering.net>
62013
62014         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
62015         Use `unsigned', not `int', as type of index.
62016
62017         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
62018
62019         * lib/fsusage.c: Remove unneeded parentheses around operands of
62020         `defined'.
62021
62022 2002-11-22  Paul Eggert  <eggert@twinsun.com>
62023
62024         * lib/quotearg.h: Allow multiple inclusion by surrounding with
62025         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
62026         so that we can be included first.
62027         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
62028         * lib/quotearg.c: Include quotearg.h immediately after config.h.
62029         No need to include stddef.h or sys/types.h any more.
62030         Surround local include files with "", not "<>".
62031         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
62032         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
62033         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
62034         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
62035         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
62036         (ISPRINT): Remove; no longer needed now that we assume C89.
62037
62038         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
62039         Preserve errno.
62040
62041         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
62042         quotearg_char): Use SIZE_MAX rather than
62043         (size_t) -1 when we are talking about "infinity".
62044
62045         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
62046
62047 2002-11-22  Paul Eggert  <eggert@twinsun.com>
62048
62049         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
62050         hint that one should use `if (! x) abort ();' rather than `assert
62051         (x);', and anyway it's one less thing to worry about configuring.
62052         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
62053         hash_rehash, hash_insert): Use abort rather than assert.
62054
62055 2002-11-22  Bruno Haible  <bruno@clisp.org>
62056
62057         * lib/safe-read.h: Assume C89. Add comments.
62058         (safe_read): Change return type to size_t.
62059         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
62060         byte counts > SSIZE_MAX correctly.
62061         * lib/safe-write.h: New file.
62062         * lib/safe-write.c: New file.
62063         * lib/full-read.h: New file.
62064         * lib/full-read.c: New file.
62065         * lib/full-write.h: Assume C89. Add comments.
62066         * lib/full-write.c: Include safe-write.h.
62067         (full_write): Rewritten to use safe_write.
62068         Suggested by Jim Meyering and Paul Eggert.
62069
62070 2002-11-21  Jim Meyering  <jim@meyering.net>
62071
62072         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
62073
62074         Merge in changes from the coreutils.
62075
62076         2002-09-25  Paul Eggert  <eggert@twinsun.com>
62077         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
62078         <stdint.h>.
62079         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
62080         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
62081         int.  Work more efficiently if X is the same width as uintmax_t.
62082         Do not compare X to -1, to avoid bogus compiler warning.
62083         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
62084         Don't assume that f_frsize and f_bsize are the same type.
62085
62086         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
62087         warning on FreeBSD.
62088
62089         * lib/makepath.c (make_path): Restore umask *before* creating the final
62090         component.
62091         (make_path): Minor reformatting.
62092
62093         * lib/xmalloc.c: Adjust to work with new autoconf macros,
62094         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
62095         HAVE_MALLOC/HAVE_REALLOC.
62096
62097         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
62098         dummy ones.  At least on GNU/Linux systems, `auto' means something
62099         else.
62100         From Michael Stone.
62101
62102 2002-11-21  Bruno Haible  <bruno@clisp.org>
62103
62104         Remove case insensitive option matching.
62105         * lib/argmatch.h (argcasematch): Remove declaration.
62106         (ARGCASEMATCH): Remove macro.
62107         (__xargmatch_internal): Remove case_sensitive argument.
62108         (XARGMATCH): Update.
62109         (XARGCASEMATCH): Remove macro.
62110         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
62111         case_sensitive argument.
62112         (argcasematch): Remove function.
62113         (__xargmatch_internal): Remove case_sensitive argument.
62114         (main): Use XARGMATCH instead of XARGCASEMATCH.
62115
62116         * lib/xmalloc.c: Change compile-time error message. Add comment about
62117         required autoconf version.
62118
62119 2002-11-20  Paul Eggert  <eggert@twinsun.com>
62120
62121         Merge argmatch cleanups from Bison.  Assume C89.
62122
62123         * lib/argmatch.c: Include config.h here, not in argmatch.h.
62124         Include stdlib.h, for EXIT_FAILURE.
62125         Always include <string.h>, since we assume C89.
62126         (EXIT_FAILURE): Remove pre-C89 bug workaround.
62127         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
62128         Include <stddef.h> instead, since it's all we need for size_t.
62129         (PARAMS): Remove.  All uses removed.
62130         (ARRAY_CARDINALITY): Do not bother to #undef.
62131         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
62132         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
62133         Remove unnecessary parentheses.
62134         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
62135         Insert necessary parentheses.
62136         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
62137         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
62138
62139 2002-11-19  Bruno Haible  <bruno@clisp.org>
62140
62141         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
62142         * lib/mbswidth.h: Include <stddef.h>, for size_t.
62143
62144         * lib/mbswidth.h (PARAMS): Remove macro.
62145         (mbswidth, mbsnwidth): Use ANSI C function declarations.
62146         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
62147
62148         * lib/gcd.h (PARAMS): Remove macro.
62149         (gcd): Use ANSI C function declarations.
62150         * lib/gcd.c (gcd): Likewise.
62151
62152 2002-11-15  Bruno Haible  <bruno@clisp.org>
62153
62154         * lib/strcspn.c: Include <stddef.h>.
62155         (strcspn): Use ANSI C function declaration. Change return type to
62156         size_t. Use NULL.
62157         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
62158         (strpbrk): Use NULL.
62159         * lib/strpbrk.h (PARAMS): Remove macro.
62160         (strpbrk): Use ANSI C function declaration.
62161         * lib/strstr.c: Don't include <sys/types.h>.
62162         * lib/strstr.h (PARAMS): Remove macro.
62163         (strstr): Use ANSI C function declarations.
62164
62165 2002-11-14  Karl Berry  <karl@gnu.org>
62166
62167         * config/mkinstalldirs: `do' on separate line, instead of
62168         `for var; do'.
62169
62170 2002-11-06  Bruno Haible  <bruno@clisp.org>
62171
62172         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
62173         * lib/gcd.c (gcd): Likewise.
62174
62175 2002-11-05  Bruno Haible  <bruno@clisp.org>
62176
62177         * lib/gcd.h: New file, from gettext-0.11.5.
62178         * lib/gcd.c: New file, from gettext-0.11.5.
62179
62180 2002-11-05  Bruno Haible  <bruno@clisp.org>
62181
62182         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
62183         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
62184         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
62185         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
62186
62187         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
62188         <libintl.h>.
62189         * lib/makepath.c: Include gettext.h instead of <locale.h> and
62190         <libintl.h>.
62191
62192         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
62193         * lib/human.c: Include gettext.h instead of <libintl.h>.
62194         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
62195         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
62196         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
62197         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
62198         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
62199         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
62200         (textdomain): Remove definition.
62201         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
62202
62203         * lib/long-options.c: Remove include of <libintl.h> and definition of
62204         _.
62205         * lib/same.c: Remove include of <libintl.h> and definition of _.
62206
62207 2002-11-04  Owen Taylor  <otaylor@redhat.com>
62208
62209         * lib/config.charset: A few additions for Solaris.
62210
62211 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
62212
62213         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
62214         * lib/localcharset.c (locale_charset): Declare as extern "C".
62215
62216 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
62217
62218         * lib/config.charset: msdos in uk_UA uses CP1125.
62219
62220 2002-11-04  Bruno Haible  <bruno@clisp.org>
62221
62222         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
62223         * lib/strcase.h: New file, from GNU gettext-0.11.5.
62224         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
62225         * lib/strstr.h: New file, from GNU gettext-0.11.5.
62226         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
62227
62228 2002-11-04  Bruno Haible  <bruno@clisp.org>
62229
62230         * lib/localcharset.c (locale_charset): Don't return an empty string.
62231
62232 2002-11-04  Bruno Haible  <bruno@clisp.org>
62233
62234         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
62235         aliases.
62236
62237 2002-11-04  Bruno Haible  <bruno@clisp.org>
62238
62239         * lib/config.charset: Update for newest glibc. Add canonical names
62240         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
62241
62242 2002-11-04  Bruno Haible  <bruno@clisp.org>
62243
62244         * lib/config.charset: Add support for NetBSD.
62245
62246 2002-11-04  Bruno Haible  <bruno@clisp.org>
62247
62248         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
62249
62250 2002-11-01  Bruno Haible  <bruno@clisp.org>
62251
62252         * configure.in: Add AC_CONFIG_AUX_DIR call.
62253         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
62254         test/Makefile.
62255         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
62256
62257 2002-09-28  Karl Berry  <karl@gnu.org>
62258
62259         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
62260         installed automake until the next release, since changes have been
62261         made.
62262
62263 2002-09-25  Karl Berry  <karl@gnu.org>
62264
62265         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
62266         * lib/getopt*: copy from libc/posix.
62267         * lib/gettext.h: copy from gettext.
62268         * lib/.cppi-disable: add strdup.c, gettext.h.
62269
62270 2002-09-25  Karl Berry  <karl@gnu.org>
62271
62272         * config/srclist.txt: enable gettext.h check.
62273         * config/config.{guess,sub}: update from prep.
62274         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
62275                 from automake 1.6.3.
62276         See srclist*.
62277
62278 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
62279
62280         * regex.c (PATFETCH): Remove the translating fetch.
62281         (PATFETCH_RAW): Rename to PATFETCH.
62282         (set_image_of_range): New fun.
62283         (SET_RANGE_TABLE_WORK_AREA): Use it.
62284         (regex_compile): Don't translate the pattern chars so eagerly.
62285         Only do it when inserting an `exactn' bytecode or when handling
62286         a char-range.
62287         (mutually_exclusive_p): Avoid empty statement.
62288
62289 2002-07-06  Jim Meyering  <meyering@lucent.com>
62290
62291         * m4/README: Don't mention Makefile.am.in.
62292         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
62293
62294 2002-07-01  Jim Meyering  <meyering@lucent.com>
62295
62296         * lib/c-stack.c: Include sys/time.h.
62297         From Volker Borchert.
62298
62299 2002-06-26  Paul Eggert  <eggert@twinsun.com>
62300
62301         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
62302
62303 2002-06-26  Paul Eggert  <eggert@twinsun.com>
62304
62305         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
62306         New macro.  Use it uniformly instead of
62307         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
62308         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
62309         reported by Vin Shelton.
62310
62311 2002-06-22  Paul Eggert  <eggert@twinsun.com>
62312
62313         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
62314         Do not assume SA_SIGINFO behavior.
62315         Bug reported by Jim Meyering on NetBSD 1.5.2.
62316
62317 2002-06-22  Jim Meyering  <meyering@lucent.com>
62318
62319         * m4/c-stack.m4: New file, from diffutils-2.8.2.
62320         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
62321
62322         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
62323         now that configure.ac uses AC_GNU_SOURCE.
62324         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
62325         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
62326
62327         Update to latest tools.  Suggestions from Paul Eggert.
62328         * m4/stdbool.m4: New file, from diffutils-2.8.2.
62329         * m4/gnu-source.m4: Update from diffutils-2.8.2.
62330         * m4/fnmatch.m4: Likewise.
62331         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
62332         to AC_HEADER_STDBOOL
62333
62334 2002-06-22  Jim Meyering  <meyering@lucent.com>
62335
62336         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
62337         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
62338
62339 2002-06-22  Jim Meyering  <meyering@lucent.com>
62340
62341         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
62342
62343         * lib/exitfail.c, exitfail.h: Likewise.
62344         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
62345
62346         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
62347         of fnmatch.h.
62348         (EXTRA_DIST): Add fnmatch_loop.c.
62349         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
62350
62351         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
62352         * lib/fnmatch.c: Update from diffutils-2.8.2.
62353         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
62354         * lib/fnmatch.h: Remove file.
62355
62356 2002-06-21  Jim Meyering  <meyering@lucent.com>
62357
62358         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
62359         * m4/mbrtowc.m4: Likewise.
62360
62361         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
62362         * m4/mbswidth.m4: Reflect name change:
62363         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
62364         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
62365
62366         * m4/lib-link.m4: Update from gettext-0.11.2.
62367         * m4/gettext.m4: Likewise.
62368
62369         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
62370         From Alfred M. Szmidt.
62371
62372 2002-06-18  Paul Eggert  <eggert@twinsun.com>
62373
62374         * lib/file-type.h: Report an error if neither S_ISREG nor
62375         S_IFREG is defined, instead of using a test specific to glibc
62376         2.2.  This should be safe, since POSIX requires S_ISREG and
62377         Unix Version 7 had S_IFREG.  We don't need to check for
62378         <sys/types.h> since we don't use any symbols that it defines.
62379
62380 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
62381
62382         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
62383         $@-t, so that each temporary file name is unique and valid in the first
62384         8 characters, for operation under DOS.
62385
62386 2002-06-15  Paul Eggert  <eggert@twinsun.com>
62387
62388         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
62389
62390 2002-06-15  Jim Meyering  <meyering@lucent.com>
62391
62392         Work even with DJGPP 2.03, which lacks support for symlinks.
62393         From Richard Dawe.
62394         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
62395         is defined.
62396         * lib/lchown.c (S_ISLNK): Likewise.
62397
62398 2002-06-15  Jim Meyering  <meyering@lucent.com>
62399
62400         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
62401         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
62402         have been included before this file.
62403
62404 2002-06-14  Jim Meyering  <meyering@lucent.com>
62405
62406         * lib/file-type.h: Use the version from diffutils-2.8.2.
62407         * lib/file-type.c: Likewise.
62408
62409 2002-06-07  Jim Meyering  <meyering@lucent.com>
62410
62411         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
62412         They're needed at least for NetBSD 1.5.2.
62413         ($statxfs_includes): Include those same headers.
62414         ($statxfs_includes): Include sys/vfs.h if available.
62415         ($statxfs_includes): Likewise for sys/statvfs.h.
62416         Check for the following members in both structs statfs and statvfs:
62417         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
62418
62419 2002-06-01  Jim Meyering  <meyering@lucent.com>
62420
62421         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
62422         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
62423
62424 2002-05-28  Jim Meyering  <meyering@lucent.com>
62425
62426         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
62427         Reported by Volker Borchert.
62428
62429 2002-05-27  Jim Meyering  <meyering@lucent.com>
62430
62431         Fix a problem seen only on nonconforming systems whereby ls.c's
62432         use of localtime, and then of gettimeofday would cause trouble:
62433         the localtime call used to initialize rpl_gettimeofday's save
62434         mechanism would clobber ls's current local time information so
62435         that in any long listing the first file would always be listed
62436         with date 1970-01-01.  Analysis by Volker Borchert.
62437
62438         * lib/gettimeofday.c (localtime): Undefine.
62439         (rpl_localtime): New function.
62440
62441 2002-05-27  Jim Meyering  <meyering@lucent.com>
62442
62443         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
62444         localtime.
62445
62446         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
62447         use the replacement function; it wouldn't resolve at link time.
62448         Reported by Volker Borchert.
62449
62450 2002-05-22  Jim Meyering  <meyering@lucent.com>
62451
62452         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
62453         file-type.h.
62454         * lib/file-type.h: New file.
62455         * lib/file-type.c (file_type): New file/function.  Extracted from
62456         diffutils.
62457
62458 2002-04-30  Jim Meyering  <meyering@lucent.com>
62459
62460         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
62461
62462 2002-04-29  Paul Eggert  <eggert@twinsun.com>
62463
62464         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
62465
62466 2002-04-29  Paul Eggert  <eggert@twinsun.com>
62467
62468         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
62469         Do not check for alloca.h (no longer used) or stdbool.h (was never
62470         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
62471
62472 2002-04-29  Paul Eggert  <eggert@twinsun.com>
62473
62474         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
62475
62476 2002-04-29  Jim Meyering  <meyering@lucent.com>
62477
62478         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
62479         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
62480         Use AC_FUNC_STRNLEN here instead.
62481
62482         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
62483         With autoconf-2.53a, it's part of AC_PROG_CC.
62484
62485 2002-04-28  Paul Eggert  <eggert@twinsun.com>
62486
62487         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
62488         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
62489
62490 2002-04-28  Paul Eggert  <eggert@twinsun.com>
62491
62492         * lib/sig2str.h, lib/sig2str.c: New files.
62493         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
62494
62495 2002-04-28  Paul Eggert  <eggert@twinsun.com>
62496
62497         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
62498         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
62499         of 127, since 64 is the largest conceivable number for ancient
62500         nonstandard hosts.
62501         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
62502
62503 2002-04-28  Jim Meyering  <meyering@lucent.com>
62504
62505         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
62506
62507 2002-04-24  Jim Meyering  <meyering@lucent.com>
62508
62509         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
62510         (jm_PREREQ): Use it.
62511
62512         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
62513         mach/mach.h fcntl.h.
62514         Check for this function: setlocale.
62515
62516 2002-04-24  Jim Meyering  <meyering@lucent.com>
62517
62518         * lib/gettext.h: New file, from Gettext.
62519         * lib/Makefile.am (INCLUDES): Remove -I../intl.
62520         (libfetish_a_SOURCES): Add gettext.h.
62521
62522 2002-04-16  Jim Meyering  <meyering@lucent.com>
62523
62524         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
62525         ut_pid, ut_id, ut_exit.
62526
62527 2002-04-16  Jim Meyering  <meyering@lucent.com>
62528
62529         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
62530         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
62531         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
62532
62533 2002-04-12  Jim Meyering  <meyering@lucent.com>
62534
62535         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
62536         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
62537         existence of the getmntinfo function.  Needed for Darwin 5.3.
62538
62539         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
62540         This is necessary at least on Darwin 5.3.
62541
62542         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
62543         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
62544         strnlen.o in the library, and that makes some versions of ranlib
62545         object.
62546
62547 2002-04-12  Jim Meyering  <meyering@lucent.com>
62548
62549         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
62550
62551 2002-04-09  Jim Meyering  <meyering@lucent.com>
62552
62553         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
62554         to be more precise.  Rather than saying we're checking whether the
62555         function `works', say what we're testing.
62556         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
62557         Reported by Bruno Haible.
62558
62559 2002-03-10  Jim Meyering  <meyering@lucent.com>
62560
62561         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
62562         Suggestion from Santiago Vila.
62563
62564 2002-03-08  Jim Meyering  <meyering@lucent.com>
62565
62566         * lib/rename.c: Mention that this wrapper is needed also on
62567         mips-dec-ultrix4.4 systems.
62568
62569 2002-03-02  Jim Meyering  <meyering@lucent.com>
62570
62571         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
62572         not HAVE_CLOCK_SETTIME.
62573
62574 2002-02-27  Paul Eggert  <eggert@twinsun.com>
62575
62576         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
62577         Check for clock_settime.
62578
62579 2002-02-27  Paul Eggert  <eggert@twinsun.com>
62580
62581         * lib/nanosleep.h: Rename to....
62582         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
62583
62584         * lib/gettime.c: New file.
62585         * lib/settime.c: New file.
62586         * lib/stime.c: Remove.
62587
62588         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
62589         timespec.h.  Remove nanosleep.h.
62590
62591 2002-02-25  Paul Eggert  <eggert@twinsun.com>
62592
62593         * m4/acl.m4: New file.
62594         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
62595         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
62596
62597 2002-02-25  Paul Eggert  <eggert@twinsun.com>
62598
62599         * lib/acl.c, lib/acl.h: New files.
62600         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
62601
62602 2002-02-24  Jim Meyering  <meyering@lucent.com>
62603
62604         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
62605         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
62606         cause trouble.  Reported by Nelson Beebe.
62607
62608 2002-02-23  Paul Eggert  <eggert@twinsun.com>
62609
62610         * lib/path-concat.c (xpath_concat): Reorder code to pacify
62611         compilers that don't know that xalloc_die never returns.
62612
62613 2002-02-20  Jim Meyering  <meyering@lucent.com>
62614
62615         * lib/getdate.c: Regenerate using bison-1.33.
62616
62617 2002-02-17  Jim Meyering  <meyering@lucent.com>
62618
62619         * config/config.guess (main): Don't use `head -1'; it's no longer
62620         portable. Use `sed 1q' instead.
62621
62622 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
62623
62624         * m4/codeset.m4: Upgrade to gettext-0.11.
62625         * m4/gettext.m4: Upgrade to gettext-0.11.
62626         * m4/glibc21.m4: Upgrade to gettext-0.11.
62627         * m4/iconv.m4: Upgrade to gettext-0.11.
62628         * m4/isc-posix.m4: Upgrade to gettext-0.11.
62629         * m4/lcmessage.m4: Upgrade to gettext-0.11.
62630         * m4/lib-ld.m4: New file, from gettext-0.11.
62631         * m4/lib-link.m4: New file, from gettext-0.11.
62632         * m4/lib-prefix.m4: New file, from gettext-0.11.
62633         * m4/progtest.m4: Upgrade to gettext-0.11.
62634
62635 2002-02-15  Paul Eggert  <eggert@twinsun.com>
62636
62637         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
62638         (jm_PREREQ): Use it.
62639
62640 2002-02-15  Paul Eggert  <eggert@twinsun.com>
62641
62642         * lib/posixver.c, lib/posixver.h: New files.
62643         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
62644
62645 2002-02-02  Paul Eggert  <eggert@twinsun.com>
62646             Bruno Haible  <bruno@clisp.org>
62647
62648         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
62649         (fwrite_success_callback): New declaration.
62650         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
62651         print_unicode_char. Call failure callback instead of error.
62652         (fwrite_success_callback): New function.
62653         (exit_failure_callback): New function.
62654         (fallback_failure_callback): New function.
62655         (print_unicode_char): Call unicode_to_mb.
62656
62657 2002-01-26  Jim Meyering  <meyering@lucent.com>
62658
62659         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
62660         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
62661
62662 2002-01-26  Jim Meyering  <meyering@lucent.com>
62663
62664         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
62665
62666 2002-01-22  Paul Eggert  <eggert@twinsun.com>
62667
62668         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
62669
62670 2002-01-22  Jim Meyering  <meyering@lucent.com>
62671
62672         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
62673         Otherwise, some versions of automake would omit the rule that makes
62674         Makefile from Makefile.in.
62675
62676 2002-01-21  Paul Eggert  <eggert@twinsun.com>
62677
62678         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
62679         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
62680         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
62681         (memcoll): Set errno to zero if there is no error.
62682
62683         * lib/quotearg.c (quotearg_buffer_restyled):
62684         Fix bug with quoting buffers containing NUL when backslashing escapes.
62685         This bug was exposed by the other changes in this patch.
62686         (quotearg_n_options): New arg ARGSIZE.
62687         All callers changed.
62688         (quoting_options_from_style): New function.
62689         (quotearg_n_style): Use it.
62690         (quotearg_n_style_mem): New function.
62691
62692         * lib/quotearg.h (quotearg_n_style_mem): New function.
62693
62694 2002-01-19  Jim Meyering  <meyering@lucent.com>
62695
62696         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
62697         Remove useless quotes: DF_PROG="df".
62698         * m4/strnlen.m4: New file.
62699
62700 2002-01-16  Paul Eggert  <eggert@twinsun.com>
62701
62702         * lib/backupfile.c (ISDIGIT): Comment fix.
62703         * lib/getdate.y (ISDIGIT): Likewise.
62704         * lib/posixtm.c (ISDIGIT, year): Likewise.
62705         * lib/strverscmp.c (ISDIGIT): Likewise.
62706         * lib/userspec.c (ISDIGIT): Likewise.
62707
62708 2002-01-16  Jim Meyering  <meyering@lucent.com>
62709
62710         * lib/getdate.y: Add three semicolons, each just before a closing
62711         brace. Bison (as of version 1.31) no longer papers over that mistake.
62712
62713 2002-01-05  Jim Meyering  <meyering@lucent.com>
62714
62715         * lib/version-etc.c (version_etc_copyright): Update copyright year.
62716
62717 2001-12-19  Paul Eggert  <eggert@twinsun.com>
62718
62719         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
62720         not silently exit merely because the output buffer happens to
62721         have nothing pending.
62722
62723 2001-12-18  Paul Eggert  <eggert@twinsun.com>
62724
62725         See the big note in ../ChangeLog.
62726         * lib/human.c (suffixes): Prefer K to k for 1024.
62727         (generate_suffix_backwards): New function.
62728         (human_readable_inexact): Use it.
62729         * lib/xstrtol.c (__xstrtol): If there is no number but there
62730         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
62731         Accept 'K' as well as 'k'.
62732
62733 2001-12-15  Jim Meyering  <meyering@lucent.com>
62734
62735         * lib/regex.h (__restrict_arr): Update from libc.
62736
62737         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
62738         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
62739         (STREQ): Define.
62740
62741 2001-12-14  Jim Meyering  <meyering@lucent.com>
62742
62743         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
62744         Suggestion from Bruno Haible.
62745
62746 2001-12-10  Jim Meyering  <meyering@lucent.com>
62747
62748         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
62749         xrealloc, Instead, include "xalloc.h".
62750         (initbuffer): Don't cast xmalloc return value to char*.
62751         (readline): Reword comment.
62752         Don't cast xrealloc return value to char*
62753         Return NULL, not 0.
62754
62755 2001-12-09  Jim Meyering  <meyering@lucent.com>
62756
62757         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
62758         about `signed and unsigned type in conditional expression'.
62759         * lib/posixtm.c (posix_time_parse): Likewise.
62760
62761         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
62762
62763         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
62764         to avoid a pedantic warning.
62765
62766         * lib/getstr.c: Don't include assert.h.
62767         (getstr): Remove warning-evoking assertions.
62768         Return -1 if offset parameter is out of bounds.
62769         Change the type of a local from int to size_t.
62770
62771         * lib/strftime.c (my_strftime_localtime_r): Include this function
62772         definition in the `#if ! HAVE_TM_GMTOFF' block.
62773
62774         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
62775         Include xalloc.h instead.
62776
62777 2001-12-02  Jim Meyering  <meyering@lucent.com>
62778
62779         * lib/tempname.c: Don't declare getenv, thus reverting the change of
62780         2001-11-18.  It's no longer necessary, now that stdlib.h is always
62781         included.
62782
62783         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
62784         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
62785
62786 2001-11-30  Akim Demaille  <akim@epita.fr>
62787
62788         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
62789         before being defined.
62790
62791 2001-11-27  Paul Eggert  <eggert@twinsun.com>
62792
62793         * lib/quotearg.h (quotearg_n, quotearg_n_style):
62794         First arg is int, not unsigned.
62795         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
62796         (SIZE_MAX, UINT_MAX): New macros.
62797         (quotearg_n_options): Abort if N is negative.
62798         Avoid overflow check on hosts where size_t is 64 bits and int
62799         is 32 bits, as overflow is impossible there.
62800         Fix off-by-one typo that caused unnecessary reallocation.
62801
62802 2001-11-27  Jim Meyering  <meyering@lucent.com>
62803
62804         * lib/tempname.c: Merge with version from libc.
62805         * lib/regex.c: Likewise.
62806
62807         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
62808         systems for which STDC_HEADERS is 0, it was not included, resulting in
62809         a warning about an integer-to-pointer conversion problem with getenv.
62810         Reported by Volker Borchert.
62811
62812 2001-11-26  Jim Meyering  <meyering@lucent.com>
62813
62814         * lib/gtod.h: Remove file.
62815         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
62816         * lib/gettimeofday.c: Don't include gtod.h.
62817         (GTOD_init): Remove function.
62818         (rpl_gettimeofday): Do its job here instead, rather than aborting.
62819         Suggestion from Volker Borchert.
62820
62821 2001-11-23  Jim Meyering  <meyering@lucent.com>
62822
62823         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
62824         it.
62825         * lib/hash.c (struct hash_table): Define it here instead.
62826
62827 2001-11-22  Jim Meyering  <meyering@lucent.com>
62828
62829         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
62830
62831 2001-11-20  Jim Meyering  <meyering@lucent.com>
62832
62833         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
62834         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
62835
62836 2001-11-19  Jim Meyering  <meyering@lucent.com>
62837
62838         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
62839         directory.  Use "conftestXXXXXX" as the template.
62840         Suggestion from Paul Eggert.
62841
62842         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
62843         immediately, so the test doesn't mistakenly hit the max-open-files
62844         limit.
62845
62846 2001-11-18  Paul Eggert  <eggert@twinsun.com>
62847
62848         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
62849         (TEMPORARIES): New macro.
62850         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
62851         removes an artificial limitation (e.g. HP-UX 10.20, where
62852         TMP_MAX is 17576).
62853
62854 2001-11-18  Jim Meyering  <meyering@lucent.com>
62855
62856         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
62857
62858 2001-11-18  Jim Meyering  <meyering@lucent.com>
62859
62860         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
62861         on SunOS 4.
62862
62863         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
62864         files will be created before anything else.
62865
62866 2001-11-17  Paul Eggert  <eggert@twinsun.com>
62867
62868         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
62869         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
62870
62871 2001-11-17  Jim Meyering  <meyering@lucent.com>
62872
62873         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
62874         Prompted by a report from Bob Proulx.
62875
62876         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
62877         Instead, require UTILS_FUNC_MKSTEMP.
62878
62879 2001-11-17  Jim Meyering  <meyering@lucent.com>
62880
62881         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
62882         Now, that's done as part of AC_FUNC_STRTOD.
62883
62884 2001-11-17  Jim Meyering  <meyering@lucent.com>
62885
62886         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
62887         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
62888         rather than group writable.  Patch by Juan F. Codagnone.
62889
62890         * lib/readtokens.c: Remove explicit declarations of xmalloc and
62891         xrealloc, Instead, include "xalloc.h".
62892
62893         * lib/mountlist.c: Include unlocked-io.h after all system headers.
62894         Remove explicit declarations of xmalloc, xrealloc,
62895         and xstrdup.  Instead, include "xalloc.h".
62896
62897         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
62898         unlocked-io.h.
62899         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
62900         Likewise.
62901         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
62902
62903         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
62904         Reported by Padraig Brady.
62905
62906         * lib/mkstemp.c: #undef mkstemp.
62907         Include config.h.
62908         (rpl_mkstemp): Rename from mkstemp.
62909         Protoize.
62910
62911 2001-11-16  Jim Meyering  <meyering@lucent.com>
62912
62913         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
62914         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
62915         determine the amount of total physical memory, use pstat_getstatic.
62916         HPUX-11 doesn't define _SC_PHYS_PAGES.
62917         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
62918         If sysconf couldn't be used to determine the amount of available
62919         physical memory, use both pstat_getstatic and pstat_getdynamic.
62920         Based on a patch from Bob Proulx.
62921
62922 2001-11-10  Jim Meyering  <meyering@lucent.com>
62923
62924         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
62925         (jm_PREREQ): Use it.
62926
62927 2001-11-09  Jim Meyering  <meyering@lucent.com>
62928
62929         * m4/jm-macros.m4: Require autoconf-2.52f.
62930         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
62931         Use these AC_-prefixed names, not the AM_-prefixed ones.
62932
62933         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
62934
62935 2001-11-05  Jim Meyering  <meyering@lucent.com>
62936
62937         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
62938
62939 2001-11-04  Jim Meyering  <meyering@lucent.com>
62940
62941         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
62942         $DEFS.
62943
62944 2001-11-03  Jim Meyering  <meyering@lucent.com>
62945
62946         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
62947         of AC_DEFUN.
62948
62949         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
62950         know the name of the variable in the macro definition.
62951
62952 2001-11-03  Jim Meyering  <meyering@lucent.com>
62953
62954         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
62955         in argmatch_to_argument call.
62956
62957         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
62958         argument.
62959
62960         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
62961         e.g., a fault due to an attempt to free a NULL pointer.
62962
62963 2001-11-01  Jim Meyering  <meyering@lucent.com>
62964
62965         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
62966         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
62967
62968 2001-11-01  Jim Meyering  <meyering@lucent.com>
62969
62970         * lib/dirfd.c, lib/dirfd.h: New files.
62971         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
62972
62973         * lib/hash.c (hash_print) [TESTING]: Clean up.
62974
62975 2001-10-22  Paul Eggert  <eggert@twinsun.com>
62976
62977         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
62978         to avoid a warning if -Wall.
62979
62980 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
62981
62982         * README: New file
62983         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
62984         (per RMS's instructions, this is now the canonical source)
62985         * lgpl/, gpl/: New directories.
62986
62987 2001-10-21  Paul Eggert  <eggert@twinsun.com>
62988
62989         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
62990
62991 2001-10-21  Jim Meyering  <meyering@lucent.com>
62992
62993         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
62994         this code would end up calling gettext even in packages built
62995         with --disable-nls.
62996         * lib/getopt.c (_): Likewise.
62997         * lib/regex.c (_): Likewise.
62998
62999 2001-10-20  Paul Eggert  <eggert@twinsun.com>
63000
63001         * m4/error.m4 (jm_PREREQ_ERROR):
63002         Do not invoke AC_CHECK_FUNCS with strerror_r, as
63003         AC_FUNC_STRERROR_R does that.
63004         Check for strerror declaration.
63005
63006         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
63007         are supposed to have them these days.
63008         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
63009         Merge changes from latest Autoconf CVS.
63010         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
63011         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
63012         POSIX decided to standardize on the int flavor of strerror_r.
63013
63014 2001-10-20  Paul Eggert  <eggert@twinsun.com>
63015
63016         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
63017         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
63018         Use strerror_r that is only a macro, even if it is not a function.
63019         (strerror): Check for HAVE_DECL_STRERROR before declaring.
63020         (private_strerror): Use prototypes, not old-style function definition.
63021         (print_errno_message): New function.
63022         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
63023         char*-flavored one.
63024         (error_tail, error, error_at_line): Use it.
63025
63026 2001-10-11  Jim Meyering  <meyering@lucent.com>
63027
63028         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
63029         and quote_n (1, ... to avoid clobbering a buffer.
63030
63031 2001-10-05  Jim Meyering  <meyering@lucent.com>
63032
63033         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
63034         hash-pjw.h.
63035         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
63036         * lib/hash-pjw.h: New file.
63037
63038 2001-09-30  Jim Meyering  <meyering@lucent.com>
63039
63040         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
63041         `struct fsstat' has the `f_fstypename' member.
63042         Use that to define FS_TYPE, which is now used to make
63043         the getfsstat link test tighter.
63044
63045 2001-09-30  Jim Meyering  <meyering@lucent.com>
63046
63047         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
63048         Include <sys/ucred.h>, for Apple Darwin.
63049         Include sys/mount.h and sys/fs_types.h only if available.
63050         (FS_TYPE): Define.
63051         (read_filesystem_list): Use FS_TYPE.
63052
63053 2001-09-29  Paul Eggert  <eggert@twinsun.com>
63054
63055         * lib/exclude.c (excluded_filename): 0 -> false, since it's
63056         a boolean context.
63057
63058 2001-09-29  Jim Meyering  <meyering@lucent.com>
63059
63060         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
63061         [one-argument getmntent function]): Include stdio.h before mntent.h.
63062         SunOS 4.1.x needs it for the declaration of `FILE'.
63063         Patch by Volker Borchert.
63064
63065         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
63066         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
63067         sys/fs_types.h, and make the link-test for getfsstat guard #include
63068         directives with appropriate #if HAVE_*_H tests so that we can
63069         detect getfsstat on Apple Darwin1.3.7 systems.
63070         Reported by Nelson Beebe.
63071         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
63072
63073 2001-09-28  Paul Eggert  <eggert@twinsun.com>
63074
63075         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
63076         #defines strtoimax.  Also treat the other strto* functions
63077         like strtoimax.
63078
63079         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
63080         Check for strtoul and strtoumax,
63081         as those declarations are made even in the signed case.
63082         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
63083         Likewise, for strtol and strtoimax.
63084
63085 2001-09-28  Paul Eggert  <eggert@twinsun.com>
63086
63087         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
63088         #defines strtoimax.  Also treat the other strto* functions
63089         like strtoimax.
63090
63091         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
63092         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
63093         (strtoimax, strtoumax): Do not declare if already defined as a macro.
63094
63095 2001-09-26  Jim Meyering  <meyering@lucent.com>
63096
63097         Most macros in unlocked-io.h had the wrong number of arguments.
63098         * lib/gen-uio: New script.
63099         (USE_UNLOCKED_IO): Define to 1 if not already defined.
63100         * lib/unlocked-io.hin: Remove file.
63101         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
63102         rather than trying to embed it here.
63103         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
63104         Reported by Padraig Brady.
63105
63106 2001-09-25  Volker Borchert  <bt@teknon.de>
63107
63108         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
63109         `result'.
63110
63111 2001-09-24  Jim Meyering  <meyering@lucent.com>
63112
63113         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
63114
63115 2001-09-23  Jim Meyering  <meyering@lucent.com>
63116
63117         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
63118         instead of the mere test for existence of mntent.h.  The latter
63119         would get a false-positive on AIX 3.4 systems.
63120         In the outer getmntent if-block, don't die if neither of the getmntent
63121         tests succeeds.  Instead, just fall through and continue with the
63122         remaining tests.
63123
63124 2001-09-23  Jim Meyering  <meyering@lucent.com>
63125
63126         * lib/mountlist.c: Remove useless parentheses in #if directives.
63127         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
63128         the deprecated MOUNTED symbol is no longer defined in mntent.h.
63129
63130 2001-09-22  Jim Meyering  <meyering@lucent.com>
63131
63132         * m4/gettext.m4: New file.  From gettext.
63133         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
63134         * m4/progtest.m4: Likewise
63135         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
63136         * m4/glibc21.m4: Likewise.
63137
63138         * m4/libintl.m4: Remove.  No longer used.
63139
63140 2001-09-22  Jim Meyering  <meyering@lucent.com>
63141
63142         * lib/localcharset.c: Update from latest gettext.
63143         * lib/config.charset: Likewise.
63144
63145 2001-09-20  Jim Meyering  <meyering@lucent.com>
63146
63147         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
63148         strtoimax.
63149         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
63150         strtoumax.
63151
63152 2001-09-20  Jim Meyering  <meyering@lucent.com>
63153
63154         * lib/xstrtol.c (strtoimax): Guard declaration with
63155         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
63156         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
63157         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
63158         (strtoumax): Likewise, for completeness (it wasn't necessary).
63159
63160 2001-09-17  Paul Eggert  <eggert@twinsun.com>
63161
63162         * lib/strtoimax.c (HAVE_LONG_LONG):
63163         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
63164         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
63165         to work around bug in IBM C compiler.
63166
63167 2001-09-17  Jim Meyering  <meyering@lucent.com>
63168
63169         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
63170         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
63171         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
63172         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
63173         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
63174         whenever the right hand side need not be expanded by the shell.
63175
63176 2001-09-16  Paul Eggert  <eggert@twinsun.com>
63177
63178         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
63179         library.  It's not correct, as some older glibcs are buggy.
63180         fnmatch wasn't fixed until glibc 2.2.
63181
63182         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
63183         special shell magic here.
63184
63185 2001-09-16  Jim Meyering  <meyering@lucent.com>
63186
63187         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
63188         * m4/jm-macros.m4: Require it.
63189
63190 2001-09-16  Jim Meyering  <meyering@lucent.com>
63191
63192         * lib/mkdir.c: New file.
63193
63194 2001-09-15  Jim Meyering  <meyering@lucent.com>
63195
63196         * m4/jm-macros.m4: Check for help2man.
63197
63198 2001-09-11  Jim Meyering  <meyering@lucent.com>
63199
63200         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
63201         The body, by Paul Eggert, was moved here from configure.in.
63202         * m4/jm-macros.m4: Require UTILS_HOST_OS.
63203
63204 2001-09-04  Paul Eggert  <eggert@twinsun.com>
63205
63206         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
63207         (jm_PREREQ): Use it.
63208
63209 2001-09-04  Paul Eggert  <eggert@twinsun.com>
63210
63211         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
63212         Use ssize_t, not int, to store result of readlink.
63213         Check for ssize_t overflow as well as size_t overflow,
63214         as POSIX says the result of readlink is implementation-defined
63215         when ssize_t overflows.
63216         Remove unnecessary cast to char*.
63217         Use free+malloc instead of realloc, as the storage doesn't need
63218         to be preserved and it's clearer and can be more efficient that way.
63219         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
63220         * lib/xreadlink.h (xreadlink): Update prototype.
63221
63222 2001-09-04  Paul Eggert  <eggert@twinsun.com>
63223
63224         * lib/xgetcwd.c: Revert some of the previous change; intead,
63225         fix the HAVE_GETCWD_NULL code to behave more like the
63226         !HAVE_GETCWD_NULL code used to.
63227
63228         Include "xalloc.h".
63229         (xgetcwd): Do not return NULL when memory is exhausted; instead,
63230         invoke xalloc_die.
63231
63232 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63233
63234         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
63235         sys/param.h, as pathmax.h includes them.
63236
63237 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63238
63239         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
63240         (jm_PREREQ_XGETCWD): New macro.
63241
63242         * m4/getcwd.m4: New file.
63243
63244 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63245
63246         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
63247         like the HAVE_GETCWD_NULL code.
63248         Include pathmax.h if not HAVE_GETCWD.
63249         Do not include xalloc.h.
63250         (INITIAL_BUFFER_SIZE): New symbol.
63251         Do not use xmalloc / xrealloc, since the caller is responsible for
63252         handling errors.  Preserve errno around `free' during failure.
63253         Do not overrun buffer when using getwd.
63254
63255 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63256
63257         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
63258         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
63259         getcwd (NULL, 0).
63260
63261 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63262
63263         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
63264         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
63265         spotted by Jim Meyering.
63266
63267 2001-09-03  Jim Meyering  <meyering@lucent.com>
63268
63269         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
63270         failure.
63271
63272 2001-09-02  Jim Meyering  <meyering@lucent.com>
63273
63274         * lib/error.c: Update from GNU libc.
63275
63276 2001-09-01  Jim Meyering  <meyering@lucent.com>
63277
63278         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
63279         Used by df.
63280
63281 2001-09-01  Jim Meyering  <meyering@lucent.com>
63282
63283         * lib/xreadlink.c: New file.
63284         * lib/xreadlink.h: New file.
63285         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
63286         xreadlink.h.
63287
63288         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
63289         doesn't conflict with sparc Solaris 7's definition in
63290         /usr/include/sys/int_types.h.
63291
63292         * lib/exclude.c: Use `""', not `<>' to #include non-system header
63293         files.
63294         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
63295         and strncasecmp as r-values.  Unixware didn't have declarations.
63296
63297 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63298
63299         * lib/xstrtol.h: Add copyright notice.
63300         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
63301         LONGINT_INVALID_SUFFIX_CHAR.
63302
63303 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63304
63305         * lib/xstrtol.c (strtoimax): New decl.
63306
63307 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63308
63309         * lib/xgetcwd.c: Don't include pathmax.h.
63310         Include stdlib.h and unistd.h if available.
63311         Include xalloc.h.
63312         (xmalloc, xstrdup, free): Remove decls.
63313         (xgetcwd): Don't assume sizes fit in unsigned.
63314         Check for overflow when computing sizes.
63315         Simplify reallocation code.
63316
63317 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63318
63319         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
63320         a directory's st_size can have an arbitrary value, so the old
63321         usage could waste an arbitrary amount of memory.  All uses
63322         changed.
63323         * lib/savedir.h: Update prototype.
63324
63325 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63326
63327         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
63328
63329         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
63330         old strtoimax.c.
63331
63332         Also, make the following further changes to make this file's
63333         configuration more similar to that of strtol.c:
63334         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
63335         (strtoumax, uintmax_t, strtoull, strtol): Remove.
63336         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
63337         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
63338         changed to signed values.
63339
63340         And make the following changes as well:
63341         Fix copyright notice, as 1999 was missing.
63342         (verify): New macro.
63343         (strtoimax): Check sizes at compile-time, not run-time.
63344         Prefer strtol to strtoll if both work.
63345         (main): Remove; it was not that useful and was a pain to maintain.
63346
63347         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
63348
63349 2001-08-31  Jim Meyering  <meyering@lucent.com>
63350
63351         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
63352         Use an initial, malloc'd, buffer of length 128 rather than
63353         a statically allocated one of length 1024.
63354
63355 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63356
63357         Simplify code, partly by assuming autoconf 2.52 semantics.
63358
63359         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
63360
63361         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
63362         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
63363         All uses removed.
63364         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
63365         Move AC_REQUIRE to next-to-top level, to avoid confusion.
63366         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
63367         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
63368         jm_AC_HEADER_INTTYPES_H.
63369         * m4/jm-macros.m4 (jm_MACROS): Likewise.
63370
63371         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
63372
63373         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
63374         Quote first arg of AC_DEFUN.
63375         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
63376         since they are needed to parse the include file even if we need
63377         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
63378         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
63379         but with opposite signedness.
63380
63381 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63382
63383         Merge 'exclude' changes from tar 1.13.22.
63384         This fixes one or two unlikely storage allocation overflow bugs,
63385         but doesn't change user-visible behavior otherwise.
63386
63387 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63388
63389         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
63390         (jm_PREREQ_EXCLUDE): New macro.
63391
63392 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63393
63394         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
63395         tm to be declared.
63396
63397 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63398
63399         * lib/hash.c: Remove '2001' from copyright notice.
63400
63401 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63402
63403         * lib/full-write.h: New file.
63404         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
63405         * lib/full-write.c: Correct credits, as cccp.c no longer
63406         exists and anyway it was so heavily changed from the old cccp
63407         code as to be unrecognizable.  Include full-write.h.
63408         (full_write) Return size_t, with short writes meaning failure.
63409         All callers changed.  This fixes a bug with large buffers
63410         on 64-bit hosts.
63411         * lib/utime.c: Include full-write.h.
63412
63413 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63414
63415         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
63416         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
63417         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
63418         Include if available.
63419         (<xalloc.h>): Include
63420         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
63421         (verify): New macro.  Use it to verify that EXCLUDE macros do not
63422         collide with FNM macros.
63423         (struct patopts): New struct.
63424         (struct exclude): Use it, as exclude patterns now come with options.
63425         (new_exclude): Support above changes.
63426         (new_exclude, add_exclude_file):
63427         Initial size must now be a power of two to simplify overflow checking.
63428         (free_exclude, fnmatch_no_wildcards): New function.
63429         (excluded_filename): No longer requires options arg, as the options
63430         are determined by add_exclude.  Now returns bool, not int.
63431         (excluded_filename, add_exclude):
63432         Add support for the fancy new exclusion options.
63433         (add_exclude, add_exclude_file): Now takes int options arg.
63434         Check for arithmetic overflow when computing sizes.
63435         (add_exclude_file): xrealloc might modify errno, so don't
63436         realloc until after errno might be used.
63437
63438         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
63439         New macros.
63440         (free_exclude): New decl.
63441         (add_exclude, add_exclude_file): Now takes int options arg.
63442         (excluded_filename): No longer requires options arg, as the options
63443         are determined by add_exclude.  Now returns bool, not int.
63444
63445 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63446
63447         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
63448
63449 2001-08-27  Jim Meyering  <meyering@lucent.com>
63450
63451         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
63452
63453         * lib/version-etc.c (N_): Remove definition.
63454         Revert most of last change.
63455         Instead, simply don't mark the `Copyright...' string for translation.
63456         Based on advice from Paul Eggert.
63457
63458         * lib/strtoxmax.c: Tweak comment.
63459
63460 2001-08-26  Jim Meyering  <meyering@lucent.com>
63461
63462         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
63463
63464         * m4/xstrtoimax.m4: New file.
63465         * m4/xstrtoumax.m4: Add comments explaining why we
63466         AC_REPLACE_FUNCS(strtol).
63467
63468 2001-08-26  Jim Meyering  <meyering@lucent.com>
63469
63470         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
63471         of copyright with `%s' so translators don't get an untranslated
63472         message in 2002.
63473         (COPYRIGHT_YEAR): Define.
63474         (version_etc): Use fprintf rather than fputs.
63475         Suggestion from Ulrich Drepper.
63476
63477         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
63478
63479         * lib/strtoll.c: New file, from GNU libc.
63480         * lib/xstrtoimax.c: New file.
63481
63482         * lib/xstrtol.h: Add xstrtoimax.
63483         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
63484         * lib/strtoimax.c: New file.  Likewise, but first define
63485         STRTOUXMAX_SIGNED.
63486
63487         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
63488         ...
63489         * lib/strtoxmax.c: ... then renamed to this.
63490
63491 2001-08-18  Paul Eggert  <eggert@twinsun.com>
63492
63493         * m4/inttypes.m4: Add AC_PREREQ(2.13).
63494         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
63495         (jm_AC_TYPE_INTMAX_T): New macro.
63496         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
63497
63498         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
63499
63500         * m4/longlong.m4: Renamed from ulonglong.m4.
63501         * m4/inttypes.m4: Renamed from inttypes_h.m4.
63502         * m4/uintmax_t.m4: Removed.
63503
63504 2001-08-13  Paul Eggert  <eggert@twinsun.com>
63505
63506         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
63507         Port to Solaris 8, where 'sed' requires a space after the 'r'
63508         command, and where sh dislikes "$/".  Clean up the spacing a bit.
63509         Redirect output to $tmp just once.
63510
63511 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
63512
63513         * lib/addext.c (<errno.h>): Include.
63514         (errno): Declare if not defined.
63515         (addext): Work correctly when pathconf returns -1 and leaves
63516         errno alone because there is no limit.  Also, work even if
63517         pathconf returns a value greater than SIZE_MAX.
63518
63519 2001-08-12  Jim Meyering  <meyering@lucent.com>
63520
63521         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
63522         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
63523         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
63524         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
63525         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
63526         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
63527         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
63528         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
63529         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
63530         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
63531         utime.m4, utimes.m4, xstrtoumax.m4:
63532         Quote the first argument in each use of AC_DEFUN.
63533
63534 2001-08-12  Jim Meyering  <meyering@lucent.com>
63535
63536         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
63537         Simply `return getcwd (NULL, 0);'.
63538         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
63539         Use 1300 as initial value for length, not PATH_MAX.
63540
63541         * lib/pathmax.h: Clean up cpp syntax.
63542
63543 2001-08-12  Jim Meyering  <meyering@lucent.com>
63544
63545         * lib/gettimeofday.c: New file.
63546         * lib/gtod.h: New file.
63547         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
63548
63549 2001-08-05  Jim Meyering  <meyering@lucent.com>
63550
63551         * m4/jm-macros.m4: Require autoconf-2.52.
63552
63553 2001-08-04  Jim Meyering  <meyering@lucent.com>
63554
63555         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
63556         stmt, to get in sync with glibc.
63557
63558 2001-08-03  Paul Eggert  <eggert@twinsun.com>
63559
63560         The following changes are from gettext 0.10.39 as maintained by
63561         Bruno Haible.
63562
63563         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
63564         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
63565         with inverted sense.  All uses changed.
63566
63567         * lib/mbswidth.c: Don't include <limits.h>.
63568         Include <stdlib.h> and <string.h> unconditionally.
63569         (iswcntrl, mbsinit, ISCNTRL): New macros.
63570         (mbsnwidth): Use K&R style function declarations.
63571         Don't bother checking for MB_LEN_MAX == 1, since the compiler
63572         can optimize it when MB_CUR_MAX == 1.
63573         The width of control characters is zero, not 1.
63574
63575 2001-08-03  Paul Eggert  <eggert@twinsun.com>
63576
63577         The following changes are from gettext 0.10.39 as maintained by
63578         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
63579
63580         * m4/codeset.m4: Upgrade to serial AM1.
63581         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
63582         all uses changed.  Quote first arg of AC_DEFUN.
63583         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
63584
63585         * m4/iconv.m4: Upgrade to serial AM2.
63586         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
63587         Add --with-libconv-prefix.
63588         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
63589         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
63590         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
63591         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
63592         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
63593
63594         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
63595         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
63596         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
63597         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
63598         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
63599         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
63600         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
63601         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
63602         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
63603
63604         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
63605         string.h any more.
63606
63607         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
63608         not the default value.
63609
63610         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
63611         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
63612         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
63613         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
63614         Also check for iswcntrl, used for wcwidth fallback.
63615         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
63616         to Autoconf 2.13.
63617
63618 2001-08-03  Jim Meyering  <meyering@lucent.com>
63619
63620         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
63621         as it was in the original.  Reported by Paul Eggert.
63622
63623 2001-07-16  Jim Meyering  <meyering@lucent.com>
63624
63625         * m4/gettimeofday.m4: New file.
63626         Prompted by a report from Bernhard Baehr.
63627
63628 2001-07-15  Jim Meyering  <meyering@lucent.com>
63629
63630         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
63631         stuff. Now it's in ../Makefile.cfg.
63632
63633 2001-07-15  Jim Meyering  <meyering@lucent.com>
63634
63635         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
63636         (BUILT_SOURCES): Add unlocked-io.h.
63637         (io_functions): Define.
63638         (unlocked-io.h): New rule.
63639         (DISTCLEANFILES): Add unlocked-io.h.
63640         (all-local): Depend on unlocked-io.h, to ensure it is created.
63641
63642         * lib/unlocked-io.hin: New file
63643
63644         * lib/regex.c: Update from glibc.
63645
63646 2001-07-05  Jim Meyering  <meyering@lucent.com>
63647
63648         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
63649         recommendation.
63650         (libfetish_a_SOURCES): Put all .h files here instead.
63651         Remove a thus-exposed (better checks in automake) duplicate and
63652         two unnecessary .h files.
63653
63654 2001-07-04  Jim Meyering  <meyering@lucent.com>
63655
63656         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
63657         that generates jm-glibc-io.m4 so that it doesn't trigger any make
63658         distcheck failure.
63659
63660 2001-07-02  Jim Meyering  <meyering@lucent.com>
63661
63662         The following changes were prompted by suggestions from Bruno Haible.
63663
63664         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
63665         is now generated.
63666         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
63667         definition of EXTRA_DIST.
63668         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
63669         ensure that the generated file is created/updated whenever the list
63670         of $(unlocked_functions) is changed.
63671         (jm-glibc-io.m4): New rule.
63672         (unlocked-io.h): New rule -- currently unused.
63673
63674 2001-06-24  Jim Meyering  <meyering@lucent.com>
63675
63676         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
63677         unmatched right bracket, rather than kludging it with an extra,
63678         falsely-matching quote in a comment.  Patch by Akim Demaille.
63679
63680 2001-06-11  Jim Meyering  <meyering@lucent.com>
63681
63682         * lib/regex.c: Update from GNU libc.
63683
63684 2001-05-27  Jim Meyering  <meyering@lucent.com>
63685
63686         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
63687         Check for ut_type in struct utmp.
63688
63689 2001-05-27  Jim Meyering  <meyering@lucent.com>
63690
63691         * lib/readutmp.h (UT_TYPE): Define.
63692
63693 2001-05-24  Jim Meyering  <meyering@lucent.com>
63694
63695         * lib/argmatch.c: Include "quote.h".
63696         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
63697         quote function.  Reported by Göran Uddeborg.
63698
63699 2001-05-22  Jim Meyering  <meyering@lucent.com>
63700
63701         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
63702         now that we use the package-supplied version unconditionally.
63703         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
63704
63705 2001-05-21  Jim Meyering  <meyering@lucent.com>
63706
63707         * m4/regex.m4: Change a couple backticks to single quotes to avoid
63708         shell syntax errors.
63709
63710 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63711
63712         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
63713
63714 2001-05-20  Paul Eggert  <eggert@twinsun.com>
63715
63716         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
63717         Don't bother to check library strftime, since
63718         we'll be using our own my_strftime function anyway.
63719         Define my_strftime instead of strftime.
63720
63721 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
63722
63723         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
63724         which is not yet declared.
63725
63726 2001-05-15  Jim Meyering  <meyering@lucent.com>
63727
63728         * m4/regex.m4: Use proper quoting so brackets appear in the test
63729         program.
63730         Reported by, and with help from, Bruno Haible.
63731
63732 2001-05-13  Jim Meyering  <meyering@lucent.com>
63733
63734         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
63735         undefined.
63736
63737 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63738
63739         dirname code cleanup.  base_name now behaves more compatibly
63740         with POSIX basename when given file names that have trailing
63741         slashes, and similarly for dir_name.  Add new primitives
63742         base_len and dir_len.  Put the directory-name-related decls
63743         into dirname.h.
63744
63745         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
63746         * lib/backupfile.c (base_name): Likewise.
63747         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
63748         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
63749         * lib/makepath.c (strip_trailing_slashes): Likewise.
63750         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
63751         ISSLASH): Likewise.
63752         * lib/rename.c (strip_trailing_slashes): Likewise.
63753         * lib/same.c (base_name): Likewise.
63754         * lib/stripslash.c (ISSLASH): Likewise.
63755
63756         * lib/addext.c: Include <dirname.h> after size_t is defined.
63757         * lib/backupfile.c: Likewise.
63758
63759         * lib/addext.c (addext): Use base_len to trim redundant
63760         trailing slashes instead of doing it ourselves.
63761         But do not trim the last slash if it is not redundant.
63762
63763         * lib/backupfile.c (find_backup_file_name,
63764         max_backup_version): Use base_len instead of rolling it ourselves.
63765         Handle the case of "" and (on DOS) "C:" correctly.
63766
63767         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
63768         needed. Include <string.h>, <dirname.h>.
63769         (base_name): Allow file names ending in slashes, other than names
63770         that are all slashes.  In this case, return the basename followed
63771         by the slashes.  This is more general, and can be used in places
63772         where the original base_name purposely had an assertion failure.
63773         (base_len): New function.
63774
63775         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
63776         Do not include <assert.h>; no longer needed.
63777         Include xalloc.h.
63778         (memrchr): Remove decl.
63779         (dir_name_r): Remove.
63780         (dir_len): Renamed from dirlen.  All callers changed.
63781         Rewrite in terms of base_name, for simplicity and consistency.
63782         (dir_name): Never return NULL.  All callers changed.
63783         Do not include <stdlib.h> in test program; no longer needed.
63784         return 0; is fine for test program.
63785
63786         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
63787         New macros.
63788         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
63789
63790         * lib/path-concat.c (path_concat): Use base_len to compute
63791         base length, not strlen; this means we cannot rely on memcpy
63792         to null-terminate.
63793
63794         * lib/same.c (STREQ): Remove.
63795         (same_name): Handle the case where the basename ends in trailing '/'.
63796
63797         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
63798         a slash was stripped.  Do not strip the last slash after a
63799         file system prefix.
63800
63801 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63802
63803         * lib/Makefile.am (libfetish_a_SOURCES):
63804         Add strftime.c, since we now compile it on all hosts.
63805
63806         * lib/strftime.c (my_strftime):
63807         Define to nstrftime if emacs, but only if my_strftime is not defined.
63808         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
63809         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
63810         Add one more extra argument: a nanoseconds value.
63811         All uses changed.
63812         (ns): New macro.
63813         (my_strftime function): Add %N format.
63814         (emacs_strftimeu): Renamed from emacs_strftime,
63815         with extra ut argument.
63816
63817 2001-05-09  Paul Eggert  <eggert@twinsun.com>
63818
63819         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
63820
63821 2001-04-21  Jim Meyering  <meyering@lucent.com>
63822
63823         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
63824         doesn't interfere.
63825
63826 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63827
63828         * m4/ftruncate.m4: Check for chsize.
63829         Link with ftruncate.o unconditionally if ftruncate is missing.
63830         This was required when cross-compiling to i586-mingw32msvc.
63831
63832 2001-04-08  Jim Meyering  <meyering@lucent.com>
63833
63834         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
63835         recomputed; that's necessary when the offset spans a DST transition.
63836         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
63837
63838 2001-04-02  Jim Meyering  <meyering@lucent.com>
63839
63840         * lib/regex.h, regex.c: Update from GNU libc.
63841
63842 2001-03-24  Jim Meyering  <meyering@lucent.com>
63843
63844         * m4/jm-macros.m4: Require autoconf-2.49d.
63845
63846 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
63847
63848         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
63849
63850 2001-03-19  Paul Eggert  <eggert@twinsun.com>
63851
63852         * lib/version-etc.c (version_etc_copyright): Update to 2001.
63853
63854 2001-03-17  Jim Meyering  <meyering@lucent.com>
63855
63856         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
63857         now that the version in autoconf is equivalent.
63858         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
63859
63860         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
63861         Suggestion from Akim Demaille.
63862
63863         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
63864         (jm_PREREQ_TEMPNAME): New function.
63865
63866 2001-03-16  Paul Eggert  <eggert@twinsun.com>
63867
63868         * lib/tempname.c (uint64_t): Define to uintmax_t if
63869         not defined, and if UINT64_MAX is not defined.
63870         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
63871         Reported by John David Anglin.
63872
63873 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
63874
63875         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
63876         resolve alias if codeset is empty.
63877         * lib/config.charset (BeOS): Use wildcard syntax.
63878
63879 2001-03-13  Jim Meyering  <meyering@lucent.com>
63880
63881         * lib/path-concat.c (path_concat)
63882         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
63883         concatenating e.g., `C:' and `foo'.
63884         From Bruno Haible.
63885
63886 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63887
63888         * lib/localcharset.c (locale_charset): Don't use
63889         setlocale(LC_CTYPE,NULL). Don't return NULL.
63890         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
63891
63892 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63893
63894         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
63895         support for DOS/DJGPP.
63896
63897 2001-03-01  Paul Eggert  <eggert@twinsun.com>
63898
63899         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
63900         lacks mkstemp.  Compile our own tempname.c if we compile our own
63901         mkstemp.c, as mkstemp relies on tempname.
63902
63903 2001-03-01  Jim Meyering  <meyering@lucent.com>
63904
63905         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
63906         AH_VERBATIM really does output its argument verbatim.
63907
63908 2001-02-28  Paul Eggert  <eggert@twinsun.com>
63909
63910         * lib/Makefile.am (libfetish_a_SOURCES):
63911         Add dup-safer.c, fopen-safer.c.
63912         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
63913
63914         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
63915         * lib/unistd-safer.h: New files.
63916
63917 2001-02-25  Paul Eggert  <eggert@twinsun.com>
63918
63919         The mkstemp replacement is taken from glibc 2.2.2, with some
63920         portability fixes for use outside glibc, as follows:
63921
63922         * lib/tempname.c (struct_stat64): New macro.
63923         (direxists, __gen_tempname): Use it.
63924         This avoids a portability problem with Solaris 8.
63925
63926         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
63927         (<stddef.h>, <stdint.h>, <string.h>):
63928         Include only if STDC_HEADERS || _LIBC.
63929         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
63930         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
63931         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
63932         (__set_errno): Define this macro if <errno.h> doesn't.
63933         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
63934         Define these macros if <stdio.h> doesn't.
63935         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
63936         Define these macros if <sys/stat.h>
63937         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
63938         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
63939         __xstat64): Define if not _LIBC.
63940         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
63941         (__gen_tempname): Invoke gettimeofday only if
63942         HAVE_GETTIMEOFDAY || _LIBC;
63943         otherwise, fall back on plain "time".
63944         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
63945
63946         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
63947
63948         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
63949
63950 2001-02-18  Paul Eggert  <eggert@twinsun.com>
63951
63952         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
63953
63954 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63955
63956         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
63957         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
63958         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
63959         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
63960
63961 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63962
63963         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
63964         Remove workaround macros for hosts that have mbrtowc but not
63965         mbstate_t, as we now insist on proper declarations for both
63966         before using mbrtowc.
63967
63968 2001-02-17  Jim Meyering  <meyering@lucent.com>
63969
63970         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
63971         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
63972         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
63973         UnixWare 7.1.1.
63974
63975         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
63976         rather than AC_CACHE_VAL.
63977
63978 2001-02-17  Jim Meyering  <meyering@lucent.com>
63979
63980         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
63981         around included file name.
63982
63983         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
63984
63985         * lib/strftime.c: Update from GNU libc (the only changes were to
63986         comments).
63987
63988 2001-02-17  Jim Meyering  <meyering@lucent.com>
63989
63990         * lib/regex.c: Update from libc.
63991
63992 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
63993
63994         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
63995         clash.
63996
63997 2001-02-16  Paul Eggert  <eggert@twinsun.com>
63998
63999         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
64000         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
64001         Reported by Mark Hounschell via Paul Eggert.
64002
64003 2001-02-07  Jim Meyering  <meyering@lucent.com>
64004
64005         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
64006
64007 2001-02-05  Jim Meyering  <meyering@lucent.com>
64008
64009         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
64010         it includes the patch required for `large file' support with at least
64011         HP-UX's 10.20 /bin/cc.
64012
64013 2001-02-03  Jim Meyering  <meyering@lucent.com>
64014
64015         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
64016         AS_IF, now that it works once again (mysteriously).
64017         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
64018
64019 2001-01-30  Jim Meyering  <meyering@lucent.com>
64020
64021         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
64022         * m4/chown.m4: Rename conftestchown to conftest.chown.
64023         * m4/rename.m4: s/conftestdir/conftest.d1/ and
64024         s/conftestdir2/conftest.d2/.
64025         * m4/utimes.m4: s/conftestdata/conftest.data/
64026         Inspired by Pavel Roskin's change in autoconf.
64027
64028 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
64029
64030         * lib/config.charset: Update for FreeBSD 4.2.
64031
64032 2001-01-27  Jim Meyering  <meyering@lucent.com>
64033
64034         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
64035         a use of AS_IF.
64036         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
64037
64038 2001-01-26  Jim Meyering  <meyering@lucent.com>
64039
64040         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
64041         quotearg.c includes it.
64042
64043 2001-01-26  Jim Meyering  <meyering@lucent.com>
64044
64045         * lib/quotearg.c: Include stddef.h.
64046         * lib/quote.c: Include stddef.h.
64047         Reported by Axel Kittenberger.
64048
64049         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
64050         line in double quotes so that it evokes a better diagnostic.
64051         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
64052         Reported by Axel Kittenberger.
64053
64054 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
64055
64056         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
64057         as if it was a `charset'.
64058
64059 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
64060
64061         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
64062         has const.
64063
64064 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
64065
64066         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
64067         to avoid a warning.  Add back 'const' to inptr.
64068
64069 2001-01-20  Jim Meyering  <meyering@lucent.com>
64070
64071         Be sure that headers are checked before used in code compiled
64072         for the type checks.
64073         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
64074         In place of that, invoke jm_CHECK_ALL_TYPES.
64075         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
64076         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
64077         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
64078         The check for ssize_t was mistakenly run before the test for unistd.h.
64079
64080         The configure-time check for stdbool.h was missing.
64081         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
64082         (jm_PREREQ_HASH): New function.
64083
64084 2001-01-17  Jim Meyering  <meyering@lucent.com>
64085
64086         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
64087         for autoconf-2.49c.
64088         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
64089
64090 2001-01-16  Jim Meyering  <meyering@lucent.com>
64091
64092         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
64093         From Bruno Haible.
64094
64095 2001-01-14  Jim Meyering  <meyering@lucent.com>
64096
64097         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
64098         foo and bar.  Create conftestdir/ in the script, not in the C code.
64099         Remove directories in the script, not in the C code.
64100         Remove conftestdir{,2} before trying to create the directory.
64101         Make the entire configure script fail if the mkdir fails.
64102
64103 2001-01-14  Jim Meyering  <meyering@lucent.com>
64104
64105         * lib/rename.c: New file.  From Volker Borchert.
64106         Include stdlib.h, string.h or strings.h, and xalloc.h.
64107         Use strip_trailing_slashes rather than open-coding it.
64108
64109 2001-01-03  Paul Eggert  <eggert@twinsun.com>
64110
64111         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
64112
64113 2001-01-03  Jim Meyering  <meyering@lucent.com>
64114
64115         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
64116         of local `inptr' to avoid warning with some system declarations of
64117         iconv.
64118
64119 2001-01-02  Volker Borchert  <bt@teknon.de>
64120
64121         * m4/rename.m4: New file.
64122         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
64123
64124 2001-01-01  Jim Meyering  <meyering@lucent.com>
64125
64126         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
64127         even on systems with utmpx.h.  It's necessary for the declaration of
64128         utmp's ut_user member.  Reported by Andreas Jaeger.
64129
64130         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
64131         available. They are required for the declarations of getgrgid and
64132         getpwuid resp.
64133         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
64134         Reported by Andreas Jaeger.
64135
64136 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
64137
64138         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
64139         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
64140         so `make install' also works in VPATH builds.
64141
64142 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
64143
64144         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
64145         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
64146         can be used in subdirectories.
64147
64148 2000-12-29  Paul Eggert  <eggert@twinsun.com>
64149
64150         * lib/modechange.c: Do not assume that mode_t uses the
64151         traditional octal encoding.  E.g. "chmod 1 FOO" should set
64152         the other-execute bit of FOO even if S_IXOTH != 1.
64153
64154         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
64155         WOTH, XOTH, ALLM): New macros.
64156         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
64157          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
64158         Use them.
64159         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
64160         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
64161         (mode_compile):
64162         No need to use uintmax_t; unsigned long is long enough.
64163         Don't bother to get suffix since we don't use it.
64164
64165 2000-12-26  Jim Meyering  <meyering@lucent.com>
64166
64167         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
64168         better with autoheader.
64169
64170 2000-12-24  Jim Meyering  <meyering@lucent.com>
64171
64172         * lib/hash.c (is_prime): Return explicit boolean values.
64173         (hash_get_first): Return NULL to appease Irix5.6's 89.
64174         Reported by Nelson Beebe.
64175
64176 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
64177
64178         * lib/localcharset.c (locale_charset): Add support for Win32.
64179
64180 2000-12-18  Paul Eggert  <eggert@twinsun.com>
64181
64182         * lib/physmem.h, lib/physmem.c: New files.
64183
64184         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
64185         (noinst_HEADERS): Add physmem.h.
64186
64187         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
64188         't' for compatibility with Solaris 8 sort.
64189
64190 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
64191
64192         * lib/config.charset: Add support for BeOS.
64193
64194 2000-12-17  Jim Meyering  <meyering@lucent.com>
64195
64196         * m4/dos.m4 (jm_AC_DOS): New file and macro.
64197         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
64198
64199 2000-12-16  Jim Meyering  <meyering@lucent.com>
64200
64201         This bug had a serious impact on chown: `chown N:M FILE' (for integer
64202         N and M) would have treated it like `chown N:N FILE'.
64203
64204         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
64205
64206 2000-12-16  Jim Meyering  <meyering@lucent.com>
64207
64208         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
64209         SHELLS_FILE to a file name that's useful on djgpp systems.
64210         Include stdlib.h.
64211         (ADDITIONAL_DEFAULT_SHELLS): Define.
64212         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
64213         Based mostly on a patch from Prashant TR.
64214
64215 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
64216
64217         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
64218         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
64219         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
64220
64221 2000-12-08  Andreas Schwab  <schwab@suse.de>
64222
64223         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
64224         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
64225
64226 2000-12-07  Jim Meyering  <meyering@lucent.com>
64227
64228         * lib/stripslash.c (ISSLASH): Define.
64229         (strip_trailing_slashes): Use ISSLASH rather than comparing against
64230         `/'.
64231         From Prashant TR.
64232
64233         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
64234         (dir_name_r): Declare this function as static.
64235         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
64236         manifest itself on a name containing a mix of slashes and
64237         backslashes.
64238         Make this function work with names starting with a DOS-style
64239         drive letter and colon prefix.
64240         (dir_name): Append `.' if necessary.
64241         Based mostly on patches from Prashant TR and Eli Zaretskii.
64242
64243         * lib/dirname.h (dir_name_r): Remove prototype.
64244
64245 2000-12-06  Paul Eggert  <eggert@twinsun.com>
64246
64247         * m4/off_t-format.m4: Remove this file.
64248         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
64249
64250 2000-12-06  Jim Meyering  <meyering@lucent.com>
64251
64252         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
64253         replacement strtoull, we may well need the replacement strtoul, too.
64254         Check for declarations of strtoul and strtoull.
64255         Check for strtol.  Mainly as a cue to cause automake to include
64256         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
64257         Check for limits.h -- strtol.c needs it.
64258
64259 2000-12-05  Jim Meyering  <meyering@lucent.com>
64260
64261         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
64262
64263 2000-12-04  Jim Meyering  <meyering@lucent.com>
64264
64265         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
64266         Also include memory.h, stdlib.h, unistd.h if appropriate.
64267         Reported by Andreas Jaeger (conflicting declaration of malloc).
64268
64269 2000-12-02  Jim Meyering  <meyering@lucent.com>
64270
64271         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
64272         * m4/jm-macros.m4 (jm_MACROS): require it.
64273
64274 2000-12-02  Jim Meyering  <meyering@lucent.com>
64275
64276         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
64277
64278 2000-12-01  Paul Eggert  <eggert@twinsun.com>
64279
64280         * lib/memrchr.c: Include <config.h> before any system include file.
64281
64282 2000-11-30  Jim Meyering  <meyering@lucent.com>
64283
64284         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
64285
64286 2000-11-30  Jim Meyering  <meyering@lucent.com>
64287
64288         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
64289
64290 2000-11-29  Paul Eggert  <eggert@twinsun.com>
64291
64292         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
64293
64294 2000-11-26  Jim Meyering  <meyering@lucent.com>
64295
64296         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
64297
64298 2000-11-22  Paul Eggert  <eggert@twinsun.com>
64299
64300         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
64301         size of (size_t) -1; it's not portable.
64302
64303 2000-11-17  Jim Meyering  <meyering@lucent.com>
64304
64305         * lib/strstr.c: Update from GNU libc.
64306
64307 2000-11-17  Akim Demaille  <akim@epita.fr>
64308
64309         * lib/obstack.h: Formatting changes.
64310         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
64311         prevent type checking.
64312         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
64313         cast the value to (void *): assigning a `foo *' to a `void *'
64314         variable is valid.
64315         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
64316
64317 2000-11-16  Jim Meyering  <meyering@lucent.com>
64318
64319         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
64320
64321 2000-11-11  Jim Meyering  <meyering@lucent.com>
64322
64323         * lib/error.c: Add a couple #includes, merging from GNU libc version.
64324
64325 2000-11-10  Jim Meyering  <meyering@lucent.com>
64326
64327         * lib/obstack.h: Update from GNU libc.
64328         * lib/obstack.c: Likewise.
64329
64330 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
64331
64332         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
64333
64334 2000-11-06  Paul Eggert  <eggert@twinsun.com>
64335
64336         * lib/getusershell.c (setusershell): Use rewind rather than
64337         fseek/fseeko, to avoid configuration hassles with fseeko.
64338         Don't bother opening SHELLS_FILE if shellstream is NULL;
64339         it's not necessary.
64340
64341 2000-11-05  Jim Meyering  <meyering@lucent.com>
64342
64343         * lib/makepath.h (make_dir): Declare.
64344         * lib/makepath.c (make_dir): Remove `static' attribute.
64345         Tweak a comment.
64346
64347 2000-11-04  Jim Meyering  <meyering@lucent.com>
64348
64349         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
64350
64351 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
64352
64353         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
64354         last one in a bucket, advance to the next bucket.
64355
64356 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
64357
64358         * lib/fnmatch.c: Do not comment out all the code if we are using
64359         the GNU C library, because in some cases we are replacing buggy
64360         code in the GNU C library itself.
64361
64362 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
64363
64364         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
64365         (regex_compile): Catch bogus \(\1\).
64366
64367 2000-10-30  Paul Eggert  <eggert@twinsun.com>
64368
64369         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
64370         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
64371         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
64372
64373 2000-10-30  Paul Eggert  <eggert@twinsun.com>
64374
64375         * lib/error.h, getline.h, modechange.h:
64376         Remove "2000" from Copyright line, as the file hasn't been
64377         changed this year other than in the copyright notice.
64378
64379         * lib/xalloc.h: Add "2000" to Copyright line, as this file
64380         was changed this year.
64381
64382 2000-10-29  Jim Meyering  <meyering@lucent.com>
64383
64384         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
64385         renaming.
64386         * m4/ls-mntd-fs.m4: Likewise
64387
64388 2000-10-29  Jim Meyering  <meyering@lucent.com>
64389
64390         * lib/xstat.in: Fix grammar in comment.
64391
64392 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
64393
64394         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
64395         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
64396         doesn't define __restrict_arr.
64397
64398 2000-10-28  Jim Meyering  <meyering@lucent.com>
64399
64400         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
64401         (jm_PREREQ_MEMCHR): New function.
64402
64403 2000-10-28  Jim Meyering  <meyering@lucent.com>
64404
64405         * lib/memchr.c: Update from libc.
64406         Adjust for portability:
64407         [HAVE_STDLIB_H]: Include stdlib.h.
64408         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
64409         Undef __memchr, too.
64410         [!weak_alias]: Define __memchr to memchr.
64411
64412         * lib/regex.c: Update from libc.
64413         * lib/regex.h: Likewise.
64414         * lib/getopt1.c: Likewise.
64415         * lib/memcmp.c: Likewise.
64416
64417         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
64418         Avoid using fseek, when possible -- it's broken by design.
64419         Patch by Ulrich Drepper.
64420
64421 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
64422
64423         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
64424         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
64425         Giving in to popular pressure to shut up the compiler with casts.
64426
64427 2000-10-26  Jim Meyering  <meyering@lucent.com>
64428
64429         * lib/strftime.c: Update from libc.
64430
64431 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
64432
64433         * regex.c: More `unsigned char' -> `re_char' changes.
64434         Also change several `int' into `re_wchar_t'.
64435         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
64436         (PUSH_FAILURE_POINTER): Don't cast any more.
64437         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
64438         We want GCC to complain, since this piece of code makes
64439         re_match non-reentrant, which *should* be fixed.
64440         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
64441         (EXTEND_BUFFER): Use RETALLOC.
64442         (SET_LIST_BIT): Don't cast.
64443         (re_wchar_t): New type.
64444         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
64445         that those two functions will always properly return.
64446         (IMMEDIATE_QUIT_CHECK): Cast to void.
64447         (analyse_first): Use recursion rather than an explicit stack.
64448         (re_compile_fastmap): Can't fail anymore.
64449         (re_search_2): Don't check re_compile_fastmap for failure.
64450         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
64451         Now also sets the new value (passed in a new argument).
64452         (re_match_2_internal): Use it.
64453         Also, use a new var `reg' of type size_t when looping through regs
64454         rather than reuse the inappropriate `mcnt'.
64455
64456 2000-10-25  Jim Meyering  <meyering@lucent.com>
64457
64458         * lib/obstack.c: Update from libc.
64459
64460 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
64461
64462         * regex.c (regex_compile): Change the way of handling a range from
64463         a char less than 256 to a char not less than 256.
64464
64465 2000-10-24  Andrew Innes  <andrewi@gnu.org>
64466
64467         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
64468         NT-Emacs only.
64469         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
64470         so that re_search functions only quit when callers expect them to.
64471
64472 2000-10-23  Jim Meyering  <meyering@lucent.com>
64473
64474         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
64475         wrong.  That set_locale call must not have any side effects.
64476         From Paul Eggert.
64477
64478 2000-10-22  Jim Meyering  <meyering@lucent.com>
64479
64480         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
64481         [CYCLIC]: Remove now-unused definition.
64482
64483         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
64484         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
64485         Suggestion from Ulrich Drepper.
64486
64487 2000-10-21  Jim Meyering  <meyering@lucent.com>
64488
64489         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
64490         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
64491         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
64492
64493 2000-10-21  Jim Meyering  <meyering@lucent.com>
64494
64495         * lib/dirname.c (memrchr): Declare if necessary.
64496         (dir_name): Remove the restriction that there be no
64497         trailing slashes.  Now, this code skips past them, effectively
64498         ignoring them.
64499         [TEST_DIRNAME] (main): New unit tests.
64500
64501         * lib/memrchr.c: New file from GNU libc.
64502         Undef __memrchr, too.
64503         [!weak_alias]: Define __memrchr to memrchr.
64504         Guard weak_alias use with `#ifdef weak_alias'.
64505
64506 2000-10-21  Jim Meyering  <meyering@lucent.com>
64507
64508         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
64509         (dir_name): Use dir_name_r.
64510         * lib/dirname.h (dir_name_r): Declare it.
64511
64512 2000-10-17  Jim Meyering  <meyering@lucent.com>
64513
64514         * lib/quote.h (PARAMS): Define and use.
64515         Reported by Akim Demaille.
64516
64517         * lib/getopt.c: Update from libc.
64518
64519 2000-10-16  Jim Meyering  <meyering@lucent.com>
64520
64521         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
64522         setlocale.
64523         From Jan Fedak.
64524
64525 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
64526
64527         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
64528
64529 2000-09-25  Jim Meyering  <meyering@lucent.com>
64530
64531         * lib/md5.h (rol): Define (from GnuPG).
64532
64533         * lib/sha.c: Give credit (GnuPG) where due.
64534         (M): Use rol rather than open-coding it.
64535         Add a FIXME comment.
64536
64537 2000-09-21  Jim Meyering  <meyering@lucent.com>
64538
64539         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
64540         Reported by Michael Stone.
64541
64542 2000-09-20  Jim Meyering  <meyering@lucent.com>
64543
64544         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
64545         (noinst_HEADERS): Add sha.h.
64546         Based on code from Scott G. Miller and from GnuPG.
64547
64548 2000-09-18  Jim Meyering  <meyering@lucent.com>
64549
64550         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
64551         LIBS. Otherwise, everyone ends up linking with -lelf for some
64552         configurations.
64553         Reported by Mike Stone.
64554
64555 2000-09-15  Jim Meyering  <meyering@lucent.com>
64556
64557         * lib/regex.c: Update from libc.
64558
64559 2000-09-10  Jim Meyering  <meyering@lucent.com>
64560
64561         * lib/getopt.c (_getopt_internal): Update from glibc.
64562
64563 2000-09-09  Jim Meyering  <meyering@lucent.com>
64564
64565         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
64566         think it should be used as a general replacement for isascii.
64567         * lib/fnmatch.c: Likewise.
64568         * lib/mbswidth.c: Likewise
64569         * lib/regex.c: Likewise.
64570
64571         Don't use atoi.
64572         * lib/userspec.c: Include sys/param.h and limits.h.
64573         Include xstrtol.h.
64574         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
64575         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
64576         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
64577         UID, GID.  Check range.
64578
64579 2000-09-06  Jim Meyering  <meyering@lucent.com>
64580
64581         * lib/getopt.c (_getopt_internal): Update from glibc.
64582
64583 2000-08-30  Jim Meyering  <meyering@lucent.com>
64584
64585         * lib/strftime.c: Merge in changes from GNU libc.
64586
64587 2000-08-26  Jim Meyering  <meyering@lucent.com>
64588
64589         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
64590         * m4/fpending.m4: New file.
64591
64592 2000-08-26  Jim Meyering  <meyering@lucent.com>
64593
64594         * lib/closeout.c: Include "__fpending.h".
64595         (close_stdout_status): Return right away if there's nothing to flush.
64596
64597         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
64598         * lib/__fpending.c: New file.
64599         * lib/__fpending.h: New file.
64600
64601 2000-08-20  Jim Meyering  <meyering@lucent.com>
64602
64603         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
64604         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
64605         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
64606
64607 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
64608
64609         Improve fileutils installation on systems where running
64610         programs (like install) can't be unlinked.
64611         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
64612         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
64613
64614 2000-08-07  Paul Eggert  <eggert@twinsun.com>
64615
64616         Standardize on "memory exhausted" instead of "Memory exhausted"
64617         or "virtual memory exhausted".
64618         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
64619         "virtual memory exhausted".
64620         * lib/same.c (same_name): Invoke xalloc_die instead of printing
64621         our own message.
64622         * lib/userspec.c (parse_user_spec): Likewise.
64623         * lib/bumpalloc.h: comment fix
64624         * lib/same.c, userspec.c: Include xalloc.h.
64625
64626         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
64627         not char *const and pointing to a constant array.
64628         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
64629         (xrealloc): Comment fix.
64630
64631         * lib/userspec.c (parse_user_spec):
64632         Don't translate a message until just before returning,
64633         to avoid unnecessary translation.
64634
64635 2000-08-07  Jim Meyering  <meyering@lucent.com>
64636
64637         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
64638         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
64639         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
64640         getgroups.c, gethostname.c, getopt.h, group-member.c,
64641         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
64642         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
64643         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
64644         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
64645         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
64646         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
64647         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
64648         yesno.c: Back out Copyright date changes for each file with no change
64649         this year.  This eases coordination with other programs using the same
64650         source code modules.  From Paul Eggert.
64651
64652 2000-08-06  Paul Eggert  <eggert@twinsun.com>
64653
64654         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
64655         not char, for compatibility with glibc 2.1.3 strftime.c.
64656
64657 2000-08-03  Greg McGary  <greg@mcgary.org>
64658
64659         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
64660         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
64661         (EXTEND_BUFFER): Use them.
64662
64663 2000-08-01  Jim Meyering  <meyering@lucent.com>
64664
64665         * lib/dirname.c (ISSLASH): Define.
64666         (BACKSLASH_IS_PATH_SEPARATOR): Define.
64667         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
64668         both `\' and `/' may be use as path separators.
64669         Based on a patch from Prashant TR.
64670
64671 2000-07-31  Paul Eggert  <eggert@twinsun.com>
64672
64673         * lib/quotearg.c (quotearg_n_options): Don't make the initial
64674         slot vector a constant, since it might get modified.
64675
64676 2000-07-31  Jim Meyering  <meyering@lucent.com>
64677
64678         * lib/xmalloc.c: Use `virtual memory exhausted', not
64679         `Memory exhausted'.
64680         * lib/obstack.c (print_and_abort): Likewise.
64681
64682 2000-07-30  Paul Eggert  <eggert@twinsun.com>
64683
64684         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
64685         buffer, so that the caller can always quote one small
64686         component of a "memory exhausted" message in slot 0.
64687         From a suggestion by Jim Meyering.
64688
64689 2000-07-30  Jim Meyering  <meyering@lucent.com>
64690
64691         * lib/makepath.c (make_path): Quote the other instance, too.
64692
64693         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
64694         (STATIC_BUF_SIZE): Define.
64695         (quotearg_n_options): Use only statically allocated storage when
64696         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
64697         than STATIC_BUF_SIZE.
64698
64699 2000-07-29  Jim Meyering  <meyering@lucent.com>
64700
64701         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
64702         * lib/dirname.c (dir_name): Likewise.
64703
64704         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
64705         `/'.
64706
64707         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
64708         (dir_name): Assert that there are no trailing slashes.
64709
64710 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
64711
64712         * lib/mbswidth.h (mbswidth): Add a flags argument.
64713         (mbswidth): New declaration.
64714         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
64715         * lib/mbswidth.c (mbswidth): Add a flags argument.
64716         (mbsnwidth): New function.
64717
64718 2000-07-24  Jim Meyering  <meyering@lucent.com>
64719
64720         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
64721
64722 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64723
64724         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
64725
64726 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64727
64728         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
64729         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
64730         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
64731         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
64732         invoke multibyte primitives.
64733
64734 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64735
64736         * lib/quotearg.c:
64737         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
64738         so that mbstate_t is always defined.
64739
64740         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
64741         be 1 in at least one GCC installation, and this configuration
64742         error is likely to be common.  Ignoring MB_LEN_MAX hurts
64743         performance on hosts that have mbrtowc but have only unibyte
64744         locales, but I assume these hosts are rare.
64745
64746 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64747
64748         * lib/mbswidth.c (_XOPEN_SOURCE):
64749         Don't define; this causes problems on Solaris 7.
64750         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
64751
64752 2000-07-23  Jim Meyering  <meyering@lucent.com>
64753
64754         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
64755         too: getgrgid, getpwuid, getuid.
64756
64757 2000-07-23  Jim Meyering  <meyering@lucent.com>
64758
64759         * lib/basename.c (base_name): Add an assertion.
64760
64761 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
64762
64763         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
64764         shadow its mbsinit function.
64765
64766 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64767
64768         * lib/mbswidth.h: New file.
64769         * lib/mbswidth.c: New file.
64770         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
64771         (noinst_HEADERS): Add mbswidth.h.
64772
64773 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64774
64775         * lib/config.charset: Add support for FreeBSD. Improve support for
64776         HP-UX and IRIX 6.
64777
64778 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
64779
64780         * m4/mbswidth.m4: New file.
64781         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
64782
64783 2000-07-15  Jim Meyering  <meyering@lucent.com>
64784
64785         * lib/makepath.c: Include quote.h.
64786         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
64787         corresponding argument in a `quote (...)' call.
64788         Give better diagnostics.
64789
64790         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
64791         (noinst_HEADERS): Add quote.h.
64792
64793         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
64794         from tar's src/misc.c.
64795         * lib/quote.h: New file.  Prototypes for same.
64796
64797 2000-07-14  Paul Eggert  <eggert@twinsun.com>
64798
64799         From a suggestion by Bruno Haible.
64800         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
64801         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
64802         to decide whether to define the BeOS workaround macro;
64803         this adjusts to the change to AC_MBSTATE_T.
64804
64805 2000-07-14  Jim Meyering  <meyering@lucent.com>
64806
64807         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
64808         jm_AC_TYPE_UINTMAX_T.
64809
64810 2000-07-13  Paul Eggert  <eggert@twinsun.com>
64811
64812         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
64813
64814         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
64815         quotearg_buffer_restyled): Add support for
64816         clocale_quoting_style.  Undo previous change to
64817         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
64818         and "{RIGHT QUOTATION MARK}" msgids.
64819
64820 2000-07-10  Paul Eggert  <eggert@twinsun.com>
64821
64822         From a suggestion by Bruno Haible.
64823         * m4/mbstate_t.m4 (AC_MBSTATE_T):
64824         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
64825         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
64826         and mbstate_t, to a single-part test that simply defines mbstate_t.
64827         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
64828         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
64829
64830 2000-07-10  Jim Meyering  <meyering@lucent.com>
64831
64832         * m4/strerror_r.m4: Mirror the correction made in autoconf.
64833
64834         * m4/gnu-source.m4: Output to confdefs.h directly.
64835         Suggestion from Akim Demaille.
64836
64837 2000-07-09  Paul Eggert  <eggert@twinsun.com>
64838
64839         The old behavior of quoting `like this' doesn't look good with
64840         newer, ISO-style fonts.  See:
64841         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
64842
64843         Instead, quote "like this" by default.  Let the translator
64844         tailor the locale-specific quoting behavior by providing
64845         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
64846
64847         * lib/quotearg.c (N_): New macro.
64848         (gettext_default): New function.
64849         (quotearg_buffer_restyled): Use
64850         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
64851         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
64852
64853 2000-07-09  Jim Meyering  <meyering@lucent.com>
64854
64855         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
64856         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
64857
64858         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
64859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
64860
64861 2000-07-09  Jim Meyering  <meyering@lucent.com>
64862
64863         * lib/Most files: Update copyright dates to include 2000.
64864
64865 2000-07-08  Jim Meyering  <meyering@lucent.com>
64866
64867         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
64868         if not defined.
64869         (xgethostname): Remove now-unnecessary #ifdef.
64870         Move declaration of `err' into loop where it's used.
64871
64872 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64873         and Bruno Haible  <haible@clisp.cons.org>
64874
64875         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
64876         only if the test for an object-type mbstate_t fails.  This
64877         prevents us from mistakenly reporting that mbstate_t is a
64878         system object type after we "#define mbstate_t int" to work
64879         around its lack.
64880
64881 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64882         and Bruno Haible  <haible@clisp.cons.org>
64883
64884         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
64885
64886 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64887
64888         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
64889         to strerror_r.
64890         Include <ctype.h> for use of isalpha.
64891
64892 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64893
64894         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
64895         by allocating a larger buffer. Test the gethostname return value for
64896         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
64897         returns an error and ENAMETOOLONG isn't defined.
64898
64899 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64900
64901         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
64902         dimension.
64903
64904 2000-07-04  Jim Meyering  <meyering@lucent.com>
64905
64906         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
64907         of the deprecated AC_CHECKING.
64908
64909 2000-07-04  Jim Meyering  <meyering@lucent.com>
64910
64911         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
64912         Reported by Bruno Haible.
64913
64914 2000-07-04  Jim Meyering  <meyering@lucent.com>
64915
64916         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
64917         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
64918         lacks mbrtowc.
64919
64920 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64921
64922         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
64923         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
64924
64925 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64926         and Bruno Haible  <haible@clisp.cons.org>
64927
64928         * lib/quotearg.c (mbrtowc):
64929         Assign to *pwc, and return 1 only if result is nonzero.
64930         (iswprint): Use ISPRINT when substituting our own mbrtowc.
64931
64932 2000-07-03  Jim Meyering  <meyering@lucent.com>
64933
64934         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
64935
64936 2000-07-03  Jim Meyering  <meyering@lucent.com>
64937
64938         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
64939         This is necessary to get a definition of e.g., UTMP_FILE on
64940         HP-UX 10.20.
64941         From Bob Proulx.
64942
64943 2000-07-02  Jim Meyering  <meyering@lucent.com>
64944
64945         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
64946
64947         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
64948         AC_LIBOBJ(function_name).
64949         * m4/chown.m4: Likewise.
64950         * m4/fnmatch.m4: Likewise.
64951         * m4/ftruncate.m4: Likewise.
64952         * m4/getgroups.m4: Likewise.
64953         * m4/getline.m4: Likewise.
64954         * m4/group-member.m4: Likewise.
64955         * m4/jm-macros.m4: Likewise.
64956         * m4/lstat.m4: Likewise.
64957         * m4/malloc.m4: Likewise.
64958         * m4/memcmp.m4: Likewise.
64959         * m4/nanosleep.m4: Likewise.
64960         * m4/putenv.m4: Likewise.
64961         * m4/realloc.m4: Likewise.
64962         * m4/regex.m4: Likewise.
64963         * m4/stat.m4: Likewise.
64964         * m4/strftime.m4: Likewise.
64965
64966 2000-07-02  Jim Meyering  <meyering@lucent.com>
64967
64968         * lib/quotearg.c (mbstate_t): Don't define here.
64969
64970 2000-07-02  Jim Meyering  <meyering@lucent.com>
64971
64972         * lib/nanosleep.c (SIGCONT): Define if not already defined.
64973
64974 2000-07-01  Jim Meyering  <meyering@lucent.com>
64975
64976         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
64977
64978 2000-07-01  Jim Meyering  <meyering@lucent.com>
64979
64980         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
64981         problem.
64982
64983 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64984
64985         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
64986         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
64987
64988 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64989
64990         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
64991         per change in ../m4/ls-mntd-fs.m4.
64992         (read_filesystem_list): Ignore symbolic links.
64993
64994 2000-06-29  Jim Meyering  <meyering@lucent.com>
64995
64996         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
64997         for declaration of strcmp.
64998
64999         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
65000
65001         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
65002         Avoid warning by casting result to `char *' to remove `const'.
65003
65004 2000-06-28  Jim Meyering  <meyering@lucent.com>
65005
65006         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
65007         included by quotearg.c, for which we perform this test.  From
65008         Bruno Haible.
65009
65010 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
65011
65012         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
65013         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
65014         <utmpx.h> exists, put readutmp.o into LIBOBJS.
65015
65016 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
65017
65018         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
65019
65020 2000-06-26  Paul Eggert  <eggert@twinsun.com>
65021
65022         savedir now sets errno on failure and invokes xmalloc to get memory.
65023         Fix a couple of other minor bugs while we're at it.
65024
65025         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
65026         (NAMLEN): Remove macro.
65027         (malloc, realloc): Remove decls.
65028         (stpcpy): Likewise.
65029         ("xalloc.h"): Include.
65030         (NAME_SIZE_DEFAULT): New macro.
65031         (savedir): Use xmalloc / xrealloc to allocate memory.
65032         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
65033         Skip "" directory entries.
65034         Use strlen to calculate directory entry length, since the old method
65035         is rarely used these days and isn't worth supporting.
65036         Don't use a pointer after freeing it.
65037         Check for integer overflow when calculating allocation size.
65038         Use memcpy to copy entries, instead of stpcpy.
65039         Set errno properly when returning NULL.
65040         Check for readdir error.
65041
65042 2000-06-26  Jim Meyering  <meyering@lucent.com>
65043
65044         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
65045
65046 2000-06-25  Jim Meyering  <meyering@lucent.com>
65047
65048         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
65049         Linux header bug when _XOPEN_SOURCE is defined to 500.
65050
65051 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
65052
65053         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
65054         deficiency.
65055
65056 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
65057
65058         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
65059         Include xalloc.h.
65060         Don't include <stdlib.h>.  Don't declare malloc, realloc.
65061
65062 2000-06-24  Jim Meyering  <meyering@lucent.com>
65063
65064         * m4/strerror_r.m4: Revive this file -- to try out an experimental
65065         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
65066         for which strerror does return char*, but which lacks a conveniently
65067         accessible declaration of the function.  If the compile-test says
65068         strerror_r doesn't work, then resort to a `run'-test that works on
65069         BeOS and segfaults on DEC Unix.
65070
65071 2000-06-24  Jim Meyering  <meyering@lucent.com>
65072
65073         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
65074
65075 2000-06-23  Paul Eggert  <eggert@twinsun.com>
65076
65077         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
65078         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
65079
65080 2000-06-23  Paul Eggert  <eggert@twinsun.com>
65081
65082         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
65083         (mbrtowc, mbstate_t): Define substitutes if
65084         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
65085         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
65086         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
65087
65088 2000-06-23  Jim Meyering  <meyering@lucent.com>
65089
65090         * m4/afs.m4: Add missing AC_MSG_RESULT.
65091         Reported by Bruno Haible.
65092
65093         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
65094         Suggestion from Bruno Haible.
65095
65096 2000-06-23  Jim Meyering  <meyering@lucent.com>
65097
65098         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
65099
65100 2000-06-21  Jim Meyering  <meyering@lucent.com>
65101
65102         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
65103
65104 2000-06-21  Jim Meyering  <meyering@lucent.com>
65105
65106         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
65107         (noinst_HEADERS): Add getstr.h.
65108
65109         * lib/getline.c (getstr): Move into a separate file.
65110         * lib/getstr.c (getstr): New file, extracted from getline.c, with
65111         the following changes: new parameter, delim2; both delim[12]
65112         parameters have type `int', not `char'.  The latter would lose
65113         with 8-bit delimiters.
65114         * lib/getstr.h: New file.
65115
65116 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
65117
65118         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
65119         than 1024, return a memory chunk of least possible size, instead
65120         of size PATH_MAX + 2. In the loop, increment the size proportionally.
65121         Use free/xmalloc instead of xrealloc to avoid copying for very long
65122         paths.
65123
65124 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
65125
65126         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
65127         the empty string.
65128
65129 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
65130
65131         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
65132         address, not strdup.  Include <stdlib.h> and don't declare free().
65133
65134 2000-06-19  Jim Meyering  <meyering@lucent.com>
65135
65136         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
65137
65138 2000-06-18  Jim Meyering  <meyering@lucent.com>
65139
65140         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
65141
65142         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
65143         `checking whether...' message to be consistent with that of the
65144         lstat test.
65145
65146 2000-06-18  Jim Meyering  <meyering@lucent.com>
65147
65148         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
65149         Besides, these days every porting target provides a mkdir function.
65150
65151         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
65152         needed. (this snippet comes from src/system.h).
65153
65154 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
65155
65156         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
65157
65158 2000-06-15  Paul Eggert  <eggert@twinsun.com>
65159
65160         * lib/human.c (adjust_value): New function.
65161         (human_readable_inexact): Apply rounding style even when
65162         printing approximate values.
65163
65164 2000-06-14  Paul Eggert  <eggert@twinsun.com>
65165
65166         * lib/human.c (human_readable_inexact): Allow an input block
65167         size that is not a multiple of the output block size, and vice versa.
65168         Reported by Piergiorgio Sartor.
65169
65170 2000-06-14  Paul Eggert  <eggert@twinsun.com>
65171
65172         * lib/getdate.y (get_date): Apply relative times after time
65173         zone indicator, not before.  Reported by Todd A. Jacobs.
65174
65175 2000-06-13  Jim Meyering  <meyering@lucent.com>
65176
65177         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
65178
65179         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
65180
65181 2000-06-12  Paul Eggert  <eggert@twinsun.com>
65182
65183         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
65184
65185 2000-06-12  Jim Meyering  <meyering@lucent.com>
65186
65187         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
65188         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
65189         optional argument.
65190         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
65191         the optional argument, `lib'.
65192
65193 2000-06-08  Jim Meyering  <meyering@lucent.com>
65194
65195         * m4/largefile.m4: Remove file (now that it's part of autoconf).
65196
65197 2000-06-04  Paul Eggert  <eggert@twinsun.com>
65198
65199         Rewrite largefile configuration so that we don't need to run
65200         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
65201         AC_CANONICAL_HOST in configure.in -- jmm]
65202
65203         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
65204         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
65205         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
65206         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
65207         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
65208         All uses changed.
65209         Instead of inspecting the output of getconf, try to compile the
65210         test program without and with the macro definition.
65211         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
65212         for getconf.  Instead, check for the needed flags by compiling
65213         test programs.
65214
65215 2000-06-04  Paul Eggert  <eggert@twinsun.com>
65216
65217         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
65218
65219 2000-06-04  Jim Meyering  <meyering@lucent.com>
65220
65221         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
65222         SunOS 4.1.4 for which gid_t is an unsigned type.
65223
65224 2000-06-03  Jim Meyering  <meyering@lucent.com>
65225
65226         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
65227         now that autoconf requires that.
65228
65229         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
65230         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
65231         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
65232
65233 2000-06-03  Jim Meyering  <meyering@lucent.com>
65234
65235         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
65236
65237 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
65238
65239         * m4/glibc21.m4: New file.
65240         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
65241
65242 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
65243
65244         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
65245         newer, don't install charset.alias.
65246         * lib/config.charset: Change the Linux/glibc rules so they become empty
65247         on glibc-2.1 or newer.
65248
65249 2000-06-02  Jim Meyering  <meyering@lucent.com>
65250
65251         * lib/mountlist.c: Back out last change.  Instead, do this...
65252         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
65253         me_dummy member using the same `ignore'-testing code.
65254         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
65255         fs_type strings.
65256         From Mark D. Roth.
65257
65258 2000-05-29  Jim Meyering  <meyering@lucent.com>
65259
65260         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
65261         mounts with the `ignore' attribute.  Based on a patch from
65262         Mark D. Roth.
65263
65264 2000-05-28  Jim Meyering  <meyering@lucent.com>
65265
65266         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
65267         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65268         * m4/stat.m4: Likewise.
65269         * m4/lstat.m4: Likewise.
65270         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
65271
65272         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
65273         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
65274
65275 2000-05-26  Jim Meyering  <meyering@lucent.com>
65276
65277         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
65278
65279 2000-05-24  Jim Meyering  <meyering@lucent.com>
65280
65281         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
65282         autoconf requires that.
65283         * m4/lib-check.m4: Likewise.
65284         * m4/jm-macros.m4: Likewise.
65285         * m4/strftime.m4: Likewise.
65286
65287         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
65288         AC_CHECK_DECLS, now that autoconf requires that.
65289
65290 2000-05-22  Jim Meyering  <meyering@lucent.com>
65291
65292         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65293         * m4/lstat.m4: Likewise.
65294
65295 2000-05-22  Jim Meyering  <meyering@lucent.com>
65296
65297         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
65298
65299 2000-05-20  Jim Meyering  <meyering@lucent.com>
65300
65301         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
65302         (jm_PREREQ): Use it.
65303
65304 2000-05-18  Jim Meyering  <meyering@lucent.com>
65305
65306         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
65307         back, too, since it may have been modified by allocate_entry.
65308         (hash_delete): Rewrite to use neither the assignment operator
65309         nor the comma operator in an if-expression.
65310
65311 2000-05-15  Paul Eggert  <eggert@twinsun.com>
65312
65313         * lib/closeout.c:
65314         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
65315         Remove; no longer needed.
65316         "quotearg.h": Add include.
65317         (file_name): Do not bother to explicitly initialize to NULL; it's less
65318         efficient on some hosts.
65319         (close_stdout_status): Remove test as to whether stdout was already
65320         closed; it breaks for the case "echo x | sort >&-".
65321         Quote file name colons.
65322         Do not assume that _("write error") lacks format strings.
65323
65324 2000-05-15  Jim Meyering  <meyering@lucent.com>
65325
65326         * lib/version-etc.c (version_etc_copyright): Update the copyright
65327         string used in all --version output.
65328
65329 2000-05-14  Jim Meyering  <meyering@lucent.com>
65330
65331         * lib/closeout.c (close_stdout_set_file_name): New function.
65332         (close_stdout_status): Use new file-scoped global.
65333         Return right away if fstat says the stdout file descriptor is invalid.
65334         * lib/closeout.h (close_stdout_set_file_name): Declare.
65335
65336 2000-05-10  Jim Meyering  <meyering@lucent.com>
65337
65338         * lib/closeout.c [default_exit_status]: New file-scoped variable.
65339         (close_stdout_set_status): New function.
65340         * lib/closeout.h (close_stdout_set_status): Declare.
65341
65342 2000-05-09  Jim Meyering  <meyering@lucent.com>
65343
65344         * m4/gettext.m4: Rename this...
65345         * m4/libintl.m4: ...to this.
65346
65347 2000-05-08  Jim Meyering  <meyering@lucent.com>
65348
65349         * lib/long-options.c: Don't include closeout.h.
65350         (parse_long_options): Don't call close_stdout for --version.
65351
65352 2000-05-06  Paul Eggert  <eggert@twinsun.com>
65353
65354         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
65355         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
65356         2.1.3 bug.  This avoids a clash when files like regex.c define
65357         _GNU_SOURCE.
65358
65359 2000-05-06  Jim Meyering  <meyering@lucent.com>
65360
65361         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
65362         (AC_REPLACE_FUNCS): Add strnlen.
65363
65364         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
65365         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
65366
65367         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
65368         AC_SEARCH_LIBS call for nanosleep.
65369         (LIB_NANOSLEEP): Set and AC_SUBST.
65370
65371 2000-05-06  Jim Meyering  <meyering@lucent.com>
65372
65373         * lib/strnlen.c: Undefine __strnlen and strnlen.
65374         [!weak_alias]: Define __strnlen to strnlen.
65375
65376         * lib/atexit.c: New file, from libiberty.
65377
65378 2000-05-06  Jim Meyering  <meyering@lucent.com>
65379
65380         * lib/closeout.c (close_stdout_status): Also check for errors on the
65381         stderr stream.
65382
65383 2000-05-05  Jim Meyering  <meyering@lucent.com>
65384
65385         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
65386         AC_SEARCH_LIBS call for clock_gettime.
65387         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
65388
65389         * m4/search-libs.m4: Update from autoconf.
65390
65391         su doesn't work on Solaris 2.6.
65392         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
65393         <shadow.h>.  Reported by Dragos Harabor.
65394
65395 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
65396
65397         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
65398         memcpy instead of xmalloc, xrealloc, path_concat.
65399         (locale_charset): Treat empty environment variables as absent.
65400         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
65401
65402 2000-05-04  Jim Meyering  <meyering@lucent.com>
65403
65404         * lib/getopt.c: Update from glibc.
65405         * lib/obstack.c: Likewise.
65406         * lib/obstack.h: Likewise.
65407         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
65408         file
65409
65410         * lib/regex.h: Likewise.
65411         * lib/strndup.c: Likewise.
65412         * lib/strnlen.c: New file, from glibc.
65413
65414 2000-05-03  Jim Meyering  <meyering@lucent.com>
65415
65416         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
65417
65418 2000-05-02  Paul Eggert  <eggert@twinsun.com>
65419
65420         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
65421         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
65422         compile-time test, rather than inspecting host and OS, to
65423         decide whether to define _LARGEFILE_SOURCE.
65424
65425 2000-05-01  Jim Meyering  <meyering@lucent.com>
65426
65427         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
65428
65429         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
65430         Based on a patch from Bruno Haible.
65431
65432 2000-05-01  Jim Meyering  <meyering@lucent.com>
65433
65434         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
65435
65436 2000-04-29  Jim Meyering  <meyering@lucent.com>
65437
65438         * lib/path-concat.c: Declare strdup only if it's not defined.
65439         * lib/canon-host.c: Likewise.
65440
65441 2000-04-28  Jim Meyering  <meyering@lucent.com>
65442
65443         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
65444         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
65445         is included first, then limits.h is included by locale.h by libintl.h.
65446         From John David Anglin.
65447
65448 2000-04-25  Jim Meyering  <meyering@lucent.com>
65449
65450         * lib/makepath.c (S_IRWXUGO): Define.
65451         (make_path): Always perform explicit chmod if MODE specifies any
65452         of the `special' permission bits.  Prompted by a bug report against
65453         install from Mate Wierdl and Joost van Baal.
65454
65455 2000-04-18  Jim Meyering  <meyering@lucent.com>
65456
65457         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
65458         (jm_PREREQ): Use it.
65459
65460 2000-04-18  Jim Meyering  <meyering@lucent.com>
65461
65462         * lib/README: New file.
65463
65464         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
65465         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
65466
65467 2000-04-17  Jim Meyering  <meyering@lucent.com>
65468
65469         Get it right :-)
65470         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
65471         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
65472         Suggestion from Akim Demaille.
65473
65474 2000-04-17  Jim Meyering  <meyering@lucent.com>
65475
65476         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
65477         the definition of it to rpl_strftime also defined-away the system's
65478         declaration.
65479
65480 2000-04-15  Jim Meyering  <meyering@lucent.com>
65481
65482         Use `C' to denote so-called `contiguous' files, the same way
65483         that tar does.
65484         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
65485         (ftypelet): Use S_ISCTG.
65486         From Michael Deutschmann.
65487
65488 2000-04-14  Jim Meyering  <meyering@lucent.com>
65489
65490         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
65491         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
65492         clobbered.
65493
65494 2000-04-14  Jim Meyering  <meyering@lucent.com>
65495
65496         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
65497
65498 2000-04-13  Jim Meyering  <meyering@lucent.com>
65499
65500         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
65501         AH_VERBATIM to insert required #ifndef into config.h.in.
65502         Suggestion from Akim Demaille.
65503
65504 2000-04-12  Jim Meyering  <meyering@lucent.com>
65505
65506         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
65507         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
65508         Christian Krackowizer.
65509
65510         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
65511         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
65512         (AC_SYS_LARGEFILE): Require.
65513         (AM_C_PROTOTYPES): Require.
65514
65515 2000-04-08  Jim Meyering  <meyering@lucent.com>
65516
65517         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
65518         names don't conflict.  Reported by Eli Zaretskii.
65519
65520 2000-04-07  Jim Meyering  <meyering@lucent.com>
65521
65522         * lib/putenv.c: Move inclusion of errno.h so it follows that of
65523         sys/types.h, to work around system header problems on AIX 3.2.5.
65524         From Bruno Haible.
65525
65526 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
65527
65528         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
65529         bug.  Deal with the different error behavior of Irix iconv.
65530
65531 2000-04-05  Paul Eggert  <eggert@twinsun.com>
65532
65533         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
65534         IRIX if the installer said otherwise.
65535
65536 2000-04-05  Jim Meyering  <meyering@lucent.com>
65537
65538         Portability tweaks required for ultrix4.3.
65539         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
65540         (jm_CHECK_DECLS): Add getutent to the list of functions.
65541         (_jm_DECL_HEADERS): Add utmpx.h.
65542         From John David Anglin.
65543
65544         * m4/strftime.m4: Back out the 2000-04-02 change.
65545         Instead of that change, simply undefine putenv in the test program.
65546
65547 2000-04-05  Jim Meyering  <meyering@lucent.com>
65548
65549         Portability tweaks required for ultrix4.3.
65550         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
65551         getutent.
65552         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
65553         * lib/canon-host.c: Declare strdup.
65554         * lib/path-concat.c: Likewise.
65555         From John David Anglin.
65556
65557 2000-04-04  Jim Meyering  <meyering@lucent.com>
65558
65559         Be more DOS 8.3-friendly.
65560         * lib/ref-add.sin: Renamed from ref-add.sed.in.
65561         * lib/ref-del.sin: Renamed from ref-del.sed.in.
65562         * lib/Makefile.am: Reflect renaming.
65563         Reported by Eli Zaretskii.
65564
65565         Use a temporary file name that won't clash with `charset.alias'
65566         in the DOS 8.3 name space.
65567         * lib/Makefile.am (charset_tmp): Define.
65568         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
65569         (uninstall-local): Likewise.
65570         Reported by Eli Zaretskii.
65571
65572 2000-04-03  Jim Meyering  <meyering@lucent.com>
65573
65574         * m4/gettext.m4: Fix typo in comment.
65575
65576         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
65577         textutils/configure.in).  Suggestion from Paul Eggert.
65578         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
65579
65580 2000-04-02  Paul Eggert  <eggert@twinsun.com>
65581
65582         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
65583         variable in the shell rather than using putenv, which isn't
65584         portable.  This avoids the configure-time inter-test dependency
65585         on the potentially-renamed putenv function.
65586
65587 2000-03-30  Paul Eggert  <eggert@twinsun.com>
65588
65589         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
65590         before checking struct stat.st_blksize, so that
65591         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
65592
65593 2000-03-29  Paul Eggert  <eggert@twinsun.com>
65594
65595         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
65596         since strftime.c uses HAVE_STRFTIME to decide whether to use
65597         the underlying strftime.
65598
65599 2000-03-29  Paul Eggert  <eggert@twinsun.com>
65600
65601         * lib/time/strftime.c (my_strftime): Make sure we call the system
65602         strftime, not ourselves, when invoking the underlying strftime.
65603
65604 2000-03-24  Jim Meyering  <meyering@lucent.com>
65605
65606         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
65607         (charset_alias): Define.
65608         (install-exec-local): Factor out common code.
65609         (uninstall-local): Split lines longer than 80.
65610         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
65611         (SUFFIXES): Define.
65612         (.sed.in.sed): New rule.  Don't redirect directly to $@.
65613         (CLEANFILES): Add ref-add.sed and ref-del.sed.
65614
65615 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
65616
65617         * lib/config.charset: Output a line containing "Packages using this
65618         file".
65619         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
65620         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
65621         ref-del.sed): New rules.
65622
65623 2000-03-17  Jim Meyering  <meyering@lucent.com>
65624
65625         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
65626         Otherwise, include <strings.h>
65627
65628 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
65629
65630         * lib/unicodeio.c (utf8_wctomb): New function.
65631         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
65632         format instead of in UCS-4 with platform dependent endianness.
65633
65634 2000-03-10  Jim Meyering  <meyering@lucent.com>
65635
65636         * m4/lib-check.m4: Look for getspnam in -lgen, too.
65637         From Marco Franzen.
65638
65639 2000-03-07  Paul Eggert  <eggert@twinsun.com>
65640
65641         * lib/savedir.c (savedir): Work even if directory size is
65642         negative; this can happen with some screwy NFS configurations.
65643
65644 2000-03-06  Jim Meyering  <meyering@lucent.com>
65645
65646         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
65647         if it's NULL (because we ran out of memory).  From Bruno Haible.
65648
65649 2000-03-05  Jim Meyering  <meyering@lucent.com>
65650
65651         * lib/localcharset.c ("path-concat.h"): Include.
65652         (get_charset_aliases): Use path_concat instead of ANSI string
65653         concatenation.
65654
65655         * lib/unicodeio.h (PARAMS): Define.
65656         Use it to guard prototype.
65657
65658 2000-03-04  Jim Meyering  <meyering@lucent.com>
65659
65660         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
65661         for lib/localcharset.c.
65662
65663 2000-03-04  Jim Meyering  <meyering@lucent.com>
65664
65665         * lib/Makefile.am (install-exec-local): Create $(libdir) before
65666         installing into it.
65667         (uninstall-local): Uncomment this rule so `make distcheck' works
65668         once again.
65669
65670         * lib/unicodeio.c (<errno.h>): Include it.
65671         (errno): Declare if not defined.
65672
65673         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
65674
65675         * lib/config.charset: New version, incorporating remarks from a linux
65676         i18n mailing list.  From Bruno Haible.
65677
65678 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
65679
65680         * m4/codeset.m4: New file.
65681         * m4/iconv.m4: New file.
65682         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
65683
65684 2000-03-03  Jim Meyering  <meyering@lucent.com>
65685
65686         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
65687
65688 2000-03-02  Jim Meyering  <meyering@lucent.com>
65689
65690         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
65691         the messages come out on separate lines.
65692
65693         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
65694         rather than jm_CHECK_DECLARATIONS.
65695         * m4/decl.m4: Remove now-unused file.
65696
65697         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
65698         geteuid.
65699
65700 2000-03-02  Jim Meyering  <meyering@lucent.com>
65701
65702         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
65703
65704 2000-03-01  Jim Meyering  <meyering@lucent.com>
65705
65706         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
65707         * lib/unicodeio.c: Likewise.
65708
65709 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
65710
65711         * lib/config.charset: New file.
65712         * lib/localcharset.c: New file.
65713         * lib/unicodeio.h, lib/unicodeio.c: New files.
65714         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
65715         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
65716         (noinst_HEADERS): Add unicodeio.h.
65717         (all-local, install-exec-local, charset.alias): New targets.
65718
65719 2000-02-28  Paul Eggert  <eggert@twinsun.com>
65720
65721         * lib/quotearg.c (ALERT_CHAR): New macro.
65722         (quotearg_buffer_restyled): Use it.
65723
65724 2000-02-27  Jim Meyering  <meyering@lucent.com>
65725
65726         * m4/check-decl.m4: Add getenv to the list.
65727
65728 2000-02-27  Jim Meyering  <meyering@lucent.com>
65729
65730         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
65731         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
65732
65733         * lib/backupfile.c: Guard inclusion of stdlib.h with
65734         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
65735         Declare malloc if needed.
65736
65737         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
65738         `#ifndef HAVE_DECL..'
65739         now that autoconf always defines the HAVE_DECL_ symbols.
65740         * lib/human.c: Likewise.
65741         * lib/same.c: Likewise.
65742         * lib/strtoumax.c: Likewise.
65743
65744         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
65745         declaration check was not run.
65746         * lib/hash.c: Likewise.
65747         * lib/human.c: Likewise.
65748         * lib/same.c: Likewise.
65749         * lib/strtoumax.c: Likewise.
65750
65751         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
65752         `.', then first look up the entire `.'-containing string as a login
65753         name.
65754
65755 2000-02-23  Jim Meyering  <meyering@lucent.com>
65756
65757         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
65758         in place of my hack.
65759
65760 2000-02-18  Paul Eggert  <eggert@twinsun.com>
65761
65762         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
65763         (textint): New typedef.
65764         (parser_control): Member year changed from int to textint.
65765         All uses changed.
65766         (YYSTYPE): Removed; replaced by %union with int and textint members.
65767         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
65768         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
65769         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
65770         (tSNUMBER, tUNUMBER): Now of type <textintval>.
65771         (date, number, to_year): Use width of number in digits, not its value,
65772         to determine whether it's a 2-digit year, or a 2-digit time.
65773         (yylex): Store number of digits of numeric tokens.
65774         Reported by John Kendall.
65775
65776         (parser_control): Changed from struct parser_control to typedef (for
65777         consistency).  All uses changed.
65778
65779         (tID): Removed; not used.
65780         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
65781
65782 2000-02-14  Paul Eggert  <eggert@twinsun.com>
65783
65784         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
65785         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
65786
65787 2000-02-12  Jim Meyering  <meyering@lucent.com>
65788
65789         * lib/userspec.c (ISDIGIT): Define it.
65790         (isdigit): Remove definition.
65791         (is_number): Use ISDIGIT, not isdigit.
65792         <libintl.h>: Include.
65793         (_ and N_): Define.
65794         (parse_user_spec): Mark translatable strings.
65795
65796 2000-02-10  Jim Meyering  <meyering@lucent.com>
65797
65798         With these changes, nanosleep.[ch] are finally enough like the other
65799         lib/* replacement files to compile on a few more losing systems.
65800
65801         * lib/nanosleep.h: Don't include config.h.
65802         Remove prototype from declaration of nanosleep.
65803         (PARAMS): Remove now-unneeded definition.
65804         * lib/nanosleep.c: #undef nanosleep.
65805         (rpl_nanosleep): Rename from nanosleep.
65806
65807 2000-02-10  Jim Meyering  <meyering@lucent.com>
65808
65809         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
65810         gnu_nanosleep to rpl_nanosleep.
65811
65812 2000-02-09  Jim Meyering  <meyering@lucent.com>
65813
65814         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
65815         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
65816
65817 2000-02-08  Akim Demaille  <akim@epita.fr>
65818
65819         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
65820         `[' and `]' and remove uses of `changequote'.
65821         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
65822         (AC_SYS_LARGEFILE): Likewise.
65823         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65824         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
65825         of changequote.
65826         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
65827         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
65828         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
65829         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
65830
65831 2000-02-05  Jim Meyering  <meyering@lucent.com>
65832
65833         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
65834         Remove explicit use of AC_HEADER_TIME.  It is required by
65835         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
65836         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
65837         in autoconf whereby the expansion of the latter ended up preceding
65838         the expansion of its prerequisite, AC_HEADER_TIME.
65839         Reported by Volker Borchert.
65840
65841 2000-02-03  Jim Meyering  <meyering@lucent.com>
65842
65843         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
65844
65845 2000-02-03  Jim Meyering  <meyering@lucent.com>
65846
65847         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
65848         rather than with `#if HAVE_UTMPNAME'.
65849
65850 2000-02-02  Jim Meyering  <meyering@lucent.com>
65851
65852         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
65853         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
65854         Reported by Eli Zaretskii.
65855
65856 2000-02-01  Jim Meyering  <meyering@lucent.com>
65857
65858         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
65859
65860 2000-01-31  Jim Meyering  <meyering@lucent.com>
65861
65862         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
65863         functions.  Add the time.h and sys/time.h headers along with the
65864         AC_REQUIRE'ment of AC_HEADER_TIME.
65865
65866 2000-01-31  Jim Meyering  <meyering@lucent.com>
65867
65868         * lib/nanosleep.h (nanosleep): Guard declaration with
65869         `#if ! HAVE_DECL_NANOSLEEP'.
65870         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
65871         the declaration in that vendor's sys/timers.h.
65872         Reported by Christian Krackowizer.
65873
65874         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
65875         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
65876         (ISPRINT): Likewise.
65877         Reported by Tom Tromey.
65878
65879 2000-01-30  Jim Meyering  <meyering@lucent.com>
65880
65881         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
65882
65883         * m4/prereq.m4 (utmp_includes): Define.
65884         Check for ut_user and ut_name members in both struct utmpx
65885         and struct utmp.
65886
65887 2000-01-30  Jim Meyering  <meyering@lucent.com>
65888
65889         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
65890         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
65891         header files where only utmpx.ut_user is declared.
65892
65893         * lib/readutmp.h (UT_USER): Define.
65894
65895 2000-01-29  Jim Meyering  <meyering@lucent.com>
65896
65897         * m4/lib-check.m4: New file containing library-related checks from
65898         fileutils and sh-utils (textutils had none).
65899
65900 2000-01-28  Jim Meyering  <meyering@lucent.com>
65901
65902         * m4/perl.m4: Change format of warning message to look more like that
65903         from the missing script.  Suggestion from François Pinard.
65904
65905 2000-01-25  Jim Meyering  <meyering@lucent.com>
65906
65907         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
65908         well as time.h in the compile check.
65909         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
65910         Fix typo in cross-compiling case: s/yes/no/.
65911
65912 2000-01-23  Jim Meyering  <meyering@lucent.com>
65913
65914         * m4/jm-macros.m4: Move df-related tests here from
65915         fileutils/configure.in
65916
65917         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
65918         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
65919
65920         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
65921         s/space/ac_fsusage_space/.
65922         (jm_FILE_SYSTEM_USAGE): Take two parameters.
65923
65924         * m4/ftruncate.m4: New file (derived from part of
65925         fileutils/configure.in).
65926         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
65927         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
65928
65929         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
65930         AC_SUBST these here, rather than just in sh-util/configure.in, so
65931         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
65932         all the same.
65933         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
65934         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
65935         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
65936         (AC_SUBST(POW_LIBM)): Likewise.
65937         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
65938
65939 2000-01-23  Jim Meyering  <meyering@lucent.com>
65940
65941         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
65942         obstack.c.
65943
65944 2000-01-22  Jim Meyering  <meyering@lucent.com>
65945
65946         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
65947
65948         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
65949
65950         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
65951         configure.in
65952         (AC_CHECK_HEADERS): Likewise for sh-utils.
65953         (AC_CHECK_HEADERS): Likewise for textutils.
65954         Merge the three lists of headers.
65955
65956         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
65957         from fileutils' configure.in.
65958
65959         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
65960         code. Moved tests into their own function (_jm_DECL_HEADERS) in
65961         check-decl.m4.
65962
65963         * m4/check-decl.m4: Use #if rather than #ifdef.
65964         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
65965         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
65966         (_jm_DECL_HEADERS): Define new function.
65967         (jm_CHECK_DECLARATIONS): Require it.
65968
65969 2000-01-22  Jim Meyering  <meyering@lucent.com>
65970
65971         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
65972         [! HAVE_DECL_STRTOULL]: Declare strtoull.
65973         Required for some AIX systems.  Reported by Christian Krackowizer.
65974         [TESTING] (main): New function.
65975
65976         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
65977         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
65978         letters.
65979
65980         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
65981         iswprint.
65982
65983         * lib/strverscmp.c (ISDIGIT): Define.
65984         (strverscmp): Use ISDIGIT, not isdigit.
65985
65986 2000-01-19  Jim Meyering  <meyering@lucent.com>
65987
65988         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
65989         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
65990         defines `struct timespec' in <sys/time.h>
65991
65992         * m4/c-bs-a.m4: Remove uses of changequote altogether.
65993         Thanks to Akim for explaining.
65994
65995 2000-01-17  Paul Eggert  <eggert@twinsun.com>
65996
65997         * lib/nanosleep.c (nanosleep):
65998         Don't use SA_INTERRUPT to decide whether to call sigaction, as
65999         POSIX.1 doesn't require SA_INTERRUPT and some systems
66000         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
66001         it's been part of POSIX.1 since day 1 (in 1988).
66002
66003 2000-01-17  Jim Meyering  <meyering@lucent.com>
66004
66005         * lib/interlock: Remove unused file.  Reported by François Pinard.
66006
66007 2000-01-16  Paul Eggert  <eggert@twinsun.com>
66008
66009         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
66010         alert, backslash, formfeed, and vertical tab unnecessarily in
66011         shell quoting style.
66012
66013 2000-01-16  Jim Meyering  <meyering@lucent.com>
66014
66015         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
66016         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
66017         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
66018         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
66019
66020 2000-01-16  Jim Meyering  <meyering@lucent.com>
66021
66022         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
66023         because the latter didn't work.
66024
66025 2000-01-15  Jim Meyering  <meyering@lucent.com>
66026
66027         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
66028         (AC_REPLACE_FUNCS): Add memcpy and memset.
66029         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
66030         Add strpbrk.
66031         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
66032
66033 2000-01-12  Jim Meyering  <meyering@lucent.com>
66034
66035         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
66036         (jm_PREREQ): Use it.
66037         (jm_PREREQ_READUTMP): New macro.
66038         (jm_PREREQ): Use it.
66039
66040 2000-01-11  Paul Eggert  <eggert@twinsun.com>
66041
66042         Quote multibyte characters correctly.
66043         * m4/c-bs-a.m4: New file.
66044         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
66045         (jm_PREREQ): Use it.
66046
66047 2000-01-11  Paul Eggert  <eggert@twinsun.com>
66048
66049         * m4/uintmax_t.m4: Port to autoconf 2.13.
66050
66051 2000-01-08  Jim Meyering  <meyering@ascend.com>
66052
66053         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
66054         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
66055
66056 2000-01-04  Jim Meyering  <meyering@ascend.com>
66057
66058         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
66059         jm_STRUCT_DIRENT_D_TYPE.
66060         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
66061         jm_STRUCT_DIRENT_D_INO.
66062         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
66063         jm_STRUCT_UTIMBUF.
66064         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
66065         renamings.
66066         * m4/utime.m4: Likewise.
66067
66068         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
66069         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
66070
66071 2000-01-03  Paul Eggert  <eggert@twinsun.com>
66072
66073         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
66074         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
66075
66076 2000-01-02  Jim Meyering  <meyering@ascend.com>
66077
66078         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
66079         remember if this is necessary.
66080
66081 1999-12-26  Jim Meyering  <meyering@ascend.com>
66082
66083         * m4/jm-macros.m4: Use it here.
66084         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
66085
66086 1999-12-23  Jim Meyering  <meyering@ascend.com>
66087
66088         * m4/jm-macros.m4: Check for clock_gettime (moved from
66089         fileutils/configure.in)
66090         Check for gettimeofday.
66091
66092 1999-12-20  Jim Meyering  <meyering@ascend.com>
66093
66094         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
66095         autoconf-2.14a-1999-12-20.
66096
66097 1999-12-19  Jim Meyering  <meyering@ascend.com>
66098
66099         * m4/lstat-slash.m4: New file.
66100         * m4/jm-macros.m4: Use the new macro:
66101         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66102
66103 1999-12-07  Jim Meyering  <meyering@ascend.com>
66104
66105         * m4/perl.m4: Require that File::Compare be available, too.
66106         Too many systems seem to lack it.
66107
66108         * m4/strftime.m4: Add checks for most of the cpp macros tested in
66109         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
66110
66111 1999-11-18  Paul Eggert  <eggert@twinsun.com>
66112
66113         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
66114         problem with the QNX 4.25 shell, which doesn't propagate exit
66115         status of failed commands inside shell assignments.
66116
66117 1999-11-17  Jim Meyering  <meyering@ascend.com>
66118
66119         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
66120
66121 1999-11-07  Jim Meyering  <meyering@ascend.com>
66122
66123         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
66124
66125 1999-11-06  Jim Meyering  <meyering@ascend.com>
66126
66127         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
66128         * m4/jm-macros.m4 (jm_MACROS): Use it here.
66129
66130 1999-11-05  Jim Meyering  <meyering@ascend.com>
66131
66132         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
66133         configure.in of textutils, fileutils, and sh-utils into this one
66134         (shared between those packages) file.
66135         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
66136         AC_STRUCT_ST_BLKSIZE.
66137
66138 1999-11-03  Jim Meyering  <meyering@ascend.com>
66139
66140         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
66141         of AC_CHECK_TYPE checks includes unistd.h.
66142         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
66143         Suggestion from Akim Demaille.
66144
66145 1999-10-30  Jim Meyering  <meyering@ascend.com>
66146
66147         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
66148         m4-quoted string.
66149         * m4/ls-mntd-fs.m4: Likewise.
66150         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
66151         * m4/jm-winsz1.m4: Likewise.
66152
66153         * m4/const.m4: Remove file, since the fix made it into the experimental
66154         version of autoconf.
66155         * m4/mktime.m4: Likewise.
66156
66157         * m4/check-type.m4: Remove file, now that the latest version of
66158         AC_CHECK_TYPE takes a third arg to specify additional #includes.
66159
66160         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
66161         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
66162         AC_CHECK_TYPE.
66163
66164 1999-10-04  Jim Meyering  <meyering@ascend.com>
66165
66166         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
66167
66168 1999-09-22  Paul Eggert  <eggert@twinsun.com>
66169
66170         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
66171         2.95.1 bug with HP-UX 10.20.
66172
66173 1999-09-17  Jim Meyering  <meyering@ascend.com>
66174
66175         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
66176         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
66177         due to missing strdup (against sh-utils-2.0).
66178
66179 1999-08-29  Jim Meyering  <meyering@ascend.com>
66180
66181         * m4/jm-macros.m4: Require jm_BISON.
66182         * m4/bison.m4: New file.
66183
66184 1999-08-17  Paul Eggert  <eggert@twinsun.com>
66185
66186         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
66187         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
66188
66189 1999-08-05  Jim Meyering  <meyering@ascend.com>
66190
66191         * m4/getline.m4: Rename test file from conftestdata to conftest.data
66192         to avoid conflicts with `conftest' on 8+3 filesystems.
66193         Suggestion from Eli Zaretskii.
66194
66195 1999-08-04  Jim Meyering  <meyering@ascend.com>
66196
66197         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
66198         fileutils and sh-utils (textutils's getline test was inadequate).
66199         (AM_FUNC_GETLINE): Run this test.
66200         (AC_CHECK_FUNCS): Check for getdelim.
66201         Reported by Bob Proulx.
66202
66203 1999-08-02  Jim Meyering  <meyering@ascend.com>
66204
66205         * m4/jm-macros.m4: Add a comment.
66206
66207 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66208
66209         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
66210         <inttypes.h> defines strtoumax as a macro (and not as a
66211         function).
66212
66213 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66214
66215         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
66216         that we can shift, multiply and divide unsigned long long
66217         values; Ultrix cc can't do it.
66218
66219 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66220
66221         * m4/mktime.m4: New file, which is a preview of what should appear
66222         in the next public autoconf release.
66223
66224 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66225
66226         * m4/lfs.m4: Remove this file.
66227         * m4/largefile.m4: New file.  It contains the old contents of
66228         lfs.m4, except that all names with prefix AC_LFS have been
66229         changed to use the prefix AC_SYS_LARGEFILE instead, to be
66230         compatible with future autoconf versions.  Also, some minor m4
66231         quoting problems have been fixed.
66232
66233 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66234
66235         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
66236         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
66237         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
66238         and simplify the shell code.
66239
66240 1999-08-01  Jim Meyering  <meyering@ascend.com>
66241
66242         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
66243         m4.
66244
66245 1999-07-20  Jim Meyering  <meyering@ascend.com>
66246
66247         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
66248
66249 1999-07-15  Jim Meyering  <meyering@ascend.com>
66250
66251         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
66252
66253 1999-05-22  Jim Meyering  <meyering@ascend.com>
66254
66255         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
66256
66257 1999-05-20  Jim Meyering  <meyering@ascend.com>
66258
66259         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
66260         Add a colon after each `then' in case $4 is empty.
66261
66262 1999-05-16  Jim Meyering  <meyering@ascend.com>
66263
66264         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
66265
66266 1999-05-10  Jim Meyering  <meyering@ascend.com>
66267
66268         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
66269
66270         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
66271         AC_FUNC_MKTIME.
66272
66273 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
66274
66275         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
66276
66277 1999-05-04  Paul Eggert  <eggert@twinsun.com>
66278
66279         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
66280         not CPPFLAGS, so that linking works correctly in IRIX.
66281
66282 1999-04-30  Paul Eggert  <eggert@twinsun.com>
66283
66284         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
66285
66286 1999-04-20  Paul Eggert  <eggert@twinsun.com>
66287
66288         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
66289         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
66290         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
66291         jm_AC_TYPE_UNSIGNED_LONG_LONG.
66292         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
66293
66294         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
66295
66296 1999-04-20  Jim Meyering  <meyering@ascend.com>
66297
66298         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
66299         AC_REPLACE xstroull if necessary.  From Paul Eggert.
66300         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
66301
66302 1999-04-18  Jim Meyering  <meyering@ascend.com>
66303
66304         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
66305         * m4/jm-macros.m4: Use it.
66306
66307 1999-04-06  Jim Meyering  <meyering@ascend.com>
66308
66309         * m4/strftime.m4: Remove test for %f.
66310
66311 1999-03-29  Jim Meyering  <meyering@ascend.com>
66312
66313         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
66314         superset of the AC_TYPE_* checks in the textutils, fileutils,
66315         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
66316         AC_TYPE_PID_T.
66317
66318 1999-03-28  Jim Meyering  <meyering@ascend.com>
66319
66320         * m4/jm-macros.m4: Define GNU_PACKAGE here.
66321         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
66322         replaced e.g., in the *.sh files of the sh-utils.
66323
66324 1999-03-20  Jim Meyering  <meyering@ascend.com>
66325
66326         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
66327         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
66328         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
66329
66330 1999-03-19  Jim Meyering  <meyering@ascend.com>
66331
66332         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
66333
66334 1999-03-12  Jim Meyering  <meyering@ascend.com>
66335
66336         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
66337
66338 1999-03-07  Jim Meyering  <meyering@ascend.com>
66339
66340         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
66341         declared.
66342
66343 1999-02-17  Jim Meyering  <meyering@ascend.com>
66344
66345         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
66346         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
66347
66348 1999-02-07  Jim Meyering  <meyering@ascend.com>
66349
66350         * m4/group-member.m4: New file -- extracted from sh-utils'
66351         configure.in.
66352
66353         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
66354         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
66355
66356 1999-02-06  Jim Meyering  <meyering@ascend.com>
66357
66358         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
66359         * m4/fnmatch.m4: Likewise.
66360         * m4/getgroups.m4: Likewise.
66361         * m4/lstat.m4: Likewise.
66362         * m4/malloc.m4: Likewise.
66363         * m4/putenv.m4: Likewise.
66364         * m4/realloc.m4: Likewise.
66365         * m4/regex.m4: Likewise.
66366         * m4/stat.m4: Likewise.
66367         * m4/strftime.m4: Likewise.
66368         Suggestion from Alain Magloire.
66369
66370         * m4/chown.m4: Use `.$ac_objext', not `.o'.
66371         * m4/fnmatch.m4: Likewise.
66372         * m4/getgroups.m4: Likewise.
66373         * m4/getline.m4: Likewise.
66374         * m4/lstat.m4: Likewise.
66375         * m4/malloc.m4: Likewise.
66376         * m4/memcmp.m4: Likewise.
66377         * m4/putenv.m4: Likewise.
66378         * m4/realloc.m4: Likewise.
66379         * m4/regex.m4: Likewise.
66380         * m4/stat.m4: Likewise.
66381         * m4/strftime.m4: Likewise.
66382         Suggestion from Alain Magloire.
66383
66384         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
66385         an argument.
66386
66387         * m4/regex.m4: Add a run-time Test for proper operation of
66388         re_compile_pattern.
66389
66390 1999-01-31  Jim Meyering  <meyering@ascend.com>
66391
66392         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
66393
66394 1999-01-30  Jim Meyering  <meyering@ascend.com>
66395
66396         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
66397
66398         * m4/jm-mktime.m4: Make this a wrapper around the official
66399         AM_FUNC_MKTIME rather than my private copy, now that the official one
66400         is up to date.
66401         * m4/mktime.m4: Remove file.
66402
66403         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
66404         * m4/uptime.m4: Likewise.
66405         * m4/uintmax_t.m4: Likewise.
66406
66407 1999-01-28  Jim Meyering  <meyering@ascend.com>
66408
66409         * m4/jm-macros.m4: Use jm_AFS.
66410         * m4/afs.m4: New file (from fileutils' configure.in).
66411
66412         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
66413         * m4/chown.m4: Likewise.
66414         * m4/d-ino.m4: Likewise.
66415         * m4/d-type.m4: Likewise.
66416         * m4/fnmatch.m4: Likewise.
66417         * m4/getgroups.m4: Likewise.
66418         * m4/gettext.m4: Likewise.
66419         * m4/jm-mktime.m4: Likewise.
66420         * m4/jm-winsz2.m4: Likewise.
66421         * m4/lcmessage.m4: Likewise.
66422         * m4/ls-mntd-fs.m4: Likewise.
66423         * m4/malloc.m4: Likewise.
66424         * m4/memcmp.m4: Likewise.
66425         * m4/putenv.m4: Likewise.
66426         * m4/realloc.m4: Likewise.
66427         * m4/st_mtim.m4: Likewise.
66428         * m4/strftime.m4: Likewise.
66429
66430 1999-01-16  Jim Meyering  <meyering@ascend.com>
66431
66432         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
66433         (ARGMATCH_DIE_DECL): Define.
66434
66435 1999-01-12  Jim Meyering  <meyering@ascend.com>
66436
66437         * m4/Makefile.am.in: Rewrite to avoid using fmt.
66438         Reported by Lars Hecking.
66439
66440 1999-01-10  Jim Meyering  <meyering@ascend.com>
66441
66442         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
66443         gross kludge.
66444         * m4/inttypes_h.m4: Likewise.
66445         * m4/lstat.m4: Likewise.
66446         * m4/malloc.m4: Likewise.
66447         * m4/readdir.m4: Likewise.
66448         * m4/realloc.m4: Likewise.
66449         * m4/st_dm_mode.m4: Likewise.
66450         * m4/stat.m4: Likewise.
66451         * m4/utimbuf.m4: Likewise.
66452         * m4/utimes.m4: Likewise.
66453
66454         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
66455         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
66456         comments in config.h.in are meaningful.
66457
66458         * m4/jm-macros.m4: Require autoconf-2.13 here.
66459
66460         * m4/regex.m4: By default, don't use the included regex.c on systems
66461         with glibc 2.  Suggestion from Uli Drepper.
66462
66463 1999-01-02  Jim Meyering  <meyering@ascend.com>
66464
66465         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
66466
66467 1998-12-18  Jim Meyering  <meyering@ascend.com>
66468
66469         * m4/Makefile.am.in (Makefile.am): Simplify rule.
66470         Based on a suggestion from Lars Hecking.
66471
66472 1998-11-16  Paul Eggert  <eggert@twinsun.com>
66473
66474         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
66475
66476 1998-11-16  Jim Meyering  <meyering@ascend.com>
66477
66478         * m4/lfs.m4: Double-quote the `uname...` expression.
66479
66480 1998-11-14  Jim Meyering  <meyering@ascend.com>
66481
66482         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
66483         * m4/stat.m4: Likewise.
66484
66485 1998-11-03  Jim Meyering  <meyering@ascend.com>
66486
66487         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
66488         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
66489
66490 1998-10-18  Jim Meyering  <meyering@ascend.com>
66491
66492         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
66493
66494 1998-10-17  Jim Meyering  <meyering@ascend.com>
66495
66496         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
66497         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
66498         calls for those previously hard-coded headers.  Instead, take a new
66499         parameter.
66500         (jm_CHECK_DECLARATIONS): Reflect interface change.
66501         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
66502         (jm_CHECK_DECL_LOCALTIME_R): New macro.
66503
66504         * m4/mktime.m4: Test for spring-forward gap before long-running test.
66505
66506 1998-10-14  Jim Meyering  <meyering@ascend.com>
66507
66508         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
66509         instead of "TZ=America/Vancouver".  From Paul Eggert.
66510
66511 1998-10-11  Jim Meyering  <meyering@ascend.com>
66512
66513         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
66514         This adds a test for a recently added compatibility fix for mktime.c.
66515         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
66516
66517 1998-09-27  Jim Meyering  <meyering@ascend.com>
66518
66519         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
66520
66521         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
66522         ../configure.in, including a change from Gordon Matzigkeit to allow
66523         cross-compiling for the Hurd.
66524
66525         * m4/glibc.m4: New file/macro to test for the GNU C Library
66526         versions 1 and 2.  From Gordon Matzigkeit.
66527         Indent.
66528
66529 1998-09-21  Jim Meyering  <meyering@ascend.com>
66530
66531         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
66532
66533 1998-08-18  Paul Eggert  <eggert@twinsun.com>
66534
66535         Port nanosecond-resolution times to UnixWare 2.1.2 and
66536         pedantic Solaris 2.6.
66537
66538         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
66539         AC_STRUCT_ST_MTIM.
66540         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
66541         Generate name of ns member, instead of just 1 or undef.
66542         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
66543
66544 1998-08-15  Jim Meyering  <meyering@ascend.com>
66545
66546         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
66547         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
66548         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
66549         instead of jm_TYPE_SSIZE_T.
66550
66551 1998-08-12  Jim Meyering  <meyering@ascend.com>
66552
66553         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
66554
66555 1998-08-02  Jim Meyering  <meyering@ascend.com>
66556
66557         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
66558         in acconfig.h manually.
66559
66560 1998-07-31  Paul Eggert  <eggert@twinsun.com>
66561
66562         * m4/st_mtim.m4: New file.
66563
66564 1998-07-28  Jim Meyering  <meyering@ascend.com>
66565
66566         * m4/utimes.m4: Undef stat.
66567
66568 1998-07-25  Jim Meyering  <meyering@ascend.com>
66569
66570         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
66571         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
66572
66573 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
66574
66575         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
66576         uid and gid actually remain unchanged.
66577
66578 1998-07-07  Jim Meyering  <meyering@ascend.com>
66579
66580         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
66581
66582 1998-07-04  Jim Meyering  <meyering@ascend.com>
66583
66584         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
66585         to prove that this macro can be used in packages without regex.c.
66586
66587 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
66588
66589         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
66590         is to be used.
66591
66592 1998-07-03  Jim Meyering  <meyering@ascend.com>
66593
66594         * m4/gettext.m4: Add -lintl if it's found to be necessary.
66595
66596         * m4/gettext.m4: New file -- from gettext-0.10.35.
66597         * m4/lcmessage.m4: Likewise.
66598         * m4/progtest.m4: Likewise.
66599
66600         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
66601         * m4/jm-macros.m4: Require the new macro.
66602
66603 1998-06-29  Jim Meyering  <meyering@ascend.com>
66604
66605         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
66606         for the definition of NGROUPS (used in a system header included
66607         by sys/mount.h).
66608
66609 1998-06-28  Jim Meyering  <meyering@ascend.com>
66610
66611         * m4/ls-mntd-fs.m4: New file.
66612         * m4/fstypename.m4: New file.
66613
66614         * m4/jm-macros.m4: Require the new macro.
66615         * m4/jm-glibc-io.m4: New file.
66616
66617 1998-05-19  Jim Meyering  <meyering@ascend.com>
66618
66619         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
66620         * m4/lchown.m4: New file.
66621
66622         * m4/Makefile.am.in: New file.
66623         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
66624
66625 1998-05-14  Jim Meyering  <meyering@ascend.com>
66626
66627         * m4/Makefile.am (EXTRA_DIST): Add them.
66628         * m4/jm-macros.m4: New file.
66629         * m4/utimbuf.m4: New file.
66630
66631 1998-05-12  Jim Meyering  <meyering@ascend.com>
66632
66633         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
66634
66635 1998-05-11  Jim Meyering  <meyering@ascend.com>
66636
66637         * m4/isc-posix.m4: New file.
66638
66639 1998-05-10  Jim Meyering  <meyering@ascend.com>
66640
66641         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
66642
66643 1998-05-09  Jim Meyering  <meyering@ascend.com>
66644
66645         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
66646         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
66647         with automake.
66648
66649         * m4/ssize_t.m4: New file.
66650         * m4/mktime.m4: Remove file -- the new automake has this now.
66651
66652 1998-04-26  Jim Meyering  <meyering@ascend.com>
66653
66654         * m4/assert.m4: New file.
66655         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
66656
66657 1998-04-05  Jim Meyering  <meyering@ascend.com>
66658
66659         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
66660         (jm_PREREQ): Use it here.
66661
66662 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
66663
66664         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
66665         in acconfig.h.
66666
66667 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
66668
66669         * m4/prereq.m4: New file.
66670         * m4/error.m4: New file.
66671         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
66672
66673 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
66674
66675         * m4/getline.m4: Don't set am_cv_func_working_getline before the
66676         cache-check for the same variable -- that defeated the purpose of
66677         the test; the test program was never run.  This was a problem only
66678         on systems with losing getline functions -- HP-UX 10.20 is one.
66679         Reported by Bjorn Helgaas.
66680
66681 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
66682
66683         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
66684
66685 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
66686
66687         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
66688
66689         * m4/const.m4: New file.  Use an initializer in this declaration
66690         typedef int charset[2]; const charset x;
66691         Reported by Bob Glickstein.
66692
66693 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
66694
66695         * m4/chown.m4: Fix reversed types on -1 args to chown.
66696         From Kaveh Ghazi.
66697
66698 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
66699
66700         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
66701         Add lseek and memchr.
66702
66703         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
66704         T.E.Dickey <dickey@clark.net> said that some older preprocessors
66705         have a 20-character limit on names.
66706
66707 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
66708
66709         * m4/inttypes_h.m4: New file.
66710         * m4/uintmax_t.m4: New file.
66711         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
66712
66713
66714         -----
66715
66716         Local Variables:
66717         coding: utf-8
66718         End:
66719
66720         Copyright (C) 1997-2010 Free Software Foundation, Inc.
66721
66722         Copying and distribution of this file, with or without
66723         modification, are permitted provided the copyright notice
66724         and this notice are preserved.